Media 2 service cannot use in MileStone

My ipcam have Media 1 service (ver10), Media 2 service and DeviceIO service in GetServicesResponse.

And support of profile T is specified in scope element in probematch.

But I still can’t have milestone to use Media 2 service.

Here is the insrtuctions I followed:

https://doc.milestonesys.com/2020r2/en-US/onvifdriver/media_service.htm?Highlight=Media%20service

Are there some additional informations that the above link doesn’t mention?

Here is the SOAP envelop in my GetServicesResponse.

<?xml version="1.0" encoding="UTF-8"?>

<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:wsdd=“http://schemas.xmlsoap.org/ws/2005/04/discovery” 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” xmlns:xmime=“http://tempuri.org/xmime.xsd” xmlns:xop=“http://www.w3.org/2004/08/xop/include” xmlns:fc=“http://www.onvif.org/ver20/analytics/humanface” xmlns:bd=“http://www.onvif.org/ver20/analytics/humanbody” xmlns:tns1=“http://www.onvif.org/ver10/topics” xmlns:tt=“http://www.onvif.org/ver10/schema” xmlns:wsrfbf=“http://docs.oasis-open.org/wsrf/bf-2” xmlns:wstop=“http://docs.oasis-open.org/wsn/t-1” xmlns:wsrfr=“http://docs.oasis-open.org/wsrf/r-2” xmlns:tan=“http://www.onvif.org/ver20/analytics/wsdl” xmlns:tds=“http://www.onvif.org/ver10/device/wsdl” xmlns:tev=“http://www.onvif.org/ver10/events/wsdl” xmlns:wsnt=“http://docs.oasis-open.org/wsn/b-2” xmlns:timg=“http://www.onvif.org/ver20/imaging/wsdl” xmlns:tmd=“http://www.onvif.org/ver10/deviceIO/wsdl” xmlns:tptz=“http://www.onvif.org/ver20/ptz/wsdl” xmlns:tr2=“http://www.onvif.org/ver20/media/wsdl” xmlns:trc=“http://www.onvif.org/ver10/recording/wsdl” xmlns:trp=“http://www.onvif.org/ver10/replay/wsdl” xmlns:trt=“http://www.onvif.org/ver10/media/wsdl” xmlns:trv=“http://www.onvif.org/ver10/receiver/wsdl” xmlns:tse=“http://www.onvif.org/ver10/search/wsdl” xmlns:ter=“http://www.onvif.org/ver10/error”>SOAP-ENV:Bodytds:GetServicesResponsetds:Servicetds:Namespacehttp://www.onvif.org/ver10/events/wsdl</tds:Namespace>tds:XAddrhttp://192.168.0.11/onvif/device_service</tds:XAddr>tds:Capabilities<tev:Capabilities MaxNotificationProducers=“1” MaxPullPoints=“1”></tev:Capabilities></tds:Capabilities>tds:Versiontt:Major2</tt:Major>tt:Minor42</tt:Minor></tds:Version></tds:Service>tds:Servicetds:Namespacehttp://www.onvif.org/ver10/media/wsdl</tds:Namespace>tds:XAddrhttp://192.168.0.11/onvif/device_service</tds:XAddr>tds:Capabilities<trt:Capabilities SnapshotUri=“false” Rotation=“false”><trt:ProfileCapabilities MaximumNumberOfProfiles=“2”></trt:ProfileCapabilities><trt:StreamingCapabilities RTPMulticast=“false” RTP_TCP=“true” RTP_RTSP_TCP=“true”></trt:StreamingCapabilities></trt:Capabilities></tds:Capabilities>tds:Versiontt:Major2</tt:Major>tt:Minor42</tt:Minor></tds:Version></tds:Service>tds:Servicetds:Namespacehttp://www.onvif.org/ver10/device/wsdl</tds:Namespace>tds:XAddrhttp://192.168.0.11/onvif/device_service</tds:XAddr>tds:Capabilitiestds:DeviceServiceCapabilities<tds:Network IPFilter=“false” ZeroConfiguration=“false” IPVersion6=“false” DynDNS=“false” NTP=“0” DHCPv6=“false”></tds:Network><tds:Security TLS1.0=“false” TLS1.1=“false” TLS1.2=“false” OnboardKeyGeneration=“false” AccessPolicyConfig=“false” DefaultAccessPolicy=“false” UsernameToken=“true” HttpDigest=“true” MaxUsers=“4” MaxUserNameLength=“32” MaxPasswordLength=“32”></tds:Security><tds:System DiscoveryResolve=“true” DiscoveryBye=“true” SystemLogging=“false”></tds:System></tds:DeviceServiceCapabilities></tds:Capabilities>tds:Versiontt:Major2</tt:Major>tt:Minor42</tt:Minor></tds:Version></tds:Service>tds:Servicetds:Namespacehttp://www.onvif.org/ver10/deviceIO/wsdl</tds:Namespace>tds:XAddrhttp://192.168.0.11/onvif/device_service</tds:XAddr>tds:Capabilities<tmd:Capabilities VideoSources=“1” VideoOutputs=“1” AudioSources=“1” AudioOutputs=“1” RelayOutputs=“1” SerialPorts=“1” DigitalInputs=“1” DigitalInputOptions=“true”></tmd:Capabilities></tds:Capabilities>tds:Versiontt:Major2</tt:Major>tt:Minor42</tt:Minor></tds:Version></tds:Service>tds:Servicetds:Namespacehttp://www.onvif.org/ver20/media/wsdl</tds:Namespace>tds:XAddrhttp://192.168.0.11/onvif/device_service</tds:XAddr>tds:Capabilities<tr2:Capabilities SnapshotUri=“true” Rotation=“false” VideoSourceMode=“true” OSD=“true” TemporaryOSDText=“false” Mask=“false” SourceMask=“false”><tr2:ProfileCapabilities MaximumNumberOfProfiles=“2” ConfigurationsSupported=“VideoSource VideoEncoder AudioSource AudioEncoder AudioOutput AudioDecoder Analytics Metadata”></tr2:ProfileCapabilities><tr2:StreamingCapabilities RTPMulticast=“false” RTP_RTSP_TCP=“true” RTSPStreaming=“true” NonAggregateControl=“false” AutoStartMulticast=“false”></tr2:StreamingCapabilities></tr2:Capabilities></tds:Capabilities>tds:Versiontt:Major2</tt:Major>tt:Minor42</tt:Minor></tds:Version></tds:Service></tds:GetServicesResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Which Device Pack version are you using?

Also you can try to see in this file

[C:\ProgramData\VideoDeviceDrivers\C_\Program](file:C:/ProgramData/VideoDeviceDrivers/C_/Program) Files (x86)\Milestone\XProtect Recording Server\Drivers\NativeDrivers\Devices.ini

whether there is already a section for the device you are trying to add. If there is you can delete it so the media service version can be detected again (re-add the device after that). If previously the device (or other device with same IP) that supports only media1 version was added to the system, can lead to wrongly used version.

In our tests with your SOAP response the ONVIF driver correctly detects and uses the Media2 ONVIF service.

Thanks, it works. After deleting Device.ini, Milestone uses Media 2 service.