From 70955809c8acd2bacea9daecf07631446a1edbec Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 18 Feb 2026 15:06:31 -0500 Subject: [PATCH 01/26] Add support for SIP configuration --- .gitignore | 1 + doc/Core.xml | 284 ++++++++++++++++++ doc/Media2.xml | 119 +++++++- wsdl/ver10/device/wsdl/devicemgmt.wsdl | 380 ++++++++++++++++++++++++- wsdl/ver20/media/wsdl/media.wsdl | 187 ++++++++++++ 5 files changed, 965 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index 743328ec1..a948188c7 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ *.dia~ +.idea/ diff --git a/doc/Core.xml b/doc/Core.xml index ef17da304..ef3fb50eb 100644 --- a/doc/Core.xml +++ b/doc/Core.xml @@ -3423,6 +3423,41 @@ onvif://www.onvif.org/name/ARV-453 List of commands supported by SendAuxiliaryCommand + + + SIP + + + MaximumRecipients + + + Indicates the maximum number of call recipients supported. Also defines the maximum value for the Order field of a call recipient. + + + + + MaximumStunServers + + + Indicates the maximum number of STUN server URIs supported. + + + + + MaximumTurnServers + + + Indicates the maximum number of TURN servers supported. + + + + + MaximumRegistrars + + + Indicates the maximum number of SIP registrars supported. + + @@ -5460,6 +5495,255 @@ onvif://www.onvif.org/name/ARV-453 +
+ SIP Server Configuration + A device indicating SIP capabilities shall support the GetSipServerConfiguration and SetSipServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. + The SIP server configuration consists of the following fields: + + + Registrar + One or more SIP registrar URIs. The registar shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query + + + UserId + The user info/extension of the Address of Record (AoR) in SIP, identifying the device on the registrar. + + + CertPathValidationPolicyID + Optional. The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. + + + Authentication + Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer shall be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the SIP server. + + +
+ GetSipServerConfiguration + This operation gets the SIP server configuration of the device. The device shall not return the password in the response. + + + request + + This is an empty message. + + + + response + + SipServerConfiguration - optional [tds:SipServerConfiguration] + The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetSipServerConfiguration + This operation sets the SIP server configuration of the device. Only one SIP server configuration is supported. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. If the configuration is absent, the device shall remove the existing SIP server configuration. + + + request + + SipServerConfiguration - optional [tds:SipServerConfiguration] + The SIP server configuration to set on the device. If absent, the device shall remove the existing SIP server configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumRegistrars + The number of registrars exceeds the maximum number supported by the device. + env:Sender - ter:InvalidArgs - ter:MissingRegistrar + No registrar URI has been specified. + env:Sender - ter:InvalidArgVal - ter:InvalidRegistrar + The URI set in the registrar is not valid. + env:Sender - ter:InvalidArgs - ter:MissingAuthentication + Both AuthorizationServer and Credential are missing. One must be provided. + env:Sender - ter:InvalidArgVal - ter:AuthorizationServer + No AuthorizationServer exists for the specified token. + env:Sender - ter:OperationProhibited - ter:ConfigurationConflict + Cannot have both AuthorizationServer and Credential configured at the same time. Only one may be provided. + env:Sender - ter:InvalidArgVal - ter:CertPathValidationPolicyID + No certification path validation policy exists under the requested CertPathValidationPolicyID. + + + + access class + + WRITE_SYSTEM + + + +
+
+
+ SIP NAT Configuration + A device indicating SIP capabilities shall support the GetSipNatConfiguration and SetSipNatConfiguration commands. Only one NAT configuration is + supported per device. The maximum number of STUN server URIs is indicated by the MaximumStunServers SIP capability and the maximum number of TURN + servers is indicated by the MaximumTurnServers SIP capability. URIs provided in this context shall be an absolute URI without scheme, such as: + stun.domain:port or turn.domain:port + The SIP NAT configuration consists of the following fields: + + + Stun + Optional. Contains one or more STUN server URIs used for NAT traversal. + + + Turn + Optional, unbounded. Each entry contains a TURN server URI and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. + + +
+ GetSipNatConfiguration + This operation gets the NAT configuration of the device. The device shall not return TURN server passwords in the response. + + + request + + This is an empty message. + + + + response + + SipNatConfiguration - optional [tds:SipNatConfiguration] + The current NAT configuration of the device. Absent if no NAT configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetSipNatConfiguration + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. If the configuration is absent, the device shall remove the existing NAT configuration. + + + request + + SipNatConfiguration - optional [tds:SipNatConfiguration] + The NAT configuration to set on the device. If absent, the device shall remove the existing NAT configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumStunServers + The number of STUN server URIs exceeds the maximum number supported by the device. + env:Receiver - ter:OperationProhibited - ter:MaximumTurnServers + The number of TURN servers exceeds the maximum number supported by the device. + + + + access class + + WRITE_SYSTEM + + + +
+
+
+ Call Configuration + A device indicating SIP capabilities shall support the GetCallConfiguration and SetCallConfiguration commands. The maximum number of call recipients is indicated by the MaximumRecipients SIP capability. Only one call configuration is supported per device. + Each recipient has an Order field that determines in which order the contact is displayed or assigned to physical buttons. The Order value shall start at 1 and shall not exceed the value of the MaximumRecipients capability. +
+ GetCallConfiguration + This operation gets the call configuration of the device. + + + request + + This is an empty message. + + + + response + + CallConfiguration - optional [tds:CallConfiguration] + The current call configuration of the device. Absent if no call configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetCallConfiguration + This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. If the configuration is absent, the device shall remove the existing call configuration. + + + request + + CallConfiguration - optional [tds:CallConfiguration] + The call configuration to set on the device. If absent, the device shall remove the existing call configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumRecipients + The number of recipients exceeds the maximum number of call recipients supported by the device. + + + + access class + + WRITE_SYSTEM + + + +
+
Security This section contains a set of security management operations. Such operations are sensitive to network attacks and shall be protected using appropriate authorization levels in order not to compromise the device. diff --git a/doc/Media2.xml b/doc/Media2.xml index a55e19eae..59a878f58 100644 --- a/doc/Media2.xml +++ b/doc/Media2.xml @@ -664,7 +664,7 @@ CreateProfile This operation creates a new media profile. The media profile shall be created in the device. A device implementing this service shall support the creation of media profiles as long as the number of existing profiles does not exceed the capability value MaximumNumberOfProfiles. - A created profile shall be deletable and a device shall set the “fixed” attribute to false in the returned Profile. + A created profile shall be deletable and a device shall set the "fixed" attribute to false in the returned Profile. request @@ -1852,7 +1852,7 @@ faults env:Sender - ter:InvalidArgVal - ter:NoConfig - The requested video source configuration ConfigurationToken does not exist. + The requested video source configuration does not exist. @@ -2310,7 +2310,7 @@
-
+
AddAudioClip This operation adds audio clip configuration to the device and provides the audio clip upload URI to the client. The response to the command includes an HTTP URL to which the audio clip may be uploaded with in the expiry time. If the client is unable to upload the audio clip within the URL's expiry time, the associated audio clip configuration will deleted from the device. @@ -3023,6 +3023,119 @@ Topics: tns1:Monitoring/ActiveSessions/VideoEncoder ]]>
+
+ SIP Streaming Configuration + + The SIP streaming configuration defines the media configurations used during SIP-based streaming sessions. + It allows a client to update the provided configurations used when the device participates in a SIP call. + + + Only a single SIP streaming configuration is supported per device. If the device has a SIP server configuration + (as defined in the Device Management service), the SIP streaming configuration determines the media + parameters applied during incoming or outgoing SIP sessions. A configuration shall be provided per configuration + type that the device supports for SIP streaming. For example, if the device supports both video and audio streaming over SIP, + the SIP streaming configuration shall include a video source configuration, a video encoder configuration, an audio source + configuration and an audio encoder configuration. If the device supports only audio output (such as a speaker device), then the configuration shall + only include the audio output configuration and audio decoder configuration. + + + Note: The configuration listed as part of the SIP streaming configuration are not expected to be used by the device for non-SIP streaming sessions. + This means that the configurations needs not to be returned in GetXConfigurations, nor to be configured through SetXConfiguration. + +
+ GetSipStreamingConfiguration + This operation retrieves the current SIP streaming configuration of the device. + + + request + + This is an empty message. + + + + response + + SipStreamingConfiguration [tr2:SipStreamingConfiguration] + The current SIP streaming configuration of the device. + + + + faults + + No command specific faults defined. + + + + access class + + READ_MEDIA + + + +
+
+ SetSipStreamingConfiguration + This operation sets the SIP streaming configuration of the device. + + + request + + SipStreamingConfiguration [tr2:SipStreamingConfiguration] + The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + + + + response + + This is an empty message. + + + + faults + + No command specific faults defined. + + + + access class + + ACTUATE + + + +
+
+ GetSipStreamingConfigurationOptions + This operation retrieves the supported options for the SIP streaming configuration of the device. + + + request + + This is an empty message. + + + + response + + SipStreamingConfigurationOptions [tr2:SipStreamingConfigurationOptions] + The supported options for SIP streaming configuration. + + + + faults + + No command specific faults defined. + + + + access class + + READ_MEDIA + + + +
+
Efficient XML Interchange (EXI) (Normative) diff --git a/wsdl/ver10/device/wsdl/devicemgmt.wsdl b/wsdl/ver10/device/wsdl/devicemgmt.wsdl index f289cba11..e848bbdd1 100644 --- a/wsdl/ver10/device/wsdl/devicemgmt.wsdl +++ b/wsdl/ver10/device/wsdl/devicemgmt.wsdl @@ -108,6 +108,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Capabilities that do not fit in any of the other categories. + + + SIP capabilities. + + @@ -481,6 +486,30 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + Indicates the maximum number of call recipients supported. + + + + + Indicates the maximum number of STUN server URIs supported. + + + + + Indicates the maximum number of TURN servers supported. + + + + + Indicates the maximum number of SIP registrars supported. + + + + + @@ -2225,6 +2254,21 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + User name. + + + + + Password. Device shall not return the password in the reply. + + + + + @@ -2494,6 +2538,219 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. + + + + + The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. + If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. + + + + + + + + + AuthorizationServer token referring to the server that provides access tokens to authorize with the renewal endpoint. + + + + + + + + + + + + + + + + + + + + The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + + + + + + + + + + + + The SIP server configuration to set on the device. Only one SIP server configuration is supported. If absent, the device shall remove the existing SIP server configuration. + + + + + + + + + + + + + + + + Collection of STUN server URIs used for NAT traversal. + + + + + + List of STUN server URI. + + + + + + + + Collection of TURN servers used for NAT traversal. + + + + + + List of TURN server URI. + + + + + Credentials used to authenticate with the TURN server. + + + + + + + + + + + + + + + + + + + The current NAT configuration of the device. Absent if no NAT configuration has been set. + + + + + + + + + + + + The NAT configuration to set on the device. Only one NAT configuration is supported. If absent, the device shall remove the existing NAT configuration. + + + + + + + + + + + + + + + + Display name of the call recipient. + + + + + The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + + + + + Order of the recipient, starting at 1 up to and including the value of the MaximumRecipients capability. This order determines in which order the contact is displayed or assigned to physical buttons. + + + + + + + + + + + + + + Indicates whether the device shall allow incoming calls. + + + + + Indicates whether the device shall automatically answer incoming calls. + + + + + List of call recipients. + + + + + + + + + + + + + + + + The current call configuration of the device. + + + + + + + + + + + + The call configuration to set on the device. Only one call configuration is supported. + + + + + + + + + + @@ -3116,6 +3373,42 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3850,6 +4143,36 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. + + + + + This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. + + + + + This operation gets the NAT configuration of the device. Only one NAT configuration is supported. + + + + + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. + + + + + This operation gets the call configuration of the device. Only one call configuration is supported. + + + + + This operation sets the call configuration of the device. Only one call configuration is supported. If the configuration is absent, the device shall remove the existing call configuration. + + + @@ -4783,9 +5106,60 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - diff --git a/wsdl/ver20/media/wsdl/media.wsdl b/wsdl/ver20/media/wsdl/media.wsdl index 44f896836..41114ab65 100644 --- a/wsdl/ver20/media/wsdl/media.wsdl +++ b/wsdl/ver20/media/wsdl/media.wsdl @@ -1689,6 +1689,129 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The current SIP streaming configuration of the device. + + + + + + + + + + + + The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + + + + + + + + + + + + + + + + + + + + + + The supported options for SIP streaming configuration. + + + + + + @@ -2043,6 +2166,24 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + @@ -2433,6 +2574,23 @@ image will be updated automatically and independent from calls to GetSnapshotUri + + + This operation gets the SIP streaming configuration of the device. + + + + + This operation sets the SIP streaming configuration of the device. If the configuration is absent, the device shall remove the existing SIP streaming configuration. + + + + + This operation gets the supported options for SIP streaming configuration of the device. + + + + @@ -2989,5 +3147,34 @@ image will be updated automatically and independent from calls to GetSnapshotUri + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 44e6a82fabb0f32012569b5af82b14f9b3d2173f Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 04:33:22 -0400 Subject: [PATCH 02/26] Create SIP specification and move out SIP stuff from core spec --- doc/Core.xml | 284 ---------------- doc/Sip.xml | 453 +++++++++++++++++++++++++ wsdl/ver10/device/wsdl/devicemgmt.wsdl | 363 -------------------- wsdl/ver10/sip/wsdl/sip.wsdl | 436 ++++++++++++++++++++++++ 4 files changed, 889 insertions(+), 647 deletions(-) create mode 100644 doc/Sip.xml create mode 100644 wsdl/ver10/sip/wsdl/sip.wsdl diff --git a/doc/Core.xml b/doc/Core.xml index ef3fb50eb..ef17da304 100644 --- a/doc/Core.xml +++ b/doc/Core.xml @@ -3423,41 +3423,6 @@ onvif://www.onvif.org/name/ARV-453 List of commands supported by SendAuxiliaryCommand - - - SIP - - - MaximumRecipients - - - Indicates the maximum number of call recipients supported. Also defines the maximum value for the Order field of a call recipient. - - - - - MaximumStunServers - - - Indicates the maximum number of STUN server URIs supported. - - - - - MaximumTurnServers - - - Indicates the maximum number of TURN servers supported. - - - - - MaximumRegistrars - - - Indicates the maximum number of SIP registrars supported. - - @@ -5495,255 +5460,6 @@ onvif://www.onvif.org/name/ARV-453 -
- SIP Server Configuration - A device indicating SIP capabilities shall support the GetSipServerConfiguration and SetSipServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. - The SIP server configuration consists of the following fields: - - - Registrar - One or more SIP registrar URIs. The registar shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query - - - UserId - The user info/extension of the Address of Record (AoR) in SIP, identifying the device on the registrar. - - - CertPathValidationPolicyID - Optional. The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. - - - Authentication - Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer shall be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the SIP server. - - -
- GetSipServerConfiguration - This operation gets the SIP server configuration of the device. The device shall not return the password in the response. - - - request - - This is an empty message. - - - - response - - SipServerConfiguration - optional [tds:SipServerConfiguration] - The current SIP server configuration of the device. Absent if no SIP server configuration has been set. - - - - faults - - No command specific faults defined. - - - - access class - - READ_SYSTEM - - - -
-
- SetSipServerConfiguration - This operation sets the SIP server configuration of the device. Only one SIP server configuration is supported. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. If the configuration is absent, the device shall remove the existing SIP server configuration. - - - request - - SipServerConfiguration - optional [tds:SipServerConfiguration] - The SIP server configuration to set on the device. If absent, the device shall remove the existing SIP server configuration. - - - - response - - This is an empty message. - - - - faults - - env:Receiver - ter:OperationProhibited - ter:MaximumRegistrars - The number of registrars exceeds the maximum number supported by the device. - env:Sender - ter:InvalidArgs - ter:MissingRegistrar - No registrar URI has been specified. - env:Sender - ter:InvalidArgVal - ter:InvalidRegistrar - The URI set in the registrar is not valid. - env:Sender - ter:InvalidArgs - ter:MissingAuthentication - Both AuthorizationServer and Credential are missing. One must be provided. - env:Sender - ter:InvalidArgVal - ter:AuthorizationServer - No AuthorizationServer exists for the specified token. - env:Sender - ter:OperationProhibited - ter:ConfigurationConflict - Cannot have both AuthorizationServer and Credential configured at the same time. Only one may be provided. - env:Sender - ter:InvalidArgVal - ter:CertPathValidationPolicyID - No certification path validation policy exists under the requested CertPathValidationPolicyID. - - - - access class - - WRITE_SYSTEM - - - -
-
-
- SIP NAT Configuration - A device indicating SIP capabilities shall support the GetSipNatConfiguration and SetSipNatConfiguration commands. Only one NAT configuration is - supported per device. The maximum number of STUN server URIs is indicated by the MaximumStunServers SIP capability and the maximum number of TURN - servers is indicated by the MaximumTurnServers SIP capability. URIs provided in this context shall be an absolute URI without scheme, such as: - stun.domain:port or turn.domain:port - The SIP NAT configuration consists of the following fields: - - - Stun - Optional. Contains one or more STUN server URIs used for NAT traversal. - - - Turn - Optional, unbounded. Each entry contains a TURN server URI and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. - - -
- GetSipNatConfiguration - This operation gets the NAT configuration of the device. The device shall not return TURN server passwords in the response. - - - request - - This is an empty message. - - - - response - - SipNatConfiguration - optional [tds:SipNatConfiguration] - The current NAT configuration of the device. Absent if no NAT configuration has been set. - - - - faults - - No command specific faults defined. - - - - access class - - READ_SYSTEM - - - -
-
- SetSipNatConfiguration - This operation sets the NAT configuration of the device. Only one NAT configuration is supported. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. If the configuration is absent, the device shall remove the existing NAT configuration. - - - request - - SipNatConfiguration - optional [tds:SipNatConfiguration] - The NAT configuration to set on the device. If absent, the device shall remove the existing NAT configuration. - - - - response - - This is an empty message. - - - - faults - - env:Receiver - ter:OperationProhibited - ter:MaximumStunServers - The number of STUN server URIs exceeds the maximum number supported by the device. - env:Receiver - ter:OperationProhibited - ter:MaximumTurnServers - The number of TURN servers exceeds the maximum number supported by the device. - - - - access class - - WRITE_SYSTEM - - - -
-
-
- Call Configuration - A device indicating SIP capabilities shall support the GetCallConfiguration and SetCallConfiguration commands. The maximum number of call recipients is indicated by the MaximumRecipients SIP capability. Only one call configuration is supported per device. - Each recipient has an Order field that determines in which order the contact is displayed or assigned to physical buttons. The Order value shall start at 1 and shall not exceed the value of the MaximumRecipients capability. -
- GetCallConfiguration - This operation gets the call configuration of the device. - - - request - - This is an empty message. - - - - response - - CallConfiguration - optional [tds:CallConfiguration] - The current call configuration of the device. Absent if no call configuration has been set. - - - - faults - - No command specific faults defined. - - - - access class - - READ_SYSTEM - - - -
-
- SetCallConfiguration - This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. If the configuration is absent, the device shall remove the existing call configuration. - - - request - - CallConfiguration - optional [tds:CallConfiguration] - The call configuration to set on the device. If absent, the device shall remove the existing call configuration. - - - - response - - This is an empty message. - - - - faults - - env:Receiver - ter:OperationProhibited - ter:MaximumRecipients - The number of recipients exceeds the maximum number of call recipients supported by the device. - - - - access class - - WRITE_SYSTEM - - - -
-
Security This section contains a set of security management operations. Such operations are sensitive to network attacks and shall be protected using appropriate authorization levels in order not to compromise the device. diff --git a/doc/Sip.xml b/doc/Sip.xml new file mode 100644 index 000000000..f83026bb0 --- /dev/null +++ b/doc/Sip.xml @@ -0,0 +1,453 @@ + + + + + ONVIF SIP Specification + ONVIF SIP Spec + 26.12 + + ONVIF™ + www.onvif.org + + December, 2026 + + + + + + + 2008-2026 + ONVIF™ All rights reserved. + + + Recipients of this document may copy, distribute, publish, or display this document so + long as this copyright notice, license and disclaimer are retained with all copies of the + document. No license is granted to modify this document. + THIS DOCUMENT IS PROVIDED "AS IS," AND THE CORPORATION AND ITS MEMBERS AND THEIR + AFFILIATES, MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT + LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, + NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THIS DOCUMENT ARE SUITABLE FOR ANY PURPOSE; + OR THAT THE IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. + IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FOR ANY + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, PUNITIVE OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR + RELATING TO ANY USE OR DISTRIBUTION OF THIS DOCUMENT, WHETHER OR NOT (1) THE CORPORATION, + MEMBERS OR THEIR AFFILIATES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR (2) + SUCH DAMAGES WERE REASONABLY FORESEEABLE, AND ARISING OUT OF OR RELATING TO ANY USE OR + DISTRIBUTION OF THIS DOCUMENT. THE FOREGOING DISCLAIMER AND LIMITATION ON LIABILITY DO NOT + APPLY TO, INVALIDATE, OR LIMIT REPRESENTATIONS AND WARRANTIES MADE BY THE MEMBERS AND THEIR + RESPECTIVE AFFILIATES TO THE CORPORATION AND OTHER MEMBERS IN CERTAIN WRITTEN POLICIES OF + THE CORPORATION. + + + + 26.12 + Dec-2026 + Initial version. Introduction of SIP specification. + + + + + Overview + This specification defines the SIP-related operations for ONVIF compliant devices. It covers SIP server configuration, NAT traversal configuration, and call management. + The WSDL for this service is defined at: http://www.onvif.org/ver10/sip/wsdl + + Referenced namespaces + + + + + + + Prefix + + + Namespace URI + + + + + + + env + + + http://www.w3.org/2003/05/soap-envelope + + + + + ter + + + http://www.onvif.org/ver10/error + + + + + xs + + + http://www.w3.org/2001/XMLSchema + + + + + tt + + + http://www.onvif.org/ver10/schema + + + + + tsip + + + http://www.onvif.org/ver10/sip/wsdl + + + + +
+
+ + SIP Service +
+ GetServiceCapabilities + This command returns the capabilities of the SIP service. + + + request + + This is an empty message. + + + + response + + Capabilities [tsip:SipCapabilities] + The capability response message contains the requested SIP service capabilities. + + + + faults + + No command specific faults defined. + + + + access class + + PRE_AUTH + + + + + The capabilities in the GetServiceCapabilities command + + + + + + + Capability + + + Description + + + + + + + MaximumRecipients + + + Indicates the maximum number of call recipients supported. Also defines the maximum value for the Order field of a call recipient. + + + + + MaximumStunServers + + + Indicates the maximum number of STUN server URIs supported. + + + + + MaximumTurnServers + + + Indicates the maximum number of TURN servers supported. + + + + + MaximumRegistrars + + + Indicates the maximum number of SIP registrars supported. + + + + +
+
+
+ SIP Server Configuration + A device indicating SIP capabilities shall support the GetSipServerConfiguration and SetSipServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. + The SIP server configuration consists of the following fields: + + + Registrar + One or more SIP registrar URIs. The registar shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query + + + UserId + The user info/extension of the Address of Record (AoR) in SIP, identifying the device on the registrar. + + + CertPathValidationPolicyID + Optional. The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. + + + Authentication + Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer shall be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the SIP server. + + +
+ GetSipServerConfiguration + This operation gets the SIP server configuration of the device. The device shall not return the password in the response. + + + request + + This is an empty message. + + + + response + + SipServerConfiguration - optional [tsip:SipServerConfiguration] + The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetSipServerConfiguration + This operation sets the SIP server configuration of the device. Only one SIP server configuration is supported. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. If the configuration is absent, the device shall remove the existing SIP server configuration. + + + request + + SipServerConfiguration - optional [tsip:SipServerConfiguration] + The SIP server configuration to set on the device. If absent, the device shall remove the existing SIP server configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumRegistrars + The number of registrars exceeds the maximum number supported by the device. + env:Sender - ter:InvalidArgs - ter:MissingRegistrar + No registrar URI has been specified. + env:Sender - ter:InvalidArgVal - ter:InvalidRegistrar + The URI set in the registrar is not valid. + env:Sender - ter:InvalidArgs - ter:MissingAuthentication + Both AuthorizationServer and Credential are missing. One must be provided. + env:Sender - ter:InvalidArgVal - ter:AuthorizationServer + No AuthorizationServer exists for the specified token. + env:Sender - ter:OperationProhibited - ter:ConfigurationConflict + Cannot have both AuthorizationServer and Credential configured at the same time. Only one may be provided. + env:Sender - ter:InvalidArgVal - ter:CertPathValidationPolicyID + No certification path validation policy exists under the requested CertPathValidationPolicyID. + + + + access class + + WRITE_SYSTEM + + + +
+
+
+ SIP NAT Configuration + A device indicating SIP capabilities shall support the GetSipNatConfiguration and SetSipNatConfiguration commands. Only one NAT configuration is + supported per device. The maximum number of STUN server URIs is indicated by the MaximumStunServers SIP capability and the maximum number of TURN + servers is indicated by the MaximumTurnServers SIP capability. URIs provided in this context shall be an absolute URI without scheme, such as: + stun.domain:port or turn.domain:port + The SIP NAT configuration consists of the following fields: + + + Stun + Optional. Contains one or more STUN server URIs used for NAT traversal. + + + Turn + Optional, unbounded. Each entry contains a TURN server URI and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. + + +
+ GetSipNatConfiguration + This operation gets the NAT configuration of the device. The device shall not return TURN server passwords in the response. + + + request + + This is an empty message. + + + + response + + SipNatConfiguration - optional [tsip:SipNatConfiguration] + The current NAT configuration of the device. Absent if no NAT configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetSipNatConfiguration + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. If the configuration is absent, the device shall remove the existing NAT configuration. + + + request + + SipNatConfiguration - optional [tsip:SipNatConfiguration] + The NAT configuration to set on the device. If absent, the device shall remove the existing NAT configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumStunServers + The number of STUN server URIs exceeds the maximum number supported by the device. + env:Receiver - ter:OperationProhibited - ter:MaximumTurnServers + The number of TURN servers exceeds the maximum number supported by the device. + + + + access class + + WRITE_SYSTEM + + + +
+
+
+ Call Configuration + A device indicating SIP capabilities shall support the GetCallConfiguration and SetCallConfiguration commands. The maximum number of call recipients is indicated by the MaximumRecipients SIP capability. Only one call configuration is supported per device. + Each recipient has an Order field that determines in which order the contact is displayed or assigned to physical buttons. The Order value shall start at 1 and shall not exceed the value of the MaximumRecipients capability. +
+ GetCallConfiguration + This operation gets the call configuration of the device. + + + request + + This is an empty message. + + + + response + + CallConfiguration - optional [tsip:CallConfiguration] + The current call configuration of the device. Absent if no call configuration has been set. + + + + faults + + No command specific faults defined. + + + + access class + + READ_SYSTEM + + + +
+
+ SetCallConfiguration + This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. If the configuration is absent, the device shall remove the existing call configuration. + + + request + + CallConfiguration - optional [tsip:CallConfiguration] + The call configuration to set on the device. If absent, the device shall remove the existing call configuration. + + + + response + + This is an empty message. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumRecipients + The number of recipients exceeds the maximum number of call recipients supported by the device. + + + + access class + + WRITE_SYSTEM + + + +
+
+
+ + Revision History + + +
+ diff --git a/wsdl/ver10/device/wsdl/devicemgmt.wsdl b/wsdl/ver10/device/wsdl/devicemgmt.wsdl index e848bbdd1..0943ee382 100644 --- a/wsdl/ver10/device/wsdl/devicemgmt.wsdl +++ b/wsdl/ver10/device/wsdl/devicemgmt.wsdl @@ -108,11 +108,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Capabilities that do not fit in any of the other categories. - - - SIP capabilities. - - @@ -486,30 +481,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - Indicates the maximum number of call recipients supported. - - - - - Indicates the maximum number of STUN server URIs supported. - - - - - Indicates the maximum number of TURN servers supported. - - - - - Indicates the maximum number of SIP registrars supported. - - - - - @@ -2538,220 +2509,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. - - - - - The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. - If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. - - - - - - - - - AuthorizationServer token referring to the server that provides access tokens to authorize with the renewal endpoint. - - - - - - - - - - - - - - - - - - - - The current SIP server configuration of the device. Absent if no SIP server configuration has been set. - - - - - - - - - - - - The SIP server configuration to set on the device. Only one SIP server configuration is supported. If absent, the device shall remove the existing SIP server configuration. - - - - - - - - - - - - - - - - Collection of STUN server URIs used for NAT traversal. - - - - - - List of STUN server URI. - - - - - - - - Collection of TURN servers used for NAT traversal. - - - - - - List of TURN server URI. - - - - - Credentials used to authenticate with the TURN server. - - - - - - - - - - - - - - - - - - - The current NAT configuration of the device. Absent if no NAT configuration has been set. - - - - - - - - - - - - The NAT configuration to set on the device. Only one NAT configuration is supported. If absent, the device shall remove the existing NAT configuration. - - - - - - - - - - - - - - - - Display name of the call recipient. - - - - - The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. - - - - - Order of the recipient, starting at 1 up to and including the value of the MaximumRecipients capability. This order determines in which order the contact is displayed or assigned to physical buttons. - - - - - - - - - - - - - - Indicates whether the device shall allow incoming calls. - - - - - Indicates whether the device shall automatically answer incoming calls. - - - - - List of call recipients. - - - - - - - - - - - - - - - - The current call configuration of the device. - - - - - - - - - - - - The call configuration to set on the device. Only one call configuration is supported. - - - - - - - - - - - @@ -3373,42 +3130,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -4143,36 +3864,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. - - - - - This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. - - - - - This operation gets the NAT configuration of the device. Only one NAT configuration is supported. - - - - - This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. - - - - - This operation gets the call configuration of the device. Only one call configuration is supported. - - - - - This operation sets the call configuration of the device. Only one call configuration is supported. If the configuration is absent, the device shall remove the existing call configuration. - - - @@ -5106,60 +4797,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl new file mode 100644 index 000000000..1a7298a2f --- /dev/null +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -0,0 +1,436 @@ + + + + + + + + + + + + + + + + + + + The capabilities of the SIP service are returned in the Capabilities element. + + + + + + + + + + Indicates the maximum number of call recipients supported. + + + + + Indicates the maximum number of STUN server URIs supported. + + + + + Indicates the maximum number of TURN servers supported. + + + + + Indicates the maximum number of SIP registrars supported. + + + + + + + + + + + User name. + + + + + Password. Device shall not return the password in the reply. + + + + + + + + + + + The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. + + + + + The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. + If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. + + + + + + + + + AuthorizationServer token referring to the server that provides access tokens to authorize with the renewal endpoint. + + + + + + + + + + + + + + + + + + + + The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + + + + + + + + + + + + The SIP server configuration to set on the device. Only one SIP server configuration is supported. If absent, the device shall remove the existing SIP server configuration. + + + + + + + + + + + + + + + + Collection of STUN server URIs used for NAT traversal. + + + + + + List of STUN server URI. + + + + + + + + Collection of TURN servers used for NAT traversal. + + + + + + List of TURN server URI. + + + + + Credentials used to authenticate with the TURN server. + + + + + + + + + + + + + + + + + + + The current NAT configuration of the device. Absent if no NAT configuration has been set. + + + + + + + + + + + + The NAT configuration to set on the device. Only one NAT configuration is supported. If absent, the device shall remove the existing NAT configuration. + + + + + + + + + + + + + + + + Display name of the call recipient. + + + + + The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + + + + + Order of the recipient, starting at 1 up to and including the value of the MaximumRecipients capability. This order determines in which order the contact is displayed or assigned to physical buttons. + + + + + + + + + + + + + + Indicates whether the device shall allow incoming calls. + + + + + Indicates whether the device shall automatically answer incoming calls. + + + + + List of call recipients. + + + + + + + + + + + + + + + + The current call configuration of the device. + + + + + + + + + + + + The call configuration to set on the device. Only one call configuration is supported. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the capabilities of the SIP service. The result is returned in a typed answer. + + + + + This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. + + + + + This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. + + + + + This operation gets the NAT configuration of the device. Only one NAT configuration is supported. + + + + + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. + + + + + This operation gets the call configuration of the device. Only one call configuration is supported. + + + + + This operation sets the call configuration of the device. Only one call configuration is supported. If the configuration is absent, the device shall remove the existing call configuration. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 36a8f7eef242493a9dd85286be10a8f830dee03c Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:09:17 -0400 Subject: [PATCH 03/26] Rename types and operations to remove SIP prefix --- doc/Sip.xml | 36 ++++++------ wsdl/ver10/sip/wsdl/sip.wsdl | 109 +++++++++++++++++------------------ 2 files changed, 72 insertions(+), 73 deletions(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index f83026bb0..fa00f6fdb 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -1,4 +1,4 @@ - + @@ -126,7 +126,7 @@ response - Capabilities [tsip:SipCapabilities] + Capabilities [tsip:Capabilities] The capability response message contains the requested SIP service capabilities. @@ -195,9 +195,9 @@
-
+
SIP Server Configuration - A device indicating SIP capabilities shall support the GetSipServerConfiguration and SetSipServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. + A device indicating SIP capabilities shall support the GetServerConfiguration and SetServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. The SIP server configuration consists of the following fields: @@ -217,8 +217,8 @@ Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer shall be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the SIP server. -
- GetSipServerConfiguration +
+ GetServerConfiguration This operation gets the SIP server configuration of the device. The device shall not return the password in the response. @@ -230,7 +230,7 @@ response - SipServerConfiguration - optional [tsip:SipServerConfiguration] + ServerConfiguration - optional [tsip:ServerConfiguration] The current SIP server configuration of the device. Absent if no SIP server configuration has been set. @@ -248,14 +248,14 @@
-
- SetSipServerConfiguration +
+ SetServerConfiguration This operation sets the SIP server configuration of the device. Only one SIP server configuration is supported. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. If the configuration is absent, the device shall remove the existing SIP server configuration. request - SipServerConfiguration - optional [tsip:SipServerConfiguration] + ServerConfiguration - optional [tsip:ServerConfiguration] The SIP server configuration to set on the device. If absent, the device shall remove the existing SIP server configuration. @@ -293,9 +293,9 @@
-
+
SIP NAT Configuration - A device indicating SIP capabilities shall support the GetSipNatConfiguration and SetSipNatConfiguration commands. Only one NAT configuration is + A device indicating SIP capabilities shall support the GetNatConfiguration and SetNatConfiguration commands. Only one NAT configuration is supported per device. The maximum number of STUN server URIs is indicated by the MaximumStunServers SIP capability and the maximum number of TURN servers is indicated by the MaximumTurnServers SIP capability. URIs provided in this context shall be an absolute URI without scheme, such as: stun.domain:port or turn.domain:port @@ -310,8 +310,8 @@ Optional, unbounded. Each entry contains a TURN server URI and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. -
- GetSipNatConfiguration +
+ GetNatConfiguration This operation gets the NAT configuration of the device. The device shall not return TURN server passwords in the response. @@ -323,7 +323,7 @@ response - SipNatConfiguration - optional [tsip:SipNatConfiguration] + NatConfiguration - optional [tsip:NatConfiguration] The current NAT configuration of the device. Absent if no NAT configuration has been set. @@ -341,14 +341,14 @@
-
- SetSipNatConfiguration +
+ SetNatConfiguration This operation sets the NAT configuration of the device. Only one NAT configuration is supported. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. If the configuration is absent, the device shall remove the existing NAT configuration. request - SipNatConfiguration - optional [tsip:SipNatConfiguration] + NatConfiguration - optional [tsip:NatConfiguration] The NAT configuration to set on the device. If absent, the device shall remove the existing NAT configuration. diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 1a7298a2f..b78c2e6a0 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -1,4 +1,4 @@ - + - + Indicates the maximum number of call recipients supported. @@ -53,7 +53,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -70,7 +70,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -100,15 +100,15 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + - + The current SIP server configuration of the device. Absent if no SIP server configuration has been set. @@ -117,10 +117,10 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + The SIP server configuration to set on the device. Only one SIP server configuration is supported. If absent, the device shall remove the existing SIP server configuration. @@ -128,13 +128,13 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + @@ -172,15 +172,15 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + - + The current NAT configuration of the device. Absent if no NAT configuration has been set. @@ -189,10 +189,10 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + The NAT configuration to set on the device. Only one NAT configuration is supported. If absent, the device shall remove the existing NAT configuration. @@ -200,7 +200,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -292,29 +292,29 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + @@ -334,25 +334,25 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. - - + + - + This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. - - + + - + This operation gets the NAT configuration of the device. Only one NAT configuration is supported. - - + + - + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. - - + + This operation gets the call configuration of the device. Only one call configuration is supported. @@ -376,8 +376,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -385,8 +385,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -394,8 +394,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -403,8 +403,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -433,4 +433,3 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - From 722e324e6c9eb25e8c4c008fa96efd52f2121dda Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:15:56 -0400 Subject: [PATCH 04/26] Move SipStreamingConfiguration from Media2 to SIP --- doc/Media2.xml | 113 ------------------- doc/Sip.xml | 114 +++++++++++++++++++ wsdl/ver10/sip/wsdl/sip.wsdl | 182 ++++++++++++++++++++++++++++++ wsdl/ver20/media/wsdl/media.wsdl | 187 ------------------------------- 4 files changed, 296 insertions(+), 300 deletions(-) diff --git a/doc/Media2.xml b/doc/Media2.xml index 59a878f58..0536b7700 100644 --- a/doc/Media2.xml +++ b/doc/Media2.xml @@ -3023,119 +3023,6 @@ Topics: tns1:Monitoring/ActiveSessions/VideoEncoder ]]>
-
- SIP Streaming Configuration - - The SIP streaming configuration defines the media configurations used during SIP-based streaming sessions. - It allows a client to update the provided configurations used when the device participates in a SIP call. - - - Only a single SIP streaming configuration is supported per device. If the device has a SIP server configuration - (as defined in the Device Management service), the SIP streaming configuration determines the media - parameters applied during incoming or outgoing SIP sessions. A configuration shall be provided per configuration - type that the device supports for SIP streaming. For example, if the device supports both video and audio streaming over SIP, - the SIP streaming configuration shall include a video source configuration, a video encoder configuration, an audio source - configuration and an audio encoder configuration. If the device supports only audio output (such as a speaker device), then the configuration shall - only include the audio output configuration and audio decoder configuration. - - - Note: The configuration listed as part of the SIP streaming configuration are not expected to be used by the device for non-SIP streaming sessions. - This means that the configurations needs not to be returned in GetXConfigurations, nor to be configured through SetXConfiguration. - -
- GetSipStreamingConfiguration - This operation retrieves the current SIP streaming configuration of the device. - - - request - - This is an empty message. - - - - response - - SipStreamingConfiguration [tr2:SipStreamingConfiguration] - The current SIP streaming configuration of the device. - - - - faults - - No command specific faults defined. - - - - access class - - READ_MEDIA - - - -
-
- SetSipStreamingConfiguration - This operation sets the SIP streaming configuration of the device. - - - request - - SipStreamingConfiguration [tr2:SipStreamingConfiguration] - The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. - - - - response - - This is an empty message. - - - - faults - - No command specific faults defined. - - - - access class - - ACTUATE - - - -
-
- GetSipStreamingConfigurationOptions - This operation retrieves the supported options for the SIP streaming configuration of the device. - - - request - - This is an empty message. - - - - response - - SipStreamingConfigurationOptions [tr2:SipStreamingConfigurationOptions] - The supported options for SIP streaming configuration. - - - - faults - - No command specific faults defined. - - - - access class - - READ_MEDIA - - - -
-
Efficient XML Interchange (EXI) (Normative) diff --git a/doc/Sip.xml b/doc/Sip.xml index fa00f6fdb..6191d3ec2 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -444,6 +444,120 @@
+
+ SIP Streaming Configuration + + The SIP streaming configuration defines the media configurations used during SIP-based streaming sessions. + It allows a client to update the provided configurations used when the device participates in a SIP call. + + + Only a single SIP streaming configuration is supported per device. If the device has a SIP server configuration, + the SIP streaming configuration determines the media parameters applied during incoming or outgoing SIP sessions. + A configuration shall be provided per configuration type that the device supports for SIP streaming. For example, + if the device supports both video and audio streaming over SIP, the SIP streaming configuration shall include a + video source configuration, a video encoder configuration, an audio source configuration and an audio encoder + configuration. If the device supports only audio output (such as a speaker device), then the configuration shall + only include the audio output configuration and audio decoder configuration. + + + Note: The configuration listed as part of the SIP streaming configuration are not expected to be used by the device + for non-SIP streaming sessions. This means that the configurations needs not to be returned in GetXConfigurations, + nor to be configured through SetXConfiguration. + +
+ GetStreamingConfiguration + This operation retrieves the current SIP streaming configuration of the device. + + + request + + This is an empty message. + + + + response + + StreamingConfiguration [tsip:StreamingConfiguration] + The current SIP streaming configuration of the device. + + + + faults + + No command specific faults defined. + + + + access class + + READ_MEDIA + + + +
+
+ SetStreamingConfiguration + This operation sets the SIP streaming configuration of the device. + + + request + + StreamingConfiguration [tsip:StreamingConfiguration] + The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + + + + response + + This is an empty message. + + + + faults + + No command specific faults defined. + + + + access class + + ACTUATE + + + +
+
+ GetStreamingConfigurationOptions + This operation retrieves the supported options for the SIP streaming configuration of the device. + + + request + + This is an empty message. + + + + response + + StreamingConfigurationOptions [tsip:StreamingConfigurationOptions] + The supported options for SIP streaming configuration. + + + + faults + + No command specific faults defined. + + + + access class + + READ_MEDIA + + + +
+
Revision History diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index b78c2e6a0..5a996b570 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -284,6 +284,128 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The current SIP streaming configuration of the device. + + + + + + + + + + + + The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + + + + + + + + + + + + + + + + + + + + + + The supported options for SIP streaming configuration. + + + + + + @@ -328,6 +450,24 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + Returns the capabilities of the SIP service. The result is returned in a typed answer. @@ -364,6 +504,21 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + This operation gets the SIP streaming configuration of the device. + + + + + This operation sets the SIP streaming configuration of the device. If the configuration is absent, the device shall remove the existing SIP streaming configuration. + + + + + This operation gets the supported options for SIP streaming configuration of the device. + + + @@ -430,6 +585,33 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wsdl/ver20/media/wsdl/media.wsdl b/wsdl/ver20/media/wsdl/media.wsdl index 41114ab65..44f896836 100644 --- a/wsdl/ver20/media/wsdl/media.wsdl +++ b/wsdl/ver20/media/wsdl/media.wsdl @@ -1689,129 +1689,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The current SIP streaming configuration of the device. - - - - - - - - - - - - The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. - - - - - - - - - - - - - - - - - - - - - - The supported options for SIP streaming configuration. - - - - - - @@ -2166,24 +2043,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - - - - - - - - - - @@ -2574,23 +2433,6 @@ image will be updated automatically and independent from calls to GetSnapshotUri - - - This operation gets the SIP streaming configuration of the device. - - - - - This operation sets the SIP streaming configuration of the device. If the configuration is absent, the device shall remove the existing SIP streaming configuration. - - - - - This operation gets the supported options for SIP streaming configuration of the device. - - - - @@ -3147,34 +2989,5 @@ image will be updated automatically and independent from calls to GetSnapshotUri - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From a88274dedd775ee8abb43eb238a2ea84741dfcf5 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:27:12 -0400 Subject: [PATCH 05/26] Add SIP to list of specifications --- doc/index.html | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/index.html b/doc/index.html index 107863fb0..70801ce73 100644 --- a/doc/index.html +++ b/doc/index.html @@ -186,6 +186,11 @@

Document preview

+SIP +sip.wsdl + + + Thermal thermal.wsdl radiometry.xsd From f1f0691178ac0b0a6cd9d0d8c0c67b378b5f4638 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:27:34 -0400 Subject: [PATCH 06/26] Reviewed NAT configuration documentation --- doc/Sip.xml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index 6191d3ec2..f06cf9c32 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -294,12 +294,12 @@
- SIP NAT Configuration - A device indicating SIP capabilities shall support the GetNatConfiguration and SetNatConfiguration commands. Only one NAT configuration is - supported per device. The maximum number of STUN server URIs is indicated by the MaximumStunServers SIP capability and the maximum number of TURN - servers is indicated by the MaximumTurnServers SIP capability. URIs provided in this context shall be an absolute URI without scheme, such as: - stun.domain:port or turn.domain:port - The SIP NAT configuration consists of the following fields: + NAT Configuration + A device indicating MaximumStunServers > 0 or MaximumTurnServers > 0 in the SIP capabilities shall support the GetNatConfiguration and + SetNatConfiguration commands. Only one NAT configuration is supported per device. The maximum number of STUN server URIs is indicated by the + MaximumStunServers SIP capability and the maximum number of TURN servers is indicated by the MaximumTurnServers SIP capability. URIs provided + in this context shall be an absolute URI without scheme, such as: stun.domain:port or turn.domain:port + The NAT configuration consists of the following fields: Stun From 2cefe70923f51022143b45119120b60ad3fbadc0 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:44:12 -0400 Subject: [PATCH 07/26] Reordered capabilities to be sorted asc --- wsdl/ver10/sip/wsdl/sip.wsdl | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 5a996b570..9ee2a24f5 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -36,6 +36,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Indicates the maximum number of call recipients supported. + + + Indicates the maximum number of SIP registrars supported. + + Indicates the maximum number of STUN server URIs supported. @@ -46,11 +51,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Indicates the maximum number of TURN servers supported. - - - Indicates the maximum number of SIP registrars supported. - - From aff140f26db09e74f51a90a2b3e3d411dda3bc7a Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 05:58:16 -0400 Subject: [PATCH 08/26] Bump version to 26.12 --- wsdl/ver10/sip/wsdl/sip.wsdl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 9ee2a24f5..f7c051a55 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -10,7 +10,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO --> - + From a79c7204bebb4889e05ea437bcdb29e5e0e4e900 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 3 Jun 2026 06:25:11 -0400 Subject: [PATCH 09/26] Removed BasicCredential that was moved to sip wsdl --- wsdl/ver10/device/wsdl/devicemgmt.wsdl | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/wsdl/ver10/device/wsdl/devicemgmt.wsdl b/wsdl/ver10/device/wsdl/devicemgmt.wsdl index 0943ee382..c8d977d48 100644 --- a/wsdl/ver10/device/wsdl/devicemgmt.wsdl +++ b/wsdl/ver10/device/wsdl/devicemgmt.wsdl @@ -2224,21 +2224,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - User name. - - - - - Password. Device shall not return the password in the reply. - - - - From 8920c12c31634c5e65d6e7f74bee9bc5ec6bbec8 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Fri, 5 Jun 2026 05:23:58 -0400 Subject: [PATCH 10/26] Update AudioDecoder options type --- wsdl/ver10/sip/wsdl/sip.wsdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index f7c051a55..21692d8c3 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -347,7 +347,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + From 37e4c1b6b63b5202f1e7c937c54706987bcacfda Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 23 Jun 2026 14:09:06 -0400 Subject: [PATCH 11/26] Applied changes according to PR comments Added transport for the SIP registrar Misc changes based on discussions or comments made from F2F --- doc/Sip.xml | 14 +++++++------- wsdl/ver10/sip/wsdl/sip.wsdl | 24 +++++++++++++++++++++--- 2 files changed, 28 insertions(+), 10 deletions(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index f06cf9c32..919fc8a4b 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -202,7 +202,7 @@ Registrar - One or more SIP registrar URIs. The registar shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query + One or more SIP registrar entries. Each entry contains a Uri and a Transport field. The Uri shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query. The Transport field specifies the transport protocol to use for the registrar and shall be one of: UDP, TCP, or TLS. UserId @@ -307,7 +307,7 @@ Turn - Optional, unbounded. Each entry contains a TURN server URI and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. + Optional, unbounded. Each entry contains one or more TURN server URIs and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response.
@@ -393,8 +393,8 @@ response - CallConfiguration - optional [tsip:CallConfiguration] - The current call configuration of the device. Absent if no call configuration has been set. + CallConfiguration [tsip:CallConfiguration] + The current call configuration of the device. @@ -413,13 +413,13 @@
SetCallConfiguration - This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. If the configuration is absent, the device shall remove the existing call configuration. + This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. request - CallConfiguration - optional [tsip:CallConfiguration] - The call configuration to set on the device. If absent, the device shall remove the existing call configuration. + CallConfiguration [tsip:CallConfiguration] + The call configuration to set on the device. Only one call configuration is supported. diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 21692d8c3..7dfc0e522 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -70,10 +70,27 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + Transport protocol to use for the registrar. Valid values are defined in tsip:TransportType. + + + + + + + + + + + - + The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. @@ -91,7 +108,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - AuthorizationServer token referring to the server that provides access tokens to authorize with the renewal endpoint. + AuthorizationServer token referring to the server that provides access tokens to authorize with the + renewal endpoint as defined in the Security specification. @@ -511,7 +529,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - This operation sets the SIP streaming configuration of the device. If the configuration is absent, the device shall remove the existing SIP streaming configuration. + This operation sets the SIP streaming configuration of the device. From d1eff5041e5879eee5898592946899b350b849da Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 14 Jul 2026 16:00:11 -0400 Subject: [PATCH 12/26] Update SIP API to support multiple server configurations --- wsdl/ver10/sip/wsdl/sip.wsdl | 491 ++++++++++++++++++++++++++++------- 1 file changed, 403 insertions(+), 88 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 7dfc0e522..e216c6e6d 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -14,47 +14,53 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO xmlns:tsip="http://www.onvif.org/ver10/sip/wsdl" elementFormDefault="qualified" version="26.12"> - - - - - - - - - - - The capabilities of the SIP service are returned in the Capabilities element. - - - - - - - + - Indicates the maximum number of call recipients supported. + Indicates the maximum number of server configurations supported. - Indicates the maximum number of SIP registrars supported. + Indicates the maximum number of SIP registrars supported per server configurations. - Indicates the maximum number of STUN server URIs supported. + Indicates the maximum number of STUN server URIs supported per server configurations. - Indicates the maximum number of TURN servers supported. + Indicates the maximum number of TURN servers supported per server configurations. + + + + + Indicates if the device supports call buttons. - + + + + + + + + + + + + + The capabilities of the SIP service are returned in the Capabilities element. + + + + + + @@ -70,6 +76,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + @@ -80,6 +87,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + @@ -87,7 +95,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -115,33 +123,89 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + The new server configuration to be added on the device. + + + + + + + + + + + Token of the created server configuration. + + + + + - - + + + + + + Token of the server configuration to delete. + + + + + + - + + - + - The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + Optional token of the requested server configuration. - + + + + + + Token of the server configuration. + + + + + A SIP server configuration of the device. + + + + + + + + + Token of the server configuration. + + - The SIP server configuration to set on the device. Only one SIP server configuration is supported. If absent, the device shall remove the existing SIP server configuration. + The SIP server configuration to update on the device. @@ -155,6 +219,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + Token of the server configuration. + + Collection of STUN server URIs used for NAT traversal. @@ -188,32 +257,74 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + - - + + + + + + + The NAT configuration to be added to device. Maximum 1 per ServerConfiguration token. + + + + + + + + + + + + + Optional token to filter configurations based on server configuration token. + + + + + + - + - The current NAT configuration of the device. Absent if no NAT configuration has been set. + The NAT configurations of the device. Maximum 1 per ServerConfiguration token. - + + + + + + + The matching ServerConfiguration token for the NAT configuration to removed. + + + + + + + + + + + - The NAT configuration to set on the device. Only one NAT configuration is supported. If absent, the device shall remove the existing NAT configuration. + The NAT configuration to set. @@ -224,84 +335,161 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + - + - + - Display name of the call recipient. + Token of the server configuration. - + - The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + Indicates whether the device shall allow incoming calls. - + - Order of the recipient, starting at 1 up to and including the value of the MaximumRecipients capability. This order determines in which order the contact is displayed or assigned to physical buttons. + Indicates whether the device shall automatically answer incoming calls. - - - - - + - + + + + + + + The matching ServerConfiguration token for the call configuration. + + + + + + + + + + + One or all call configurations of the device. + + + + + + + + + + + + The ServerConfiguration token for the call configuration to be modified. + + + + + The call configuration to set on the device. Shall have 1 configuration per ServerConfiguration. + + + + + + + + + + + + + - + - Indicates whether the device shall allow incoming calls. + The button's reference token. - + - Indicates whether the device shall automatically answer incoming calls. + Display name of the call recipient. - + - List of call recipients. + The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + + + Boolean flag indicating whether this button is enabled or not. + + - - + + + + + + Token of the server configuration. + + + + + List of configured call buttons for the matching server configuration. + + + + + + + - + + + + The matching ServerConfiguration token for the button configuration. + + + - + - + - The current call configuration of the device. + A button configuration of the device. - - + + - + - The call configuration to set on the device. Only one call configuration is supported. + The ServerConfiguration token for the button configuration to be modified. + + + + + The button configuration to set on the device. Shall have 1 configuration per ServerConfiguration. - + + @@ -433,11 +621,23 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + + + + + + + + + + - - + + + + + @@ -445,23 +645,35 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + - - + + - - + + @@ -469,6 +681,18 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + @@ -493,36 +717,73 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + + This operation creates a new SIP server configuration on the device. + + + + + This operation deletes an existing SIP server configuration from the device. Deleting a server + configuration removes all other configuration types that reference this configuration. + + + + This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. - - + + This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. + + This operation adds a NAT configuration to the device. Shall support a maximum of 1 configuration per ServerConfiguration token. + + + - This operation gets the NAT configuration of the device. Only one NAT configuration is supported. + This operation gets the NAT configurations of the device. Shall support a maximum of 1 configuration per ServerConfiguration token. + + This operation removes the NAT configuration matching the given ServerConfiguration token from the device. + + + This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. - - This operation gets the call configuration of the device. Only one call configuration is supported. - - + + This operation gets the call configurations of the device. Shall contain 1 configuration per ServerConfiguration. + + - This operation sets the call configuration of the device. Only one call configuration is supported. If the configuration is absent, the device shall remove the existing call configuration. + This operation sets the call configuration of the device. + + + This operation gets the call button configurations of the device. Shall contain 1 configuration per ServerConfiguration. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + + + + This operation sets the call button configuration of the device. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + This operation gets the SIP streaming configuration of the device. @@ -550,8 +811,26 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + + + + + + + + + + + + + + + + + + + @@ -568,6 +847,15 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + @@ -577,6 +865,15 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + @@ -586,8 +883,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -604,6 +901,24 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + + + + + + + + + + From 56b391c507fcfecfec4cd1b82e09b13b23f21642 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Wed, 15 Jul 2026 17:00:36 -0400 Subject: [PATCH 13/26] Add GetCallButtonOptions --- wsdl/ver10/sip/wsdl/sip.wsdl | 50 ++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index e216c6e6d..f6ed2765e 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -404,6 +404,33 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + List of physical button ids. + + + + + List of relay button ids. + + + + + List of virtual button ids. Example for a touchscreen interface. + + + + + + + + + + + + @@ -693,6 +720,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + @@ -784,6 +817,14 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + This operation gets the list of supported physical, relay and virtual call button identifiers of the device. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + This operation gets the SIP streaming configuration of the device. @@ -919,6 +960,15 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + + + + From 1d13ca5ca9d04639af40d5db0a62806d6cd2b4ed Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 21 Jul 2026 13:21:40 -0400 Subject: [PATCH 14/26] Update streaming and add button description --- wsdl/ver10/sip/wsdl/sip.wsdl | 55 ++++++++++++++++++++++++++---------- 1 file changed, 40 insertions(+), 15 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index f6ed2765e..98f38315d 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -404,19 +404,33 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + A button's id. + + + + + A button's description. + + + + - + List of physical button ids. - + List of relay button ids. - + List of virtual button ids. Example for a touchscreen interface. @@ -520,6 +534,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + The ServerConfiguration token for the button configuration to be modified. + + @@ -589,15 +608,21 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - + + + + The matching ServerConfiguration token for the streaming configuration. + + + - + - + The current SIP streaming configuration of the device. @@ -726,11 +751,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + - - + + @@ -825,10 +850,10 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - This operation gets the SIP streaming configuration of the device. - - + + This operation gets the SIP streaming configurations of the device. + + This operation sets the SIP streaming configuration of the device. From d299af2ae3d9f705e3e9869d5daa248adf96e6f4 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 11 Aug 2026 15:14:33 -0400 Subject: [PATCH 15/26] Fix errors in the SIP WSDL file --- wsdl/ver10/sip/wsdl/sip.wsdl | 67 ++++++++++++++++++------------------ 1 file changed, 34 insertions(+), 33 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 98f38315d..7a9d4cf97 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -178,15 +178,26 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + + + + Token of the server configuration. + + + + + The SIP server configuration to update on the device. + + + + + - - - - Token of the server configuration. - - - + + A SIP server configuration of the device. @@ -198,12 +209,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + Token of the server configuration. - + The SIP server configuration to update on the device. @@ -278,7 +289,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -290,7 +301,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + @@ -384,12 +395,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - The ServerConfiguration token for the call configuration to be modified. - - - + The call configuration to set on the device. Shall have 1 configuration per ServerConfiguration. @@ -512,11 +518,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - The ServerConfiguration token for the button configuration to be modified. - - The button configuration to set on the device. Shall have 1 configuration per ServerConfiguration. @@ -703,11 +704,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + - - + + @@ -801,10 +802,10 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + This operation gets the NAT configurations of the device. Shall support a maximum of 1 configuration per ServerConfiguration token. - - + + This operation removes the NAT configuration matching the given ServerConfiguration token from the device. @@ -922,8 +923,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + @@ -994,8 +995,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - + + From 693ee56e3d6788dd18b725a232db246df9212613 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 18 Aug 2026 10:57:59 -0400 Subject: [PATCH 16/26] Add optional field to server configuration --- wsdl/ver10/sip/wsdl/sip.wsdl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 7a9d4cf97..9873e698b 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -123,6 +123,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + Optional name of the server configuration. + + From b24aa25e2181ceb15c42660802b9e1c3897825eb Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Thu, 20 Aug 2026 12:27:25 -0400 Subject: [PATCH 17/26] Remove Add/Remove NAT config in SIP --- wsdl/ver10/sip/wsdl/sip.wsdl | 74 ------------------------------------ 1 file changed, 74 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 9873e698b..82f201b96 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -277,23 +277,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - The NAT configuration to be added to device. Maximum 1 per ServerConfiguration token. - - - - - - - - - - - @@ -318,23 +301,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - The matching ServerConfiguration token for the NAT configuration to removed. - - - - - - - - - - - @@ -703,24 +669,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - - - - @@ -802,21 +756,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - This operation adds a NAT configuration to the device. Shall support a maximum of 1 configuration per ServerConfiguration token. - - - This operation gets the NAT configurations of the device. Shall support a maximum of 1 configuration per ServerConfiguration token. - - This operation removes the NAT configuration matching the given ServerConfiguration token from the device. - - - This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. @@ -919,15 +863,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - @@ -937,15 +872,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - - - - From 7b12fba5b3cefd780fd5b31e01d453d6e53216dd Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Thu, 20 Aug 2026 14:00:28 -0400 Subject: [PATCH 18/26] Update documentation in both wsdl and xml file for SIP --- doc/Sip.xml | 422 +++++++++++++++++++++++++++++------ wsdl/ver10/sip/wsdl/sip.wsdl | 66 +++--- 2 files changed, 395 insertions(+), 93 deletions(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index 919fc8a4b..3e7ba29d7 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -161,10 +161,18 @@ - MaximumRecipients + MaximumServerConfigurations - Indicates the maximum number of call recipients supported. Also defines the maximum value for the Order field of a call recipient. + Indicates the maximum number of server configurations supported. + + + + + MaximumRegistrars + + + Indicates the maximum number of SIP registrars supported per server configuration. @@ -172,7 +180,7 @@ MaximumStunServers - Indicates the maximum number of STUN server URIs supported. + Indicates the maximum number of STUN server URIs supported per server configuration. @@ -180,15 +188,15 @@ MaximumTurnServers - Indicates the maximum number of TURN servers supported. + Indicates the maximum number of TURN servers supported per server configuration. - MaximumRegistrars + CallButtons - Indicates the maximum number of SIP registrars supported. + Indicates if the device supports call buttons. @@ -197,12 +205,12 @@
SIP Server Configuration - A device indicating SIP capabilities shall support the GetServerConfiguration and SetServerConfiguration commands. Only one SIP server configuration is supported per device. The maximum number of registrars is indicated by the MaximumRegistrars SIP capability. - The SIP server configuration consists of the following fields: + A device indicating SIP capabilities shall support the CreateServerConfiguration, DeleteServerConfiguration, GetServerConfigurations and SetServerConfiguration commands. The maximum number of server configurations supported is indicated by the MaximumServerConfigurations SIP capability. The maximum number of registrars per server configuration is indicated by the MaximumRegistrars SIP capability. + A server configuration consists of the following fields: Registrar - One or more SIP registrar entries. Each entry contains a Uri and a Transport field. The Uri shall be an absolute URI without scheme, such as: my.domain:port/p/a/t/h?query. The Transport field specifies the transport protocol to use for the registrar and shall be one of: UDP, TCP, or TLS. + One or more SIP registrar entries. Each entry contains a Uri and a Transport field. The Transport field specifies the transport protocol to use for the registrar and shall be one of: UDP, TCP, or TLS. UserId @@ -214,30 +222,111 @@ Authentication - Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer shall be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the SIP server. + Authentication configuration. Either Credential (UserName and Password) or AuthorizationServer may be provided. Credential contains the username and password used to authenticate with the SIP server. AuthorizationServer is a reference token referring to the server that provides access tokens to authorize with the renewal endpoint as defined in the Security specification. + + + Name + Optional name of the server configuration. -
- GetServerConfiguration - This operation gets the SIP server configuration of the device. The device shall not return the password in the response. +
+ CreateServerConfiguration + This operation creates a new SIP server configuration on the device. + + + request + + ServerConfiguration [tsip:ServerConfiguration] + The new server configuration to be added on the device. + + + + response + + Token [tt:ReferenceToken] + Token of the created server configuration. + + + + faults + + env:Receiver - ter:OperationProhibited - ter:MaximumServerConfigurations + The device cannot create a new server configuration because it already has the maximum number of server configurations that it supports. + env:Receiver - ter:OperationProhibited - ter:MaximumRegistrars + The number of registrars exceeds the maximum number supported by the device. + env:Sender - ter:InvalidArgVal - ter:InvalidRegistrar + The URI set in a registrar is not valid. + env:Sender - ter:InvalidArgVal - ter:AuthorizationServer + No AuthorizationServer exists for the specified token. + env:Sender - ter:OperationProhibited - ter:ConfigurationConflict + Cannot have both AuthorizationServer and Credential configured at the same time. Only one may be provided. + env:Sender - ter:InvalidArgVal - ter:CertPathValidationPolicyID + No certification path validation policy exists under the requested CertPathValidationPolicyID. + + + + access class + + WRITE_SYSTEM + + + +
+
+ DeleteServerConfiguration + This operation deletes an existing SIP server configuration from the device. Deleting a server configuration removes all other configuration types that reference this configuration. request + + Token [tt:ReferenceToken] + Token of the server configuration to delete. + + + + response This is an empty message. + + faults + + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The Token does not reference an existing server configuration. + + + + access class + + WRITE_SYSTEM + + + +
+
+ GetServerConfigurations + This operation gets the SIP server configuration(s) of the device. The device shall support this command. The device shall not return the password in the response. + + + request + + Token - optional [tt:ReferenceToken] + Optional token of the requested server configuration. If omitted, all server configurations are returned. + + response - ServerConfiguration - optional [tsip:ServerConfiguration] - The current SIP server configuration of the device. Absent if no SIP server configuration has been set. + Configuration - unbounded [tsip:ServerConfigurationTokenPair] + The SIP server configuration(s) of the device, each paired with its Token. faults - No command specific faults defined. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The Token does not reference an existing server configuration. @@ -250,13 +339,15 @@
SetServerConfiguration - This operation sets the SIP server configuration of the device. Only one SIP server configuration is supported. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. If the configuration is absent, the device shall remove the existing SIP server configuration. + This operation sets the SIP server configuration of the device. The device shall support this command. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. request - ServerConfiguration - optional [tsip:ServerConfiguration] - The SIP server configuration to set on the device. If absent, the device shall remove the existing SIP server configuration. + Token [tt:ReferenceToken] + Token of the server configuration. + ServerConfiguration [tsip:ServerConfiguration] + The SIP server configuration to update on the device. @@ -268,14 +359,12 @@ faults + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The Token does not reference an existing server configuration. env:Receiver - ter:OperationProhibited - ter:MaximumRegistrars The number of registrars exceeds the maximum number supported by the device. - env:Sender - ter:InvalidArgs - ter:MissingRegistrar - No registrar URI has been specified. env:Sender - ter:InvalidArgVal - ter:InvalidRegistrar - The URI set in the registrar is not valid. - env:Sender - ter:InvalidArgs - ter:MissingAuthentication - Both AuthorizationServer and Credential are missing. One must be provided. + The URI set in a registrar is not valid. env:Sender - ter:InvalidArgVal - ter:AuthorizationServer No AuthorizationServer exists for the specified token. env:Sender - ter:OperationProhibited - ter:ConfigurationConflict @@ -295,42 +384,48 @@
NAT Configuration - A device indicating MaximumStunServers > 0 or MaximumTurnServers > 0 in the SIP capabilities shall support the GetNatConfiguration and - SetNatConfiguration commands. Only one NAT configuration is supported per device. The maximum number of STUN server URIs is indicated by the - MaximumStunServers SIP capability and the maximum number of TURN servers is indicated by the MaximumTurnServers SIP capability. URIs provided - in this context shall be an absolute URI without scheme, such as: stun.domain:port or turn.domain:port + A device indicating MaximumStunServers > 0 or MaximumTurnServers > 0 in the SIP capabilities shall support the GetNatConfigurations and + SetNatConfiguration commands. Only one NAT configuration is supported per server configuration. The maximum number of STUN server URIs is indicated by the + MaximumStunServers SIP capability and the maximum number of TURN servers is indicated by the MaximumTurnServers SIP capability. The NAT configuration consists of the following fields: + + ServerConfiguration + Token of the server configuration that this NAT configuration applies to. + Stun Optional. Contains one or more STUN server URIs used for NAT traversal. Turn - Optional, unbounded. Each entry contains one or more TURN server URIs and optional credentials (Username and Password) used to authenticate with the TURN server. The device shall not return the password in the response. + Optional, unbounded. Each entry contains one or more TURN server URIs and optional credentials (UserName and Password) used to authenticate with the TURN server. The device shall not return the password in the response. -
- GetNatConfiguration - This operation gets the NAT configuration of the device. The device shall not return TURN server passwords in the response. +
+ GetNatConfigurations + This operation gets the NAT configurations of the device. There shall be 1 configuration per ServerConfiguration token. The + device shall not return TURN server passwords in the response. request - This is an empty message. + ServerConfiguration - optional [tt:ReferenceToken] + Optional token to filter configurations based on server configuration token. response - NatConfiguration - optional [tsip:NatConfiguration] - The current NAT configuration of the device. Absent if no NAT configuration has been set. + NatConfiguration - unbounded [tsip:NatConfiguration] + The NAT configurations of the device. Maximum 1 per ServerConfiguration token. faults - No command specific faults defined. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. @@ -343,13 +438,15 @@
SetNatConfiguration - This operation sets the NAT configuration of the device. Only one NAT configuration is supported. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. If the configuration is absent, the device shall remove the existing NAT configuration. + This operation updates a NAT configuration of the device based on the ServerConfiguration token. + The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. + The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. request - NatConfiguration - optional [tsip:NatConfiguration] - The NAT configuration to set on the device. If absent, the device shall remove the existing NAT configuration. + NatConfiguration [tsip:NatConfiguration] + The NAT configuration to set. @@ -361,6 +458,8 @@ faults + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. env:Receiver - ter:OperationProhibited - ter:MaximumStunServers The number of STUN server URIs exceeds the maximum number supported by the device. env:Receiver - ter:OperationProhibited - ter:MaximumTurnServers @@ -378,29 +477,46 @@
Call Configuration - A device indicating SIP capabilities shall support the GetCallConfiguration and SetCallConfiguration commands. The maximum number of call recipients is indicated by the MaximumRecipients SIP capability. Only one call configuration is supported per device. - Each recipient has an Order field that determines in which order the contact is displayed or assigned to physical buttons. The Order value shall start at 1 and shall not exceed the value of the MaximumRecipients capability. -
- GetCallConfiguration - This operation gets the call configuration of the device. + A device indicating SIP capabilities shall support the GetCallConfigurations and SetCallConfiguration commands. + Shall contain 1 call configuration per ServerConfiguration. + A call configuration consists of the following fields: + + + ServerConfiguration + Token of the server configuration that this call configuration applies to. + + + AllowIncomingCalls + Indicates whether the device shall allow incoming calls. + + + AutoAnswer + Indicates whether the device shall automatically answer incoming calls. + + +
+ GetCallConfigurations + This operation gets the call configurations of the device. request - This is an empty message. + ServerConfiguration - optional [tt:ReferenceToken] + The matching ServerConfiguration token for the call configuration. response - CallConfiguration [tsip:CallConfiguration] - The current call configuration of the device. + CallConfiguration - unbounded [tsip:CallConfiguration] + One or all call configurations of the device. faults - No command specific faults defined. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. @@ -413,13 +529,13 @@
SetCallConfiguration - This operation sets the call configuration of the device. The number of recipients shall not exceed the value indicated by the MaximumRecipients SIP capability. The Order field of each recipient shall be between 1 and the MaximumRecipients capability value, inclusive. + This operation sets the call configuration of the device. request CallConfiguration [tsip:CallConfiguration] - The call configuration to set on the device. Only one call configuration is supported. + The call configuration to set on the device. @@ -431,8 +547,8 @@ faults - env:Receiver - ter:OperationProhibited - ter:MaximumRecipients - The number of recipients exceeds the maximum number of call recipients supported by the device. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. @@ -444,6 +560,146 @@
+
+ Call Buttons + A device indicating the CallButtons SIP capability shall support the GetCallButtons, SetCallButtons and GetCallButtonOptions commands. + Shall contain 1 button configuration per ServerConfiguration. + A call button consists of the following fields: + + + ButtonId + The button's reference token. + + + Name + Display name of the call recipient. + + + UserId + The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + + + Enabled + Optional attribute indicating whether this button is enabled or not. Defaults to true. + + +
+ GetCallButtons + + This operation gets the call button configurations of the device. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + request + + ServerConfiguration - optional [tt:ReferenceToken] + The matching ServerConfiguration token for the button configuration. + + + + response + + ButtonConfiguration - unbounded [tsip:ButtonConfiguration] + A button configuration of the device. + + + + faults + + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. + env:Receiver - ter:ActionNotSupported - ter:NotImplemented + This optional method is not implemented. + + + + access class + + READ_SYSTEM + + + +
+
+ SetCallButtons + + This operation sets the call button configuration of the device. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + request + + ButtonConfiguration [tsip:ButtonConfiguration] + The button configuration to set on the device. + + + + response + + This is an empty message. + + + + faults + + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. + env:Sender - ter:InvalidArgVal - ter:InvalidButtonId + The ButtonId does not reference a supported physical, relay or virtual button. + env:Receiver - ter:ActionNotSupported - ter:NotImplemented + This optional method is not implemented. + + + + access class + + WRITE_SYSTEM + + + +
+
+ GetCallButtonOptions + + This operation gets the list of supported physical, relay and virtual call button identifiers of the device. + This method is optional. It shall be available if the CallButtons capability is TRUE. + + + + request + + This is an empty message. + + + + response + + Physical - unbounded [tsip:ButtonDescription] + List of physical button ids. + Relay - unbounded [tsip:ButtonDescription] + List of relay button ids. + Virtual - unbounded [tsip:ButtonDescription] + List of virtual button ids. Example for a touchscreen interface. + + + + faults + + env:Receiver - ter:ActionNotSupported - ter:NotImplemented + This optional method is not implemented. + + + + access class + + READ_SYSTEM + + + +
+
SIP Streaming Configuration @@ -451,8 +707,8 @@ It allows a client to update the provided configurations used when the device participates in a SIP call. - Only a single SIP streaming configuration is supported per device. If the device has a SIP server configuration, - the SIP streaming configuration determines the media parameters applied during incoming or outgoing SIP sessions. + Shall support a streaming configuration per ServerConfiguration. + The SIP streaming configuration determines the media parameters applied during incoming or outgoing SIP sessions. A configuration shall be provided per configuration type that the device supports for SIP streaming. For example, if the device supports both video and audio streaming over SIP, the SIP streaming configuration shall include a video source configuration, a video encoder configuration, an audio source configuration and an audio encoder @@ -460,31 +716,64 @@ only include the audio output configuration and audio decoder configuration. - Note: The configuration listed as part of the SIP streaming configuration are not expected to be used by the device - for non-SIP streaming sessions. This means that the configurations needs not to be returned in GetXConfigurations, + Note: The configurations listed as part of the SIP streaming configuration are not expected to be used by the device + for non-SIP streaming sessions. This means that the configurations need not be returned in GetXConfigurations, nor to be configured through SetXConfiguration. -
- GetStreamingConfiguration - This operation retrieves the current SIP streaming configuration of the device. + The SIP streaming configuration consists of the following fields: + + + ServerConfiguration + The ServerConfiguration token for the streaming configuration to be modified. + + + VideoSource + Optional. Video source configuration used for the SIP session. + + + VideoEncoder + Optional. Video encoder configuration used for the SIP session. + + + AudioSource + Optional. Audio source configuration used for the SIP session. + + + AudioEncoder + Optional. Audio encoder configuration used for the SIP session. + + + AudioOutput + Optional. Audio output configuration used for the SIP session. + + + AudioDecoder + Optional. Audio decoder configuration used for the SIP session. + + +
+ GetStreamingConfigurations + This operation gets the SIP streaming configurations of the device. request - This is an empty message. + ServerConfiguration - optional [tt:ReferenceToken] + The matching ServerConfiguration token for the streaming configuration. response - StreamingConfiguration [tsip:StreamingConfiguration] - The current SIP streaming configuration of the device. + StreamingConfiguration - unbounded [tsip:StreamingConfiguration] + The current SIP streaming configuration(s) of the device. faults - No command specific faults defined. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. @@ -503,7 +792,7 @@ request StreamingConfiguration [tsip:StreamingConfiguration] - The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + The SIP streaming configuration to set on the device. @@ -515,7 +804,8 @@ faults - No command specific faults defined. + env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken + The ServerConfiguration token does not reference an existing server configuration. @@ -528,7 +818,7 @@
GetStreamingConfigurationOptions - This operation retrieves the supported options for the SIP streaming configuration of the device. + This operation gets the supported options for SIP streaming configuration of the device. request diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 82f201b96..f37dc3c5f 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -79,7 +79,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + + + URI of the SIP registrar, e.g. "domain.com:port". + + Transport protocol to use for the registrar. Valid values are defined in tsip:TransportType. @@ -98,7 +102,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + + + List of SIP registrars to register with, in order of preference. + + The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. @@ -113,7 +121,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + + + Username and password used to authenticate with the registrar. + + AuthorizationServer token referring to the server that provides access tokens to authorize with the @@ -193,7 +205,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - The SIP server configuration to update on the device. + The SIP server configuration of the device. @@ -304,7 +316,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + The NAT configuration to set. @@ -477,7 +489,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + A button configuration of the device. @@ -491,7 +503,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - The button configuration to set on the device. Shall have 1 configuration per ServerConfiguration. + The button configuration to set on the device. @@ -508,37 +520,37 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - The ServerConfiguration token for the button configuration to be modified. + The ServerConfiguration token for the streaming configuration to be modified. - + Video source configuration used for the SIP session. - + Video encoder configuration used for the SIP session. - + Audio source configuration used for the SIP session. - + Audio encoder configuration used for the SIP session. - + Audio output configuration used for the SIP session. - + Audio decoder configuration used for the SIP session. @@ -548,32 +560,32 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + Supported options for the video source configuration. - + Supported options for the video encoder configuration. - + Supported options for the audio source configuration. - + Supported options for the audio encoder configuration. - + Supported options for the audio output configuration. - + Supported options for the audio decoder configuration. @@ -608,7 +620,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - The SIP streaming configuration to set on the device. Only one SIP streaming configuration is supported. + The SIP streaming configuration to set on the device. @@ -747,27 +759,27 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - This operation gets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. + This operation gets the SIP server configuration(s) of the device. The device shall support this command. The device shall not return the password in the response. - This operation sets the SIP server configuration of the device. The device shall support this command. Only one SIP server configuration is supported. If the configuration is absent, the device shall remove the existing SIP server configuration. + This operation sets the SIP server configuration of the device. The device shall support this command. The number of registrars shall not exceed the value indicated by the MaximumRegistrars SIP capability. - This operation gets the NAT configurations of the device. Shall support a maximum of 1 configuration per ServerConfiguration token. + This operation gets the NAT configurations of the device. There shall be 1 configuration per ServerConfiguration token. The device shall not return TURN server passwords in the response. - This operation sets the NAT configuration of the device. Only one NAT configuration is supported. If the configuration is absent, the device shall remove the existing NAT configuration. + This operation updates a NAT configuration of the device based on the ServerConfiguration token. The number of STUN server URIs shall not exceed the value indicated by the MaximumStunServers SIP capability. The number of TURN servers shall not exceed the value indicated by the MaximumTurnServers SIP capability. - This operation gets the call configurations of the device. Shall contain 1 configuration per ServerConfiguration. + This operation gets the call configurations of the device. @@ -778,7 +790,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - This operation gets the call button configurations of the device. Shall contain 1 configuration per ServerConfiguration. + This operation gets the call button configurations of the device. This method is optional. It shall be available if the CallButtons capability is TRUE. From e5a0a4cd8f287f81f70bed7cdce7ec05e13d5613 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Thu, 20 Aug 2026 14:32:36 -0400 Subject: [PATCH 19/26] Add any element for sip capabilities --- wsdl/ver10/sip/wsdl/sip.wsdl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index f37dc3c5f..a29a00122 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -15,6 +15,9 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + Indicates the maximum number of server configurations supported. From 66fc58b8b5b51e91d4757b401ca82f5606e9bdb6 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Thu, 20 Aug 2026 14:46:53 -0400 Subject: [PATCH 20/26] Fix GetCallConfigurationsResponse occurrence count --- wsdl/ver10/sip/wsdl/sip.wsdl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index a29a00122..239d9a57f 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -369,7 +369,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + One or all call configurations of the device. From 5c9bd054342cc469dbc8d6401578ba4b628301fb Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Fri, 4 Sep 2026 13:21:07 -0400 Subject: [PATCH 21/26] Add missing any elements and attributes --- wsdl/ver10/sip/wsdl/sip.wsdl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 239d9a57f..7457e18ed 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -145,6 +145,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + @@ -219,7 +220,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - A SIP server configuration of the device. + SIP server configuration of the device. @@ -290,6 +291,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + @@ -353,6 +355,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + @@ -408,7 +411,9 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO A button's description. + + @@ -427,7 +432,9 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO List of virtual button ids. Example for a touchscreen interface. + + @@ -454,12 +461,14 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar. + Boolean flag indicating whether this button is enabled or not. + @@ -476,6 +485,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + From 4532e0fecad726387dc0d74bcb3b7257ea062b3e Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 15 Sep 2026 16:17:02 -0400 Subject: [PATCH 22/26] Use ButtonId instead of Token in ButtonDescription --- wsdl/ver10/sip/wsdl/sip.wsdl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 7457e18ed..808b05b61 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -401,9 +401,9 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - + - A button's id. + A button id as a reference token. From c7b52b94b2ebe36bdcfdd9250ec3957153008404 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 15 Sep 2026 16:17:33 -0400 Subject: [PATCH 23/26] Add IceCandidate support --- wsdl/ver10/sip/wsdl/sip.wsdl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 808b05b61..1d112a551 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -43,6 +43,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO Indicates if the device supports call buttons. + + + Indicates if the device supports ICE candidates within SDP offers. + + @@ -291,6 +296,12 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO + + + Boolean flag indicating whether the device shall include ICE candidates in the SDP offer. Requires + IceCandidates capability to be set to true. + + From 413b1dcb5517289694cb7ce8468d6ead933ce3e5 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 15 Sep 2026 16:25:20 -0400 Subject: [PATCH 24/26] Remove TokenPair object to instead extend ConfigurationEntity for ServerConfiguration --- wsdl/ver10/sip/wsdl/sip.wsdl | 111 +++++++++++++++-------------------- 1 file changed, 46 insertions(+), 65 deletions(-) diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 1d112a551..21f896cc9 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -109,48 +109,47 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - List of SIP registrars to register with, in order of preference. - - - - - The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. - - - - - The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. - If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. - - - - - - - - Username and password used to authenticate with the registrar. - - - - - AuthorizationServer token referring to the server that provides access tokens to authorize with the - renewal endpoint as defined in the Security specification. - - - - - - - - Optional name of the server configuration. - - - - - + + + + + + List of SIP registrars to register with, in order of preference. + + + + + The user info/extension of the Address of Record (AoR) in SIP, identifying the user on the registrar. + + + + + The unique identifier of the certification path validation policy to be used for validating the server certificate as declared in the security service. + If not configured, server certificate validation behavior is undefined and the device may either apply a vendor specific default validation policy or skip validation at all. + + + + + + + + Username and password used to authenticate with the registrar. + + + + + AuthorizationServer token referring to the server that provides access tokens to authorize with the + renewal endpoint as defined in the Security specification. + + + + + + + + + + @@ -158,7 +157,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - The new server configuration to be added on the device. + The new server configuration to be added on the device. "token" attribute value is ignored during + this operation. @@ -204,26 +204,11 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - - - - Token of the server configuration. - - - - - The SIP server configuration of the device. - - - - - + SIP server configuration of the device. @@ -235,11 +220,6 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - - - Token of the server configuration. - - The SIP server configuration to update on the device. @@ -772,7 +752,8 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - This operation creates a new SIP server configuration on the device. + This operation creates a new SIP server configuration on the device. "token" attribute value is ignored during + this operation. From 3d89d79ce15b2973ce18f62f500e19f14895dc5f Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 15 Sep 2026 16:33:20 -0400 Subject: [PATCH 25/26] Clarified behavior multiple button ids being used across configurations --- doc/Sip.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index 3e7ba29d7..de1d61070 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -626,6 +626,10 @@ This operation sets the call button configuration of the device. This method is optional. It shall be available if the CallButtons capability is TRUE. + The device may allow the same button ID to be referenced by multiple server configurations at the same time. + In such scenarios, behavior of how user IDs are called is up to the device implementation. + For example, does the device call user IDs all at once or sequentially. + If the device does not allow the same button ID to be referenced by multiple server configurations, it shall return a ConfigurationConflict fault. @@ -647,7 +651,9 @@ env:Sender - ter:InvalidArgVal - ter:InvalidServerConfigurationToken The ServerConfiguration token does not reference an existing server configuration. env:Sender - ter:InvalidArgVal - ter:InvalidButtonId - The ButtonId does not reference a supported physical, relay or virtual button. + The ButtonId does not reference a supported physical, digital input or virtual button. + env:Sender - ter:OperationProhibited - ter:ConfigurationConflict + One or more button IDs are already used by another server configuration. env:Receiver - ter:ActionNotSupported - ter:NotImplemented This optional method is not implemented. From eed52ad2d3e7b3508bfdc04053d726a58095ad62 Mon Sep 17 00:00:00 2001 From: Jean-Francois Levesque Date: Tue, 15 Sep 2026 16:34:28 -0400 Subject: [PATCH 26/26] Rename relay to digital input --- doc/Sip.xml | 6 +++--- wsdl/ver10/sip/wsdl/sip.wsdl | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/Sip.xml b/doc/Sip.xml index de1d61070..45fe1733f 100644 --- a/doc/Sip.xml +++ b/doc/Sip.xml @@ -669,7 +669,7 @@
GetCallButtonOptions - This operation gets the list of supported physical, relay and virtual call button identifiers of the device. + This operation gets the list of supported physical, digital inputs and virtual call button identifiers of the device. This method is optional. It shall be available if the CallButtons capability is TRUE. @@ -684,8 +684,8 @@ Physical - unbounded [tsip:ButtonDescription] List of physical button ids. - Relay - unbounded [tsip:ButtonDescription] - List of relay button ids. + DigitalInput - unbounded [tsip:ButtonDescription] + List of digital input button ids. Virtual - unbounded [tsip:ButtonDescription] List of virtual button ids. Example for a touchscreen interface. diff --git a/wsdl/ver10/sip/wsdl/sip.wsdl b/wsdl/ver10/sip/wsdl/sip.wsdl index 21f896cc9..f7efff2ee 100644 --- a/wsdl/ver10/sip/wsdl/sip.wsdl +++ b/wsdl/ver10/sip/wsdl/sip.wsdl @@ -413,9 +413,9 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO List of physical button ids. - + - List of relay button ids. + List of digital input button ids. @@ -811,7 +811,7 @@ IN NO EVENT WILL THE CORPORATION OR ITS MEMBERS OR THEIR AFFILIATES BE LIABLE FO - This operation gets the list of supported physical, relay and virtual call button identifiers of the device. + This operation gets the list of supported physical, digital input and virtual call button identifiers of the device. This method is optional. It shall be available if the CallButtons capability is TRUE.