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