Skip to content

Add support for SIP configuration - #782

Open
jflevesque-genetec wants to merge 27 commits into
developmentfrom
video/sip
Open

jflevesque-genetec wants to merge 27 commits into
developmentfrom
video/sip

Conversation

@jflevesque-genetec

Copy link
Copy Markdown
Contributor

New API specifications for configuring some settings related to SIP.

SipServerConfiguration: How a SIP device can connect to a SIP registrar
NatConfiguration: If a device needs STUN/TURN servers to reach a SIP registrar (for example in a cloud setup)
CallConfiguration: Settings related to establish a call, for example which recipient are you calling when pressing on a button on an intercom
StreamingConfiguration: Configuration to be used when streaming through a SIP call.

@jflevesque-genetec

jflevesque-genetec commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

Suggestion to move these new APIs into a SIP specification. Will be working on that shortly.
Update: Changes have been applied on the branch

Comment thread doc/Media2.xml
Comment thread wsdl/ver10/device/wsdl/devicemgmt.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
<xs:documentation>The user info/extension of the Address of Record (AoR) in SIP, identifying the recipient on the registrar.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element name="Order" minOccurs="1">

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest replacing this with a "CallTrigger" string,which should be one of the values returned from a new GetCallTriggers call or similar so there is a clear way to see if a call is triggered from what physical button or I/O, e.g: "Callbutton 1", "Callbutton 2", "External IO1", "External IO2", "TouchDisplay"
For calls triggered by a touch display, the value could be e.g "TouchDisplay" could be part of the supported CallTriggers.
And let the order in the array control the order of display based call triggers. Ok to have multiple recipients that share the same CallTrigger.

Comment thread wsdl/ver10/sip/wsdl/sip.wsdl

@johado johado left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like the idea in general. Hard to balance making it simple enough without make it to limited and hard to map to our current implementation.

Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
<!--===============================-->
<xs:complexType name="ServerConfiguration">
<xs:sequence>
<xs:element name="Registrar" type="xs:anyURI" minOccurs="1" maxOccurs="unbounded"/>

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the following configuration should be added as part of registrar configuration.

  1. Transport protocol [UDP, TCP, TLS, SIPS] ==> Mandatory field
  2. Outbound proxy server (I think is important for Multitenant SIP platforms, Service provider routing,Security and policy enforcement, NAT traversal) ==> Optional field.
  3. Is it important for the client to know the registration status of the SIP configuration? I think we can add it as event or part of the get configuration response, to notify the client on registered, failed to register state.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. We will propose something for this
  2. I don't mind adding this, what other than a URI would be needed for the proxy config?
  3. It is great idea to add this event. Do you already have a suggestion for which fields to include in the event?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Proposed something for the transport. Might be missing a bit of documentation though

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SIPS gives some more assuurance compared to TLS, so perhaps SIPS should be added as well.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain the difference between SIPS and TLS? My understanding was that TLS infers SIP over TLS. Isn't SIPS the exact same thing?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sips ensures end to end encryption, tls just ensures encryption between device and server. But its not really a transport, it is more of a policy thing.
Using sips:adress@domain instead of sip:adress@domain;transport=tls
Should fail if tls is not used all the way to destination.
Perhaps an EnforceSIPS boolean is better, but not sure if its needed or up to client to use sip: or sips: in uri?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some settings to control the encryption within the StreamingConfiguration, specifically the SecureStreamingProtocolAlgorithm fields within the encoders. I believe this should be sufficient to cover both sips/tls use cases right?

Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
@ocampana-videotec ocampana-videotec added this to the 27.06 milestone Jun 5, 2026
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Added transport for the SIP registrar
Misc changes based on discussions or comments made from F2F
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl

@johado johado left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some inconsistencies to function arguments, sometimes optional, sometimes not.

Comment thread doc/Sip.xml
Comment thread doc/Sip.xml
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl
Comment thread doc/Sip.xml Outdated
Comment thread doc/Sip.xml Outdated
Comment thread doc/Sip.xml Outdated
Comment thread wsdl/ver10/sip/wsdl/sip.wsdl

@johado johado left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the references to relay should probably be changed to digital input,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants