SIP
(→TelcoBridges and SIP) |
(Added TLS RFCs) |
||
(55 intermediate revisions by 9 users not shown) | |||
Line 1: | Line 1: | ||
− | + | Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with H.323 to provide signaling for voice over IP (VoIP) communications. | |
− | + | ||
− | + | ||
== TelcoBridges and SIP == | == TelcoBridges and SIP == | ||
+ | |||
+ | [[Toolpack]] provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various [[Voice_codecs|voice codecs]] for the media component of a call. TelcoBridges [[Tmedia]] media gateways and [[Tdev]] development platforms support SIP signaling concurrently with [[SS7]], [[ISDN]] and other [[Signaling_protocols|signaling protocols]]. | ||
SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling. | SIP signaling stacks are configured for IP applications and for each [[Tmedia]] or [[Tdev]] unit requiring SIP signaling. | ||
− | Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (TCP | + | Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (UDP, TCP or TLS), port number and IP interface. |
A conceptual illustration is provided below: | A conceptual illustration is provided below: | ||
− | [[Image:SIP stack conceptual illustration. | + | [[Image:SIP stack conceptual illustration.png|600px| ]]<br> |
− | == | + | While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as [[IVR]] or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a [[SIP gateway]], or a [[FreeSBC|SBC]]. |
− | + | ||
+ | |||
+ | === TelcoBridges' SIP Implementation === | ||
+ | TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and [[TUCL]]. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface. | ||
+ | |||
+ | |||
+ | [[Image:TB-SIP-Architecture.jpg|400px| ]] | ||
+ | |||
+ | |||
+ | === Supported SIP RFCs === | ||
+ | |||
+ | TelcoBridges supports the following RFCs for SIP: | ||
+ | |||
+ | {| border="1" | ||
+ | |- | ||
+ | ! Specification | ||
+ | ! TMedia SIP stack support | ||
+ | ! Toolpack API Support | ||
+ | ! Media Gateway Application Support | ||
+ | |- | ||
+ | | RFC 2327 Session Description Protocol | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 2976 SIP INFO Method | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Partial: For DTMF Tones exchange only | ||
+ | |- | ||
+ | | RFC 3204 MIME media types for ISUP and QSIG Objects | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3261 Session Initiate Protocol | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Partial ('Indicating capabilities' not supported) | ||
+ | |- | ||
+ | | RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification | ||
+ | | align="center" | Yes | ||
+ | | align="center" | No | ||
+ | | align="center" | No | ||
+ | |- | ||
+ | | RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (Only For Session Timer Refresh) | ||
+ | | align="center" | Partial: For Session Timer Refresh and SDP reception following a SIP INVITE that had no body | ||
+ | |- | ||
+ | | RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial<sup>'''1'''<sup> | ||
+ | | align="center" | Partial<sup>'''1'''<sup> | ||
+ | |- | ||
+ | | RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (No P-Preferred-Identity) | ||
+ | | align="center" | Partial (No P-Preferred-Identity) | ||
+ | |- | ||
+ | | RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3372 Session Initiation Protocol for Telephones (SIP-T) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (no ISUP MIME bodies Encryption support) | ||
+ | | align="center" | Partial (no ISUP MIME bodies Encryption support) | ||
+ | |- | ||
+ | | RFC 3389 Real-time Transport Protocol (RTP) Payload for Comfort Noise (CN) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3398 ISUP-SIP Mapping | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3515 Refer Method | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3551 RTP Profile for Audio and Video Conferences with Minimal Control | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (For supported audio codecs, single channel) | ||
+ | | align="center" | Partial (For supported audio codecs, single channel) | ||
+ | |- | ||
+ | | RFC 3555 MIME Type Registration of RTP Payload Formats | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (For supported audio codecs) | ||
+ | | align="center" | Partial (For supported audio codecs) | ||
+ | |- | ||
+ | | RFC 3578 Overlap | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling) | ||
+ | | align="center" | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling) | ||
+ | |- | ||
+ | | RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial* | ||
+ | | align="center" | Partial* | ||
+ | |- | ||
+ | | RFC 3666 Public Switched Telephone Network (PSTN) Call Flows | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3891 "Replaces" Header | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 3892 Referred-By Mechanism | ||
+ | | align="center" | Yes | ||
+ | | align="center" | No | ||
+ | | align="center" | No | ||
+ | |- | ||
+ | | RFC 4028 Session Timers in the Session Initiation Protocol (SIP) | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 4694 Number Portability Parameters for the "tel" URI | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Partial (relay of rn and npdi SIP<->SS7) | ||
+ | |- | ||
+ | | RFC 4733 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Complete | ||
+ | | align="center" | Complete | ||
+ | |- | ||
+ | | RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2 | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | |- | ||
+ | | RFC 5630 - The Use of the SIPS URI Scheme in the Session Initiation Protocol | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | |- | ||
+ | | RFC 5806 Diversion Indication in SIP | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Yes | ||
+ | | align="center" | Unconditional forward scenario | ||
+ | |} | ||
+ | |||
+ | <br> | ||
+ | |||
+ | ['''1'''] For more information please contact [[Support:Contacting TelcoBridges technical support|customer support]]. | ||
+ | |||
+ | == Maximum Capacity == | ||
+ | {| cellpadding="5" border="1" class="wikitable" style="text-align: center" | ||
+ | |- | ||
+ | ! !!Release !! SIP SAP !! SIP Transport Server !! SIP NAP | ||
+ | |- | ||
+ | | rowspan="2" | TMG800 | ||
+ | | 2.2-2.5 || 4 || 10 || 256 | ||
+ | |- | ||
+ | | 2.6+ || 16 || 16 || 512 | ||
+ | |- | ||
+ | | rowspan="2" | TMG3200 | ||
+ | | 2.2-2.5 || 4 || 10 || 256 | ||
+ | |- | ||
+ | | 2.6+ || 16 || 16 || 512 | ||
+ | |- | ||
+ | | rowspan="2" | TMG7800 | ||
+ | | 2.2-2.5 || 64 <br/> (4/Tmedia) || 160<br/> (10/Tmedia) || 256 | ||
+ | |- | ||
+ | | 2.6+ || 256<br/> (16/Tmedia) || 256<br/> (16/Tmedia) || 512 | ||
+ | |} | ||
+ | |||
+ | == Configuration == | ||
+ | |||
+ | {| cellpadding="5" border="1" class="wikitable" | ||
+ | |- | ||
+ | ! width="200" style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;" | FreeSBC | ||
+ | ! width="200" style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: border; -moz-background-origin: padding; -moz-background-inline-policy: continuous;" | Tmedia/Tsig/Tdev | ||
+ | |- | ||
+ | | valign="top" | | ||
+ | *[[Toolpack:Tsbc_Protocol_Stack_Settings_3.0|v3.0: SIP Signaling]] | ||
+ | | valign="top" | | ||
+ | *[[Toolpack:Protocol_Stack_Settings_D#SIP|v3.0: SIP Signaling]] | ||
+ | *[[Toolpack:Protocol_Stack_Settings_C#SIP|v2.10: SIP Signaling]] | ||
+ | *[[Toolpack:Protocol_Stack_Settings_B#SIP|v2.9: SIP Signaling]] | ||
+ | *[[Toolpack:Protocol_Stack_Settings_A#SIP|v2.8: SIP Signaling]] | ||
+ | |} | ||
== References == | == References == | ||
− | [http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article] | + | *[http://en.wikipedia.org/wiki/Session_Initiation_Protocol Wikipedia article] |
+ | *[http://www.sipforum.org/ SIP Forum] | ||
+ | *[[media:Tb640 sip user's guide.pdf|TelcoBridges SIP User’s Guide]] | ||
+ | |||
+ | |||
+ | [[Category:Glossary]] | ||
+ | [[Category:Revise on Major]] |
Latest revision as of 09:28, 11 March 2019
Session Initiation Protocol, more commonly known as SIP, is a signaling protocol for packet-based networks and is commonly used, along with H.323 to provide signaling for voice over IP (VoIP) communications.
Contents |
TelcoBridges and SIP
Toolpack provides support for signaling using the Session Initiation Protocol, more commonly known as SIP, for voice over IP (VoIP) communications. SIP may be used in conjunction with various voice codecs for the media component of a call. TelcoBridges Tmedia media gateways and Tdev development platforms support SIP signaling concurrently with SS7, ISDN and other signaling protocols.
SIP signaling stacks are configured for IP applications and for each Tmedia or Tdev unit requiring SIP signaling.
Based upon your system requirements, you can configure a SIP stack to carry signaling traffic over multiple transport servers, which are IP endpoints comprised of: protocol type (UDP, TCP or TLS), port number and IP interface.
A conceptual illustration is provided below:
While TelcoBridges media gateways can perform multiple simultaneous functions such as switching and transcoding as well as deliver value-added services such as IVR or conferencing, they can also be configured to perform a single function. In this case, it is possible to configure TelcoBridges media gateway to act as a SIP gateway, or a SBC.
TelcoBridges' SIP Implementation
TelcoBridges' SIP implementation works on top of a couple of layers, including SIP and TUCL. In the following figure, grey boxes represent entities that need allocation on the TelcoBridges equipment. The TUCL layer is a transport layer used by SIP on our architecture. TUCL presents some advantages over a simple TCP/IP stack. For instance, it adds tracing facilities to any virtual interface.
Supported SIP RFCs
TelcoBridges supports the following RFCs for SIP:
Specification | TMedia SIP stack support | Toolpack API Support | Media Gateway Application Support |
---|---|---|---|
RFC 2327 Session Description Protocol | Yes | Complete | Complete |
RFC 2833 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals | Yes | Complete | Complete |
RFC 2976 SIP INFO Method | Yes | Complete | Partial: For DTMF Tones exchange only |
RFC 3204 MIME media types for ISUP and QSIG Objects | Yes | Complete | Complete |
RFC 3261 Session Initiate Protocol | Yes | Complete | Complete |
RFC 3262 Reliability of Provisional Responses in the Session Initiation Protocol (SIP) | Yes | Complete | Complete |
RFC 3263 Session Initiation Protocol (SIP): Locating SIP Servers | Yes | Complete | Complete |
RFC 3264 An Offer/Answer Model with the Session Description Protocol (SDP) | Yes | Complete | Partial ('Indicating capabilities' not supported) |
RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification | Yes | No | No |
RFC 3311 The Session Initiation Protocol (SIP) UPDATE Method | Yes | Partial (Only For Session Timer Refresh) | Partial: For Session Timer Refresh and SDP reception following a SIP INVITE that had no body |
RFC 3323 A Privacy Mechanism for the Session Initiation Protocol (SIP) | Yes | Partial1 | Partial1 |
RFC 3325 Private Extensions to the Session Initiation Protocol (SIP) for Asserted Identity within Trusted Networks | Yes | Partial (No P-Preferred-Identity) | Partial (No P-Preferred-Identity) |
RFC 3326 The Reason Header Field for the Session Initiation Protocol (SIP) | Yes | Complete | Complete |
RFC 3372 Session Initiation Protocol for Telephones (SIP-T) | Yes | Partial (no ISUP MIME bodies Encryption support) | Partial (no ISUP MIME bodies Encryption support) |
RFC 3389 Real-time Transport Protocol (RTP) Payload for Comfort Noise (CN) | Yes | Complete | Complete |
RFC 3398 ISUP-SIP Mapping | Yes | Complete | Complete |
RFC 3515 Refer Method | Yes | Complete | Complete |
RFC 3551 RTP Profile for Audio and Video Conferences with Minimal Control | Yes | Partial (For supported audio codecs, single channel) | Partial (For supported audio codecs, single channel) |
RFC 3555 MIME Type Registration of RTP Payload Formats | Yes | Partial (For supported audio codecs) | Partial (For supported audio codecs) |
RFC 3578 Overlap | Yes | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling) | Partial (Conversion of ISUP Overlap Signalling into SIP en-bloc Signalling) |
RFC 3581 An Extension to the Session Initiation Protocol (SIP) for Symmetric Response Routing | Yes | Complete | Complete |
RFC 3665 Session Initiation Protocol (SIP) Basic Call Flow Examples | Yes | Partial* | Partial* |
RFC 3666 Public Switched Telephone Network (PSTN) Call Flows | Yes | Complete | Complete |
RFC 3764 enumservice registration for Session Initiation Protocol (SIP) Addresses-of-Record | Yes | Complete | Complete |
RFC 3891 "Replaces" Header | Yes | Complete | Complete |
RFC 3892 Referred-By Mechanism | Yes | No | No |
RFC 4028 Session Timers in the Session Initiation Protocol (SIP) | Yes | Complete | Complete |
RFC 4694 Number Portability Parameters for the "tel" URI | Yes | Yes | Partial (relay of rn and npdi SIP<->SS7) |
RFC 4733 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals | Yes | Complete | Complete |
RFC 5246 - The Transport Layer Security (TLS) Protocol Version 1.2 | Yes | Yes | Yes |
RFC 5630 - The Use of the SIPS URI Scheme in the Session Initiation Protocol | Yes | Yes | Yes |
RFC 5806 Diversion Indication in SIP | Yes | Yes | Unconditional forward scenario |
[1] For more information please contact customer support.
Maximum Capacity
Release | SIP SAP | SIP Transport Server | SIP NAP | |
---|---|---|---|---|
TMG800 | 2.2-2.5 | 4 | 10 | 256 |
2.6+ | 16 | 16 | 512 | |
TMG3200 | 2.2-2.5 | 4 | 10 | 256 |
2.6+ | 16 | 16 | 512 | |
TMG7800 | 2.2-2.5 | 64 (4/Tmedia) |
160 (10/Tmedia) |
256 |
2.6+ | 256 (16/Tmedia) |
256 (16/Tmedia) |
512 |
Configuration
FreeSBC | Tmedia/Tsig/Tdev |
---|---|
References