05-26-2016 12:58 AM
Hello guys,
I am fairly new to Cisco VSM and worked only on one project with it before. At the moment we need to integrate a 3rd-party encoder as an ONVIF IP camera into Cisco VSM 7.7.0 and we are experiencing this error when trying to do so :
"Operation failed: Media server reported the error RTSP DESCRIBE failed"
I've searched regarding this error and came up with almost no results. Have any of you saw this error before? Do you know the reason why we are encountering it with this encoder?
If you need more info regarding the encoder/vsom settings, just let me know and I'll provide as much as possible.
Thank you,
Andrei
05-26-2016 06:35 AM
What is the ONVIF camera model you are using with the exact firmware details?
Also kindly share what is the RTSP port has been set on this camera?
05-26-2016 06:49 AM
Hi jsah, As I said above, we're trying to integrate an encoder using ONVIF as an IP camera, the model is ION-E100-HD (from Ionodes), and their firmware is v3.8.3.2 GA. I couldn't find the exact firmware details, but before I bought from them I asked about the ONVIF version of this encoder and they said they are ONVIF 2.2.1 compliant. I will ask them more about their firmware details since I'm also talking to one of their support engineers.
The RTSP port set on the camera is the default one, 554.
If it helps, I looked in the ims.log in VSM and found that the handshake between the server and the camera is not happening. I'll paste down the log that I can see when I try to reset the camera in order to register again :
2016-05-26 16:42:11.088 [ umsdevice(10382).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:4006> ] No device notification mechanism driver present
2016-05-26 16:42:11.104 [ umsdevice(10387).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:7061> ] Because device is in admin down state, device shutdown will only attempt to unconfigure MediaNet, if applicable for device
2016-05-26 16:42:11.104 [ umsdevice(10387).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:4376> ] Medianet config failed [Updating endpoint with media server ip address is not needed as the device does not support medianet feature.]
2016-05-26 16:42:11.105 [ umsdevice(10274).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=0 <DeviceState.cxx:452> ] Calling DeviceState::stop()
2016-05-26 16:42:13.086 [ umsdevice(10274).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <umsdevice.cxx:285> ] Device process exiting (uid: 58dc642c-61d0-4a08-b65d-cff78bc5db17)
2016-05-26 16:42:13.293 [ UmsDeviceMonitor(10271) PROCESS_MON=1 <ProcessMonitor.cpp:180> ] Cleanly exiting process 'umsdevice' args 'umsdevice 58dc642c-61d0-4a08-b65d-cff78bc5db17 1 1464270101_446701 '.
2016-05-26 16:42:13.685 [ UmsDeviceMonitor(10401) PROCESS_MON=1 <ProcessMonitor.cpp:156> ] Starting umsdevice (count: 1) with args umsdevice 58dc642c-61d0-4a08-b65d-cff78bc5db17 1 1464270133_628058
2016-05-26 16:42:13.742 [ umsdevice(10405).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <umsdevice.cxx:150> ] Device process is born (uid: 58dc642c-61d0-4a08-b65d-cff78bc5db17)
2016-05-26 16:42:13.742 [ umsdevice(10405).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <umsdevice.cxx:155> ] Initial config will be pulled from production database.
2016-05-26 16:42:13.846 [ umsdevice(10405).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:494> ] Failed to load CoolDriverConfiguration[stat('/usr/BWhttpd/conf/devices/onvif.xml'): No such file or directory]
2016-05-26 16:42:15.495 [ umsdevice(10405).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:800> ] Initial device config validated.
2016-05-26 16:42:15.506 [ umsdevice(10405).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:6119> ] Warning: device (re)startup wont happen because admin state is not enabled
2016-05-26 16:42:15.514 [ umsdevice(10414).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:9353> ] The device was reported online after being offline, making sure that non-streaming configs (motion, contact closure, serial, analytics, etc) on the device are as expected.
2016-05-26 16:42:15.515 [ umsdevice(10415).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:6119> ] Warning: device (re)startup wont happen because admin state is not enabled
2016-05-26 16:42:18.390 [ umsdevice(10418).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:6163> ] deviceStartupHandler waiting to establish device state before proceeding with config
2016-05-26 16:42:18.391 [ umsdevice(10418).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:6222> ] Medianet config failed [Updating endpoint with media server ip address is not needed as the device does not support medianet feature.]
2016-05-26 16:42:18.391 [ umsdevice(10418).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:6298> ] No device notification mechanism driver present
2016-05-26 16:42:18.394 [ umsdevice(10418).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:3428> ] No device notification mechanism driver present
2016-05-26 16:42:18.823 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8138> ] Validating new stream configuration of 1 A/V streams for camera '58dc642c-61d0-4a08-b65d-cff78bc5db17' with 0 existing A/V streams.
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:188> ] >>> Entering Proxy::run() for proxy='58dc642c-61d0-4a08-b65d-cff78bc5db17_vs1'
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:895> ] keym = 3859168173 keys = 4110826413 shmid = 7340035 semid = 7307266
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:895> ] keym = 503724974 keys = 587611054 shmid = 7372804 semid = 7340035
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:895> ] keym = 822492079 keys = 889600943 shmid = 7405573 semid = 7372804
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:600> ] Shared memory size 462848
2016-05-26 16:42:18.923 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:626> ] Shared memory size 462848
2016-05-26 16:42:20.282 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <OnvifConfig.cxx:480> ] OnvifConfig::Multicast Params 0.0.0.0 0 not matching with encCfg value 237.0.0.7 40009
2016-05-26 16:42:20.282 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:384> ] Match Stream config failed and applyStreamConfig is required(0)
2016-05-26 16:42:23.906 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <OnvifProxy.cxx:597> ] OnvifProxy::Applied Config to the camera successfully
2016-05-26 16:42:23.906 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <OnvifProxy.cxx:571> ] OnvifProxy::applyDeviceConfig returned true
2016-05-26 16:42:24.173 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 GL_UTIL=1 <RtspClient.cxx:681> ] connect(addr='192.168.100.176:0', fd=19): Connection refused
2016-05-26 16:42:24.173 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8742> ] ERROR: RTSP DESCRIBE failed.
2016-05-26 16:42:24.173 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8838> ] Reverting to prior stream configuration for 58dc642c-61d0-4a08-b65d-cff78bc5db17.
2016-05-26 16:42:24.173 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8859> ] Checking if any streams need to be deleted.
2016-05-26 16:42:24.173 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8913> ] Deleting stream 58dc642c-61d0-4a08-b65d-cff78bc5db17_vs1 which was added but no longer needed.
2016-05-26 16:42:24.173 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:144> ] Unable to configure or handshake with the device
2016-05-26 16:42:24.174 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:8918> ] Failed to revert stream config. Unable to delete new stream '58dc642c-61d0-4a08-b65d-cff78bc5db17_vs1' [failed to delete stream '58dc642c-61d0-4a08-b65d-cff78bc5db17_vs1' from db [Not found]]
2016-05-26 16:42:24.174 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:9014> ] No streams need to be re-configured.
2016-05-26 16:42:24.174 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:9015> ] No recordings need to be re-started.
2016-05-26 16:42:24.174 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <Device.cxx:9066> ] No motion configuration to revert.
2016-05-26 16:42:24.174 [ umsdevice(10428).58dc642c-61d0-4a08-b65d-cff78bc5db17 DEVICE=1 <DeviceMsgHandler.cxx:1386> ] ERROR: Failed to update streams [RTSP DESCRIBE failed].
2016-05-26 16:42:24.206 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:1028> ] Proxy sending config ack (fail).
2016-05-26 16:42:24.206 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:1043> ] Failed to ACK stream config (Bad file descriptor).
2016-05-26 16:42:24.206 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:1056> ] Reverting to old configuration.
2016-05-26 16:42:24.206 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:1061> ] No old config to revert to, exiting.
2016-05-26 16:42:24.206 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <Proxy.cxx:256> ] Invalid configuration! Exiting.
2016-05-26 16:42:26.717 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 IL_SHMEM=1 <ism_open.c:119> ] Wait until everyone detaches
2016-05-26 16:42:26.719 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 BE_PROXY=1 <DeviceThread.cxx:252> ] DeviceThread::device_thread_main() exiting.
05-26-2016 07:44 AM
Hi Andrei,
I'd recommend trying to connect to the endpoint with an Onvif compliant application (such as ONVIF Device Manager) to determine whether the issue is with the endpoint or the way VSM is trying to provision it.
If you are able to provision and use the ION-E100-HD device from a 3rd party ONVIF application, I'd have to posit that its Cisco VSM which isn't implementing the ONVIF standard correctly.
Very interested in hearing about your results!
Cheers :-)
05-27-2016 12:55 AM
Hi Scott,
I've tried with ONVIF Device Manager, but I get the following error : "The HTTP request is unauthorized with client authentication scheme 'Anonymous",
even if I use the correct username and password. I've used the same credentials with which I log into the encoder web browser, so I don't see why I get this error.
I've gone one step further and I've installed a demo version of Milestone and from it I could register the encoder as an IP camera and receive stream from it. Milestone asked for the IP, HTTP port, credentials and the device driver (I chose ONVIF compliant).
Since the encoder worked with Milestone, I guess the problem is with the VSM not handling the ONVIF standard correctly? If so, do you have any idea how I could resolve it? I'm also thinking of going to Cisco TAC, but don't know if they'll be able to help me.
We really need an encoder that can do 720p or 1080p streaming and unfortunately the Cisco encoders are limited to a low resolution, we already have a few of those and our client demands HD stream.
Thank you in advance.
05-31-2016 06:54 AM
I would have to agree with you. You may need to engage TAC to have the ONVIF device integration evaluated. I would love to know the response you receive.
Is using an actual IP Camera endpoint not an option?
05-31-2016 07:29 AM
Unfortunately, using an IP camera endpoint is not gonna help us here. Here's the basic setup : We've deployed Cisco VSM with 18 Cisco IP cameras for a hospital so the doctors there can monitor the pacients from remote locations, but they would also like to integrate the vital signs into the VSM.
At the moment in every pacient booth there's a Samsung monitor that displays vital signs and the doctors want that vital signs to also be displayed next to the camera streams in SASD. The only solution we found was to use an encoder and take the stream from the Samsung monitor into our VoIP network (we've also provided CUCM and Expressway there) and display is as a camera in VSM.
We managed to do this with the Cisco encoders, but their resolution is pretty poor and the doctors want to have HD resolution. In this case, the only option we found was using a 3rd-party encoder that supports ONVIF and HD streaming. We found a really nice one from Antrica, got it for a demo and worked nicely, but it was too expensive since we need 18 units + more in the future, as this project will expand. So we searched some cheaper one that would do the job.
This encoder from Ionodes seemed good from specifications, supports ONVIF 2.2.1, can set up the NTP (we found a lot of encoders that don't support NTP and I know this is a very delicate issue with VSM), but we're stuck with this error.
If you have any experience with this and can think of another solution on how to get the stream from a monitor and get it into Cisco VSM, that would be great. I would've personally liked to use Cisco encoders, since there would be no issues there, but unfortunately their resolution is really not suited for 2016.
05-31-2016 08:07 AM
I admire what you are attempting to accomplish and completely agree given the additional detail you've provided.
I have a few sparks of ideas coming to mind on how one *might* be able to intermediate between these devices to perhaps compensate for not speaking the *exact* same ONVIF dialect, but I can't say for certain (think MITM proxying with something like Fidler just to get something to _set up_ properly... but I'm wayyyy out there now)
Ideal solution will be to identify who's not actually being ONVIF compliant, and specifically how they are deviating and bringing it to Cisco TAC first.
Keep me in the know! I'd love to have the cycles to help you solve this :-)
Cheers!
06-03-2016 02:05 AM
Thank you Scott for all your help so far. I will contact Cisco TAC next week, since I want to do a couple of test before and gather as much information as possible. Will surely let you know about the outcome. I tried to find a solution by investigating the Cisco VSM logs, but couldn't figure it out. One thing that really bugs me is this log :
2016-05-26 16:42:24.173 [ umsdevice(10431).58dc642c-61d0-4a08-b65d-cff78bc5db17 GL_UTIL=1 <RtspClient.cxx:681> ] connect(addr='192.168.100.176:0', fd=19): Connection refuse
I don't really understand why the VSM tries to connect to the RTSP of the encoder by "addr='192.168.100.176:0", shouldn't it try to connect by "addr='192.168.100.176:554", since that's the port for RTSP? I even found a documentation about VSM RTSP handshakes yesterday and it was the 554 port in the debug.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide