Moving from media to media2

Hi.

I’m developing an onvif compatible device.

Now as the next step, I want to move to support media2 and profile T on my device, to use RTSPS protocol instead of RTSP.

On the GetServices call, this my response:

<SOAP-ENV:Envelope
    xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
    xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:chan="http://schemas.microsoft.com/ws/2005/02/duplex"
    xmlns:wsa5="http://www.w3.org/2005/08/addressing"
    xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
    xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2"
    xmlns:xmime="http://tempuri.org/xmime.xsd"
    xmlns:xop="http://www.w3.org/2004/08/xop/include"
    xmlns:tt="http://www.onvif.org/ver10/schema"
    xmlns:wstop="http://docs.oasis-open.org/wsn/t-1"
    xmlns:tds="http://www.onvif.org/ver10/device/wsdl"
    xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl"
    xmlns:tr2="http://www.onvif.org/ver20/media/wsdl"
    xmlns:trt="http://www.onvif.org/ver10/media/wsdl"
    xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#"
    xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
    xmlns:saml1="urn:oasis:names:tc:SAML:1.0:assertion"
    xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
    xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
    xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
    xmlns:wsc="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512"
    xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <SOAP-ENV:Body>
        <tds:GetServicesResponse>
            <tds:Service>
                <tds:Namespace>
                    http://www.onvif.org/ver10/device/wsdl
                    </tds:Namespace>
                <tds:XAddr>
                    http://10.15.0.73:8000/onvif/device_service
                    </tds:XAddr>
                <tds:Capabilities>
                    <tds:Capabilities
                    </tds:Capabilities>
                <tds:Version>
                </tds:Service>
            <tds:Service>
                <tds:Namespace>
                    http://www.onvif.org/ver20/media/wsdl
                    </tds:Namespace>
                <tds:XAddr>
                    http://10.15.0.73:8000/onvif/media2_service
                    </tds:XAddr>
                <tds:Capabilities>
                    <tr2:Capabilities
                        xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope"
                        xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                        xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
                        xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                        xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
                        xmlns:tt="http://www.onvif.org/ver10/schema"
                        xmlns:tds="http://www.onvif.org/ver10/device/wsdl"
                        xmlns:wsa5="http://www.w3.org/2005/08/addressing"
                        xmlns:chan="http://schemas.microsoft.com/ws/2005/02/duplex"
                        xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2"
                        xmlns:wsrfbf="http://docs.oasis-open.org/wsrf/bf-2"
                        xmlns:xmime="http://tempuri.org/xmime.xsd"
                        xmlns:xop="http://www.w3.org/2004/08/xop/include"
                        xmlns:wstop="http://docs.oasis-open.org/wsn/t-1"
                        xmlns:tptz="http://www.onvif.org/ver20/ptz/wsdl"
                        xmlns:tr2="http://www.onvif.org/ver20/media/wsdl"
                        xmlns:trt="http://www.onvif.org/ver10/media/wsdl"
                        xmlns:c14n="http://www.w3.org/2001/10/xml-exc-c14n#"
                        xmlns:saml1="urn:oasis:names:tc:SAML:1.0:assertion"
                        xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                        xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                        xmlns:wsc="http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512"
                        Rotation="false"
                        VideoSourceMode="false"
                        OSD="false"
                        Mask="false">
                        <tr2:ProfileCapabilities
                            MaximumNumberOfProfiles="1">
                            </tr2:ProfileCapabilities>
                        <tr2:StreamingCapabilities
                            RTSPStreaming="true"
                            RTPMulticast="false"
                            RTP_RTSP_TCP="true"
                            NonAggregateControl="false"
                            AutoStartMulticast="false"
                            SecureRTSPStreaming="true">
                            </tr2:StreamingCapabilities>
                        </tr2:Capabilities>
                    </tds:Capabilities>
                <tds:Version>
                    <tt:Major>
                        23
                        </tt:Major>
                    <tt:Minor>
                        6
                        </tt:Minor>
                    </tds:Version>
                </tds:Service>
            </tds:GetServicesResponse>
        </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>

After sending it back I don’t get any follow-up message.

When used media, used to get:

GetVideoSources

After I send back the GetServicesResponse.

What am I doing wrong?

Adding the Wireshark file

Milestone Development is currently investigating and will get back with an answer.

Dear Don Forer,

Please find an answer to your questions in the message below.

From the made investigation I have found that you have missing namespaces in your GetServicesResponse scheme.

image.png

Both of the namespaces going together in order successfully to continue with setting up media2 service.

In the Wireshark trace I see you have the 2nd, but 1st is missed:

Picture is from attached file:

Also, most of the capabilities in GetServicesResponse are set to “false”, which can cause problems as well:

Kind Regards,

Genadi