INTERNET DRAFT          EXPIRES DEC 1998                INTERNET DRAFT
Internet Draft                                             Matt Holdrege
June 1998                                          Ascend Communications


        The Reliable Signaling Gateway Control Protocol (RSGCP)
                      draft-rfced-info-holdrege-00.txt

Status of this Memo

   This document is an Internet-Draft.  Internet-Drafts are working
   documents of the Internet Engineering task Force (IETF), 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 "work in progress".

   To learn the current status of any Internet-Draft, please check the
   "1id-abstract.txt" listing contained in the Internet-Drafts Shadow
   Directories on ftp.is.co.za (Africa), nic.nordu.net, ftp.nis.garr.it
   (Europe), munnari.oz.au (Pacific Rim), ftp.ietf.org (US East Coast),
   or ftp.isi.edu (US West Coast).

   Copyright Notice

   Copyright  (C) The Internet Society (1998).  All Rights Reserved.


Abstract

   This memo describes the Control Protocol used between a Network
   Access Server (NAS) and a Signaling Gateway (SG). The requirements of
   this protocol are Call Control, Circuit Maintenance and Resource
   Management.  This protocol must be reliable in nature and support
   redundant links between the NAS and SG. It's important to note that
   the NAS could be handling either packetized voice or data for access
   to the Internet.

Introduction

   A need has arisen to better integrate Internet access and the Public
   Switched Telephone Network (PSTN). To accomplish this daunting task,
   several new techniques are being developed. One such technique is to
   establish communications between the main PSTN signaling network,
   known as Signaling System 7 (SS7) and dial-in internet NAS's. This
   allows multiple NAS access ports to collectively appear as a virtual
   resource of a PSTN switch. Another way to look at it is that the
   NAS's appear as a egress PSTN switch to an ingress PSTN switch.

   The communication between the NAS and SS7 is facilitated by the SG.
   The SG has two fundamental interfaces. One is to the SS7 network
   speaking standard SS7 protocols as defined in the ITU-T Q.700 series.



Holdrege                                                        [Page 1]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The other interface is TCP/IP speaking to the SG's defined NAS
   population. This document describes the protocol that is carried
   between the SG and the NAS.

   Since there is no existing protocol that fits the requirements
   completely, a new protocol will be derived from the ITU-T protocol
   Q.931. Q.931 is a very reliable protocol that has been used for years
   mainly as an ISDN call control protocol. Q.931 has well defined
   procedures and a message set that is extensible to allow additional
   functionality to be added easily. Additionally, Q.931 has already
   been incorporated into NAS's minimizing the modifications required to
   implement the new Control Protocol.

   Due to the requirement for reliability and redundancy, a lower layer
   protocol is defined which is similar in nature to Q.921 or the link
   layer protocol.

   It is assumed that the implementer has access to the Q.931 protocol
   specification as well as an understanding of SS7 messages.

2.0 Bearer Services

   Bearer Services and Interface Configuration
      Bearer Services
      Four (4) bearer services are supported in the Control Protocol:
      1. Circuit Mode, 64-kbps, 8-khz structured, Speech
      2. Circuit Mode, 64-kbps, 8-khz structured, 3.1-khz, Audio
      3. Circuit Mode, 64-kbps, 8-khz structured, Unrestricted Digital
         Transmission-Rate Adapted from 56-kbps
      4. Circuit Mode, 64-kbps, 8-khz structure, Unrestricted Digital
         Transmission

   Circuit Mode, 64-kbps, 8-khz structured, Speech The speech present at
   the inter-machine trunk is coded by the standardized Mu-law or a-law
   pulse code modulation (PCM) technique specified by CCITT
   Recommendation G.711.

   Circuit Mode, 64-kbps, 8-khz structured, 3.1-khz, Audio The 3.1-khz
   audio signal present at the inter-machine trunk is coded by the
   standardized Mu-law or a-law PCM technique specified by CCITT
   Recommendation G.711.

   Circuit Mode, 64-kbps, 8-khz structured, Unrestricted Digital
   Transmission-Rate Adapted from 56-kbps An information transfer rate
   of 56-kbps over a B channel is possible by rate adapting the user
   data rate of 56-kbps to 64-kbps. The transmitting side shall set bit
   eight (8) of each byte on the B-channel to a binary one, while the
   other bits are populated from the 56 kbps data stream. Conversely,
   the receiving side shall ignore the eighth bit of each byte.

   Circuit Mode, 64-kbps, 8-khz structured, Unrestricted Digital
   Transmission This bearer service is used to originate and terminate
   circuit-mode data calls at 64-kbps.




Holdrege                                                        [Page 2]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   Interface Configuration The Control Protocol is considered non-
   facility associated signaling, where the signaling for specific B-
   channels occur over a different physical facility.  The bearer
   channels are carried over inter machine trunks which are connected
   between NAS units and central office exchanges. The control channel
   is carried over an IP network.

3.1 Format and Coding

3.2.1 Message Structure

   This section defines the messages the SG and NAS use for call
   processing, maintenance, and management. These messages are based on
   the ITU-T Recommendation Q.931 message set, and in most cases are
   simply specific codings of standard Q.931 messages. However, because
   the requirements of the SG based systems differ from those of ISDN
   access for which the Q.931 message set was developed, some messages
   described in this section are extensions of standard Q.931 messages.
   The Control Protocol message set consists of:


Message                         Value

   CONNect                         0x07
   CONNect ACKnowledge             0x0f
   CONTinuity                      0x11
   CONTinuity ACKnowledge          0x13
   DISConnect                      0x45
   REGistration                    0x1f
   REGistration ACKnowledge        0x17
   RELease                         0x4d
   RELease COMplete                0x5a
   RESTart                         0x46
   RESTart ACKnowledge             0x4e
   SERVice                         0x0f
   SERVice ACKnowledge             0x07
   SETUP                           0x05
   STATus                          0x7d
   STATus ENQuiry                  0x73
   LOGon                           0x7f


   Of the above messages, most are standardized in ITU-T Q.931. A few
   are added to meet the requirements of this protocol. They are:
   CONTinuity
   CONTinuity ACKnowledge
   REGistration
   REGistration ACKnowledge
   SERVice
   SERVice ACKnowledge
   LOGon

3.2.1.1 CONTinuity




Holdrege                                                        [Page 3]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The Continuity message shall be formatted as shown:

   Information Element     Direction   Inclusion Condition Length

   Protocol Discriminator  NAS -> SG   Mandatory           1

   Call Reference          NAS -> SG   Mandatory           5

   Message Type            NAS -> SG   Mandatory           1

   Channel Identification  NAS -> SG   Mandatory           8

   Continuity Indicator    NAS -> SG   Mandatory           3

   The Continuity message is used by the NAS to indicate the outcome of
   a continuity test.

3.2.1.2 CONTinuity ACKnowledge

   Information Element     Direction   Inclusion Condition Length

   Protocol Discriminator  SG -> NAS   Mandatory           1

   Call Reference          SG -> NAS   Mandatory           5

   Message Type            SG -> NAS   Mandatory           1

   Channel Identification  SG -> NAS   Mandatory           8

   The Continuity Acknowledge message is used by the SG to acknowledge
   the receipt of a Continuity message from the NAS.

3.2.1.3 REGistration

   The Registration message shall be formatted as shown below:

   Information Element             Direction   Inclusion Cond.  Length

   Protocol Discriminator          NAS -> SG   Mandatory           1

   Call Reference                  NAS -> SG   Mandatory           5

   Message Type                    NAS -> SG   Mandatory           1

   Resource                        NAS -> SG   Mandatory           3-5

   Channel Identification          NAS -> SG   Optional            7+

   Channel State ID                NAS -> SG   Optional            7+

   The Registration message is sent by the NAS to register associated
   trunk and user port resources. For each Resource information element
   that specifies a trunk resource, there must be a corresponding
   Channel State Identification information element, immediately



Holdrege                                                        [Page 4]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   following.  If no trunk resources are specified in the Resource
   information element, the Channel Identification State information
   element may be omitted. When the NAS detects both links fail between
   the SG, if at least one link comes back up again, it will send the
   Registration message to inform the Gateway the available resources.
   The protocol discriminator of the Registration message is 0x43
   (Maintenance Protocol Discriminator).

3.2.1.4 REGistration ACKnowledge

   The Registration Acknowledge message shall be formatted as shown
   below:

   Information Element             Direction   Inclusion Cond.  Length

   Protocol Discriminators         SG -> NAS   Mandatory           1

   Call Reference                  SG -> NAS   Mandatory           5

   Message Type                    SG -> NAS   Mandatory           1

   The Registration Acknowledge message is sent by the SG to acknowledge
   confirmation of a resource registration.  For each Resource
   information element that specifies a trunk resource, there must be a
   corresponding Channel State Identification information element,
   immediately following.  The Registration Acknowledge message is not
   part of the basic Q.931 message set. The protocol discriminator of
   the Registration Ack is 0x43 (Maintenance Protocol Discriminator).

3.2.1.5 SERVice

   The Service message shall be formatted as shown below:

   Information Element             Direction   Inclusion Cond.  Length

   Protocol Discriminator          BOTH        Mandatory           1

   Call Reference                  BOTH        Mandatory           5

   Message Type                    BOTH        Mandatory           1

   Resource                        BOTH        Mandatory           3

   Channel Identification          BOTH        Mandatory           7+

   The Service message is sent by the SG to request a change in channel
   status and by the NAS to indicate a change in channel status.

3.2.1.6 SERVice ACKnowledge

   The Service ACKnowledge message shall be formatted as shown below:

   Information Element             Direction   Inclusion Cond.  Length




Holdrege                                                        [Page 5]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   Protocol Discriminator          BOTH        Mandatory           1

   Call Reference                  BOTH        Mandatory           5

   Message Type                    BOTH        Mandatory           1

   Resource                        BOTH        Mandatory           3

   Channel Identification          BOTH        Mandatory           7+

   The Service Acknowledge message is sent by either the SG or the NAS
   to indicate that the state of the specified channel has been changed.
   The Change Status and Channel Identification IE's should be
   equivalent to the corresponding values sent in the Service Message.

3.2.1.7 LOGon

   The Logon message shall be formatted as shown below:

   Information Element             Direction   Inclusion Cond.  Length

   Protocol Discriminator          NAS -> SG   Mandatory           1

   Call Reference                  NAS -> SG   Mandatory           5

   Message Type                    NAS -> SG   Mandatory           1

   When the NAS cold restarts, it will send a LOGon message to notify
   the SG. Then the NAS will send REGistration messages to inform the SG
   of the available resources. The Protocol Discriminator of the Logon
   message is 0x43 (Maintenance Protocol Discriminator).

Details

   Information Elements are defined in ITU-T Q.931 and are not re-
   defined here for brevity.

   Timers are defined in ITU-T Q.931 and are not re-defined here for
   brevity.

4. Basic Call Control

   This section describes the basic call control capabilities required
   for processing calls in the SG based NAS system.

4.1 Call Scenarios

4.1.1 Network Initiated Call Origination

4.1.1.1 IAM Initiated with No COT Required

   This scenario describes the signaling that proceeds when a call is
   initiated by the reception of an IAM from the SS7 network and a
   continuity test is not required.



Holdrege                                                        [Page 6]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   * When the SG receives a IAM from the SS7 network, the Nature of
   Connection indicators shall be examined to determine if COT is
   required on the specified circuit.  If COT is not required, the SG
   shall send a SETUP message to the NAS.

   * Once the NAS has determined that the call can be completed and the
   specified channel has been connected to the called party, it shall
   send a CONNECT message to the SG.  The NAS shall start timer T313
   when the CONNECT message is sent.

   * Upon receipt of the CONNECT message, the SG shall send a CONNECT
   ACKNOWLEDGE message to the NAS and an ANM message out to the SS7
   network.

   * Upon receipt of the CONNECT ACKNOWLEDGE message, the NAS shall stop
   timer T313.

4.1.1.2 IAM Initiated with COT Required

   This scenario describes the signaling that proceeds when a call is
   initiated by the reception of an IAM from the SS7 network and a
   continuity test is required.

   * When the SG receives a IAM from the SS7 network, the Nature of
   Connection indicators shall be examined to determine if COT is
   required on the specified circuit.  If COT is required, the SG shall
   send a SERVICE message to the NAS indicating that the specified
   circuit should be placed in a loopback mode, and start timer Tserv.

   * When the NAS receives the SERVICE message indicating the specified
   circuit should be placed in loopback mode, the circuit shall be
   marked as busy, placed in a loopback mode, and a SERVICE ACKNOWLEDGE
   message indicating the circuit was successful placed in a loopback
   mode, shall be sent to the SG.

   * When the SG receives the SERVICE ACKNOWLEDGE message indicating the
   circuit was successfully placed in a loopback mode, timer Tserv shall
   be stopped.

   * When the SG receives a COT message from the SS7 network indicating
   the continuity test was successful, the SG shall send a SETUP message
   to the NAS.

   * Once the NAS has determined that the call can be completed and the
   specified channel has been connected to the called party, it shall
   send a CONNECT message to the SG. The NAS shall start timer T313 when
   the CONNECT message is sent.

   * Upon receipt of the CONNECT message, the SG shall send a CONNECT
   ACKNOWLEDGE message to the NAS and an ANM message out to the SS7
   network.

   * Upon receipt of the CONNECT ACKNOWLEDGE message, the NAS shall stop
   timer T313.



Holdrege                                                        [Page 7]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


4.1.1.3 IAM Initiated with COT on Previous Circuit Required

   This scenario describes the signaling that proceeds when a call is
   initiated by the reception of an IAM from the SS7 network that
   specifies a continuity test on a previous circuit is required.

   * When the SG receives a IAM from the SS7 network, the Nature of
   Connection indicators shall be examined to determine if COT is
   required on the specified circuit, or on a previous circuit. If COT
   is required on a previous circuit, the SG shall send a SETUP message
   out to the control link.

   * Once the NAS has determined that the call can be completed and the
   specified channel has been connected to the called party, it shall
   send a CONNECT message to the SG. The NAS shall start timer T313 when
   the CONNECT message is sent.

   * Upon receipt of the CONNECT message, the SG shall send a CONNECT
   ACKNOWLEDGE message to the NAS.

   * Upon receipt of the CONNECT ACKNOWLEDGE message, the NAS shall stop
   timer T313.

   * When the SG receives a COT message from the SS7 network indicating
   the continuity test was successful, the SG shall send a ANM message
   out to the SS7 network.

4.1.2 Call Clearing

4.1.2.1 Network Initiated Call Clearing

   This scenario describes the signaling that proceeds when a call
   clearing is initiated by the SS7 network.

   * Call clearing is initiated by the SS7 network when a REL is
   received by the SG from the SS7 network.  When the SG receives a REL
   from the SS7 network, a DISCONNECT message with a Cause Value of 16,
   "normal clearing", is sent to the NAS.

   * When the NAS receives a DISCONNECT message the associated circuit
   shall be disconnected, a RELEASE shall be sent to the SG, and timer
   T308 shall be initiated.

   * When the SG receives the RELEASE message, a RELEASE COMPLETE shall
   be sent to the NAS and a RLC shall be sent out to the SS7 network.

   * When the NAS receives the RELEASE COMPLETE message timer T308 shall
   be stopped, the channel shall be released, and the call reference
   shall be released.

   4.1.2.2 NAS Initiated Call Clearing This scenario describes the
   signaling that proceeds when a call clearing is initiated by the NAS.

   * When the NAS detects that an active call has been terminated by the



Holdrege                                                        [Page 8]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   local subscriber, the NAS  shall disconnect the associated circuit,
   send a DISCONNECT message to the SG, and initiate timer T305.

   * When the SG receives a DISCONNECT from the NAS, a RELEASE message
   shall be sent to the NAS, and a RLS message shall be sent out to the
   SS7 network.

   * When the NAS receives the RELEASE message timer T305 shall be
   stopped, the circuit shall be released, the call reference shall be
   released, and a RELEASE COMPLETE shall be sent to the SG.

   * When the NAS receives the RELEASE COMPLETE message timer T308 shall
   be stopped, the B-channel shall be release, and the call reference
   shall be released.

4.1.3 Call Failures and CCR

   * message timer Tserv shall be stopped and a RLC shall be sent out to
   the SS7 network.

4.1.3.1 IAM Initiated with COT on Previous Circuit Failed

   This scenario describes the signaling that proceeds when a call is
   initiated by the reception of an IAM from the SS7 network that
   specifies a continuity test on a previous circuit is required and
   consequently the continuity test fails.

   * When the SG receives a IAM from the SS7 network, the Nature of
   Connection indicators shall be examined to determine if COT is
   required on the specified circuit, or on a previous circuit.  If COT
   is required on a previous circuit, the SG shall send a SETUP message
   out to the control link.

   * Once the NAS has determined that the call can be completed and the
   specified channel has been connected to the called party, it shall
   send a CONNECT message to the SG. The NAS shall start timer T313 when
   the CONNECT message is sent.

   * Upon receipt of the CONNECT message, the SG shall send a CONNECT
   ACKNOWLEDGE message to the NAS.

   * Upon receipt of the CONNECT ACKNOWLEDGE message, the NAS shall stop
   timer T313.

   * When the SG receives a REL message from the SS7 network, which
   indicates the continuity test failed, a DISCONNECT message with a
   Cause Value of 16, "normal clearing", is sent to the NAS.

   * When the NAS receives a DISCONNECT message the associated circuit
   shall be disconnected, a RELEASE shall be sent to the SG, and timer
   T308 shall be initiated.

   * When the SG receives the RELEASE message, a RELEASE COMPLETE shall
   be sent to the NAS and a RLC shall be sent out to the SS7 network.



Holdrege                                                        [Page 9]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   * When the NAS receives the RELEASE COMPLETE message timer T308 shall
   be stopped, the channel shall be released, and the call reference
   shall be released.

4.1.4 Resource Registration

4.1.4.1 Registration

   This scenario describes the message flow that proceeds when a NAS
   unit registers the available hardware interfaces.

   * When the NAS detects that a resource has changed operational
   states, a REGistration message is sent to the SG and Timer T350 shall
   be initiated.

   * When the SG receives the REGistration message, the indicated
   resource states are updated and a REGistration ACKnowledgement is
   sent to the NAS.  The Resource information elements in the
   REGistration ACKnowledgement must be identical to those received in
   the original REGistration message.

   * When the NAS receives the REGistration ACKnowledge message, timer
   T350 shall be stopped.

   4.1.4.2 Registration - T350 Timeout

   This scenario describes the message flow that proceeds when a timeout
   of Timer T350 occurs after the NAS has initiated registration of the
   available hardware interfaces. It is important to note that the NAS
   should continue to re-send the REGistration message and restart Timer
   T350 until a corresponding REGistration ACKnowledge is received.

   * When the NAS detects that a resource has changed operational
   states, a REGistration message is sent to the SG and Timer T350 shall
   be initiated.

   * When Timer T350 expires on the NAS, the NAS shall re-send the
   REGistration message and restart timer T350.

   * When the SG receives the REGistration message, the indicated
   resource states are updated and a REGistration ACKnowledgement is
   sent to the NAS.  The Resource information elements in the
   REGistration ACKnowledgement must be identical to those received in
   the original REGistration message.

   * When the NAS receives the REGistration ACKnowledge message, timer
   T350 shall be stopped.

4.1.4.3 SG Initiated Restart

   This scenario describes the message flow that proceeds when a Restart
   Request primitive is received by the SG Control Protocol from the
   call control.




Holdrege                                                       [Page 10]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   * When the SG Control Protocol receives a Restart Request primitive
   from the call control, a RESTart message is sent to the NAS and timer
   T317 is initiated.

   * When the NAS receives a RESTart message from the SG Control
   Protocol, the specified device shall be restarted and a RESTart
   ACKnowledgment shall be sent to the SG.

   * When the SG Control Protocol receives a RESTart ACKnowledgment from
   the NAS, timer T317 shall be stopped.

4.1.4.4 NAS Initiated Restart

   This scenario describes the message flow that proceeds when a RESTart
   message is received by the SG Control Protocol from the NAS, as shown
   in figure Figure 28 - NAS Initiated Restart.

   * If the NAS determines that a restart of a single DS0, an entire
   DS1/E1, or the entire NAS system is necessary, a RESTART message
   shall be sent to the SG and timer T317 shall be initiated.

   * When the SG Control Protocol receives a RESTart message from the
   NAS, a Restart Indication primitive shall be sent to the call control
   and a RESTart ACKnowledgment shall be sent to the NAS.

   * When the NAS receives a RESTart ACKnowledgment from the SG, timer
   T317 shall be stopped, and the associated equipment shall be
   restarted.

4.2 Detailed Procedures

   This section provides detailed information that describes the
   operation of the SG Control Protocol. A call progresses through
   different states as various events occur, and this section describes
   how the SG and NAS should process calls in each state. The table
   below shows the call states that apply to the SG Control Protocol.

           State Name                      Value
           Null                            0
           Call Initiated                  1
           Call Present                    6
           Connect Request                 8
           Active                          10
           Disconnect Request              11
           Disconnect Indication           12
           Release Request                 19

5.0 Redundancy

   For redundancy support, the SG and the NAS are connected via two
   independent links, a primary link (D1) and a secondary link (D2). The
   D1 and D2 entities on the NAS will attempt to establish sessions with
   their peers on the SG. When a session is established or lost, the
   Data Link Layer Entity (DLLE) will notify the Link Selection Control



Holdrege                                                       [Page 11]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   (LS) entity.

   The LS entity selects an available link (based on the reports from D1
   and D2) and directs all NMI messages to that link. When an active
   link fails or is administratively declared inactive, the LS entity
   looks for an alternate link.

   In general, the NAS Messaging Interface (NMI) is unaware of the link
   selection mechanism. As far as the NMI is concerned, there is a
   single pipe between the Gateway and the NAS. Therefore, the queue of
   outgoing messages (including those that are still unacknowledged)
   must be shared between the two D1 and D2 entities.

   The message exchange between the Gateway and the NAS will use TCP
   over IP.  The TCP port to be used should be user settable.

   The usual physical connection between the Gateway and the NAS will be
   Ethernet. Transmission of IP over Ethernet follows the usual rules.
   Other physical connections are possible.

   All numbers should be in binary, encoded in Network Byte Order (Big
   Endian).

   Sequence numbers follow the rules defined in RFC 1982 ("Serial Number
   Arithmetic").

   The procedures have been designed assuming that the Gateway will
   listen for TCP connections, while the NAS will initiate the TCP
   connections.

   Piggy-back acknowledgments are allowed and encouraged.
   Acknowledgments should not be delayed excessively.

5.1 Formats

5.1.1 NMI packet format

   The NMI packets are transported using the TCP protocol over IP. The
   IP and TCP protocols are standard and are not defined in this
   document. Refer to RFC791 and RFC793 for further details.

   The NMI header is defined below. The Information field is optional
   and it is used to carry NMI messages.

5.1.2 NMI header format

   The NMI header is four bytes long.

          7 6 5 4 3 2 1 0
         +-+-+-+-+-+-+-+-
       0 |     N(r)
         +-+-+-+-+-+-+-+-
       1 |     N(s)
         +-+-+-+-+-+-+-+-



Holdrege                                                       [Page 12]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


       2 |0 0 0 0 0 0
         +-+-+-+-+-+-+-+-
       3 | Info Field Lng

   The N(r) field carries the received sequence number. The N(s) field
   carries the send sequence number. These numbers are used to detect
   duplicated data packets when using multiple links. Duplicate data
   packets can occur on the receiver when the sender switches from one
   active link to another.

   The information field length indicates the length in bytes of the
   information field following the NMI header, if any.  If the
   information field is not present, the length field is set to zero.
   The field is encoded in big-endian format.


5.1.3 Packet types

   Depending on the presence of the information field, there are two
   kinds of packets: Information packets and ACK packets.

5.1.3.1 Information (I) packet

   The function of the Information (I) packet is to transfer
   sequentially numbered NMI messages. In this case, the header is
   followed by an information field containing the NMI message.

   I packets may also be used to acknowledge previously received I
   packets numbered up to and including N(r) - 1. This function is
   commonly referred to "piggy-back acknowledge".

5.1.3.2 Acknowledge (ACK) packet

   The function of the Acknowledge (ACK) packet is to acknowledge
   previously received I packets numbered up to and including N(r) - 1.

5.2 Recommended system parameters

5.2.1 Maximum number of outstanding data packets - k

   The maximum number (k) of sequentially numbered data packets that may
   be outstanding (that is, unacknowledged) at any given time should not
   exceed 63.

5.2.2 Maximum number of received data packets pending acknowledgement -
   m

   The maximum number (m) of sequentially numbered data packets received
   pending acknowledgement at any given time must be smaller or equal to
   the value of k.

5.2.3 ACK delay timer - T1

   The ACK delay timer (T1) specifies the maximum time that an



Holdrege                                                       [Page 13]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   acknowledge response can be delayed after correctly receiving an I
   packet.

5.2.4 Transmission timeout timer - T2

   The transmission timeout timer (T2) specifies the maximum time that
   an end point should wait for an acknowledgement.

5.2.5 Persistent error timer - T3

   The transmission timeout timer (T3) specifies the maximum time that
   the Link Selection layer will wait for a link to establish.  When
   this timer expires, the LS layer will indicate the error with an L2-
   ERROR indication.  When the error condition is removed (i.e., a TCP
   session is established), another L2-ERROR indication will be issued
   with a "no error" indication.

5.3 Variables and sequence numbers

5.3.1 Sequence numbers

   Each NMI message is sequentially numbered.  The sequence numbers
   cycle through the range 1 through 255. The number following 255 is 1,
   the number before 1 is 255. The value 0 has special meaning.

   Arithmetic operations on state variables representing sequence
   numbers are affected by the fact that 0 is a forbidden value.

5.3.2 Link selection (LS) layer

5.3.2.1 Active link - L(a)

   L(a) denotes an identifier associated with the currently selected
   link.  Valid values are system dependent. In UNIX systems, this value
   could be the TCP socket number.

5.3.2.2 Inactive link - L(i)

   L(i) denotes an identifier associated with the other link. Valid
   values are system dependent. In UNIX systems, this value could be the
   TCP socket number.

5.3.2.3 Send state variable - V(s)

   V(s) denotes the sequence number of the next NMI message to be
   transmitted.  V(s) can take on the value 1 through 255. The value of
   V(s) will be incremented by 1 with each successive NMI message
   transmission, and will not exceed V(a) by more than the maximum
   number of outstanding data packets k. The value of k (send window
   size) must be in the range 1 less than or equal to k less than or
   equal to 63.

5.3.2.4 Acknowledge state variable - V(a)




Holdrege                                                       [Page 14]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   V(a) identifies the last NMI message that has been acknowledged by
   its peer [V(a) - 1 equals N(s) of the last acknowledged NMI message].
   V(a) can take on the value 1 through 255. The value of V(a) will be
   updated by the valid N(r) values received from the peer. A valid N(r)
   value is one that is in the range V(a) less than or equal to N(r)
   less than or equal to V(s).

5.3.2.5 Receive state variable - V(r)

   V(r) denotes the sequence number of the next in-sequence NMI message
   expected to be received. V(r) can take on the value 0 through 255.
   The value of V(r) will be incremented by one with the receipt of an
   error-free, in-sequence NMI message whose N(s) equals V(r).

   When the value of V(r) is 0, it will match any received N(s) exactly.
   This is used during sequence synchronization.

5.3.2.6 Receive packets pending acknowledgement counter - RP

   RP denotes the count of received packets that are pending
   acknowledgement.  RP can take on the value 0 through m - 1.  The
   value of RP will be incremented by one with the receipt of an error-
   free, in-sequence NMI message whose N(s) equals V(r). It is reset to
   0 when a packet is transmitted (either an I packet or an ACK packet).

5.3.3 Data link (DL) layer

5.3.3.1 Send sequence number - N(s)

   All packets carry N(s), the send sequence number of transmitted NMI
   messages. At the time that a packet is designated for transmission,
   the value of N(s) is set equal to V(s).  The valid range is 1 through
   255.

5.3.3.2 Receive sequence number - N(r)

   All packets carry N(r), the expected send sequence number of the next
   received NMI message. At the time that a packet is designated for
   transmission, the value of N(r) is set equal to V(r). N(r) indicates
   that the DLLE transmitting the N(r) has correctly received all data
   packets numbered up to and including N(r) - 1.

   A valid N(r) value is one that is in the range V(a) less than or
   equal to N(r) less than or equal to V(s).

   The valid range of values is 0 through 255. The value 0 indicates
   that the sender of the packet needs to synchronize sequence numbers.

5.4 Primitives

5.4.1 NP <-> LS primitives

5.4.1.1 L2-START




Holdrege                                                       [Page 15]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The L2-START primitive is used to request the establishing of a
   redundant session.

5.4.1.2 L2-STOP

   The L2-STOP primitive is used to request the release of an
   established redundant session. All pending outgoing data will be
   delivered before the session is released.

5.4.1.3 L2-ABORT

   The L2-ABORT primitive is used to request the immediate release of an
   established session. All pending outgoing data is discarded.

5.4.1.4 L2-DATA

   The L2-DATA primitives are used to request and indicate NMI messages
   which are to be transmitted, or have been received, by the data link
   layer.

5.4.1.5 L2-ERROR

   The L2-ERROR primitive is used to indicate when an error condition
   has occurred. Some of the possible conditions include:

            Loss of communication with peer.

            Persistent loss of communication with peer.

            Error condition removed.

5.4.2 LS <-> DL primitives

5.4.2.1 DL-ESTABLISH

   The DL-ESTABLISH primitives are used to request and confirm the
   outcome of procedures for establishing a TCP session.

5.4.2.2 DL-RELEASE

   The DL-RELEASE primitives are used to request, indicate and confirm
   the release of an established TCP session.

5.4.2.3 DL-ACTIVE

   The DL-ACTIVE primitives are used to request, indicate and confirm
   the outcome of procedures for activating a link.

5.4.2.4 DL-DATA

   The DL-DATA primitives are used to request and indicate NMI messages
   which are to be transmitted, or have been received, by the data link
   layer.




Holdrege                                                       [Page 16]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


5.4.2.5 DL-ERROR

   The DL-ERROR primitive is used to indicate when an error has
   occurred.

5.4.3 DL <-> DA primitives

5.4.3.1 DD-SYNC

   The DD-SYNC primitive is used to request and indicate the
   synchronization of a data link.

5.4.3.2 DD-LOSS

   The DD-LOSS primitive is used to indicate that a data link is no
   longer available. The TCP session should be closed and reestablished.
   Some of possible reasons include:

   Loss of TCP connection (such as reception of an RST or FIN flag).

   Timeout while waiting for an acknowledge after sending an I packet.

   Reception of an invalid N(r).

   Reception of an invalid N(s).

5.4.3.3 DD-DATA

   The DD-DATA primitives are used to request and indicate NMI messages
   which are to be transmitted, or have been received, by the data link
   layer.

5.4.4 TCP primitives

5.4.4.1 TCP-CONNECT

   The TCP-CONNECT primitives are used to request and confirm
   establishing a TCP session.

5.4.4.2 TCP-CLOSE

   The TCP-CLOSE primitives are used to request and indicate the release
   of an established TCP session.

5.4.4.3 TCP-ABORT

   The TCP-ABORT primitives is used to request the immediate release of
   a TCP session.

6. State transition tables

6.1 State machines overview

6.1.1 Layer 2 - Link selection state machine (LS)



Holdrege                                                       [Page 17]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The link selection (LS) layer implements redundant data delivery,
   link management and selection for both data links. The following is a
   list of the Link Selection layer states:

   State   Name            Comments

   0       Inactive        NMI layer 2 is disabled.

   1       Selecting       Layer 2 starting. Waiting for DL-ESTABLISH.

   2       Active          Layer 2 active: a link is active and data
                           transfer is possible.

   3       Restarting      Layer 2 restarting with new parameters.
                           Waiting for both links to be released. Any
                           pending data will be sent before the active
                           link is released.

   4       Stopping        Layer 2 stopping. Waiting for both links to
                           be released.

   5       Stopping-       Layer 2 stopping and restarting. Waiting for
           restart         both links to be released before the new
                           parameters are effected.

6.1.2 Link control state machine (LC)

   Each redundant link is controlled by a 'Link Control State Machine'.
   The following is a list of the Link Control states:

   State   Name            Comments

   0       Inactive

   1       Unavailable     Link establishment in progress.

   2       Available       Link established and ready.

   3       Pending         Link established and ready. Synchronization
                           activation pattern received.

   4       Active          Link active. Data transfer occurs on this
                           link.

   5       Stopping        Active link stopping. Waiting for all pending
                           outgoing data to be delivered.

   6       Closing         Active link closing. Waiting for TCP
                           confirmation of link closed.

   7       Releasing       Inactive link closing. Waiting for TCP
                           confirmation of link closed.

6.1.3 Link state machine - active mode (LA)



Holdrege                                                       [Page 18]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The following is a list of the link states while in active mode. A
   link is said to be in active mode if it is the currently selected
   link. A link that is in the active mode is enabled for data transfer.

   State   Name            Comments

   0       Idle            Link control state is one of the following:
                           INACTIVE, UNAVAILABLE, AVAILABLE, RELEASING
                           and CLOSING.

   1       Sync sent       Active link, synchronization request sent.
                           Waiting for synchronization response.

   2       Established     Active link, no data to send and no
                           acknowledge pending.

   3       Acknowledge     Active link, data has been received but a
                           pending acknowledgement has not been sent.

   4       Data sent       Active link, data sent but not acknowledged.

   5       Data sent,      Active link, data sent but not acknowledged
           acknowledge     and data has been received but an
           pending         acknowledgement has not been sent.

7. Security Considerations

   SS7 is a critical network component in the PSTN and must be protected
   at all costs. This is taken into consideration in all current SS7
   networks.  Signaling gateways are designed also to protect the SS7
   network and should employ thoughtful thresholds to make sure a NAS or
   malicious intermediate entity cannot adversely affect the SS7 network
   or any SS7 connected nodes.

   Also, it is recommended but not required that the TCP/IP link from
   the NAS to the SG be protected by IPsec AH and ESP. In the case that
   the physical network between the NAS and SG is private, such security
   techniques are optional. In the case that the IP backbone used is
   shared with other applications and/or nodes, IPsec security is
   strongly recommended. This is to prevent Denial of Service attacks,
   and false message attacks which cannot be prevented by SG thresholds.

8. Acronyms

   ANM             Answer Message

   SG              Signaling SG

   CCR             Continuity Check Request

   COT             Continuity

   CPE             Customer Premises Equipment




Holdrege                                                       [Page 19]


I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   CRM             Circuit Reservation Message

   IAM             Initial Address Message

   ICD             Interface Control Document

   IE              Information Element

   IP              Internet Protocol

   ISDN            Integrated Services Digital Network

   ISP             Internet Service Provider

   ISUP            ISDN User Part

   MTP             Message Transfer Part

   PCM             Pulse Code Modulation

   PSTN            Public Switched Telephone Network

   SPCS            Stored Program Control System

   SS7             Signaling System Number 7

   UL              Upper Layer

10. Authors Address

      Matt Holdrege
      1701 Harbor Bay Pkwy
      Alameda, CA 94502
      510-747-2711
      matt@ascend.com

   Full Copyright Statement

   Copyright (C) The Internet Society (1998).  All Rights Reserved.

   This document and translations of it may be copied and furnished to
   others, and derivative works that comment on or otherwise explain it
   or assist in its implementation may be prepared, copied, published
   and distributed, in whole or in part, without restriction of any
   kind, provided that the above copyright notice and this paragraph are
   included on all such copies and derivative works.  However, this
   document itself may not be modified in any way, such as by removing
   the copyright notice or references to the Internet Society or other
   Internet organizations, except as needed for the purpose of
   developing Internet standards in which case the procedures for
   copyrights defined in the Internet Standards process must be
   followed, or as required to translate it into languages other than
   English.




Holdrege                                                       [Page 20]

I-D         The Reliable Signaling Gateway Control Protocol    June 1998


   The limited permissions granted above are perpetual and will not be
   revoked by the Internet Society or its successors or assigns.

   This document and the information contained herein is provided on an
   "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
   TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
   BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
   HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
   MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

INTERNET DRAFT          EXPIRES DEC 1998        INTERNET DRAFT