diff --git a/languages/en_CA.json b/languages/en_CA.json
index 73b02b16..120cd1f4 100644
--- a/languages/en_CA.json
+++ b/languages/en_CA.json
@@ -242,6 +242,9 @@
"ONVIF Scanner": "ONVIF Scanner",
"ONVIFEventsNotAvailable": "ONVIF Events not Available",
"ONVIFnotCompliantProfileT": "Camera is not ONVIF Profile T Compliant",
+ "ONVIFErr400": "Found ONVIF port but authorization failed when retrieving the Stream URL. Check username and password used for scan.",
+ "ONVIFErr405": "Method Not Allowed. Check username and password used for scan.",
+ "ONVIFErr404": "Not Found. This may just be the web panel for a network device.",
"Scan Settings": "Scan Settings",
"ONVIFnote": "Discover ONVIF devices on networks outside your own or leave it blank to scan your current network.
Username and Password can be left blank.",
"Range or Single": "Range or Single",
diff --git a/libs/scanners.js b/libs/scanners.js
index 7bc80bec..4e20196a 100644
--- a/libs/scanners.js
+++ b/libs/scanners.js
@@ -54,7 +54,7 @@ module.exports = function(s,config,lang,app,io){
ip = addressRange.join(',')
}
if(ports === ''){
- ports = '80,8080,8000,7575,8081,554'
+ ports = '80,8080,8000,7575,8081,9080'
}
if(ports.indexOf('-') > -1){
ports = ports.split('-')
@@ -120,15 +120,21 @@ module.exports = function(s,config,lang,app,io){
return s.stringContains(find,err.message,true)
}
var foundDevice = false
+ var errorMessage = ''
switch(true){
//ONVIF camera found but denied access
case searchError('400'): //Bad Request - Sender not Authorized
+ foundDevice = true
+ errorMessage = lang.ONVIFErr400
+ break;
case searchError('405'): //Method Not Allowed
foundDevice = true
+ errorMessage = lang.ONVIFErr405
break;
//Webserver exists but undetermined if IP Camera
case searchError('404'): //Not Found
foundDevice = true
+ errorMessage = lang.ONVIFErr404
break;
}
if(foundDevice && foundCameraCallback)foundCameraCallback({
@@ -136,7 +142,7 @@ module.exports = function(s,config,lang,app,io){
ff: 'failed_capture',
ip: camera.ip,
port: camera.port,
- error: err.message
+ error: errorMessage
});
s.debugLog(err)
}
diff --git a/web/libs/js/dash2.onvifscanner.js b/web/libs/js/dash2.onvifscanner.js
index a9ce1520..f58b3e92 100644
--- a/web/libs/js/dash2.onvifscanner.js
+++ b/web/libs/js/dash2.onvifscanner.js
@@ -5,6 +5,25 @@ $.oB={
v:$('#onvif_video'),
};
$.oB.f=$.oB.e.find('form');$.oB.o=$.oB.e.find('.output_data');
+var drawProbeResult = function(options){
+ var tempID = $.ccio.gid();
+ $.oB.foundMonitors[tempID] = Object.assign({},options);
+ $.oB.e.find('._loading').hide()
+ $.oB.e.find('._notfound').remove()
+ $.oB.e.find('[type="submit"]').prop('disabled',false)
+ var info = options.error ? options.error : options.info ? $.ccio.init('jsontoblock',options.info) : ''
+ var streamUrl = options.error ? '' : 'No Stream URL Found'
+ if(options.uri){
+ streamUrl = options.uri
+ }
+ $('#onvif_probe .output_data').append(`