Skip to main content

SIP-I Trunking

This document describes the SIP-I (SIP with encapsulated ISUP) trunking interface implemented by OmniMSC. SIP-I enables transparent transport of ISUP messages within SIP signaling, preserving full ISUP information across IP-based trunk segments.

For pure SIP trunking, see SIP Trunking. For routing configuration, see Routing Configuration. For configuration parameters, see Configuration Reference. For general operations, see Operations Guide.


What Is SIP-I?

SIP-I (Session Initiation Protocol with encapsulated ISUP) is defined by ITU-T Q.1912.5 and uses the SIP protocol as a transport mechanism for ISUP messages. Unlike pure SIP trunking, which maps ISUP parameters to SIP headers (potentially losing information), SIP-I includes the complete ISUP message as a MIME body alongside the SDP, ensuring lossless interworking.

SIP-I is the standard trunking protocol used between MSC servers and media gateways in 3GPP IMS-based core networks and is widely deployed for PSTN interconnection.

The ISUP body is carried per RFC 3204 (MIME media type for ISUP) and RFC 3261 (SIP).


Protocol Comparison

AspectPure ISUPPure SIPSIP-I
TransportMTP3/M3UA/SCTPUDP/TCP/TLSUDP/TCP/TLS
Signaling infoFull ISUPMapped to SIP headersFull ISUP preserved
Media descriptionBearer capability in IAMSDPSDP + ISUP bearer cap
Information lossNonePossible (parameter mapping)None
Codec negotiationTMR in IAMSDP Offer/AnswerSDP Offer/Answer
Use caseLegacy PSTNVoIP interconnectMSC-MSC, PSTN gateway

Multipart Body Format

SIP-I messages use a multipart/mixed MIME body containing two parts: the SDP offer/answer and the ISUP message encoded per RFC 3204.

Content-Type: multipart/mixed;boundary=boundary42

--boundary42
Content-Type: application/sdp

v=0
o=OmniMSC 12345 12345 IN IP4 203.0.113.10
s=OmniMSC
c=IN IP4 203.0.113.10
t=0 0
m=audio 10042 RTP/AVP 0 8
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000

--boundary42
Content-Type: application/ISUP;version=itu-t92+

<binary ISUP IAM>
--boundary42--

The application/ISUP content type is defined in RFC 3204. The version parameter identifies the ISUP variant (e.g., itu-t92+ for ITU-T Q.767).


SIP-I Peer Configuration

SIP-I peers are configured under the :sip_i key, separately from pure SIP peers.

config :omnimsc, :sip_i,
peers: [
[name: "MSC-02-SIP-I",
address: "10.2.1.100",
port: 5060,
transport: :tcp,
isup_variant: :itu_t92,
codecs: [:pcmu, :pcma, :amr],
max_channels: 500,
options_interval: 15]
]

SIP-I Peer Parameters

ParameterTypeDefaultDescription
namestring-- (required)Logical peer name. Referenced in route table entries with type :sip_i.
addressstring-- (required)Peer IP address or hostname.
portinteger5060Peer SIP port.
transportatom:tcpTransport protocol: :udp, :tcp, or :tls. TCP is recommended for SIP-I due to larger message sizes.
isup_variantatom:itu_t92ISUP encoding variant: :itu_t92 (ITU-T Q.767), :ansi (ANSI T1.113), :etsi (ETSI EN 300 356).
codecslist(atom)[:pcmu, :pcma]Supported audio codecs for the SDP portion.
max_channelsinteger500Maximum concurrent calls to this peer.
options_intervalinteger or nilnilInterval in seconds for SIP OPTIONS keepalive probes.

Outgoing Call (SIP-I)

When OmniMSC routes a call to a SIP-I peer, it constructs the SIP INVITE with a multipart body containing both SDP and the ISUP IAM.


Incoming Call (SIP-I)

When an INVITE arrives from a SIP-I peer with a multipart body, OmniMSC extracts the ISUP message and uses it to populate the CC FSM parameters.


ISUP-SIP Header Mapping

When interworking between the ISUP body and SIP headers, OmniMSC applies the following mapping. The ISUP body is authoritative; SIP headers are populated for the benefit of SIP-only intermediaries.

ISUP Parameter (IAM)SIP HeaderNotes
Called Party NumberRequest-URI, ToE.164 format in tel: URI
Calling Party NumberFrom, P-Asserted-IdentityPresentation indicator controls Privacy header
Nature of Connection IndicatorsViaSatellite hop indicator
Forward Call Indicators--Encoded in ISUP body only
Calling Party CategoryP-Asserted-IdentityOperator/priority category
Transmission Medium RequirementSDP m= lineSpeech, 3.1kHz audio, 64k unrestricted
User Service InformationSDP codec linesCodec and rate mapping
Optional Forward Call IndicatorsSupportedISDN access indicator
ISUP Parameter (ACM/ANM)SIP ResponseNotes
Backward Call Indicators183/200Charge indicator, interworking flag
Cause Indicators (REL)Reason headerQ.850 cause per RFC 3326
Optional Backward Call Indicators--Encoded in ISUP body only

Cause Code Mapping Reference

SIP-I preserves the full ISUP cause code in the ISUP body. Additionally, the SIP Reason header carries the Q.850 cause for intermediary nodes. See SIP Trunking - SIP-ISUP Cause Code Mapping for the complete mapping table.

For call clearing, the ISUP REL message in the BYE body takes precedence over the SIP Reason header if both are present.


3GPP and ITU-T References

ReferenceTitleRelevance
ITU-T Q.1912.5Interworking between SIP and Bearer Independent Call Control (BICC) or ISUPSIP-I protocol definition
RFC 3204MIME Media Type for ISUP and QSIG Objectsapplication/ISUP content type
RFC 3261SIP: Session Initiation ProtocolSIP transport
RFC 3264Offer/Answer Model with SDPSDP negotiation within SIP-I
RFC 3326Reason Header FieldCause code in SIP responses
ITU-T Q.767Application of the ISUPISUP message encoding
ITU-T Q.850Usage of Cause in ISDNCause code definitions
3GPP TS 29.163Interworking between SIP-I based circuit-switched core and other networks3GPP SIP-I profile