rfc-3398

Integrated Services Digital Network (ISDN) User Part (ISUP) to Session Initiation Protocol (SIP) Mapping

G. Camarillo, A. B. Roach, J. Peterson, L. Ong
date2002-12 streamIETF arearai wgsipping statusPROPOSED STANDARD pages68 canonicalhttps://www.rfc-editor.org/rfc/rfc3398 doi10.17487/RFC3398 errataview
This document describes a way to perform the mapping between two signaling protocols: the Session Initiation Protocol (SIP) and the ISDN User Part (ISUP) of SS7. This mechanism might be implemented when using SIP in an environment where part of the call involves interworking with the Public Switched Telephone Network (PSTN).

Extracted elements (28)

design-rationale §4

Overlap dialing via Subsequent Address Messages (SAM) is excluded from this specification's scope. Gateways facing ISUP networks that use overlap signaling must implement digit collection timers to ensure all digits are assembled before transmitting an en-bloc INVITE into the SIP network.

sip, voip

design-rationale §7.2.1.1

SIP header field values are required to overwrite encapsulated ISUP parameters during translation because SIP network services (call forwarding, redirection) may modify routing. This allows basic SIP services to take effect at the PSTN egress gateway rather than being silently overridden by stale encapsulated ISUP from the ingress.

sip, voip

design-rationale §2

The parameter mapping problem is largely confined to the IAM/INVITE exchange because once an INVITE has been sent, headers like To and From become essentially fixed, and subsequent signaling is routed via Via and Route headers. This justifies the document's focus on that boundary rather than full per-message mapping.

sip, voip

interoperability-note §7.2.4.1

ISDN cause code 44 ('Request circuit or channel not available') is untranslatable to a SIP status code because it is an internal CIC-level signal; the originating gateway should re-send the IAM for a different CIC rather than propagating any SIP error. Mapping it to a SIP code would be inappropriate.

sip, voip

interoperability-note §7.1.2

The auto-answer call setup flow using the CON (Connect Message) is not supported in ANSI ISUP networks; in ANSI networks, an ANM (without prior ACM) would be sent instead of a CON. Gateways implementing this flow must account for the ANSI variant.

voip, realtime

interoperability-note §7.2.1.1

When the 'interworking encountered' bit is set in the FCI of the IAM, ISUP networks may suppress certain features including ISDN cause codes in failure conditions (instead sending ACMs followed by audible in-band announcements). Setting this indicator can significantly limit the efficiency and transparency of SIP-ISUP translation.

voip, realtime

normative-requirement §4 MUST

A gateway MUST wait until a complete ISUP message is received—which may involve waiting for one or more Segmentation Messages (SGMs)—before sending any corresponding INVITE. Encapsulating an incomplete ISUP message may be confusing to terminating gateways.

sip, voip, realtime

normative-requirement §7.2.1.1 MUST

All IAM messages MUST contain five mandatory parameters at minimum: Called Party Number (CPN), Nature of Connection Indicator (NCI), Forward Call Indicators (FCI), Calling Party's Category (CPC), and Transmission Medium Requirement (TMR) or User Service Information (USI). Gateways MUST be provisioned with default values for mandatory ISUP parameters that cannot be derived from SIP translation.

sip, voip, realtime

normative-requirement §7.2.1 MUST

Hardware resources for the media stream (a time slot in an E1/T1 and an RTP/UDP port) MUST be reserved in the gateway when the INVITE is received, since an IAM cannot be sent before resource reservation—especially TCIC selection—takes place.

sip, voip, realtime

normative-requirement §7.2.3 MUST

If a BYE contains both a Reason header and encapsulated ISUP, the value in the Reason header MUST be preferred for mapping to the Cause Indicator parameter in the outgoing ISUP REL message.

sip, voip

normative-requirement §7.2.3 MUST

If a CANCEL or BYE is received before a final SIP response has been sent, a '200 OK' MUST be sent to confirm the request and a '487 Request Terminated' MUST also be sent to terminate the INVITE transaction. A REL SHOULD be sent to the PSTN with cause value 16 (normal clearing).

sip, voip

normative-requirement §5.2 MUST

PSTN interworking nodes MUST understand the MIME type 'multipart/mixed' as defined in RFC 2046, since SIP message bodies in PSTN interworking will typically carry both SDP and ISUP or billing information simultaneously.

sip, voip

normative-requirement §5.6 MUST

SIP gateways MUST support the INFO method (RFC 2976) for mid-call transactions that do not correspond to any SIP operations. Additionally, gateways MUST accept '405 Method Not Allowed' and '501 Not Implemented' as non-fatal responses to INFO—any call in progress MUST NOT be torn down if a destination rejects an INFO request.

sip, voip

normative-requirement §5.1 MUST

SIP messages MUST be capable of transporting ISUP payloads from gateway to gateway (using the encapsulation format defined in RFC 3204) to allow gateways to take advantage of the full range of PSTN services when placing calls across a SIP network.

sip, voip, realtime

normative-requirement §7.2.1.1 MUST

The relevant values of SIP header fields MUST overwrite (through translation) the parameter values that would otherwise be set from encapsulated ISUP. SIP network updates to critical session context parameters take precedence over encapsulated ISUP in ISUP-SIP-ISUP bridging cases.

sip, voip

normative-requirement §7.2.4 MUST

When a REL is received, an RLC MUST be sent to the ISUP network immediately to indicate that the circuit is available for reuse. Gateway resources SHOULD be released immediately before sending REL.

voip, realtime

normative-requirement §5.4 MUST

When interworking with the PSTN, SIP messages MUST be sent reliably end-to-end, as PSTN interworking relies on provisional responses for control of the media channel and timing of call events. One application-layer provisional reliability mechanism is described in RFC 3262.

sip, voip, realtime

normative-requirement §7.2.8 MUST

When ISUP timer T9 expires (no ANM received after alerting began), the call MUST be released. A '480 Temporarily Unavailable' response SHOULD be sent to the SIP network and a REL with cause value 19 (no answer from user) SHOULD be sent to the ISUP network.

sip, voip, realtime

protocol-element §7.2.6

ACM to SIP provisional response mapping: if BCI indicates 'subscriber free' → send 180 Ringing; if BCI Interworking Indicator is set or Optional BCI in-band media field is set → initiate backwards early media and send 183 Session Progress. An ACM with a Cause Area Indicator (CAI) triggers a 183 with SDP for early media cut-through followed eventually by a final error response.

sip, voip, realtime

protocol-element §7.2.1.1

FCI parameter population rules: when a gateway receives comprehensible encapsulated ISUP, the generated IAM's FCI interworking-related bits MUST match the encapsulated ISUP. Without encapsulated ISUP, it is STRONGLY RECOMMENDED to set the Interworking Indicator to 'no interworking' and ISUP User Part Indicator to 'ISUP used all the way.'

voip, realtime

protocol-element §7.2.1.1

Number portability handling in INVITE-to-IAM translation: if 'npdi=yes' is absent in the Request-URI, the primary tel URL number populates CPN; if 'npdi=yes' is present, the FCI 'number translated' bit must be set; if 'rn=' is also present, in ANSI ISUP the 'rn=' value populates CPN and the main number goes to Generic Digits Parameter (GAP).

sip, voip

protocol-element §7.2.9

The CPG Event Code to SIP provisional response mapping: event 1 (Alerting) → 180 Ringing, event 2 (Progress) → 183 Session Progress, event 3 (In-band information) → 183, events 4/5/6 (call forward variants) → 181 Call is Being Forwarded, no event code → 183. A CPG not indicating Alerting does not change the current state.

sip, voip, realtime

protocol-element §7.2.4.1

The ISDN Cause Code to SIP Status Code mapping (RECOMMENDED) covers: 1/2/3 (unallocated/no route) → 404, 17 (user busy) → 486, 18 (no user responding) → 408, 19/20 (no answer/absent) → 480, 21 (call rejected) → 403, 22 (number changed) → 301 with Contact or 410, 27 (destination out of order) → 502, 34/38/41/42/47 (resource unavailable) → 503, 102 (timer expiry) → 504, 127 → 500. Unknown causes default to 500.

sip, voip, realtime

protocol-element §8.2.6.1

The SIP Status Code to ISDN Cause Code mapping (Section 8.2.6.1) defines how SIP error responses from a UAS are translated into ISUP REL cause codes when the call originated from PSTN. This is the inverse of the cause-to-status mapping in Section 7.2.4.1 and is applied by the ISUP-to-SIP state machine on receipt of 4xx–6xx responses.

sip, voip, realtime

security-consideration §7.2.4

By default, ingress MGCs place incoming ISUP messages in the SIP body, which has security implications. When formulating outbound PSTN signaling from encapsulated ISUP, gateways should prefer encapsulated IAMs that carry a digital signature, and should heed the security considerations before trusting encapsulated content.

sip, voip, security

security-consideration §5.5

In SIP networks, not just switches but also arbitrary user agents can generate 18x provisional responses and initiate early backwards media. Gateways may therefore wish to enforce policies restricting the acceptance of backwards early media from untrusted user agents to prevent abuse of media resources.

sip, voip, security

state-machine §8.2

The ISUP-to-SIP gateway state machine: Idle → (IAM) → Calling → (100) → Proceeding → (18x) → Alerting → (2xx) → Connected. 3xx triggers a re-INVITE to the redirected address. 4xx–6xx triggers REL to PSTN. REL received from PSTN triggers CANCEL to SIP. Timer T11 expiry sends ACM to prevent remote T7 from tearing down the call.

sip, voip, realtime

state-machine §7.2

The SIP-to-ISUP gateway state machine defines: Idle → (INVITE) → Trying → (Early ACM) → Not Alerting or (ACM) → Alerting or (CON/ANM) → Waiting for ACK → (ACK) → Connected. REL can be received in any state causing return to Idle. Timeouts T7 (no ACM/CON) and T9 (no ANM after alerting) also force release and return to Idle.

sip, voip, realtime