Internet Engineering Task Force Frank Miller draft-miller-sip-isup-annex-00 sentitO Networks Carrying ISUP in SIP Messages (SIP-ISUP-ANNEX) STATUS OF THIS MEMO This document is an Internet-Draft and is in full conformance with all the provisions of Section 10 of RFC2026. Internet Drafts are working documents of the Internet Engineering Task Force, its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as works in progress. The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/lid-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. ABSTRACT SIP-ISUP-ANNEX is a mechanism by which a simplified textual representation of certain SS7 ISUP binary messages can be carried in the body of SIP INFO messages. This mechanism can be used to allow SIP elements to perform certain ancillary functions associated with existing PSTN equipment without having to implement a full SS7 stack. 1 Introduction This document specifies a mechanism by which a network element that has the ability to utilize SIP signaling can perform certain ancillary functions associated with existing PSTN equipment. The basic approach is to provide a simplified textual representation of certain ISUP messages that can be encapsulated in the body of SIP INFO messages. This document focuses on those messages that are not used to setup and teardown telephone calls. Translations between SIP and ISUP for setting up and tearing down phone calls has been addressed elsewhere. Figure 1 illustrates the environment that this messaging proposal exists in. If a SIP element needs to function in the PSTN network, SIP signaling information must traverse the IP network to a Signaling Gateway where it is converted into SS7 signaling. For those SIP [Page 1] draft-miller-sip-isup-annex-00 messages that are used to effect the setup and teardown of sessions, it is possible to map the messages onto analogous message in the SS7 signaling network. For a number of other functions in the PSTN that have signaling associated with them, there is no obvious corresponding message in the SIP signaling network to those used in the SS7 signaling network. In the absence of analogous SIP messages this document uses a simple textual representation of the information necessary to format binary SS7 ISUP messages and carries the information between SIP elements and Signaling Gateways in the body of a SIP INFO messages. +-------------+ +------------+ +-----------+ +------+ | | | | | | | | | SIP Element |<--->| IP Network |<--->| Signaling |<--->| PSTN | | | | | | Gateway | | | +-------------+ +------------+ +-----------+ +------+ Figure 1: Signaling Architecture The use of the SIP INFO message type to accomplish transport is deliberate. While any transport protocol could be used to move the textual representation of the ISUP message to the signaling gateway, there are good reasons for using SIP. 1) The messages are generally adjunct to call processing. Many of the functions provision PSTN bearer path elements that are then used for telephone calls. 2) With a goal to minimize additional development on the SIP Element, utilizing the existing code base, e.g. SIP parser, that is already in place to process normal SIP messages is attractive and obviates the need to develop a separate application level protocol above whatever transport protocol is used. 2 An Overview of the ISUP Message Structure This section provides a high-level overview of the SS7 ISUP message structure as specified in [1]. ISUP messages are binary encoded, i.e. various fields are coded by specifying predefined binary values. The purpose of this section is to provide the reader with background before presenting the syntax of the textual representation proposed later in this document. Figure 2 illustrates the overall structure of a ISUP message. [Page 2] draft-miller-sip-isup-annex-00 +--------------+ | Message Type | +--------------+ | Mandatory | | Fixed | | Part | +--------------+ | Mandatory | | Variable | | Part | +--------------+ | Optional | | Part | +--------------+ | Circuit ID | | Code | +--------------+ Figure 2: The Structure of an ISUP Message The Message Type identifies the specific ISUP message that is being transmitted. The format and length of all the other fields are implied by the Message Type. The Mandatory Fixed Part consists of a list of mandatory parameters where each parameter has a format that has a fixed length and as such, no additional length information is required. The Mandatory Variable Part consists of a list of mandatory parameters where each parameter can have a variable length. Both the Mandatory parts are lists that are required to be present based on the Message Type. The Optional Part consists of a list of parameters that are, as the name implies, optional. All of these parameters are formatted as if they are variable in length. The messages addressed by this document fall into groups where each group represents a transaction. The transactions addressed include: 1) Blocking, 2) Unblocking, 3) Circuit Group Blocking, 4) Circuit Group Unblocking, 5) Circuit Group Query, 6) Circuit Group Reset, and 7) Continuity. Each of these transactions has two simple state machines associated with them that are maintained by the SIP UA. The first state machine is used if the transaction is initiated by the SIP UA and the second is used if the transaction is initiated by the PSTN. 3 Text Representation Syntax The approach to specifying the syntax of a textual representation of the ISUP message is to limit the text to only those fields that are necessary to specify the operations and its parameters. The remainder of the message fields can be filled in by implication when the binary representation is constructed at a signaling gateway. [Page 3] draft-miller-sip-isup-annex-00 The approach to specifying the syntax of the encapsulated ISUP follows the same conventions as the main SIP message header. SIP syntax specifies a method or result line and a series of header lines that further specify the method or result. The syntax specified here consists of a method or result line followed by a list of parameters. The basic syntax of the encapsulated ISUP message is given as: Message-Type CRLF Parameter-List If an Operation-Code is specified, the first line is referred to as a method line. If an Error-Code is specified, the first line is referred to as a response line. Note that the Package Type is not specified here. The assumption is that the implementation of the translation between the SIP and binary ISUP representations will be able to implicitly determine the package type required. See the Section 4 for individual examples. 3.1 Message Types The Message-Type specifies the type of ISUP message: Component-Type-Identifier: BLOCKING-ACKNOWLEDGEMENT | BLOCKING | CONTINUITY-CHECK-REQUEST | CIRCUIT-GROUP-BLOCKING | CIRCUIT-GROUP-BLOCKING-ACKNOWLEDGEMENT | CIRCUIT-GROUP-UNBLOCKING | CIRCUIT-GROUP-UNBLOCKING-ACKNOWLEDGEMENT | CONTINUITY | CIRCUIT-QUERY | CIRCUIT-QUERY-RESPONSE | CIRCUIT-GROUP-RESET | CIRCUIT-GROUP-RESET-ACKNOWLEDGEMENT | UNBLOCKING | UNBLOCKING-ACKNOWLEDGEMENT | UNEQUIPPED-CIRCUIT-IDENTIFICATION-CODE This list does not contain all possible ISUP message types. This document is targeted at those functions not associated with call setup and teardown. The list of ISUP message types presented here encompasses mainly those messages used to effect other ancillary functions. [Page 4] draft-miller-sip-isup-annex-00 3.2 Parameters This section specifies each of the possible parameter lines that can follow the Method or Response lines. The Parameter-List given in basic syntax is actually a list of parameter lines where each line can be one of the parameters specified in this section. Parameter-List: Parameter* Parameter: Circuit-ID-Code | Circuit-Group-Supervision-Message-Type-Indicator | Range-and-Status | Continuity-Indicators | Circuit-Assignment-Map | Circuit-State-Indicator 3.2.1 Circuit-ID-Code Circuit-ID-Code: Circuit-ID-Code: Digits 3.2.2 Circuit-Group-Supervision-Message-Type-Indicator Circuit-Group-Supervision-Message-Type-Indicator: Circuit-Group-Blocking-Type-Indicator Circuit-Group-Blocking-Type-Indicator: Block-Without-Release | Block-With-Immediate-Release [Page 5] draft-miller-sip-isup-annex-00 3.2.3 Range-and-Status Range-and-Status: Range-and-Status: Range Status Range: Digits Status: Hex-Value The Range value indicates how many of the Status value bits have meaning. The value for range is either 24 or 32. The Hex-Value is a 32-bit hexadecimal value where each individual bit represents the Status of one line. The meaning assigned to each bit varies based on Message-Type in which the Range-and-Status parameter is included: CIRCUIT-GROUP-BLOCKING 0: No blocking 1: Blocking CIRCUIT-GROUP-BLOCKING-ACKNOWLEDGEMENT 0: No blocking acknowledgement 1: Blocking acknowledgement CIRCUIT-GROUP-UNBLOCKING 0: No unblocking 1: Unblocking CIRCUIT-GROUP-UNBLOCKING-ACKNOWLEDGEMENT 0: No unblocking acknowledgement 1: Unblocking acknowlegdement CIRCUIT-GROUP-RESET-ACKNOWLEDGEMENT 0: No blocking 1: Blocked 3.2.4 Continuity-Indicators Continuity-Indicators: Continuity-Indicators: Continuity-Indicator Continuity-Indicator: Continuity-Check-Failed | Continuity-Check-Succeeded 3.2.5 Circuit-Assignment-Map Circuit-Assignment-Map: Circuit-Assignment-Map: Hex-Value The Hex-Value is a 24-bit hexadecimal value where each individual bit represents the Status of one line. If the bit is set, the line is in use. If the bit is clear, the line is not in use. [Page 6] draft-miller-sip-isup-annex-00 3.2.6 Circuit-State-Indicator Circuit-State-Indicator: Circuit-State-Indicator: Circuit-State Circuit-State: Transient | Unequipped | Incoming-Circuit-Busy-Active | Incoming-Circuit-Busy-Locally-Blocked | Incoming-Circuit-Busy-Remotely-Blocked | Incoming-Circuit-Busy-Locally-and-Remotely-Blocked | Outgoing-Circuit-Busy-Active | Outgoing-Circuit-Busy-Locally-Blocked | Outgoing-Circuit-Busy-Remotely-Blocked | Outgoing-Circuit-Busy-Locally-and-Remotely-Blocked | Idle | Idle-Locally-Blocked | Idle-Remotely-Blocked | Idle-Locally-and-Remotely-Blocked 4 Example Message Encodings This section provides a set of examples formatted with the specified syntax. Each example is presented with three message types, 1) a sample invocation, 2) a sample successful returned result, and 3) a sample error returned result. Each message type includes the textual representation that is carried in the body of a SIP INFO message and the corresponding ISUP representation. The ISUP representation is presented as a table. The first three columns of the table provide the name, bit encoding and a short description of an ISUP message field. The fourth column describes how the field is derived when an ISUP message is being generated from a SIP body representation. The types of derivation are listed as follows: +-------------+----------------------------------------------------+ | Field Type | Description | +-------------+----------------------------------------------------+ | Implicit | The field is generated implicitly, i.e. it has the | | | same value every time this message is generated | +-------------+----------------------------------------------------+ | Computed | The field is computed based on the construction of | | | the message | +-------------+----------------------------------------------------+ | SIP Message | The field is generated based on some element | | | present in the SIP INFO body message | | | representation | +-------------+----------------------------------------------------+ Each message contains a Transaction-ID field. This field is used to associate groups of message into transactions and is used strictly on [Page 7] draft-miller-sip-isup-annex-00 the SIP side of the Signaling Gateway. When an SS7 message that initiates a transaction is received, a transaction id is allocated. SIP elements that receive the generated SIP messages and respond to them should reflect the transaction id. When a SIP message is received by the Signaling Gateway that contains a transaction id, that transaction id should be reflected when subsequent message are sent to the SIP element that are part of the same transaction. 4.1 Blocking The Signaling Gateway has two state machines that handle Circuit Blocking. The first is used if a Blocking (BLO) message is received from the SS7 Signaling Network first and the second is used if an encapsulated BLO is received from the SIP Signaling Network first. Figure 3 illustrates the first scenario, where the BLO is initiated in the SS7 Signaling Network. The use of quotations in this and subsequent state diagrams indicates that the ISUP message is encapsulated in a SIP INFO message body. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | BLO/1 | "BLA"/2 | BLO | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 3: Blocking Command Initiated from the SS7 Signaling Network Table 1 describes the actions associated with the state transitions in Figure 3. The state machine is very simple. When a BLO is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated BLA message from a SIP element or the expiration of timer T . BLO [Page 8] draft-miller-sip-isup-annex-00 Table 1: State Transitions for a Blocking Command Initiated from the SS7 Signaling Network +------------+-----------------------+-----------------------------+ | Transition | Description | Actions | +------------+-----------------------+-----------------------------+ | 1 | An ISUP BLO message is| Format and send an | | | received. | encapsulated BLO message to | | | | a SIP element. | +------------+-----------------------+-----------------------------+ | 2 | An encapsulated BLA | Format and send an ISUP BLA | | | message is received. | message to a PSTN element. | +------------+-----------------------+-----------------------------+ | 3 | A T timer expires. | No action. | | | BLO | | +------------+-----------------------+-----------------------------+ Figure 4 illustrates the second scenario, where the BLO is initiated in the SIP Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "BLO"/1 | BLA/2 | BLO | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 4: Blocking Command Initiated from the SIP Signaling Network Table 2 describes the actions associated with the state transitions in Figure 4. The state machine is identical to the one for shown in Figure 3 except that the message-based transitions are reversed. [Page 9] draft-miller-sip-isup-annex-00 Table 2: State Transitions for a Blocking Command Initiated from the SIP Signaling Network +------------+----------------------+-----------------------------+ | Transition | Description | Actions | +------------+----------------------+-----------------------------+ | 1 | An encapsulated BLO | Format and send an ISUP BLO | | | message is received. | message to a PSTN element. | +------------+----------------------+-----------------------------+ | 2 | An ISUP BLA message | Format and send an | | | is received. | encapsulated BLA message to | | | | a SIP element. | +------------+----------------------+-----------------------------+ | 3 | A T timer expires.| No action. | | | BLO | | +------------+----------------------+-----------------------------+ When an encapsulated BLO is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: BLOCKING Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code The result of translation is the generation of an SS7 ISUP BLO message having the following format: +----------------------+----------------+-------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +----------------------+----------------+-------------+-------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+-------------+-------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+-------------+-------------+ | Message Type | 00010011 | BLOCKING | SIP Message | +----------------------+----------------+-------------+-------------+ Likewise, when an encapsulated BLA is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: BLOCKING-ACKNOWLEDGEMENT Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code [Page 10] draft-miller-sip-isup-annex-00 The result of translation is the generation of an SS7 ISUP BLA message having the following format: +----------------------+----------------+----------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +----------------------+----------------+----------------+-------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Message Type | 00010011 | BLOCKING- | SIP Message | | | | ACKNOWLEDGEMENT| | +----------------------+----------------+----------------+-------------+ In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 4.2 Unblocking There are two state machines for Circuit Unblocking. The first is used if an Unblocking (UBL) message is received from the SS7 Signaling Network first and the second is used if an encapsulated UBL is received from the SIP Signaling Network first. Figure 5 illustrates the first scenario, where the UBL is initiated in the SS7 Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | UBL/1 | "UBA"/2 | UBL | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 5: Unblocking Command Initiated from the SS7 Signaling Network Table 3 describes the actions associated with the state transitions in Figure 5. When an UBL is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated UBA message from a SIP element or the expiration of timer T . UBL [Page 11] draft-miller-sip-isup-annex-00 Table 3: State Transitions for an Unblocking Command Initiated from the SS7 Signaling Network +------------+------------------------+-----------------------------+ | Transition | Description | Actions | +------------+------------------------+-----------------------------+ | 1 | An ISUP UBL message is | Format and send an | | | received. | encapsulate UBL message to | | | | a SIP element. | +------------+------------------------+-----------------------------+ | 2 | An encapsulated UBA | Format and send an ISUP UBA | | | message is received. | message to a PSTN element. | +------------+------------------------+-----------------------------+ | 3 | A T timer expires. | No action. | | | UBL | | +------------+------------------------+-----------------------------+ Figure 6 illustrates the second scenario, where the UBL is initiated in the SIP Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "UBL"/1 | UBA/2 | UBL | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 6: Unblocking Command Initiated from the SIP Signaling Network Table 4 describes the actions associated with the state transitions in Figure 6. The state machine is identical to the one for shown in Figure 5 except that the message-based transitions are reversed. [Page 12] draft-miller-sip-isup-annex-00 Table 4: State Transitions for an Unblocking Command Initiated from the SIP Signaling Network +------------+---------------------+---------------------------------+ | Transition | Description | Actions | +------------+---------------------+---------------------------------+ | 1 | An encapsulated UBL | Format and send an ISUP UBL | | | message is received.| message to a PSTN element. | +------------+---------------------+---------------------------------+ | 2 | An ISUP UBA message | Format and send an encapsulated | | | is received. | UBA message to a SIP element. | +------------+---------------------+---------------------------------+ | 3 | A T timer expires| No action. | | | UBL | | +------------+---------------------+---------------------------------+ When an encapsulated UBL is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: UNBLOCKING Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code The result of translation is the generation of an SS7 ISUP UBL message having the following format: +----------------------+----------------+-------------+--------------+ | Field Name | Bit Encoding | Description | Derived From | +----------------------+----------------+-------------+--------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+-------------+--------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+-------------+--------------+ | Message Type | 00010100 | UNBLOCKING | SIP Message | +----------------------+----------------+-------------+--------------+ Likewise, when an encapsulated UBA is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: UNBLOCKING-ACKNOWLEDGEMENT Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code [Page 13] draft-miller-sip-isup-annex-00 The result of translation is the generation of an SS7 ISUP UBA message having the following format: +----------------------+----------------+----------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +----------------------+----------------+----------------+-------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Message Type | 00010110 | UNBLOCKING- | SIP Message | | | | ACKNOWLEDGEMENT| | +----------------------+----------------+----------------+-------------+ In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 4.3 Circuit Group Blocking The Signaling Gateway has two state machines that handle Circuit Group Blocking. The first is used if a Circuit Group Blocking (CGB) message is received from the SS7 Signaling Network first and the second is used if an encapsulated CGB is received from the SIP Signaling Network first. Figure 7 illustrates the first scenario, where the CGB is initiated in the SS7 Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | CGB/1 | "CGBA"/2 | CGB | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 7: Circuit Group Blocking Command Initiated from the SS7 Signaling Network Table 5 describes the actions associated with the state transitions in Figure 7. The state machine is very simple. When a CGB is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated CGBA message from a SIP element or the expiration of timer T . CGB [Page 14] draft-miller-sip-isup-annex-00 Table 5: State Transitions for a Circuit Group Blocking Command Initiated from the SS7 Signaling Network +------------+----------------------+------------------------------+ | Transition | Description | Actions | +------------+----------------------+------------------------------+ | 1 | An ISUP CGB message | Format and send an | | | is received. | encapsulated CGB message to | | | | a SIP element. | +------------+----------------------+------------------------------+ | 2 | An encapsulated CGBA | Format and send an ISUP CGBA | | | message is received. | message to a PSTN element. | +------------+----------------------+------------------------------+ | 3 | A T timer expires.| No action. | | | CGB | | +------------+----------------------+------------------------------+ Figure 8 illustrates the second scenario, where the CGB is initiated in the SIP Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "CGB"/1 | CGBA/2 | CGB | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 8: Circuit Group Blocking Command Initiated from the SIP Signaling Network Table 6 describes the actions associated with the state transitions in Figure 8. The state machine is identical to the one for shown in Figure 7 except that the message-based transitions are reversed. [Page 15] draft-miller-sip-isup-annex-00 Table 6: State Transitions for a Circuit Group Blocking Command Initiated from the SIP Signaling Network +------------+----------------------+------------------------------+ | Transition | Description | Actions | +------------+----------------------+------------------------------+ | 1 | An encapsulated CGB | Format and send an ISUP CGB | | | message is received. | message to a PSTN element. | +------------+----------------------+------------------------------+ | 2 | An ISUP CGBA message | Format and send an | | | is received. | encapsulated CGBA message to | | | | a SIP element. | +------------+----------------------+------------------------------+ | 3 | A T timer expires.| No action. | | | CGB | | +------------+----------------------+------------------------------+ When an encapsulated CGB is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-BLOCKING Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-Group-Supervision-Message-Type-Indicator: Supervision Range-and-Status: Range Status The result of translation is the generation of an SS7 ISUP CGB message having the following format: +----------------------+----------------+---------------+--------------+ | Field Name | Bit Encoding | Description | Derived From | +----------------------+----------------+---------------+--------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+---------------+--------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+---------------+--------------+ | Message Type | 00011000 | CIRCUIT-GROUP-| SIP Message | | | | BLOCKING | | +----------------------+----------------+---------------+--------------+ | Circuit Group | Supervision | | SIP Message | | Supervision Message | | | | | Type Indicator | | | | +----------------------+----------------+---------------+--------------+ | Range | Range | | SIP Message | +----------------------+----------------+---------------+--------------+ | Status | Status | | SIP Message | +----------------------+----------------+---------------+--------------+ [Page 16] draft-miller-sip-isup-annex-00 Likewise, when an encapsulated CGBA is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-BLOCKING-ACKNOWLEDGEMENT Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-Group-Supervision-Message-Type-Indicator: Supervision Range-and-Status: Range Status The result of translation is the generation of an SS7 ISUP CGBA message having the following format: +----------------------+----------------+----------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +----------------------+----------------+----------------+-------------+ | Circuit ID Code (LSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Circuit ID Code (MSB)| Circuit-ID-Code| | SIP Message | +----------------------+----------------+----------------+-------------+ | Message Type | 00011010 | CIRCUIT-GROUP- | SIP Message | | | | BLOCKING- | | | | | ACKNOWLEDGEMENT| | +----------------------+----------------+----------------+-------------+ | Circuit Group | Supervision | | SIP Message | | Supervision Message | | | | | Type Indicator | | | | +----------------------+----------------+----------------+-------------+ | Range | Range | | SIP Message | +----------------------+----------------+----------------+-------------+ | Status | Status | | SIP Message | +----------------------+----------------+----------------+-------------+ In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 4.4 Circuit Group Unblocking The Signaling Gateway has two state machines that handle Circuit Group Unblocking. The first is used if a Circuit Group Unblocking (CGU) message is received from the SS7 Signaling Network first and the second is used if an encapsulated CGU is received from the SIP Signaling Network first. Figure 9 illustrates the first scenario, where the CGB is initiated in the SS7 Signaling Network. [Page 17] draft-miller-sip-isup-annex-00 +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | CGU/1 | "CGUA"/2 | CGU | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 9: Circuit Group Unblocking Command Initiated from the SS7 Signaling Network Table 7 describes the actions associated with the state transitions in Figure 9. The state machine is very simple. When a CGU is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated CGUA message from a SIP element or the expiration of timer T . CGU Table 7: State Transitions for a Circuit Group Unblocking Command Initiated from the SS7 Signaling Network +------------+----------------------+------------------------------+ | Transition | Description | Actions | +------------+----------------------+------------------------------+ | 1 | An ISUP CGU message | Format and send an | | | is received. | encapsulated CGU message to | | | | a SIP element. | +------------+----------------------+------------------------------+ | 2 | An encapsulated CGUA | Format and send an ISUP CGUA | | | message is received. | message to a PSTN element. | +------------+----------------------+------------------------------+ | 3 | A T timer expires.| No action. | | | CGU | | +------------+----------------------+------------------------------+ Figure 10 illustrates the second scenario, where the CGU is initiated in the SIP Signaling Network. [Page 18] draft-miller-sip-isup-annex-00 +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "CGU"/1 | CGUA/2 | CGU | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 10: Circuit Group Unblocking Command Initiated from the SIP Signaling Network Table 8 describes the actions associated with the state transitions in Figure 10. The state machine is identical to the one for shown in Figure 9 except that the message-based transitions are reversed. Table 8: State Transitions for a Circuit Group Unblocking Command Initiated from the SIP Signaling Network +------------+----------------------+------------------------------+ | Transition | Description | Actions | +------------+----------------------+------------------------------+ | 1 | An encapsulated CGU | Format and send an ISUP CGU | | | message is received. | message to a PSTN element. | +------------+----------------------+------------------------------+ | 2 | An ISUP CGUA message | Format and send an | | | is received. | encapsulated CGUA message to | | | | a SIP element. | +------------+----------------------+------------------------------+ | 3 | A T timer expires.| No action. | | | CGU | | +------------+----------------------+------------------------------+ When an encapsulated CGU is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-UNBLOCKING Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-Group-Supervision-Message-Type-Indicator: Supervision Range-and-Status: Range Status [Page 19] draft-miller-sip-isup-annex-00 The result of translation is the generation of an SS7 ISUP CGU message having the following format: +--------------------------+----------------+---------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +--------------------------+----------------+---------------+-------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +--------------------------+----------------+---------------+-------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +--------------------------+----------------+---------------+-------------+ | Message Type | 00011001 | CIRCUIT-GROUP-| SIP Message | | | | UNBLOCKING | | +--------------------------+----------------+---------------+-------------+ | Circuit Group Supervision| Supervision | | SIP Message | | Message Type Indicator | | | SIP Message | +--------------------------+----------------+---------------+-------------+ | Range | Range | | SIP Message | +--------------------------+----------------+---------------+-------------+ | Status | Status | | SIP Message | +--------------------------+----------------+---------------+-------------+ Likewise, when an encapsulated CGUA is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-UNBLOCKING-ACKNOWLEDGEMENT Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-Group-Supervision-Message-Type-Indicator: Supervision Range-and-Status: Range Status The result of translation is the generation of an SS7 ISUP CGUA message having the following format: +--------------------------+----------------+----------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +--------------------------+----------------+----------------+-------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +--------------------------+----------------+----------------+-------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +--------------------------+----------------+----------------+-------------+ | Message Type | 00011011 | CIRCUIT-GROUP- | SIP Message | | | | UNBLOCKING- | | | | | ACKNOWLEDGEMENT| | +--------------------------+----------------+----------------+-------------+ | Circuit Group Supervision| Supervision | | SIP Message | | Message Type Indicator | | | SIP Message | +--------------------------+----------------+----------------+-------------+ | Range | Range | | SIP Message | +--------------------------+----------------+----------------+-------------+ | Status | Status | | SIP Message | +--------------------------+----------------+----------------+-------------+ [Page 20] draft-miller-sip-isup-annex-00 In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 4.5 Circuit Query The Signaling Gateway has two state machines that handle a Circuit Query. The first is used if a Circuit Query (CQM) message is received from the SS7 Signaling Network first and the second is used if an encapsulated CQM is received from the SIP Signaling Network first. Figure 11 illustrates the first scenario, where the CQM is initiated in the SS7 Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | CQM/1 | "CQR"/2 | CQM | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 11: Circuit Query Command Initiated from the SS7 Signaling Network Table 9 describes the actions associated with the state transitions in Figure 11. The state machine is very simple. When a CQM is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated CQR message from a SIP element or the expiration of timer T . CQM Table 9: State Transitions for a Circuit Query Command Initiated from the SS7 Signaling Network +------------+----------------------+-----------------------------+ | Transition | Description | Actions | +------------+----------------------+-----------------------------+ | 1 | An ISUP CQM message | Format and send an | | | is received. | encapsulated CQM message to | | | | a SIP element. | +------------+----------------------+-----------------------------+ | 2 | An encapsulated CQR | Format and send an ISUP CQR | | | message is received. | message to a PSTN element. | +------------+----------------------+-----------------------------+ | 3 | A T timer expires.| No action. | | | CQM | | +------------+----------------------+-----------------------------+ [Page 21] draft-miller-sip-isup-annex-00 Figure 12 illustrates the second scenario, where the CQM is initiated in the SIP Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "CQM"/1 | CQR/2 | CQM | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 12: Circuit Query Command Initiated from the SIP Signaling Network Table 10 describes the actions associated with the state transitions in Figure 12. The state machine is identical to the one for shown in Figure 11 except that the message-based transitions are reversed. Table 10: State Transitions for a Circuit Query Command Initiated from the SIP Signaling Network +------------+----------------------+-----------------------------+ | Transition | Description | Actions | +------------+----------------------+-----------------------------+ | 1 | An encapsulated CQM | Format and send an ISUP CQM | | | message is received. | message to a PSTN element. | +------------+----------------------+-----------------------------+ | 2 | An ISUP CQR message | Format and send an | | | is received. | encapsulated CQR message to | | | | a SIP element. | +------------+----------------------+-----------------------------+ | 3 | A T timer expires.| No action. | | | CQM | | +------------+----------------------+-----------------------------+ [Page 22] draft-miller-sip-isup-annex-00 When an encapsulated CQM is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-QUERY Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Range-and-Status: Range Status Circuit-Assignment-Map: Circuit-Map The result of translation is the generation of an SS7 ISUP CQM message having the following format: +-----------------------+----------------+--------------+--------------+ | Field Name | Bit Encoding | Description | Derived From | +-----------------------+----------------+--------------+--------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +-----------------------+----------------+--------------+--------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +-----------------------+----------------+--------------+--------------+ | Message Type | 00101010 | CIRCUIT-QUERY| SIP Message | +-----------------------+----------------+--------------+--------------+ | Range | Range | | SIP Message | +-----------------------+----------------+--------------+--------------+ | Status | Status | | SIP Message | +-----------------------+----------------+--------------+--------------+ | Circuit-Assignment-Map| Circuit-Map | | SIP Message | +-----------------------+----------------+--------------+--------------+ Likewise, when an encapsulated CQR is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-QUERY-REPLY Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-State-Indicator: Circuit-State Range-and-Status: Range Status [Page 23] draft-miller-sip-isup-annex-00 The result of translation is the generation of an SS7 ISUP CQR message having the following format: +------------------------+----------------+---------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +------------------------+----------------+---------------+-------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +------------------------+----------------+---------------+-------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +------------------------+----------------+---------------+-------------+ | Message Type | 00101011 | CIRCUIT-QUERY-| SIP Message | | | | REPLY | | +------------------------+----------------+---------------+-------------+ | Circuit-State-Indicator| Circuit-State | | SIP Message | +------------------------+----------------+---------------+-------------+ | Range | Range | | SIP Message | +------------------------+----------------+---------------+-------------+ | Status | Status | | SIP Message | +------------------------+----------------+---------------+-------------+ In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 4.6 Circuit Group Reset The Signaling Gateway has two state machines that handle a Circuit Group Reset. The first is used if a Circuit Group Reset (GRS) message is received from the SS7 Signaling Network first and the second is used if an encapsulated GRS is received from the SIP Signaling Network first. Figure 13 illustrates the first scenario, where the CQM is initiated in the SS7 Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | GRS/1 | "GRA"/2 | GRS | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 13: Circuit Group Reset Command Initiated from the SS7 Signaling Network [Page 24] draft-miller-sip-isup-annex-00 Table 11 describes the actions associated with the state transitions in Figure 13. The state machine is very simple. When a GRS is received the Signaling Gateway enters the Responding state. Either of two actions cause the transaction to end, the receipt of an encapsulated GRA message from a SIP element or the expiration of timer T . GRS Table 11: State Transitions for a Circuit Group Reset Command Initiated from the SS7 Signaling Network +------------+----------------------+-----------------------------+ | Transition | Description | Actions | +------------+----------------------+-----------------------------+ | 1 | An ISUP GRS message | Format and send an | | | is received. | encapsulated GRS message to | | | | a SIP element. | +------------+----------------------+-----------------------------+ | 2 | An encapsulated GRA | Format and send an ISUP GRA | | | message is received. | message to a PSTN element. | +------------+----------------------+-----------------------------+ | 3 | A T timer expires.| No action. | | | GRS | | +------------+----------------------+-----------------------------+ Figure 14 illustrates the second scenario, where the GRS is initiated in the SIP Signaling Network. +----------+ | | +--->| Idle |<---+ | | | | | +----------+ | | | | | T /3 | "GRS"/1 | GRA/2 | GRS | | | v | | +----------+ | | | | | +----|Responding|----+ | | +----------+ Figure 14: Circuit Group Reset Command Initiated from the SIP Signaling Network Table 12 describes the actions associated with the state transitions in Figure 14. The state machine is identical to the one for shown in Figure 13 except that the message-based transitions are reversed. [Page 25] draft-miller-sip-isup-annex-00 Table 12: State Transitions for a Circuit Group Reset Command Initiated from the SIP Signaling Network +------------+----------------------+-----------------------------+ | Transition | Description | Actions | +------------+----------------------+-----------------------------+ | 1 | An encapsulated GRS | Format and send an ISUP GRS | | | message is received. | message to a PSTN element. | +------------+----------------------+-----------------------------+ | 2 | An ISUP GRA message | Format and send an | | | is received. | encapsulated GRA message to | | | | a SIP element. | +------------+----------------------+-----------------------------+ | 3 | A T timer expires.| No action. | | | GRS | | +------------+----------------------+-----------------------------+ When an encapsulated GRS is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-RESET Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Range-and-Status: Range Status Circuit-Assignment-Map: Circuit-Map The result of translation is the generation of an SS7 ISUP GRS message having the following format: +-----------------------+----------------+---------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +-----------------------+----------------+---------------+-------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +-----------------------+----------------+---------------+-------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +-----------------------+----------------+---------------+-------------+ | Message Type | 00010111 | CIRCUIT-GROUP-| SIP Message | | | | RESET | | +-----------------------+----------------+---------------+-------------+ | Range | Range | | SIP Message | +-----------------------+----------------+---------------+-------------+ | Status | Status | | SIP Message | +-----------------------+----------------+---------------+-------------+ | Circuit-Assignment-Map| Circuit-Map | | SIP Message | +-----------------------+----------------+---------------+-------------+ [Page 26] draft-miller-sip-isup-annex-00 Likewise, when an encapsulated GRA is received from the SIP signaling network, the Signaling Gateway can parse the message if it is encapsulated in the body of a SIP INFO message as follows: CIRCUIT-GROUP-RESET-ACKNOWLEDGEMENT Transaction-ID: Transaction-ID Circuit-ID-Code: Circuit-ID-Code Circuit-State-Indicator: Circuit-State Range-and-Status: Range Status The result of translation is the generation of an SS7 ISUP GRA message having the following format: +------------------------+----------------+---------------+-------------+ | Field Name | Bit Encoding | Description | Derived From| +------------------------+----------------+---------------+-------------+ | Circuit ID Code (LSB) | Circuit-ID-Code| | SIP Message | +------------------------+----------------+---------------+-------------+ | Circuit ID Code (MSB) | Circuit-ID-Code| | SIP Message | +------------------------+----------------+---------------+-------------+ | Message Type | 00101001 | CIRCUIT-GROUP-| SIP Message | | | | RESET- | | | | | ACKNOWLEGEMENT| | +------------------------+----------------+---------------+-------------+ | Circuit-State-Indicator| Circuit-State | | SIP Message | +------------------------+----------------+---------------+-------------+ | Range | Range | | SIP Message | +------------------------+----------------+---------------+-------------+ | Status | Status | | SIP Message | +------------------------+----------------+---------------+-------------+ In both cases, if the SS7 binary representation is received, the same text format is used for the body of a generated a SIP INFO message. 5 Applicable Documents [1] Telcordia GR-246-CORE, Bell Communications Research Specification of Signaling System Number 7. [2] Handley, Schulzrinne, Schooler, and Rosenberg, ietf-sip-rfc2543bis-03, SIP: Session Initiation Protocol. [3] Donovan, RFC 2976, The SIP INFO Method. [4] Telcordia GR-905-CORE, Common Channel Signaling Network Interface Specification (CCSNIS) Supporting Network Interconnection, Message Transfer Part (MTP), and Integrated Service Digital Network User Part (ISDNUP). [Page 27] draft-miller-sip-isup-annex-00 6 Author's Address Frank W. Miller, Ph.D. Chief Technical Officer sentitO Networks Inc 2096 Gaither Road Rockville, MD 20850 fmiller@sentito.com (301) 947-1900 x223