SoftX3000 Technical Manual-Signaling&Protocols
SoftX3000 Technical Manual-Signaling&Protocols
SoftX3000 Technical Manual-Signaling&Protocols
1-1
1-1
1-1
1-1
1-8
1-8
1-9
1-9
1-12
1-23
1-23
1-24
1-37
Chapter 2 H.248................................................................................................
2-1
2-1
2-1
2-1
2-6
2-7
2-8
2-8
2-9
2-25
2-25
2-26
2-27
2-28
2-39
3-1
3-1
3-1
3-2
3-6
3-6
3-7
3-7
3-10
3-25
3-25
3-28
3-36
3-39
Chapter 4 H.323................................................................................................
4-1
4-1
4-1
4-1
4-4
4-6
4-7
4-7
4-8
4-16
4-18
4-18
4-19
4-20
4-21
4-24
4-27
4-30
4-30
4-33
4-42
4-44
4-44
4-72
4-72
5-1
5-1
5-1
5-2
5-2
5-3
5-4
5-4
5-4
5-9
5-12
5-17
5-40
5-46
5-46
5-46
5-48
5-48
5-49
5-74
5-75
5-75
5-77
5-119
5-121
5-121
5-122
5-123
5-123
5-124
5-125
5-127
5-127
5-144
5-149
5-149
5-149
5-151
5-152
5-152
5-153
5-154
5-162
6-1
6-1
6-2
6-2
6-4
6-3
6-3
6-6
6-10
6-12
6-12
6-13
6-3
6-3
6-5
6-8
6-8
6-11
6-13
7-1
7-1
7-1
7-6
7-2
7-3
8-1
8-1
8-1
8-1
8-7
8-8
8-10
8-13
8-15
8-15
8-19
8-19
8-22
8-27
HUAWEI
Manual Version
T2-010257-20050115-C-3.07
Product Version
V300R001
BOM
31025857
Huawei Technologies Co., Ltd. provides customers with comprehensive technical support
and service. Please feel free to contact our local office or company headquarters.
Trademarks
Notice
The information in this manual is subject to change without notice. Every effort has
been made in the preparation of this manual to ensure accuracy of the contents, but
all statements, information, and recommendations in this manual do not constitute
the warranty of any kind, express or implied.
Related Manuals
The related manuals are listed in the following table.
Manual
Content
Manual
Content
Organization
This manual introduces the NGN signaling knowledge and procedures used in the
SoftX3000.
There are five chapters in the manual.
z
Intended Audience
The manual is intended for the following readers:
z
Conventions
The manual uses the following conventions:
I. General conventions
Convention
Description
Arial
Arial Narrow
Boldface
Courier New
II. Symbols
Eye-catching symbols are also used in the manual to highlight the points worthy of
special attention during the operation. They are defined as follows:
Table of Contents
Table of Contents
Chapter 1 MGCP ............................................................................................................................ 1-1
1.1 Overview ............................................................................................................................ 1-1
1.1.1 Basic Concepts ....................................................................................................... 1-1
1.1.2 Related Terms......................................................................................................... 1-1
1.1.3 Structure of Protocol Stack ..................................................................................... 1-8
1.1.4 Implementation in SoftX3000 .................................................................................. 1-8
1.2 Protocol Messages ............................................................................................................ 1-9
1.2.1 Message Types ....................................................................................................... 1-9
1.2.2 Message Structure ................................................................................................ 1-12
1.3 Basic Control Procedures ................................................................................................ 1-23
1.3.1 Gateway Registration Procedure .......................................................................... 1-23
1.3.2 Successful Termination Call Procedure (in the Same MG) .................................. 1-24
1.3.3 Successful Termination Call Procedure (in Different MGs) .................................. 1-37
Chapter 2 H.248 ............................................................................................................................. 2-1
2.1 Overview ............................................................................................................................ 2-1
2.1.1 Basic Concepts ....................................................................................................... 2-1
2.1.2 Related Terms......................................................................................................... 2-1
2.1.3 Structure of Protocol Stack ..................................................................................... 2-6
2.1.4 Implementation in SoftX3000 .................................................................................. 2-7
2.2 Protocol Messages ............................................................................................................ 2-8
2.2.1 Message Types ....................................................................................................... 2-8
2.2.2 Message Structure .................................................................................................. 2-9
2.3 Basic Control Procedures ................................................................................................ 2-25
2.3.1 Gateway Registration Procedure .......................................................................... 2-25
2.3.2 Gateway Cancellation Procedure.......................................................................... 2-26
2.3.3 Gateway Initialization Procedure........................................................................... 2-27
2.3.4 Successful Termination Call Procedure ................................................................ 2-28
2.3.5 Successful Trunk Call Procedure.......................................................................... 2-39
Chapter 3 SIP ................................................................................................................................. 3-1
3.1 Overview ............................................................................................................................ 3-1
3.1.1 Basic Concepts ....................................................................................................... 3-1
3.1.2 Related Terms......................................................................................................... 3-2
3.1.3 Structure of Protocol Stack ..................................................................................... 3-6
3.1.4 Implementation in SoftX3000 .................................................................................. 3-6
3.2 Protocol Messages ............................................................................................................ 3-7
3.2.1 Message Types ....................................................................................................... 3-7
3.2.2 Message Structure ................................................................................................ 3-10
i
Table of Contents
Table of Contents
iii
Table of Contents
iv
Chapter 1 MGCP
Chapter 1 MGCP
1.1 Overview
1.1.1 Basic Concepts
RFC2705 document describes an application programming interface and a
corresponding protocol (media gateway control protocol, MGCP) for controlling Voice
over Internet Protocol (VoIP) gateways from external call control elements.
MGCP assumes a call control architecture where call control is independent of service
bearer. As shown in Figure 1-1, the call control intelligence is outside the Media
Gateways (MGs) and handled by external call control elements named Media Gateway
Controller (MGC) or Call Agent (CA). MGCP is, in essence, a master/slave protocol,
where the MGs are expected to execute commands sent by the MGCs.
MGC
Control streams
MG
Media streams
Trunk Media Gateways (TMG): that interface between the traditional telephone
network (Public Switched Telephone Network, PSTN) and a VoIP network. Such
gateways typically manage a large number of digital circuits.
Access Media Gateways (AMG): that convert media in one network to a suitable
format required by another network. For example, AMGs can achieve the
conversion between bearer channels of a circuit switched network and media
streams of a packet switched network.
1-1
Chapter 1 MGCP
IV. Endpoint
Endpoints are sources or sinks of data and can be physical or virtual.
Examples of physical endpoints are an interface on a trunk gateway that terminates a
trunk connected to a PSTN switch, and a port on an access gateway connected to
E-phones. An example of a virtual endpoint is an audio source in an MRS. Creation of
physical endpoints requires hardware installation, while creation of virtual endpoints
can be done by software.
V. Endpoint identifier
Endpoints are identified by endpoint identifiers. Endpoint identifiers have two
components that both are case insensitive: the domain name of the gateway that is
managing the endpoint, and a local name within that gateway. Between the
components, an at sign (@) is used as a delimiter. The syntax of the local name
depends on the type of endpoint being named. However, the local name for each of
these types is naturally hierarchical, beginning with a term that identifies the physical
gateway containing the given endpoint and ending in a term that specifies the individual
endpoint concerned. With this in mind, the following rules for construction and
interpretation of endpoint identifiers must be supported:
z
The individual terms of the naming path must be separated by a single slash (/").
1-2
Chapter 1 MGCP
The individual terms are character strings composed of letters, digits or other
printable characters, with the exception of characters used as delimiters (/, @),
and white spaces.
Characters used for wildcarding (*, $) can be used in local names. A term
represented by an asterisk is to be interpreted as: use ALL values of this term
known within the scope of the Media Gateway. A term represented by a dollar
sign is to be interpreted as: use ANY ONE value of this term known within the
scope of the Media Gateway.
1-3
Chapter 1 MGCP
The call agent asks the first gateway to create a connection on the first endpoint.
The gateway allocates resources to that connection, and responds to the
command by providing a session description. The session description contains
the information necessary for a third party to send packets towards the newly
created connection, such as IP address, User Datagram Protocol (UDP) port, and
packetization parameters.
2)
The call agent then asks the second gateway to create a connection on the
second endpoint. The command carries the session description provided by the
first gateway. The gateway allocates resources to that connection, and responds
to the command by providing a session description.
3)
The call agent uses a modify connection command to provide the second
session description to the first endpoint. Once this is done, communication can
proceed in both directions.
Chapter 1 MGCP
addresses. A gateway identifies a Call Agent through its domain name. For lower-layer
operations, the gateway fetches the list of network addresses of the Call Agent from the
domain name server, and uses an appropriate network address for communication with
the Call Agent according to specific situations. This redundancy mechanism is
significant to improve the reliability of the system.
Other entities, such as gateways and information servers, are also identified by their
domain names. Similarly, these entities can make full use of redundancy to enhance
the reliability of the system. For Call Agents and gateways, they identify these entities
through domain name.
Domain name prevents these entities from being identified directly through network
addresses, because the domain name is relatively stable while network addresses can
be easily changed. For example, if an entity is moved to a different Local Access
Network (LAN), the IP address of the entity will be changed but the domain name can
be retained. The domain name life ensures other entities can refresh the information
about the domain name of that entity in time to obtain its latest IP address.
In MGCP, Call Agents and other entities are represented by e-mail address in essence,
as in:
Call-agent@ca.example.net
1-5
Chapter 1 MGCP
Package ID
DTMF package
MF package
Trunk package
Line package
RTP package
Script package
Script
Meaning
l/hd
l/hu
l/dl
l/hf
l/aw
l/bz
l/wt
l/rg
l/sl
M/0
M/[0-9]
fh
G/rt@0A3F58
G/mt
G/ft
1-6
Chapter 1 MGCP
Event name
Meaning
G/ld
[0-9*#A-D]
T/$
R/qa@*
R/rt@$
Local operator
00
xxxx
8xxxxxxx
Local number
xxxxxxx#
1-7
Chapter 1 MGCP
*xx
Star services
91xxxxxxxxxx
9011 + up to 15 digits
International number
The dial plan described above results in the following digit map:
(0T| 00T|[1-7]xxx|8xxxxxxx|xxxxxxx#|*xx|91xxxxxxxxxx|9011x.T)
1-8
Chapter 1 MGCP
SoftX3000
23
/ H.3
/S IP
P
C
MG
SS7
E1
CP
MRS
IP Core
n
tra
Sig
8
24
H.
SoftPhone
PSTN
G
M
MG
C
IAD
TMG8010
E-phone
E-phone
1-9
Chapter 1 MGCP
Code
Description
EndpointConfiguration
EPCF
NotificationRequest
RQNT
Notify
NTFY
CRCX
ModifyConnection
MDCX
DeleteConnection
DLCX
AuditEndpoints
AUEP
AuditConnection
AUCX
RestartInProgress
RSIP
MGMGC, used by the gateway to notify the Call Agent that the
gateway, or a group of endpoints managed by the gateway, is
being taken out of service or is being placed back in service.
CreateConnection
II. Response
All MGCP commands are acknowledged. The acknowledgement carries a return code
which is an integer, for which four ranges of values have been defined:
z
1-10
Chapter 1 MGCP
Meaning
100
200
250
400
401
402
403
The transaction could not be executed, because the endpoint does not have
sufficient resources at this time.
404
500
501
The transaction could not be executed, because the endpoint is not ready.
502
The transaction could not be executed, because the endpoint does not have
sufficient resources.
510
The transaction could not be executed, because a protocol error was detected.
511
512
The transaction could not be executed, because the gateway is not equipped to
detect one of the requested events.
513
The transaction could not be executed, because the gateway is not equipped to
generate one of the requested signals.
514
The transaction could not be executed, because the gateway cannot send the
specified announcement.
515
516
517
518
519
520
521
522
523
524
1-11
Chapter 1 MGCP
Response code
Meaning
525
526
Insufficient bandwidth.
527
Missing RemoteConnectionDescriptor.
528
529
530
531
Command structure
Displayed in Figure 1-5 is the format of MGCP command, which consists of a command
line and a group of parameter lines. A line feed character distinguishes the command
line and each parameter line.
Command name
Transaction ID
Endpoint
Protocol version
Command line
...
Command parameters
ResponseAck (K)
BearerInformation (B)
It refers to bearer attributes. Currently only one attribute, encoding, is defined. The
code of encoding attribute is e. Its values can be set to A which represents A-law
and which represents -law. For example, a BearerInformation code is B: e:mu
z
CallId (C)
1-12
Chapter 1 MGCP
CallId is a globally unique parameter that identifies the call (or session) to which this
connection belongs. Connections that belong to the same call share the same call-id.
The call-id can be used to identify calls for reporting and accounting purposes. Call-id
identifies calls, which is expressed as a hexadecimal character string, composed of a
maximum of 32 characters.
z
ConnectionId (I)
3)
NotifiedEntity specifies where the notifications should be sent. When this parameter is
absent, the notifications should be sent to the originator of the NotificationRequest.
RequestIdentifier (X)
RequestIdentifier is used to correlate this request with the notifications that it triggers.
RequestIdentifier is expressed as a hexadecimal character string which is composed of
a maximum of 32 characters.
LocalConnectionOptions (L)
The local connection options describe the operational parameters that the Call Agent
suggests to the gateway. These parameters are: the packetization period in
milliseconds (encoded as the keyword p), the preferred type of compression
algorithm (encoded as the keyword a), the bandwidth in kilobits per second (encoded
as the keyword b), the echo cancellation parameter (encoded as the keyword e), the
gain control parameter (encoded as the keyword gc), the silence suppression
parameter (encoded as the keyword s), the type of service parameter (encoded as the
keyword t), the resource reservation parameter (encoded as the keyword r), the
encryption key (encoded as the keyword k), and the type of network (encoded as the
keyword nt). Each of the parameters is optional. When several parameters are
present, the values are separated by commas. Examples of connection descriptors
are:
L: p:10, a:PCMU
L: p:10, a:G726-32
L: p:10-20, b:64
L: b:32-64, e:off
z
Meaning
sendonly
recvonly
1-13
Chapter 1 MGCP
Connection mode
Meaning
sendrecv
confrnce
inactive
loopback
conttest
netwloop
netwtest
The gateway should place the connection in network continuity test mode.
data
The gateway should use the circuit for network access for data.
RequestedEvents (R)
The RequestedEvents parameter provides the list of events that have been requested.
Each event can be qualified by a requested action, or by a list of actions. The actions,
when specified, are encoded as a list of keywords, enclosed in parenthesis and
separated by commas. Table 1-7 shows the codes for the various actions.
Table 1-7 Action codes
Code
Action
Notify immediately
Accumulate
Swap
Ignore
When no action is specified, the default action is to notify the event. This means that,
for example, ft and ft(N) are equivalent. Events that are not listed are ignored.
The digit-map action can only be specified for the digits, letters and inter-digit timers in
the MF and DTMF packets, or in other packages that would define the encoding of
digits and timers.
The requested list is encoded on a single line, with event/action groups separated by
commas. Examples of RequestedEvents encoding are:
R: hu(N), hf(S,N)
R: hu(N), [0-9#T](D)
z
SignalRequests (S)
1-14
Chapter 1 MGCP
The SignalRequests parameter provides the name of the signals that have been
requested.
Several signals, for example announcement or Analogue Display Server Interface
server (ADSI) display, can be qualified by additional parameters:
the name and parameters of the announcement,
the string that should be displayed.
These parameters will be encoded as a set of UTF8 character strings, separated by
commas and enclosed within parenthesis, as in:
S: adsi("123456 Francois Gerard")
S: ann(no-such-number, 1234567)
When several signals are requested, their codes are separated by commas, as in:
S: asdi(123456 Your friend), rg
ObservedEvents (O)
The ObservedEvents parameter provides the list of events that have been observed.
Examples of observed actions are:
O: L/hu
O: 8295555T
O: 8,2,9,5,5,L/hf,5,5,T
O: L/hf, L/hf, L/hu
ConnectionParameters (P)
Connection parameters are encoded as a string of type and value pairs, where the type
is either a letter identifier of the parameter or an extension type, and the value is
decimal integer. Types are separated from value by an = sign. Parameters are
encoded from each other by commas.
Table 1-8 shows the connection parameter types.
Table 1-8 Connection parameter types
Code
Connection
parameter name
PS
Packets sent
OS
Octets sent
PR
Packets received
OR
Octets received
PL
Packets lost
JI
Jitter
LA
Latency
1-15
Chapter 1 MGCP
ReasonCode (E)
Reason codes are used by the gateway when deleting a connection to inform the Call
Agent about the reason for deleting the connection. They may also be used in a
RestartInProgress command, to inform the gateway of the Restarts reason. The
reason code is an integer number, and the values listed in Table 1-9 have been defined.
Table 1-9 Command reason codes
Reason code
Description
000
Endpoint state is nominal. (This code is used only in response to audit requests.)
900
Endpoint malfunctioning
901
902
Reason codes are three-digit numeric values. The reason code is optionally followed
by a white space and commentary, as in:
900 Endpoint malfuctioning
z
SpecificEndpointId (Z)
RequestedInfo (F)
DigitMap,
SignalRequests,
RequestIdentifier,
NotifiedEntity,
QuarantineHandling (Q)
1-16
Chapter 1 MGCP
DetectEvents (T)
The list of events that are currently detected in the quarantine mode. The DetectEvent
parameter is encoded as a comma separated list of events.
For example:
T: hu,hd,hf,[0-9#*]
z
RestartMethod (RM)
The RestartMethod parameter specifies the type of restart, encoded as one of the
following keywords:
A graceful restart method indicates that the specified endpoints will be taken out of
service after the specified delay. The established connections are not yet affected, but
the Call Agent should refrain to establish new connections, and should try to gracefully
tear down the existing connections.
A forced restart method indicates that the specified endpoints are taken abruptly out
of service. The established connections, if any, are lost.
A restart method indicates that service will be restored on the endpoints after the
specified restart delay. There are no connections that are currently established on the
endpoints.
A disconnected method indicates that the endpoint has become disconnected and is
now trying to establish connectivity. The restart delay specifies the number of seconds
the endpoint has been disconnected. Established connections are not affected.
A cancel-graceful method indicates that a gateway is canceling a previously issued
graceful restart command.
For example:
RM:restart
z
RestartDelay (RD)
1-17
Chapter 1 MGCP
EventStates (ES)
Capabilities (A)
Capabilities inform the Call Agent about endpoints capabilities when audited. The
encoding of capabilities is based on the Local Connection Options encoding for the
parameters that are common to both. The parameters used are Event Packages (v),
Modes (m), a list of supported codecs (*), type of network (nt), and so on.
In addition, capabilities can also contain a list of supported packages and a list of
supported modes.
z
The
RemoteConnectionDescriptor (RC)
RemoteConnectionDescriptor
includes
the
same
fields
as
in
the
LocalConnectionDescriptor (LC)
Command expressions
What are within the parenthesis preceded by the command name are input parameters.
Those enclosed by [] are optional.
z
EndpointConfiguration
NotificationRequest
1-18
Chapter 1 MGCP
RQNT
(EndpointId,[NotifiedEntity,][RequestedEvents,]RequestIdentifier,[DigitMap,][SignalRe
quests,][QuarantineHandling,][DetectEvents,][encapsulated EndpointConfiguration])
z
Notify
NTFY (EndpointId,[NotifiedEntity,]RequestIdentifier,ObservedEvents)
z
CreateConnection
CRCX
(CallId,EndpointId,[NotifiedEntity,]LocalConnectionOptions,]Mode,[RemoteConnection
Descriptor,][Encapsulated NotificationRequest,][Encapsulated EndpointConfiguration])
z
ModifyConnection
MDCX
(CallId,EndpointId,ConnectionId,[NotifiedEntity,][LocalConnectionOptions,][Mode,][Re
moteConnectionDescriptor,][Encapsulated
NotificationRequest,][Encapsulated
EndpointConfiguration])
z
DeleteConnection
(CallId,EndpointId,ConnectionId,[Encapsulated
NotificationRequest,][Encapsulated EndpointConfiguration])
DeleteConnection from the VoIP gateway:
DLCX (CallId,EndpointId,ConnectionId,Reason-code,Connection-parameters)
DeleteConnection from the Call Agent to delete multiple connections:
DLCX (CallId,EndpointId)
z
AuditEndpoint
AUEP (EndpointId,RequestedInfo)
z
AuditConnection
AUCX (EndpointId,ConnectionId,RequestedInfo)
z
RestartInProgress
RSIP (EndpointId,RestartMethod,[RestartDelay,][Reason-code])
5)
Command sample
1-19
Chapter 1 MGCP
The 1st line: The CreateConnection command. The transaction identifier is 693585490,
used to correlate this command with the responses that it triggers. It means to create a
connection between SoftX3000 and the second port of the access gateway whose
domain name is zd0068.com and the interface name is aaln. The protocol version of
MGCP is 1.0.
The 2nd line: The call identifier is a265.
The 3rd line: The local connection options. The Call Agent suggests to the gateway that
the compression algorithm is PCMA and the encapsulation delay is 20 milliseconds.
The 4th line: The connection mode is inactive, that is, neither sending nor receiving
packets. Only after the ModifyConnection command is executed, the connection mode
is changed to sendrecv.
The 5th line: The encapsulated NotificationRequest in this CreateConnection command.
The request identifier is 65000108, used to correlate this request with the notifications
that it triggers.
The 6th line: SoftX3000 requests the gateway to monitor the following events that will
happen in the endpoint: digit collection according to the rules specified by the digit map.
D/[0-9*#T] indicates the digits and letters in the DTMF packages. What are involved
are the digits from 0 to 9, the asterisk sign *, the pound sign #, and the timer identifier
T. Those characters can be part of digit strings, representing the dial keys for user.
D/[0-9*#T](D) indicates to process the digit strings dialed by user according to the
digit map. If a digit string matches at least one of available dial plans defined in the digit
map, the endpoint1 resident gateway will send the current digit string to the Call Agent.
G/ld(N) indicates if a long duration connection event in the generic media packages
happens then it is requested to notify the Call Agent. (Long duration connection refers
to a connection lasting for more than one hour.)
The 7th line: The signal is null, indicating the MGC requires the MG to stop any signal
being sent currently.
Response structure
1-20
Response code
Chapter 1 MGCP
Transaction ID
Commentary (optional)
Response line
...
Response parameters
The optional response parameter lines depend on the corresponding commands. For
more information, refer to the section Command parameters, earlier in this chapter.
3)
Response expressions
What are within the parenthesis preceded by the command name are response
parameter values. Those enclosed by [] are optional.
z
EndpointConfiguration
EPCF (ReturnCode)
z
NotificationRequest
RQNT (ReturnCode)
z
Notify
NTFY (ReturnCode)
z
CreateConnection
CRCX (ReturnCode,ConnectionId,[SpecificEndpointId,][LocalConnectionDescriptor])
z
ModifyConnection
MDCX (ReturnCode,[LocalConnectionDescriptor])
z
DeleteConnection
AuditEndpoint
AUEP
(ReturnCode,EndpointIdList|{[RequestedEvents,][DigitMap,][SignalRequests,][Reques
tIdentifier,][NotifiedEntity,][ConnectionIdentifiers,][DetectEvents,][ObservedEvents,][Ev
1-21
Chapter 1 MGCP
entStates,][BearerInformation,][RestartReason,][RestartDelay,][ReasonCode,][Capabil
ities]})
z
AuditConnection
AUCX
(ReturnCode,[CallId,][NotifiedEntity,][LocalConnectionOptions,][Mode,][RemoteConne
ctionDescriptor,][LocalConnectionDescriptor,][ConnectionParameters])
z
RestartInProgress
RSIP (ReturnCode,[NotifiedEntity])
4)
Response sample
v=0
c=IN IP4 191.169.4.165
m=audio 5012 RTP/AVP 8 0
a=ptime:20
The 1st line: 200 indicates the successful receipt of the command. 693585490 is a
transaction identifier which is the same as the transaction identifier contained in the
CreateConnection command that triggers this response. CRCX OK is a commentary.
The 2nd line: The connection identifier is 1607901.
The 3rd line: Null, indicating what is preceded is an SDP session description.
The 4th line: The SDP protocol version is 0. It is the local connection descriptor at this
time.
The 5th line: c in the response identifies the connection information. IN refers to
network indicator in the form of a text string. The currently defined IN is Internet. IP4
indicates the type of connection address is IP4. 191.169.4.165 represents the
network address of the gateway that has a connection with the MGC.
The 6th line: Media description. audio indicates the type of media is audio. ("audio is
used for audio connections, and nas used for data access.) 5012 is the transport
layer port number to which media streams are transmitted. RTP/AVP is the transport
layer protocol. Its value is associated with the type of address in the c line. For IP4, a
great number of media service streams are transferred over RTP/UDP. There are two
classes of protocols defined: RTP/AVP, audio/video application document, transported
over UDP; Udp, the DUP protocol. For audio and video signals, 8 0 represents the
type of media payload defined in the RTP audio/video application document. It
indicates all the formats may be used in the session but the first one is the default. At
this time, the mapping relation from RTP payload type to encoding is that 8
1-22
Chapter 1 MGCP
SoftX3000
RSIP
RSIP_RSP
Event 1: The MG originates an RSIP command to the MGC, reporting the MG has
completed a load or restart and requesting to register to the MGC. The following is
an RSIP encoding sample:
The 1st line: The RestartInProgress command. The transaction identifier is 836, used to
correlate this command with the responses that it triggers. It can be found that a restart
will take place on all endpoints of the access gateway whose domain name is
iad-v2a-he.com and the interface name is aaln. The protocol version of MGCP is 1.0.
The 2nd line: The restart method is restart. A restart method indicates that service will
be restored on the endpoints after the specified restart delay. There are no
connections that are currently established on the endpoints of the gateway.
2)
Event 2: The MGC sends a response to the MG registration request. The following
are RestartInProgress response samples.
Sample 1:
1-23
Chapter 1 MGCP
200 836 OK
200 indicates the successful receipt of the command. 836 is a transaction identifier
which is the same as the transaction identifier contained in the command that triggers
this response. OK is a commentary. If the MG receives this response, it indicates a
successful registration.
Sample 2:
500 836 The endpoint is unknown
500 indicates the transaction could not be executed because the endpoint is unknown.
836 is a transaction identifier which is the same as the transaction identifier contained
in the command that triggers this response. The endpoint is unknown is a
commentary. If the MG receives this response, it indicates an unsuccessful registration.
The UserA makes a call to the UserB, and the called party hooks on first;
1-24
Chapter 1 MGCP
Endpoint1
1
Off-hook
dial-tone
dialing
SoftX3000
Endpoint2
UserB
RQNT
RQNT_RSP
NTFY
NTFY_RSP
3
RQNT
RQNT_RSP
NTFY
NTFY_RSP
CRCX
CRCX_RSP
CRCX
CRCX_RSP
7 RQNT
RQNT_RSP
Ringback tone
11
RQNT
RQNT_RSP
MDCX
MDCX_RSP
NTFY
NTFY_RSP
Ringing
Off-hook
10 MDCX
MDCX_RSP
Conversation
12 NTFY
On-hook
NTFY_RSP
13 MDCX
MDCX_RSP
15
Busy-tone
On-hook
DLCX
DLCX_RSP
17 NTFY
NTFY_RSP
18
14 DLCX
DLCX_RSP
16 RQNT
RQNT_RSP
RQNT
RQNT_RSP
Figure 1-8 MGCP call procedure between two endpoints in the same MG
1)
RQNT encoding
The 1st line: The NotificationRequest command. The transaction identifier is 59659850,
used to correlate this command with the responses that it triggers. It indicates
SoftX3000 sends requests to the first port of the access gateway whose domain name
is zd0068.com and the interface name is aaln. The protocol version of MGCP is 1.0.
The 2nd line: The request identifier is 6500010a, used to correlate this request with the
notifications that it triggers.
The 3rd line: SoftX3000 requests the MG to detect the off-hook event in the endpoint.
1-25
Chapter 1 MGCP
The 4th line: The signal is null, indicating the MGC requires the MG to stop any signal
being sent currently.
z
RQNT_RSP encoding
200 59659850 OK
Event 2: After the UserA hooks off, the Endpoint1 sends to SoftX3000 an NTFY
command which carries the message of the off-hook event happening in the
detected endpoint. SoftX3000 should acknowledge the information sent by the
Endpoint1.
NTFY encoding
The 1st line: The Notify command. Upon detecting a specific event happening on its first
port, the access gateway, whose domain name is zd0068.com and interface name is
aaln, notifies SoftX3000.
The 2nd line: The request identifier is 6500010a. That value is the same as the value of
the parameter contained in the RQNT command that triggers this notification. It is used
to correlate the RQNT command with the NTFY command.
The 3rd line: The MG detects the off-hook event.
z
NTFY_RSP encoding
200 32008010 OK
RQNT encoding
1-26
Chapter 1 MGCP
The 1st line: The NotificationRequest command. The transaction identifier is 59663957,
used to correlate this command with the responses that it triggers. It indicates
SoftX3000 sends requests to the first port of the access gateway whose domain name
is zd0068.com and the interface name is aaln. The protocol version of MGCP is 1.0.
The 2nd line: The request identifier is 65000102, used to correlate this request with the
notifications that it triggers.
The 3rd line: SoftX3000 requests the MG to detect two events that will happen in the
endpoint. One event is digit collection according to the dial plan specified by the digit
map. D/[0-9*#T] indicates the digits and letters in the DTMF packages. What are
involved are the digits from 0 to 9, the asterisk sign *, the pound sign #, and the timer
identifier T. Those characters can be part of digit strings, representing the dial keys
for user. D/[0-9*#T](D) indicates to process the digit strings dialed by user according
to the digit map. If a digit string matches at least one of available dial plans defined in
the digit map, the endpoint1 resident gateway will send the current digit string to the
Call Agent. The other event: G/ld(N) indicates if a long duration connection event in
the generic media packages happens then it is requested to notify the Call Agent. (Long
duration connection refers to a connection lasting for more than one hour.)
The 4th line: Digit map. SoftX3000 delivers a dial plan to the Endpoint1 resident
gateway: ([1-9]xxxxxxx|0xxxxxxxxxx|*|x.# |[0-9*#].T). [1-9]xxxxxxx indicates user can
dial any 8-digit number started with an integer in the range of 1 to 9. 0xxxxxxxxxx
indicates any 11-digit number started with 0. * indicates each digit is reported as soon
as it is dialed. x.# indicates any length of digits are reported whenever # is dialed.
[0-9*#].T indicates any length of digits started with 0 ~ 9, * or # are reported after an
expiration.
The 5th line: The request signal, requesting the MG to acknowledge this command and
then send dial tone to the UserA.
z
RQNT_RSP encoding
200 59663957 OK
Event 4: The Endpoint1 receives the digits according to the dial plan in the event 3.
Upon receiving all necessary digits, the Endpoint1 sends an NTFY command to
notify SoftX3000. The command carries the collected digits with the parameter
ObservedEvents. SoftX3000 acknowledges the command.
NTFY encoding
1-27
Chapter 1 MGCP
The 1st line: The Notify command. Upon detecting a specific event happening on its first
port, the access gateway, whose domain name is zd0068.com and interface name is
aaln, notifies SoftX3000.
The 2nd line: The request identifier is 65000102. That value is the same as the value of
the parameter contained in the RQNT command that triggers this notification. It is used
to correlate the RQNT command with the NTFY command.
The 3rd line: The MG detects what the UserA dials is 66500008.
z
NTFY_RSP encoding
200 32008011 OK
CRCX encoding
The 1st line: The CreateConnection command. The transaction identifier is 59688530,
used to correlate this command with the responses that it triggers. It means to create a
connection between SoftX3000 and the first port of the access gateway whose domain
name is zd0068.com and the interface name is aaln. The protocol version of MGCP is
1.0.
The 2nd line: The call identifier is 4965. The protocol supports that several connections
belonging to one call share the same call identifier. At present, Huawei design supports
that several connections belonging to one call use different call identifiers. Call identifier
is used for charging purposes.
The 3rd line: The local connection options. The Call Agent suggests to the gateway that
the compression algorithm is PCMA and the encapsulation delay is 20 milliseconds.
The 4th line: The connection mode is inactive, that is, neither sending nor receiving
packets. Only after the ModifyConnection command is executed, the connection mode
is changed to sendrecv.
1-28
Chapter 1 MGCP
CRCX_RSP encoding
v=0
c=IN IP4 191.169.4.165
m=audio 5012 RTP/AVP 8 0
a=ptime:20
The 1st line: 200 indicates the successful receipt of the command. 59688530 is a
transaction identifier which is the same as the transaction identifier contained in the
CreateConnection command that triggers this response. CRCX OK is a commentary.
The 2nd line: The connection identifier is 2008012.
The 3rd line: Null, indicating what is preceded is an SDP session description.
The 4th line: The SDP protocol version is 0. Here, what is returned is the session
description of the local endpoint (Endpoint1).
The 5th line: c in the response identifies the connection information. IN refers to
network indicator in the form of a text string. The currently defined IN is Internet. IP4
indicates the type of connection address is IP4. 191.169.4.165 represents the
network address of the connection.
The 6th line: Media description. audio indicates the type of media is audio. ("audio is
used for audio connections, and nas used for data access.) 5012 is the transport
layer port number to which media streams are transmitted. RTP/AVP is the transport
layer protocol. Its value is associated with the type of address in the c line. For IP4, a
great number of media service streams are transferred over RTP/UDP. There are two
classes of protocols defined: RTP/AVP, audio/video application document, transported
over UDP; Udp, the DUP protocol. For audio and video signals, 8 0 represents the
type of media payload defined in the RTP audio/video application document. It
indicates all the formats may be used in the session but the first one is the default. At
this time, the mapping relation from RTP payload type to encoding is that 8
corresponds to the media encoding format PCMA. 0 corresponds to the media
encoding format PCM.
1-29
Chapter 1 MGCP
The 7th line: Attribute. Attribute is the basic method for SDP extension. It can be defined
as session-level attribute or media-level attribute. There are two forms of attributes:
a=<flag>, as feature attribute. It is a binary attribute, indicating the session has this
nature. For example, a=recvonly indicates the receive only feature.
a=<attribute>:<value>, as numeric value attribute. For example, a=ptime:20 indicates
the domain name of the media attribute is ptime and the value of the media attribute is
20.
6)
CRCX encoding
The 1st line: The CreateConnection command. The transaction identifier is 59696722,
used to correlate this command with the responses that it triggers. It means to create a
connection between SoftX3000 and the second port of the access gateway whose
domain name is zd0068.com and the interface name is aaln. The protocol version of
MGCP is 1.0.
The 2nd line: The call identifier is 4a65. The protocol supports that several connections
belonging to one call share the same call identifier. At present, Huawei design supports
that several connections belonging to one call use different call identifiers. Call identifier
is used for charging purposes.
The 3rd line: The local connection options. The Call Agent suggests to the gateway that
the compression algorithm is PCMA and the encapsulation delay is 20 milliseconds.
The 4th line: The connection mode is inactive, that is, neither sending nor receiving
packets. Only after the ModifyConnection command is executed, the connection mode
is changed to sendrecv.
The 5th line: The encapsulated NotificationRequest in this CreateConnection command.
The request identifier is 65000008, used to correlate this request with the notifications
that it triggers.
The 6th line: SoftX3000 requests the MG to detect a specific event that will happen in
the endpoint.
The 7th line: The signal is null, indicating the MGC requires the MG to stop any signal
being sent currently.
z
CRCX_RSP encoding
1-30
Chapter 1 MGCP
v=0
c=IN IP4 191.169.4.165
m=audio 5004 RTP/AVP 8 0
a=ptime:20
The 1st line: 200 indicates the successful receipt of the command. 59696722 is a
transaction identifier which is the same as the transaction identifier contained in the
CreateConnection command that triggers this response. CRCX OK is a commentary.
The 2nd line: The connection identifier is 2008013.
The 3rd line: Null, indicating what is preceded is an SDP session description.
The 4th line: The SDP protocol version is 0. Here, what is returned is the session
description of the local endpoint (Endpoint2).
The 5th line: c in the response identifies the connection information. IN refers to
network indicator in the form of a text string. The currently defined IN is Internet. IP4
indicates the type of connection address is IP4. 191.169.4.165 represents the
network address of the connection.
The 6th line: Media description. audio indicates the type of media is audio. ("audio is
used for audio connections, and nas used for data access.) 5004 is the transport
layer port number to which media streams are transmitted. RTP/AVP is the transport
layer protocol. Its value is associated with the type of address in the c line. For IP4, a
great number of media service streams are transferred over RTP/UDP. There are two
classes of protocols defined: RTP/AVP, audio/video application document, transported
over UDP; Udp, the DUP protocol. For audio and video signals, 8 0 represents the
type of media payload defined in the RTP audio/video application document. It
indicates all the formats may be used in the session but the first one is the default. At
this time, the mapping relation from RTP payload type to encoding is that 8
corresponds to the media encoding format PCMA. 0 corresponds to the media
encoding format PCM.
The 7th line: Attribute. Attribute is the basic method for SDP extension. It can be defined
as session-level attribute or media-level attribute. There are two forms of attributes:
a=<flag>, as feature attribute. It is a binary attribute, indicating the session has this
nature. For example, a=recvonly indicates the receive only feature.
a=<attribute>:<value>, as numeric value attribute. For example, a=ptime:20 indicates
the domain name of the media attribute is ptime and the value of the media attribute is
20.
7)
Event 7: SoftX3000 requests the MG to play the ringing tone to the UserB. The MG
acknowledges the request and meanwhile plays the ringing tone to the UserB.
RQNT encoding
1-31
Chapter 1 MGCP
RQNT_RSP encoding
200 59704917 OK
Here, it indicates the MG has received and is executing the request; meanwhile it is
sending the ringing tone to the UserB.
8)
Event 8: SoftX3000 requests the MG to play the ringback tone to the UserA.
RQNT encoding
RQNT_RSP encoding
200 59713109 OK
Here, it indicates the MG has received and is executing the request; meanwhile it is
sending the ringback tone to the UserA.
9)
Event 9: The UserB hooks off. The MG notifies the Call Agent of that event.
NTFY encoding
NTFY_RSP encoding
200 32008014 OK
1-32
Chapter 1 MGCP
10) Event 10: SoftX3000 sends an MDCX command to the Endpoint2, requesting to
modify the connection. The command carries some connection parameters of the
Endpoint1. The Endpoint2 acknowledges the receipt of the command. Meanwhile,
it will modify the connection and stop sending the ringback tone.
z
MDCX encoding
v:0
c:IN IP4 191.169.4.165
m:audio 5012 RTP/AVP 8
The 1st line: SoftX3000 sends a ModifyConnection command to the Endpoint2. The
transaction identifier is 59721299.
The 2nd line: The call identifier is 4a65.
The 3rd line: The connection identifier is 2008013. The connection is created by the MG.
The MG assigns a unique connection identifier to the local end.
The 4th line: The local connection options. The Call Agent suggests to the MG that the
echo cancellation parameter is set to on, the compression algorithm is PCMA, and the
encapsulation delay is 20 milliseconds.
The 5th line: The connection mode is sendrecv.
The 6th line: The encapsulated NotificationRequest in this ModifyConnection command.
The request identifier is 6500000e, used to correlate this request with the notifications
that it triggers.
The 7th line: SoftX3000 requests the MG to detect the following events that will happen
in the endpoint: G/ft(N) indicates if a fax tone detected event in the generic media
packages happens then it is requested to notify the Call Agent; G/mt(N) indicates if a
modem detected event in the generic media packages happens then it is requested to
notify the Call Agent.
The 8th line: The signal is null, indicating the MGC requires the MG to stop any signal
being sent currently.
The 9th line: Null, indicating what is preceded is an SDP session description.
The 10th line: The SDP protocol version is 0. The session description carries some
connection parameters of the Endpoint1. Through the MDCX command, the
connection parameters of the Endpoint1 are provided for the Endpoint2.
1-33
Chapter 1 MGCP
The 11th line: Here, c indicates the connection information of the Endpoint1. IN refers
to network indicator in the form of a text string. The currently defined IN is Internet. IP4
indicates the type of connection address is IP4. 191.169.4.165 represents the
network address of the connection. In general, the Call Agent provides connection
description parameters for the Endpoint2 through MGCP, such as the Endpoint1s IP
address, UDP port and RTP description.
The 12th line: Media description. audio indicates the type of media of the Endpoint1 is
audio. ("audio is used for audio connections, and nas used for data access.) 5012 is
the port number for the media of the Endpoint1. RTP/AVP is the media protocol. 8
indicates PCMA is the encoding format for the media which is negotiated by the
Endpoint1 and the Endpoint2.
z
MDCX_RSP encoding
The 1st line: The Endpoint2 acknowledges the receipt of the MDCX command sent by
SoftX3000.
The 2nd line: The SDP protocol version is 0. Here, what is returned is the session
description of the local endpoint (Endpoint2).
The 3rd line: Compared with the session description returned in the CRCX_RSP,
earlier in this chapter, it can be found that the encoding format for media, PCMA, is
determined in the MDCX_RSP. The CRCX_RSP only provided two options: PCMA and
PCM.
11) Event 11: SoftX3000 sends an MDCX command to the Endpoint1, requesting to
modify the connection. The command carries some connection parameters of the
Endpoint2. The Endpoint1 acknowledges the command, and then the UserA and
the UserB enjoy a conversation.
z
MDCX encoding
v:0
c:IN IP4 191.169.4.165
m:audio 5004 RTP/AVP 8
1-34
Chapter 1 MGCP
MDCX_RSP encoding
It indicates the Endpoint1 acknowledges the receipt of the MDCX command sent by
SoftX3000 and returns the session description of the local endpoint. Compared with
the session description returned in the CRCX_RSP, earlier in this chapter, it can be
found that the encoding format for media, PCMA, is determined in the MDCX_RSP. The
CRCX_RSP only provided two options: PCMA and PCM.
12) Event 12: The UserB hooks on. The Endpoint2 sends an NTFY command to
SoftX3000. SoftX3000 acknowledges the command.
z
NTFY encoding
The 1st line: The Endpoint2 detects a specified event that happened at the UserB, and
notifies SoftX3000 of the event.
The 2nd line: The request identifier is 6500000e, which is the same as the request
identifier carried in the encapsulated NotificationRequest command in the
ModifyConnection command described in the event 10. It indicates the Notify
command is triggered by the encapsulated NotificationRequest command in the
ModifyConnection command described in the event 10.
The 3rd line: The MG reports to SoftX3000 that the Endpoint2 detected an on-hook
event happening at the UserB.
z
NTFY_RSP encoding
200 32008015 OK
MDCX encoding
1-35
Chapter 1 MGCP
SoftX3000 sends an MDCX command to the Endpoint2, requesting to modify the mode
of the connection between them to inactive. In the ModifyConnection command, there
is an encapsulated NotificationRequest command with the request identifier as
65000002, indicating that the MGC requests the MG to detect the subsequent events
happening in the Endpoint2 and stop any signal played currently.
z
MDCX_RSP encoding
14) Event 14: SoftX3000 sends a DLCX command to the Endpoint2, requesting to
delete the existing connection.
z
DLCX encoding
The 1st line: SoftX3000 sends a DLCX command to the Endpoint2, requesting to delete
the existing connection.
The 2nd line: In the DeleteConnection command, there is an encapsulated
NotificationRequest command with the request identifier as 65000004.
The 3rd line: The MG is requested to detect events that will happen in the Endpoint2.
The 4th line: The signal is null, indicating the MGC requires the MG to stop any signal
being sent currently.
z
DLCX_RSP encoding
250 59762260 OK
DLCX encoding
The 1st line: SoftX3000 sends a DLCX command to the Endpoint1, requesting to delete
the existing connection.
1-36
Chapter 1 MGCP
DLCX_RSP encoding
250 59770452 OK
16) Event 16: SoftX3000 sends a RQNT command to the Endpoint2, requesting the
MG to detect events and signals that will happen in the Endpoint2. The involved
command encoding and response encoding are simple, and thus no more
information is provided here.
17) Event 17: The UserA hooks on. The Endpoint1 sends an NTFY command to notify
SoftX3000 of the event.
z
NTFY encoding
The 1st line: The Endpoint1 detects a specified event that happened at the UserA, and
notifies SoftX3000 of the event.
The 2nd line: The request identifier is 65000106, which is the same as the request
identifier carried in the encapsulated NotificationRequest command in the
DeleteConnection command described in the event 15.
The 3rd line: The MG reports to the MGC that the Endpoint1 detected an on-hook event
happening at the UserA.
z
NTFY_RSP encoding
200 32008016 OK
18) Event 18: SoftX3000 sends a RQNT command to the Endpoint1, requesting the
MG to detect events and signals that will happen in the Endpoint1. The involved
command encoding and response encoding are simple, and thus no more
information is provided here.
The UserA is connected to the MG1, and the corresponding endpoint identifier of
the UserA is aaln/1@iad1.huawei.com;
1-37
Chapter 1 MGCP
The UserB is connected to the MG2, and the corresponding endpoint identifier of
the UserB is aaln/1@iad2.huawei.com;
The UserA makes a call to the UserB, and the called party hooks on first.
UserA
MG1
1
Off-hook
dial-tone
dialing
SoftX3000
MG2
UserB
RQNT
RQNT_RSP
NTFY
NTFY_RSP
3
RQNT
RQNT_RSP
NTFY
NTFY_RSP
CRCX
CRCX_RSP
CRCX
CRCX_RSP
7 RQNT
RQNT_RSP
Ringback tone
11
RQNT
RQNT_RSP
MDCX
MDCX_RSP
NTFY
NTFY_RSP
Ringing
Off-hook
10 MDCX
MDCX_RSP
Conversation
12 NTFY
On-hook
NTFY_RSP
13 MDCX
MDCX_RSP
15
Busy-tone
On-hook
DLCX
DLCX_RSP
17 NTFY
NTFY_RSP
18
14 DLCX
DLCX_RSP
16 RQNT
RQNT_RSP
RQNT
RQNT_RSP
Figure 1-9 MGCP call procedure between two endpoints in different MGs
It can be found that the call procedures illustrated in Figure 1-9 and Figure 1-8 are
basically same. As shown in Figure 1-9, the MGCP call procedure between two
endpoints in different MGs helps us easily understand some commands and responses,
such as CRCX and MDCX. Only the events involved those are described. For the
remaining events, refer to the section 1.3.2, earlier in this chapter.
1)
CRCX encoding
1-38
Chapter 1 MGCP
CRCX_RSP encoding
v:0
c:IN IP4 191.169.3.38
m:audio 30000 RTP/AVP 8
2)
CRCX encoding
CRCX_RSP encoding
v:0
c:IN IP4 191.169.1.25
m:audio 5004 RTP/AVP 8 0 4 18
a:ptime:20
3)
Event 10: SoftX3000 sends an MDCX command to the MG2, requesting to modify
the connection. The command carries some connection parameters of the MG1,
that is, the parameters contained in the CRCX_RSP from the MG1. Subsequently,
the connection mode is changed to be sendrecv. Judging from the following
MDCX encoding, the command carries the IP address of the MG1, that is,
1-39
Chapter 1 MGCP
191.169.3.38, and other connection information of the MG1. Through the MDCX
command, some connection parameters of the MG1 are provided to the MG2.
The MG2 sends to SoftX3000 an MDCX_RSP carrying the connection information of
the local gateway (MG2). After negotiation, the MG1 and the MG2 determine PCMA as
the encoding mode.
z
MDCX encoding
v:0
c:IN IP4 191.169.3.38
m:audio 30000 RTP/AVP 8
z
MDCX_RSP encoding
4)
Event 11: SoftX3000 sends an MDCX command to the MG1, requesting to modify
the connection. The command carries some connection parameters of the MG2,
that is, the parameters contained in the CRCX_RSP from the MG2. Subsequently,
the connection mode is changed to be sendrecv. Judging from the following
MDCX encoding, the command carries the IP address of the MG2, that is,
191.169.1.25, and other connection information of the MG2. Through the MDCX
command, some connection parameters of the MG2 are provided to the MG1.
MDCX encoding
1-40
Chapter 1 MGCP
R:
S:
v:0
c:IN IP4 191.169.1.25
m:audio 5004 RTP/AVP 8
z
MDCX_RSP encoding
1-41
Chapter 2 H.248
Chapter 2 H.248
2.1 Overview
2.1.1 Basic Concepts
H.248 is the same type of protocol as MeGaCo and completed by the International
Telecommunication Union Telecommunication Standardization Sector (ITU-T) and
IETF together, used as a media gateway control protocol between a Media Gateway
Controller (MGC) and a Media Gateway (MG). The ITU-T, the IETF, the International
Softswitch Consortium (ISC), and other standardization organizations are optimizing
the H.248 protocol currently. Famous telecommunication equipment vendors are
investing much in the development and application of the H.248 protocol. Compared
with the MGCP protocol, the H.248 protocol can support more types of access
technologies and support the mobility of terminations. In addition, the H.248 protocol is
characterized by its support for network applications of much larger scale and also by
its convenience in the aspect of protocol extension. Therefore, the H.248 protocol is
more outstanding in flexibility, and thus is replacing MGCP gradually to grow to be the
standard of media gateway control protocols.
2-1
Chapter 2 H.248
IV. TerminationID
Terminations are referenced by a TerminationID, which is chosen by the MG. A
wildcarding mechanism using two types of wildcards can be used with TerminationIDs.
The two wildcards are ALL and CHOOSE. ALL is used to address multiple Terminations
at a time. When ALL is used in the TerminationID of a command, the effect is identical
to repeating the command with each of the matching TerminationIDs. CHOOSE is used
to indicate to a media gateway that it must select a Termination satisfying the partially
specified Terminations. This allows, for instance, that an MGC instructs an MG to
choose a circuit within a trunk group.
For example, if there are TerminationIDs of R13/3/1, R13/3/2 and R13/3/3 in a text
encoding of the protocol, the TerminationID R13/3/* would match all of them. There are
some circumstances where ALL Terminations must be referred to. The TerminationID
* suffices, and is referred to as ALL. The CHOOSE TerminationID $ may be used
when it is required to refer to one TerminationID but it is uncertain that the Termination
exists exactly. In this way, the TerminationID R13/3/$ would match one of them.
V. Descriptor
Descriptor is a syntactic element of the protocol that groups related properties. For
instance, the properties of a media flow on the MG can be set by the MGC by including
the appropriate descriptor in a command.
2-2
Chapter 2 H.248
VIII. Context
A Context is an association between a number of Terminations. The Context describes
the topology and the media mixing and/or switching parameters if more than two
Terminations are involved in the association. There is a special Context called the null
Context. It contains Terminations that are not associated to any other Termination. For
instance, in a decomposed access gateway, all idle lines are represented by
Terminations in the null Context.
Figure 2-1 gives several examples of Termination and Context and is not meant to be
an all-inclusive illustration.
Media Gateway
Context
Context
Termination
RTP Stream
Context
Termination
RTP Stream
Termination
*
*
Null Context
Termination
SCN Bearer Channel
Context
Termination
RTP Stream
Termination
2-3
Chapter 2 H.248
Context
Text
encoding
Meaning
Context NULL
"_"
Context CHOOSE
0xFFFFFFFE
"$"
Context ALL
0xFFFFFFFF
"*"
Topology: The topology of a Context describes the flow of media between the
Terminations within a Context. In contrast, the mode of a Termination (send/receive/_)
describes the flow of the media at the ingress/egress of the media gateway. There are
three connection values: oneway (indicating the oneway media stream between two
Terminations), bothway (indicating the bothway media stream between two
Terminations), and isolate (indicating no media stream between two Terminations). The
topology structure can only be used to describe a Context, and can be used in the
Add and Modify commands.
Priority: The priority is used for a Context in order to provide the MG with information
about a certain precedence handling for a Context. 0 represents the lowest priority and
15 represents the highest priority.
Indicator for emergency call: An indicator for an emergency call is used for a Context to
provide the MG with information about emergency handling for a Context. The MG
would preferentially handle a call using an emergency indicator.
X. Package
Different types of gateways may implement Terminations that have widely differing
characteristics. Variations in Terminations are accommodated in the protocol by
allowing Terminations to have optional Properties, Events, Signals and Statistics
implemented by MGs. To achieve MG/MGC interoperability, such options are grouped
2-4
Chapter 2 H.248
into Packages, and a Termination realizes a set of such Packages. An MGC can audit a
Termination to determine which Packages it realizes.
Properties, Events, Signals and Statistics defined in Packages, as well as parameters
to them, are referenced by identifiers (IDs).
Definition of a Package is composed of Properties, Events, Signals, Statistics, and
Procedures. Table 2-2 lists some packages commonly used.
Table 2-2 Basic packages
Package
Generic
Package ID
Description
Root
Tonegen
Tone Detection
Package
Tonedet
This package defines events for audio tone detection. Tones are
selected by name (tone id). MGs are expected to be provisioned
with the characteristics of appropriate tones for the country in
which the MG is located.
Basic
DTMF
Generator
Package
Dg
DTMF detection
Package
dd
Call
Progress
Tones Generator
Package
cg
This package defines the basic call process tones as signals and
extends the allowed values of parameter tl of playtone in
tonegen.
Call
Progress
Tones Detection
Package
cd
This package defines the basic all progress detection tones. This
package extends the possible values of tone id in the start tone
detected, end tone detected and long tone detected events.
Analog
Line
Supervision
Package
al
Basic Continuity
Package
ct
This package defines events and signals for continuity test. The
continuity test includes provision of either a loopback or
transceiver functionality.
Network Package
nt
Base
Package
Root
Tone Generator
Package
2-5
Package
Chapter 2 H.248
Package ID
Description
RTP Package
rtp
TDM
Package
tdmc
Circuit
Table 2-3 lists some Properties, Events, and Signals commonly used in Packages. The
general
formats
are
PackageID/PropertyID,
PackageID/EventID,
and
PackageID/Signal.
Table 2-3 Examples of PropertyIDs, EventIDs and Signals
Event
Meaning
al/fl
al/of
al/on
al/ri
cg/bt
cg/ct
cg/cw
cg/dt
cg/rt
dd/ce
nt/jit
tdmc/ec
tdmc/gain
2-6
Chapter 2 H.248
The transport layer of the H.248 protocol in SoftX3000 may be UDP/TCP/SCTP borne
over IP and MTP3-B borne over ATM, as shown in Figure 2-2.
H.248
UDP/TCP/SCTP
IP
MAC
.323
IP/ H
S
/
P
MGC
SoftPhone
SS7
PSTN
E1
CP
MG
MRS
IP Core
n
tra
Sig
8
24
H.
MG
CP/
H.2
48
IAD
TMG8010
E-phone
E-phone
The receiving and transmitting RTP capabilities of each H.248 MG will be configured.
SoftX3000 will ensure that a matching capability set between the two MGs will be used
to establish the call.
2-7
2)
Chapter 2 H.248
Supporting a trunk (or a group of trunks) going out of service and being brought
back to service
3)
Command
code
Description
Add
ADD
Modify
MOD
Subtract
SUB
Move
MOV
2-8
Command name
Chapter 2 H.248
Command
code
Description
AuditValue
AUD_VAL
AuditCapabilities
AUD_CAP
Notify
NTFY
SVC_CHG
ServiceChange
II. Response
All H.248 commands are acknowledged. The structure of a response is basically the
same as that of a command. TransactionID correlates a command with its response.
There are two types of responses, namely Reply and Pending. Reply indicates the
execution of the command has been completed and returns information about the
execution success or failure. Pending" indicates the command is actively being
processed but has not been completed. It is used to prevent the sender from assuming
the TransactionRequest was lost where the command will take some time to complete.
A message is an information unit sent or received by the H.248 protocol. In the H.248
protocol, one ore more commands are encapsulated in a message.
A message may be encoded in a binary format or in a text format. In the case of binary
codes, specifications defined in ITU-T X.680 (ASN.1) are used for description, and BER
rules defined in X.690 for encoding; in the case of text format, RFC 2234 ABNF
specifications are followed. MGCs should support both encoding formats. MGs may
support one of or both formats. Any H.248 message shares the same structure as
shown in Figure 2-4.
2-9
Chapter 2 H.248
Megaco/H.248 message
Header
Transaction
Transaction
Req or Reply
Req or Reply
Trans Hdr
Ctx Hdr
Action
Ctx Properties
Trans Hdr
....
Transaction
Req or Reply
....
Action
Command
Descriptor
....
....
Command
Descriptor
Message
Messages start with a header which is followed by several transactions. The header
contains a Message Identifier (MID) and a Version Number. The MID identifies the
sender of the message which may be a domain address, domain name or device name.
Domain name is a suggested default. The Version Number identifies the version of the
protocol the message conforms to. Versions consist of one or two digits, beginning with
version 1 for the present version of the protocol.
z
Transaction
Action
2-10
Chapter 2 H.248
Command
Commands are the major contents in an H.248 message. They control the Context and
Termination attributes including specifying the topology structure of the Context and
specifying the event reported by the Termination, for example, what signals and actions
can be imposed on the Termination. A command is composed of the command header
(CMDHdr) and command parameters. In the H.248 protocol, command parameters are
grouped into Descriptors.
The H.248 message mechanism is shown in Figure 2-5.
Message
TransactionID1
ContextID1
Command
CMD1
Descriptor
Des-1
Des-n
...CMDn
...
ContextIDn
TransactionIDn
Descriptor
2-11
Chapter 2 H.248
The H.248 protocol defines 19 types of descriptors. Those commonly used descriptors
are described below.
z
The Modem descriptor specifies the modem type and other parameters. The descriptor
includes the following modem types: V.18, V.22, V.22bis, V.32, V32bis, V.34, V.90, V.91,
Synchronous ISDN, and allows for extensions. By default, no Modem descriptor is
present in a Termination.
z
The Media descriptor specifies the parameters for all the media streams. These
parameters are structured into two descriptors, a Termination State descriptor, which
specifies the properties of a Termination that are not stream dependent, and one or
more Stream descriptors each of which describes a single media stream.
A stream is identified by a StreamID. There are three types of Stream descriptors,
namely LocalControl, Local, and Remote. As a convenience, a LocalControl, Local, or
Remote descriptor may be included in the Media descriptor without an enclosing
Stream descriptor. In this case, the StreamID is assumed to be 1. The relationship
between these descriptors is like this:
z
Media Descriptor
TerminationStateDescriptor
Stream Descriptor
LocalControl Descriptor
Local Descriptor
Remote Descriptor
2-12
Chapter 2 H.248
The EventBufferControl (EB) property specifies whether events are buffered following
detection of an event in the Events descriptor, or processed immediately.
z
The LocalControl descriptor contains the Mode (MO) descriptor, the ReserveGroup
(RG) and ReserveValue (RV) properties and properties of a Termination (defined in
Packages) that are stream specific.
The allowed values for the Mode property are send-only (SO), receive-only (RC),
send/receive (SR), inactive (IN) and loop-back (LB). Send and receive are with
respect to the exterior of the Context, so that, for example, a stream set to
mode=sendonly does not pass received media into the Context. Signals and Events
are not affected by mode.
The Boolean-valued Reserve properties, ReserveValue and ReserveGroup, of a
Termination indicate what the MG is expected to do when it receives a local and/or
remote descriptor.
z
The Local descriptor refers to the media received by the MG, and the Remote
descriptor refers to the media sent by the MG.
The MGC uses Local and Remote descriptors to reserve and commit MG resources for
media decoding and encoding for the given Stream(s) and Termination to which they
apply. The MG includes these descriptors in its response to indicate what it is actually
prepared to support. The MG shall include additional properties and their values in its
response if these properties are mandatory yet not present in the requests made by the
MGC.
When text encoding the protocol, the Local and Remote descriptors consist of session
descriptions as defined in SDP (RFC 2327).
z
The Events descriptor contains a RequestIdentifier and a list of events that the MG is
requested to detect and report. The RequestIdentifier is used to correlate the request
2-13
Chapter 2 H.248
with the notifications that it may trigger. Requested events include, for example, fax
tones, hookflash, and on-hook and off-hook transitions.
Each event in the descriptor contains the Event name, optional actions, and optional
parameters. The Event name consists of a Package Name (where the event is defined)
and an EventID in the format of PackageName/EventID. For example, al/on indicates
the onhook event in the Analog Line Supervision Packages. Events can have
parameters which are defined and named in the Package. The actions parameter
indicates one or more possible actions to be taken at the occurrence of an event.
z
The EventBuffer descriptor contains a list of events, with their parameters if any, that
the MG is requested to detect and buffer when EventBufferControl equals LockStep.
z
A SignalsDescriptor is a parameter that contains the set of signals that the MG is asked
to apply to a Termination. A SignalsDescriptor contains a number of signals and/or
sequential signal lists. A SignalsDescriptor may contain zero signals and sequential
signal lists. Signals shall be named with a Package name (in which the signal is defined)
and a SignalID in the format of PackageName/SignalID.
For example, SG{SL=0{cg/dt}}.
In which, SL is the abbreviation of SignalList, and cg/dt indicates the dial tone signal
in the Call Progress Tones Generator Packages.
There are three types of signals:
on/off: The signal lasts until it is turned off;
timeout: The signal lasts until it is turned off or a specific period of time elapses;
brief: The signal duration is so short that it will stop on its own unless a new signal is
applied that causes it to stop; no timeout value is needed.
z
Chapter 2 H.248
MGC should refrain from establishing new connections and should attempt to
gracefully tear down existing connections on the Termination(s) affected by the
ServiceChange command.
Forced: Indicates that the specified Termination(s) were taken abruptly out of service
and any established connections associated with them were lost.
Restart: Indicates that service will be restored on the specified Terminations after
expiration of the ServiceChangeDelay.
Disconnected: Always applied with the Root TerminationID, indicates that the MG lost
communication with the MGC, but it was subsequently restored. Since the MG state
may have changed, the MGC may wish to use the Audit command to resynchronize its
state with the MGs.
Handoff: Sent from the MGC to the MG, this reason indicates that the MGC is going out
of service and a new MGC association must be established. Sent from the MG to the
MGC, this indicates that the MG is attempting to establish a new association in
accordance with a Handoff received from the MGC with which it was previously
associated.
Failover: Sent from the MG to the MGC to indicate the primary MG is out of service and
a secondary MG is taking over.
The ServiceChangeReason (RE) parameter specifies the reason why the
ServiceChange has occurred or will occur. It consists of an alphanumeric token (IANA
registered) and, optionally, an explanatory string. The following parameter values in
Table 2-5 are defined:
Table 2-5 ServiceChangeReason values
ServiceChangeReason value
Meaning
900
Service Restored
901
Cold Boot
902
Warm Boot
903
904
Termination malfunctioning
905
906
907
Transmission Failure
908
MG Impending Failure
909
910
911
2-15
Chapter 2 H.248
ServiceChangeReason value
Meaning
912
913
914
915
State Loss
916
917
Capability Changed
A DigitMap is a dialing plan resident in the Media Gateway used for detecting and
reporting digit events received on a Termination. The DigitMap descriptor contains a
DigitMap name and the DigitMap to be assigned.
The collection of digits according to a DigitMap may be protected by three timers, that is,
a start timer (T), short timer (S), and long timer (L). The timers are configurable
parameters to a DigitMap. The start timer is started at the beginning of every digit map
use, but can be overridden.
The start timer (T) is used prior to any digits having been dialed.
2-16
Chapter 2 H.248
If the Media Gateway can determine that at least one more digit is needed for a digit
string to match any of the allowed patterns in the digit map, then the interdigit timer
value should be set to a long (L) duration, for example, 16 seconds.
If the digit string has matched one of the patterns in a digit map, but it is possible that
more digits could be received which would cause a match with a different pattern, then
instead of reporting the match immediately, the MG must apply the short timer (S), for
example, 8 seconds, and wait for more digits.
For more information on digit map, refer to MGCP protocol, earlier in this manual.
z
The Statistics descriptor provides information describing the status and usage of a
Termination during its existence within a specific Context. The particular statistical
properties that are reported for a given Termination are determined by the Packages
realized by the Termination. By default, statistics are reported when the Termination is
Subtracted from the Context. Statistics may also be returned from the AuditValue
command, or any Add/Move/Modify command using the Audit descriptor.
z
Used only with the AuditValue command, the Packages descriptor returns a list of
Packages realized by the Termination.
z
ObservedEvents is supplied with the Notify command to inform the MGC of which
event(s) were detected. Used with the AuditValue command, the ObservedEvents
descriptor returns events in the event buffer which have not been notified.
ObservedEvents contains the RequestIdentifier of the EventsDescriptor that triggered
the notification, the event(s) detected and the detection time(s). Detection times are
reported with a precision of hundredths of a second.
z
2-17
Chapter 2 H.248
(T1, T2, bothway) means that the Terminations matching T2 receive media from the
Terminations matching T1, and vice versa.
Figure 2-6 shows some topology examples.
Context 1
Context 1
T2
Context 1
T2
T2
T1
T3
T1
T1
T3
T3
1. No topology descriptors
2. T1, T2 Isolate
Context 1
Context 1
Context 1
T2
T2
T1
T3
T1
T2
T3
5. T2,T3 Bothway
T1
T3
6. T1,T2 Bothway
Description
No topology descriptors
4
5
A oneway connection from T3 to T2 (that is, T2 receives media flow from T3). A
bothway connection between T1 and T3.
T2, T3, Oneway
A oneway connection from T2 to T3. T1 and T3 remain bothway connected.
T2, T3 Bothway
T2 is bothway connected to T3. This results in the same as 2.
2-18
Chapter 2 H.248
Topology
Description
T1, T2, Bothway
(T2, T3 bothway and T1, T3 bothway may be implied or explicit.) All Terminations have
a bothway connection to all other Terminations.
If a Transaction execution encounters an error, the reply of the command shall contain
an Error descriptor. The Notify command may also contain an Error descriptor. Errors
consist of an IANA registered error code and an explanatory string. Sending the
explanatory string is optional.
Table 2-7 Identified error codes
Error code
Meaning
400
Bad Request
401
Protocol Error
402
Unauthorized
403
406
410
Incorrect identifier
411
412
No ContextIDs available
421
422
430
Unknown TerminationID
431
432
433
434
440
441
Missing RemoteDescriptor
442
443
444
445
446
2-19
Chapter 2 H.248
Error code
Meaning
447
448
450
451
452
453
454
455
456
457
471
500
501
Not Implemented
502
Not ready
503
Service Unavailable
504
505
510
Insufficient resources
512
513
514
515
517
518
519
520
521
Termination is "ServiceChangeing"
526
Insufficient bandwidth
529
530
531
532
2-20
Chapter 2 H.248
Error code
581
3)
Meaning
Does Not Exist
Command expressions
What are within the parenthesis preceded by the command name are input parameters.
Those enclosed by [] are optional.
z
ADD
ADD
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,EventBufferDescriptor][,SignalsDescriptor][,DigitMapDescriptor][,AuditDescriptor])
z
Modify
MOD
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,EventBufferDescriptor][,SignalsDescriptor][,DigitMapDescriptor][,AuditDescriptor])
z
Subtract
SUB (TerminationID[,AuditDescriptor])
z
Move
MOV
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,EventBufferDescriptor][,SignalsDescriptor][,DigitMapDescriptor][,AuditDescriptor])
z
AuditValue
AuditValue (TerminationID[,AuditDescriptor])
z
AuditCapabilities
AuditCapabilities (TerminationID[,AuditDescriptor])
z
Notify
Notify (TerminationID,ObservedEventsDescriptor[,ErrorDescriptor])
z
ServiceChange
ServiceChange (TerminationID,ServiceChangeDescriptor)
4)
Command sample
2-21
Chapter 2 H.248
SG{cg/dt},
DM=dmap1{
([2-9]xxxxxx|13xxxxxxxxx|0xxxxxxxxx|9xxxx|1[0124-9]x|E|x.F|[0-9EF].L)}}}}
The 1st line: The MeGaCo protocol version is 1. The MID is the identifier of the sender
of this message. In this case, it is the IP address of and port [191.169.150.170]:2944.
The 2nd line: The TransactionID is 372794021, used to correlate the request with the
responses that it will trigger.
The 3rd line: In this case, the encapsulated Context in this Transaction is null.
The 4th line: The Modify command, used to modify the properties, events and signals of
the Termination A0.
The 5th line: The Events descriptor with the RequestIdentifier 369099784. The
RequestIdentifier is used to correlate the request with the notifications that it may
trigger.
The 6th line: The MGC requests the MG to detect two events that will happen in the
termination A0. One event is digit collection according to the dial plan (dmap1)
specified by the digit map. The other event is detection of all events defined in the
Analog Line Supervision Packages (al).
The 7th line: The Signals descriptor. It indicates that the MGC requests the MG to send
the dial tone to the termination A0.
The 8th line: The DigitMap descriptor. The MGC delivers the dial plan (dmap1) to the
termination A0.
The 9th line: The dial plan dmap1. In the dial plan, [2-9]xxxxxx indicates that user
can dial any 7-digit number started with an integer in the range of 2 to 9. 13xxxxxxxxx
indicates any 11-digit number started with 13. 0xxxxxxxxx indicates any 10-digit
number started with 0. 9xxxx indicates any 5-digit number started with 9. 1[0124-9]x
indicates any 3-digit number started with 1 which is followed by a decimal integer
except 3. E is the letter E. [0-9EF].L indicates that any length of digits started with 0
~ 9, E or F are reported after an expiration of the long timer.
The same as the encapsulation format for command. Here, we will detail two types of
transactions of responses.
Transactions include requests and responses, and responses are divided into two
types: TransactionReply and TransactionPending. For the encapsulation command of
the Transaction Request, refer to the preceding section.
z
Transaction Reply
2-22
Chapter 2 H.248
either if all commands in the TransactionRequest have been carried out successfully or
a failure is encountered during the execution of a non-optional command in the
TransactionRequest.
The structure of Transaction Reply is as follows:
TransactionReply(TransactionID {
ContextID { Response ...Response },
...
ContextID { Response ...Response } })
z
Transaction Pending
The receiver invokes the Transaction Pending. A Transaction Pending indicates that
the transaction is actively being processed, but has not been completed. It is used to
prevent the sender from assuming the TransactionRequest was lost where the
command will take some time to complete. The structure of Transaction Pending is as
follows:
TransactionPending (TransactionID { } )
Transactions are presented as TransactionRequests. Corresponding response to a
TransactionRequest is received in a single reply, possibly preceded by a number of
TransactionPending messages.
2)
Response descriptors
Response expressions
What are within the parenthesis preceded by the command name are response
parameter values. Those enclosed by [] are optional.
z
ADD
ADD
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,SignalsDescriptor][,DigitMapDescriptor][,ObservedEventsDescriptor][,EventBuffer
Descriptor][,StatisticsDescriptor][,PackagesDescriptor])
z
Modify
MOD
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,SignalsDescriptor][,DigitMapDescriptor][,ObservedEventsDescriptor][,EventBuffer
Descriptor][,StatisticsDescriptor][,PackagesDescriptor])
z
Subtract
SUB
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
2-23
Chapter 2 H.248
or][,SignalsDescriptor][,DigitMapDescriptor][,ObservedEventsDescriptor][,EventBuffer
Descriptor][,StatisticsDescriptor][,PackagesDescriptor])
z
Move
MOV
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,SignalsDescriptor][,DigitMapDescriptor][,ObservedEventsDescriptor][,EventBuffer
Descriptor][,StatisticsDescriptor][,PackagesDescriptor])
z
AuditValue
AuditValue
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,SignalsDescriptor][,DigitMapDescriptor][,ObservedEventsDescriptor][,EventBuffer
Descriptor][,StatisticsDescriptor][,PackagesDescriptor])
z
AuditCapabilities
AuditCapabilities
(TerminationID[,MediaDescriptor][,ModemDescriptor][,MuxDescriptor][,EventsDescript
or][,SignalsDescriptor][,ObservedEventsDescriptor][,EventBufferDescriptor][,Statistics
Descriptor])
z
ServiceChange
ServiceChange (TerminationID[,ServiceChangeDescriptor])
4)
Response sample
The 1st line: The MeGaCo protocol version is 1. The MID is the identifier of the sender
of this message. In this case, it is the IP address of and port [191,169,150,172]:2944.
The 2nd line: TransactionID. The TransactionID of the response is 372794021, which is
the same as the TransactionID described in the command sample, used to correlate
the command with the response.
The 3rd line: Here the Context is null.
The 4th line: Acknowledgement that the Termination A0 has received the
TransactionRequest from the MGC, indicating that the MG is executing it.
2-24
Chapter 2 H.248
SoftX3000
SVC_CHG_REQ
SVC_CHG_REPLY
1)
MEGACO/1 [191.169.150.172]:2944
T=3{
C= - {
SC=ROOT{
SV{
MT=RS,RE=902}}}}
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MG to the MGC. The IP address and port of the MG is
[191.169.150.172]:2944.
The 2nd line: The TransactionID is 3.
The 3rd line: Here the Context is null.
The 4th line: The ServiceChange command. The TerminationID is ROOT, indicating that
the command refers to the entire gateway.
The 5th line: The encapsulated ServiceChange descriptor in the ServiceChange
command.
The 6th line: The parameters contained in the ServiceChange descriptor, indicating the
ServiceChange method is Restart and the reason is Warm Boot.
2)
Event 2: On receipt of the registration message from the MG, the MGC sends a
reply to the MG. The following is the text description of the SVC_CHG_REPLY.
2-25
Chapter 2 H.248
MEGACO/1 [191.169.150.170]:2944
P=3{C= - {SC=ROOT{SV{}}}}
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MGC to the MG. The IP address and port of the MGC is
[191.169.150.170]:2944.
The 2nd line: The TransactionID is 3, and the Context is null. The ServiceChange
command refers to the entire gateway, indicating that the MGC has received the
registration transaction from the MG and responds to the MG that the registration is
completed successfully.
SoftX3000
SVC_CHG_REQ
SVC_CHG_REPLY
1)
MEGACO/1 191.169.150.172]:2944
T= 9998 {C= - {
SC = ROOT {
SV {
MT= FO, RE = 905}}}}
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MG to the MGC. The IP address and port of the MG is
[191.169.150.172]:2944.
The 2nd line: The TransactionID is 9998, and the encapsulated Context in the
Transaction is null.
The 3rd line: The ServiceChange command. The TerminationID is ROOT, indicating that
the command refers to the entire gateway.
The 4th line: The ServiceChange descriptor.
2-26
Chapter 2 H.248
The 5th line: The parameters contained in the ServiceChange descriptor, indicating that
the ServiceChange method is Forced and the reason is Termination taken out of
service.
2)
Event 2: SoftX3000 responds with a message. The following is the text description
of the SVC_CHG_REPLY.
MEGACO/1 [191.169.150.170]:2944
P=9998{C= - {SC=ROOT{ER=505}}}
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MGC to the MG. The IP address and port of the MGC is
[191.169.150.170]:2944.
The 2nd line: The TransactionID is 9998, and the Context is null. The ServiceChange
command refers to the entire gateway, with the Error 505 Command Received Before
Restart Response.
SoftX3000
MOD_REQ
MOD_REPLY
1)
MEGACO/1 [191.169.150.170]:2944
T=372794419{C= - {
MF=A0{
E=369099777{al/*},
SG{}}}}
2-27
Chapter 2 H.248
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MGC to the MG. The IP address and port of the MGC is
[191.169.150.170]:2944.
The 2nd line: The TransactionID is 372794419, and a null Context is encapsulated in
the Transaction.
The 3rd line: The Modify command, to modify the properties of the Termination A0.
The 4th line: The Events descriptor with the RequestIdentifier 369099777. The MGC
requests the MG to detect all events including off-hook events in the Analog Line
Supervision Packages that will happen in the Termination A0.
The 5th line: The Signals descriptor. Here the signal is null, indicating the MGC requires
the MG to stop any signal played currently.
2)
Event 2: On receipt of the Modify command, the MG responds with a reply. The
following is the text description of the MOD_REPLY.
MEGACO/1 [191.169.150.172]:2944
P=372794419{
C= - {MF=A0}}
The UserA makes a call to the UserB, and the calling party hooks on first;
2-28
UserA
Termination1
Off-hook
Chapter 2 H.248
SoftX3000
Termination2
UserB
1 NTFY_REQ
NTFY_REPLY
2 MOD_REQ
dial-tone
dialing
MOD_REPLY
3 NTFY_REQ
NTFY_REPLY
4 ADD_REQ
ADD_REPLY
5 ADD_REQ
ADD_REPLY
Ringback tone
6 MOD_REQ
7 MOD_REQ
MOD_REPLY
MOD_REPLY
8 NTFY_REQ
Ringing
Off-hook
NTFY_REPLY
9 MOD_REQ
MOD_REPLY
10 MOD_REQ
MOD_REPLY
Conversation
On-hook
11 NTFY_REQ
NTFY_REPLY
12 MOD_REQ
MOD_REPLY
13 SUB_REQ
SUB_REPLY
15 MOD_REQ
MOD_REPLY
14 MOD_REQ
MOD_REPLY
16 NTFY_REQ
Busy-tone
On-hook
NTFY_REPLY
17 SUB_REQ
SUB_REPLY
18 MOD_REQ
MOD_REPLY
Figure 2-10 H.248 call procedure between two Terminations in the same MG
1)
Event 1: Upon detecting that the UserA in the Termination A0 hooks off, the MG
sends an NTFY_REQ command to notify SoftX3000 of the off-hook event.
SoftX3000 acknowledges the receipt of the off-hook event in a reply message.
MEGACO/1 [191.169.150.122]:2944
T=883{C= - {
N=A0{
OE=369109250{al/of}}}}
The 1st line: The MeGaCo protocol. The protocol version is 1. The command is sent
from the MG to the MGC. The IP address and port of the MG is
[191.169.150.122]:2944.
The 2nd line: The TransactionID is 883, and the encapsulated Context in the
Transaction is null.
The 3rd line: The Notify command, which refers to the Termination A0.
2-29
Chapter 2 H.248
The 4th line: The ObservedEvents descriptor. In this case, the TerminationA resident
MG detects the off-hook event and reports the event to SoftX3000. The
RequestIdentifier is 369109250, which is the same as the RequestIdentifier contained
in the request that triggers NTFY_REQ.
z
MEGACO/1 [191.169.200.61]:2944
P=883{C= - {
N=A0}}
2)
MEGACO/1 [191.169.200.61]:2944
T=372771555{
C= - {
MF=A0{
E=369109251{
dd/ce{DigitMap=dmap1}, al/*},
SG{cg/dt},
DM=dmap1{
([2-9]xxxxxx|13xxxxxxxxx|0xxxxxxxxx|9xxxx|1[0124-9]x|E|x.F|[0-9EF].L)}}}}
For details of the parameters, refer to the command sample, earlier in this chapter.
z
MEGACO/1 [191.169.150.122]:2944
P=372771555{
C= - {
MF=A0}}
For details of the parameters, refer to the response sample, earlier in this chapter.
3)
Event 3: The UserA dials a number. The Termination A0 collects the dialed digits
and tries to match the digit map. In the case of a successful match, the
Termination A0 sends an NTFY_REQ command to SoftX3000. SoftX3000
acknowledges the receipt of the NTFY_REQ, sent by the A0, with an
NTFY_REPLY.
MEGACO/1 [191.169.150.122]:2944
T=884{C= - {
N=A0{
OE=369109251{
2-30
Chapter 2 H.248
20030429T06132700:
dd/ce
{Meth=UM,ds=6540100}}}}}
The 1st line: The command is sent by the MG to the MGC. The IP address and port of
the MG is [191.169.150.122]:2944.
The 2nd line: The TransactionID is 884. In this case, the encapsulated Context in this
Transaction is null. SoftX3000 is designed to create a Context after the calling party
dials the called number, to avoid wasting resources in the event that the calling party
hooks off but does not dial a number or, even dials a number, the dialed number is
found inexistent or other reasons.
The 3rd line: The Notify command, which refers to the Termination A0.
The 4th line: The ObservedEvents descriptor. The RequestIdentifier is 369109251. It is
the same as the RequestIdentifier of the preceding MOD_REQ, indicating this
notification is triggered by that MOD_REQ command.
The 5th line: The TimeStamp for reporting the DigitMap event. 20030429T06132700
indicates 06:13:27 A.M. on April 29th 2003.
The 6th line: What is observed by the Termination A0 is a DigitMap Completion event in
the DTMF detection package. This event has two parameters: Termination Method
(Meth) and DigitString (ds).
The DigitMap Termination Method (Meth) has three possible values:
UM: Unambiguous match. If exactly one candidate alternative event sequence remains
and it has been fully matched, a completion event is generated indicating an
unambiguous match.
PM: Partial match. At each step, a timer is set to wait for the next event, based either on
the default timing rules given above or on explicit timing specified in one or more
alternative event sequences. If the timer expires and part or none of any candidate
alternative event sequence is satisfied, a timeout completion with partial match is
reported.
FM: Full match. If the timer expires and a member of the candidate set of alternative
event sequences is fully satisfied, a timeout completion with full match is reported.
The DigitString (ds), in this case, indicates what the UserA dials is 6540100.
z
MEGACO/1 [191.169.200.61]:2944
P=884{C= - {
N=A0}}
4)
Event 4: The MGC creates a new Context in the MG and adds a TDM Termination
and a RTP Termination in the Context. The MG responds with an ADD_REPLY
with a new allocated connection descriptor and a new RTP termination descriptor.
2-31
Chapter 2 H.248
MEGACO/1 [191.169.200.61]:2944
T=369363687{
C=${
A=A0{
M{O{MO=SR,RV=OFF,RG=OFF}},
E=369109253{al/*},
SG{}},
A=${
M{O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 $ m=audio $ RTP/AVP 8}}}}}
The 1st line: The command is sent by the MGC to the MG. The IP address and port of
the MGC is [191.169.200.61]:2944.
The 2nd line: The TransactionID is 369363687.
The 3rd line: $ indicates that the MG is requested to create a new Context. $ is used
because the Context is not determined currently.
The 4th line: The ADD command, used to add the Termination A0 to the new Context.
The 5th line: The Media descriptor. The LocalControl (O) descriptor, in this case,
indicates that the Termination A0 has a send/receive mode property, OFF
ReserveGroup property, and OFF ReserveValue property.
The 7th line: The Events descriptor. The RequestIdentifier is 369109253. The MGC
requests the MG to detect all events in the Analog Line Supervision Packages that will
happen, such as on-hook events.
The 7th line: The Signals descriptor. Here the signal is null, indicating the MGC requires
the MG to stop any signal played currently.
The 8th line: The ADD command, used to add a RTP Termination to the new Context.
The new RTP Termination is ephemeral. Because the descriptor for the RTP
Termination is not determined yet, $ is used.
The 9th line: The Media descriptor. The LocalControl (O) descriptor, in this case,
indicates that the RTP Termination has an inactive mode property, OFF
ReserveGroup property, and OFF ReserveValue property. nt/jit=40 indicates that the
maximum jitter buffer in the Network Packages is 40 milliseconds.
The 10th line: The MGC suggests a set of Local descriptor parameters for the new RTP
Termination. v=0 indicates that the SDP protocol version is 0. c=IN IP4 $ indicates
the Context information of the RTP Termination, that is, the network indicator of the
Context is Internet, the type of address for the Context is IP4, and the local IP address
is unknown currently. m=audio $ RTP/AVP 8 indicates the media description of the
new RTP Termination suggested by the MGC. audio indicates that the type of media
for the RTP Termination is audio. $ indicates that the media port number for the RTP
Termination is unknown currently. RTP/AVP is the transport layer protocol. Its value is
associated with the type of address in the c line. For IP4, a great number of media
2-32
Chapter 2 H.248
service streams are transferred over RTP/UDP. There are two classes of protocols
defined: RTP/AVP (audio/video application document, transported over UDP) and Udp
(the UDP protocol). For audio and video signals, 8 represents the type of media
payload defined in the RTP audio/video application document. It indicates that the
MGC suggests G.711A as the media encoding format for the RTP Termination.
The mapping relationship from RTP payload type to encoding defined in the H.248
protocol is as follows:
G.711U = 0; G.726 = 2; G.723, G.7231 = 4; G.711A = 8; G.729, G.729A = 18
z
MEGACO/1 [191.169.150.122]:2944
P=369363687{C=286{
A=A0,A=A100000034{
M{O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 191.169.150.122 m=audio 18300 RTP/AVP 8}}}}}
The 1st line: The command is sent by the MG to the MGC. The IP address and port of
the MG is [191.169.150.122]:2944.
The 2nd line: The TransactionID is 369363687. C=286 indicates that the requested
Context is created and the MG assigns an identifier 286 to identify the created
Context.
The 3rd line: It is confirmed that the physical Termination A0 and the ephemeral
Termination A100000034 have been added in the Context 286.
The 4th line: The Media descriptor.
The 5th line: Requested by the MGC, the MG confirms G.711A as the media encoding
format for the Termination A100000034, sets its RTP port number to be 18300, and fills
the local IP address to be 191.169.150.122.
5)
Event 5: The MGC conducts the analysis of the called number and determines the
called UserB is connected to the physical Termination A1 in the MG. Therefore,
the MGC sends an ADD_REQ, requesting the MG to add the physical Termination
A1 and a certain RTP Termination to a new Context. The MG responds with an
ADD_REPLY with a new allocated connection descriptor 287 and a new RTP
termination descriptor A100000035. Requested by the MGC, the MG determines
G.711A as the codec type for the Termination A100000035 of the MG, sets its
RTP port number to be 18296, fills the local IP address to be 191.169.150.122,
and sets the Termination A100000035 to be in the inactive mode.
MEGACO/1 [191.169.200.61]:2944
T=369363688{
C=${
A=A1{
M{O{MO=SR,RV=OFF,RG=OFF}},
2-33
Chapter 2 H.248
E=369108998{al/*},
SG{}},
A=${
M={O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 $ m=audio $ RTP/AVP 8}}}}}
MEGACO/1 [191.169.150.122]:2944
P=369363688{C=287{
A=A1,A=A100000035{
M{O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 191.169.150.122 m=audio 18296 RTP/AVP 8}}}}}
MEGACO/1 [191.169.200.61]:2944
T=372771561{C=287{
MF=A1{
E=369108999{al/*},
SG{al/ri}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=372771561{C=287{MF=A1}}
7)
MEGACO/1 [191.169.200.61]:2944
T=372771562{C=286{
MF=A0{
E=369109256{al/*},
SG{cg/rt}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=372771562{C=286{MF=A0}}
2-34
8)
Chapter 2 H.248
Event 8: The called UserB hooks off. The MG notifies the MGC of the off-hook
event with an NTFY_REQ command. The MGC acknowledges with an
NTFY_REPLY.
MEGACO/1 [191.169.150.122]:2944
T=885{C=287{
N=A1{
OE=369108999{al/of}}}}
z
MEGACO/1 [191.169.200.61]:2944
P=885{C=287{N=A1}}
9)
MEGACO/1 [191.169.200.61]:2944
T=370281195{C=287{
MF=A1{M{O{MO=SR,RV=OFF,RG=OFF,tdmc/ec=ON}},
E=369109001{al/*},
SG{}},
MF=A100000035{M{O{MO=SR,RV=OFF,RG=OFF},
L{v=0 c=IN IP4 - m=audio - RTP/AVP 8},
R{v=0 c=IN IP4 191.169.150.122 m=audio 18300 RTP/AVP 8}}}}}
The 1st line: The command is sent by the MGC to the MG. The IP address and port of
the MGC is [191.169.200.61]:2944.
The 2nd line: The TransactionID is 370281195, and the ContextID is 287, that is, the
Context created for the MGC and the Termination2.
The 3rd line: The Modify command, to modify the properties of the Termination A1. M
represents the Media descriptor. O represents the LocalControl descriptor. MO=SR
indicates that the MGC modifies the mode property of the Termination A1 to be
send/receive. RV=OFF,RG=OFF indicates that both the ReserveGroup property and
the ReserveValue property are set to OFF. tdmc/ec=ON indicates that the MGC
suggests ON to be the echo canceler in the TDM Circuit Packages.
The 4th line: The MGC requests the MG to detect events that will happen in the
Termination A1, such as on-hook events.
The 5th line: The Signals descriptor. Here the signal is null, indicating the MGC requires
the MG to stop any signal played currently.
The 6th line: The Modify command, to modify the properties of the RTP Termination
A100000035. M represents the Media descriptor. O represents the LocalControl
2-35
Chapter 2 H.248
descriptor. MO=SR indicates that the MGC modifies the mode property of the RTP
Termination A100000035 to be send/receive. RV=OFF,RG=OFF indicates that both
the ReserveGroup property and the ReserveValue property are set to OFF.
The 7th line: The Local descriptor, carrying the connection description of the local RTP
(associated with the Termination A1) Termination A100000035.
The 8th line: The Remote descriptor, carrying the connection description of the remote
RTP (associated with the Termination A0) Termination A100000034.
z
MEGACO/1 [191.165.15.122]:2944
P=370281195{C=287{
MF=A1,MF=A100000035{
M{L{v=0 c=IN IP4 191.169.150.122 m=audio 18296 RTP/AVP 8}}}}}
10) Event 10: Through an MOD_REQ command, the MGC sends the connection
description of the RTP Termination A100000035 associated with the Termination
A1 to the RTP Termination A100000034 associated with the Termination A0, and
modifies the mode property of the RTP Termination A100000034 to be
send/receive. The MG acknowledges with an MOD_REPLY.
At this time, the Terminations A0 and A1 know the connection information of the local
end and the opposite end. The conversation conditions are satisfied, and a
conversation can start.
z
MEGACO/1 [191.169.200.61]:2944
T=370281196{C=286{
MF=A0{M{O{MO=SR,RV=OFF,RG=OFF,tdmc/ec=ON}},
E=369109258{al/*},
SG{}},
MF=A100000034{M{O{MO=SR,RV=OFF,RG=OFF},
L{v=0 c=IN IP4 - m=audio - RTP/AVP 8},
R{v=0 c=IN IP4 191.169.150.122 m=audio 18296 RTP/AVP 8}}}}}
MEGACO/1 [191.165.15.122]:2944
P=370281196{C=286{
MF=A0,MF=A100000034{
M{L{v=0 c=IN IP4 191.169.150.122 m=audio 18300 RTP/AVP 8}}}}}
11) Event 11: The calling party UserA hooks on. The MG sends an NTFY_REQ
command to notify the MGC. The MGC sends an NTFY_REPLY to acknowledge
the receipt of the Notify command.
z
MEGACO/1 [191.169.150.122]:2944
T=886{C=286{
2-36
Chapter 2 H.248
N=A0{OE=369109258{al/on}}}}
z
MEGACO/1 [191.169.200.61]:2944
P=886{N=A0}}
12) Event 12: On receipt of the on-hook event of the UserA, the MGC sends an
MOD_REQ command to the MG to modify the properties of the Termination A0.
The MGC also requests the MG to detect events that will happen in the
Termination A0, such as off-hook events, and modify the mode property of the
RTP Termination A100000034 to be inactive. The MG sends an MOD_REPLY to
acknowledge the receipt of the MOD_REQ and indicate the execution of the
command.
z
MEGACO/1 [191.169.200.61]:2944
T=370281199{C=286{
MF=A0{E=369109259{al/*},SG{}},
MF=A100000034{M{O{MO=IN,RV=OFF,RG=OFF}}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=370281199{C=286{MF=A0,MF=A100000034}}
13) Event 13: On receipt of the on-hook event of the UserA, the MGC sends an
SUB_REQ command to the MG to subtract all semi-permanent Terminations and
ephemeral RTP Terminations from the Context 286 and thus to delete the Context
and disconnect the call. The MG sends an SUB_REPLY to acknowledge the
receipt of the SUB_REQ command.
z
MEGACO/1 [191.169.200.61]:2944
T=372509424{C=286{O-S=*}}
The 1st line: The command is sent by the MGC to the MG. The IP address and port of
the MGC is [191.169.200.61]:2944.
The 2nd line: The TransactionID is 372509424, and the ContextID is 286. In O-S=*,
O represents Optional, S represents Subtract, and * represents All. Therefore,
O-S=* indicates to subtract all Terminations from the Context 286.
z
MEGACO/1 [191.169.150.122]:2944
P=372509424{C=286{
S=A0,S=A100000034}}
14) Event 14: The MGC sends an MOD_REQ command to the MG to modify the
properties of the Termination A1. The MGC also requests the MG to detect events
that will happen in the Termination A1, such as on-hook events, and requests the
MG to send the busy tone to the Termination A1. The MG sends an MOD_REPLY
to acknowledge the receipt of the MOD_REQ, and meanwhile sends the busy tone
to the UserB.
2-37
Chapter 2 H.248
MEGACO/1 [191.169.200.61]:2944
T=372771569{C=287{
MF=A1{E=369109004{al/*},SG{cg/bt}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=372771569{C=287{MF=A1}}
15) Event 15: After the call and the Context between the Termination A0, the RTP
Termination and the MGC are cleared, the MGC sends an MOD_REQ command
to the MG, requesting the MG to detect events that will happen in the Termination
A0, such as off-hook events. The MG sends an MOD_REPLY to acknowledge the
receipt of the MOD_REQ command. At this time, the Context is null.
z
MEGACO/1 [191.169.200.61]:2944
T=372771570{C= - {
MF=A0{E=369109261{al/*},SG{}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=372771570{C= - {MF=A0}}
16) Event 16: The called party UserB hooks on. The MG sends an NTFY_REQ
command to notify the MGC. The MGC sends an NTFY_REPLY to acknowledge
the receipt of the Notify command.
z
MEGACO/1 [191.169.150.122]:2944
T=887{C=287{
N=A1{OE=369109004{al/on}}}}
MEGACO/1 [191.169.200.61]:2944
P=887{C=287{N=A1}}
17) Event 17: On receipt of the on-hook event of the UserB, the MGC sends an
SUB_REQ command to the MG to subtract all semi-permanent Terminations and
ephemeral RTP Terminations from the Context 287 and thus to delete the Context
and disconnect the call. The MG sends an SUB_REPLY to acknowledge the
receipt of the SUB_REQ command.
z
MEGACO/1 [191.169.200.61]:2944
T=372509427{C=287{O-S=*}}
z
MEGACO/1 [191.169.150.122]:2944
2-38
Chapter 2 H.248
P=372509427{C=287{
S=A1,S=A100000035}}
18) Event 18: After the call and the Context between the Termination A1, the RTP
Termination and the MGC are cleared, the MGC sends an MOD_REQ command
to the MG, requesting the MG to detect events that will happen in the Termination
A1, such as off-hook events. The MG sends an MOD_REPLY to acknowledge the
receipt of the MOD_REQ command. At this time, the Context is null.
z
MEGACO/1 [191.169.200.61]:2944
T=372771572{C= - {
MF=A1{E=369109006{al/*},SG{}}}}
z
MEGACO/1 [191.169.150.122]:2944
P=372771572{C= - {MF=A1}}
SoftX3000
H.248
Core
Networ k
MTP3+M2UA+Trunk+H.248
Voice
AMG5000
PSTN
TMG8010+SG
The call procedure is illustrated in Figure 2-12. In the procedure, it is assumed that
z
The PSTN user is the calling party, and the associated PSTN switch is connected
to SoftX3000 through a TMG;
The AMG user is the called party, and the called party hooks on first.
2-39
SG
TG
Chapter 2 H.248
SoftX3000
AMG
UserB
IAM
1 ADD_REQ
2 ADD_REQ
ADD_REPLY
4 MOD_REQ
ACM
MOD_REPLY
ADD_REPLY
3 MOD_REQ
MOD_REPLY
Ringing
5 NTFY_REQ
Off-hook
NTFY_REPLY
6 MOD_REQ
MOD_REPLY
7 MOD_REQ
MOD_REPLY
ANM
8 NTFY_REQ
NTFY_REPLY
9 MOD_REQ
MOD_REPLY
10 SUB_REQ
SUB_REPLY
REL
RLC
On-hook
11 SUB_REQ
SUB_REPLY
1)
Event 1: The PSTN user hooks off and dials the called number. An Initial Address
Message (IAM) is sent to the MGC through the Signaling Gateway (SG) built in the
TMG.
On receipt of the IAM, the MGC sends an ADD_REQ, requesting the TMG to add the
physical Termination A29 and a certain RTP Termination to a new Context. The TMG
responds with an ADD_REPLY with a new allocated connection descriptor 15 and a
new RTP termination descriptor A2147489806. Requested by the MGC, the TMG
determines G.723 as the codec type for the Termination A2147489806 of the TMG, sets
its RTP port number to be 13388, fills the local IP address to be 191.169.150.10, and
sets the Termination A2147489806 to be in the send/receive mode.
z
MEGACO/1 [191.169.150.170]:2944
T=369379680{C=${A=A29{M{O{MO=SR,RV=OFF,tdmc/ec=ON}}},
A=${M{O{MO=SR,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 $ m=audio $ RTP/AVP 4}}}}}
z
MEGACO/1 [191.169.150.010]:2944
P=369379680{C=15{A=A29,
A=A2147489806{M{ST=1{
L{v=0 c=IN IP4 191.169.150.10 m=audio 13388 RTP/AVP 4}}}}}}
2-40
2)
Chapter 2 H.248
Event 2: The MGC conducts the analysis of the called number and determines the
called UserB is connected to the physical Termination A0 in the AMG. Therefore,
the MGC sends an ADD_REQ, requesting the AMG to add the physical
Termination A0 and a certain RTP Termination to a new Context. The AMG
responds with an ADD_REPLY with a new allocated connection descriptor 218
and a new RTP termination descriptor A100000379. Requested by the MGC, the
AMG determines G.723 as the codec type for the Termination A100000379 of the
AMG, sets its RTP port number to be 18300, fills the local IP address to be
191.169.150.172, and sets the Termination A100000379 to be in the inactive
mode.
MEGACO/1 [191.169.150.170]:2944
T=369379681{C=${
A=A0{M{O{MO=SR,RV=OFF,RG=OFF}},E=369099789{al/*},SG{}},
A=${M{O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 $ m=audio $ RTP/AVP 4}}}}}
z
MEGACO/1 [191.169.150.172]:2944
P=369379681{C=218{A=A0,
A=A100000379{M{O{MO=IN,RV=OFF,RG=OFF,nt/jit=40},
L{v=0 c=IN IP4 191.169.150.172 m=audio 18300 RTP/AVP 4}}}}}
3)
Event 3: The MGC sends an MOD_REQ to the AMG to modify the properties of
the Termination A0. The MGC also requests the AMG to detect events that will
happen in the Termination A0, such as off-hook events, and plays the ringing tone
to the UserB. The AMG acknowledges with an MOD_REPLY, and meanwhile the
AMG plays the ringing tone to the UserB.
MEGACO/1 [191.169.150.170]:2944
T=372787554{C=218{
MF=A0{E=369099790{al/*},SG{al/ri}}}}
z
MEGACO/1 [191.169.150.172]:2944
P=372787554{C=218{MF=A0}}
4)
Event 4: The MGC sends an MOD_REQ command to the TMG, requesting the
TMG to play the ringback tone to the PSTN user. The TMG acknowledges with an
MOD_REPLY.
MEGACO/1 [191.169.150.170]:2944
T=371870051{C=15
2-41
Chapter 2 H.248
{MF=A29{SG{SL=0{cg/rt{NC={TO,OR}}}}}}}
z
MEGACO/1 [191.169.150.010]:2944
P=371870051{C=15{MF=A29}}
5)
Event 5: The UserB hooks off. The AMG sends an NTFY_REQ command to notify
the MGC. The MGC sends an NTFY_REPLY to acknowledge the receipt of the
Notify command.
MEGACO/1 [191.169.150.172]:2944
T=2470{C=218{
N=A0{OE=369099790{al/of}}}}
z
MEGACO/1 [191.169.150.170]:2944
P=2470{C=218{N=A0}}
6)
MEGACO/1 [191.169.150.170]:2944
T=370297190{C=218{
MF=A0{M{O{MO=SR,RV=OFF,RG=OFF,tdmc/ec=ON}},
E=369099791{al/*},SG{}},
MF=A100000379{M{O{MO=SR,RV=OFF,RG=OFF},
L{v=0 c=IN IP4 m=audio RTP/AVP 4},
R{v=0 c=IN IP4 191.169.150.10 m=audio 13388 RTP/AVP 4}}}}}
z
MEGACO/1 [191.169.150.172]:2944
P=370297190{C=218{
MF=A0,
MF=A100000379{M{L{v=0 c=IN IP4 191.169.150.172 m=audio 18300 RTP/AVP 4 }}}}}
7)
At this time, the Termination A29 of the TMG and the Termination A0 of the AMG know
the connection information of the local end and the opposite end. Subsequently,
SoftX3000 sends an Answer Message (ANM) to the SG. On receipt of the message, the
SG transfers it to the PSTN switch through the M2UA protocol and requests the switch
to stop sending the ringback tone to the PSTN user and set up a conversation.
2-42
Chapter 2 H.248
MEGACO/1 [191.169.150.170]:2944
T=370297192{C=15{
MF=A29{M{O{MO=SR,RV=OFF,RG=OFF}}},
MF=A2147489806{M{L{ v=0 c=IN IP4 m=audio RTP/AVP 4},
R{ v=0 c=IN IP4 191.169.150.172 m=audio 18300 RTP/AVP 4}
z
MEGACO/1 [191.169.150.010]:2944
P=370297192{C=15{MF=A29,MF= A2147489806}}
8)
Event 8: The called UserB hooks on. The AMG sends an NTFY_REQ command to
notify the MGC. The MGC sends an NTFY_REPLY to acknowledge the receipt of
the Notify command.
MEGACO/1 [191.169.150.172]:2944
T=2471{C=218{
N=A0{OE=369099791{al/on}}}}
z
MEGACO/1 [191.169.150.170]:2944
P=2471{C=218{N=A0}}
9)
Event 9: On receipt of the on-hook event of the UserB, the MGC sends an
MOD_REQ command to the AMG to modify the properties of the Termination A0.
The MGC also requests the gateway to detect events that will happen in the
Termination A0, such as off-hook events, and modify the mode property of the
RTP Termination A100000379 to be inactive. The MG sends an MOD_REPLY to
acknowledge the receipt of the MOD_REQ and indicate the execution of the
command.
MEGACO/1 [191.169.150.170]:2944
T=370297199{C=218{
MF=A0{E=369099776{al/*},SG{}},
MF=A100000379{M{O{MO=IN,RV=OFF,RG=OFF}}}}}
z
MEGACO/1 [191.169.150.172]:2944
P=370297199{C=218{MF=A0,MF= A100000379}}
10) Event 10: On receipt of the on-hook event of the UserB, the MGC sends an
SUB_REQ command to the AMG to subtract all semi-permanent Terminations
and ephemeral RTP Terminations from the Context 218 and thus to delete the
Context and disconnect the call. The MG sends an SUB_REPLY to acknowledge
the receipt of the SUB_REQ command.
z
MEGACO/1 [191.169.150.170]:2944
T=372525424{C=218{O-S=*}}
2-43
Chapter 2 H.248
MEGACO/1 [191.169.150.172]:2944
P=372525424{C=218{
S=A0,S= A100000379}}
11) Event 11: On receipt of the SUB_REQ command from the AMG, the MGC sends a
Release (REL) message to the SG. On receipt of the message, the SG transfers it
to the PSTN switch through the M2UA protocol and requests the switch to send
the busy tone to the PSTN user and release the voice circuit.
On receipt of the REL message, the PSTN switch acknowledges with a Release
Completed (RLC) message which triggers the release of the voice circuit. On receipt of
the RLC message, the SG transfers it to the MGC through the M2UA protocol.
On receipt of the RLC message, the MGC sends an SUB_REQ command to the TMG
to subtract all semi-permanent Terminations and ephemeral RTP Terminations from the
Context 15 and thus to delete the Context and disconnect the call. The TMG sends an
SUB_REPLY to acknowledge the receipt of the SUB_REQ command.
z
MEGACO/1 [191.169.150.170]:2944
T=372525425{C=15{O-S=A29, O-S=A2147489806}}
z
MEGACO/1 [191.169.150.010]:2944
P=372525425{C=15{
S=A29,S=A2147489806}}
2-44
Chapter 3 SIP
Chapter 3 SIP
3.1 Overview
3.1.1 Basic Concepts
Put forward and studied by the IETF, the Session Initiation Protocol (SIP) is an
application-layer control protocol for multimedia communication over IP network, which
can be used for creating, modifying and terminating sessions with one or more
participants. These sessions include Internet multimedia conferences, Internet
telephone calls, distance learning, telemedicine, and similar applications. That is, all
interactive two-party or multiparty multimedia communication activities over the Internet
are multimedia sessions. Members in a session can communicate through multicast or
through a mesh of unicast relations, or a combination of these.
SIP is being developed and studied. On one hand, SIP learns from the design concepts
of other Internet standards and protocols and follows Internet principles such as
concision, openness, compatibility and expendability with security issues taken into
account. On the other hand, SIP fully considers the support for traditional PSTN
services including Intelligent Network (IN) services and Integrated Services Digital
Network (ISDN) services.
SIP invitations used to create sessions carry session descriptions which allow
participants to agree on a set of compatible media types. SIP supports user mobility by
proxying and redirecting requests to the users current location. Users can register their
current location. SIP is not tied to any particular conference control protocol. SIP is
designed to be independent of the underlying transport protocol and can be extended
with additional capabilities.
Being an application-layer multimedia session signaling protocol, SIP can be used to
initiate sessions as well as invite members to sessions that have been advertised and
established by other means. Sessions can be advertised using multicast protocols
such as Session Announcement Protocol (SAP), electronic mail, web pages or
Lightweight Directory Access Protocol (LDAP), among others. SIP transparently
supports name mapping and redirection services, allowing the implementation of ISDN
and IN telephony subscriber services. These facilities also enable personal mobility,
that is, the ability of end users to request and access subscribed telecommunication
services on any terminal in any location at any time. SIP supports five facets of
establishing and terminating multimedia communications:
3-1
Chapter 3 SIP
Call setup: "ringing", establishment of call parameters at both called and calling
party.
Call handling and control: including redirection, transfer and termination of calls.
SIP can initiate multiparty sessions using a multipoint control unit (MCU), unicast mesh,
or multicast, supporting gateway functionality between PSTN and Internet calls.
SIP can be used in conjunction with other signaling systems or protocols for call setup.
The IETF has included extensibility and compatibility of SIP with other protocols. For
example, SIP could be used to determine that the party can be reached through H.323,
obtain the H.245 gateway and user address and then use H.225.0 to establish the call.
In another example, SIP might be used to determine that the callee is reachable
through the PSTN and indicate the phone number to be called, possibly suggesting an
Internet-to-PSTN gateway be used.
SIP does not offer conference control services such as floor control or voting and does
not prescribe how a conference is to be managed, but SIP can be used to introduce
conference control protocols. SIP does not reserve resources, but can convey to the
invited system the information necessary to do this.
3-2
Chapter 3 SIP
II. Transaction
SIP is a client/server protocol. A SIP transaction occurs between a client and a server
and comprises all messages from the first request sent from the client to the server up
to a final (non-1xx) response sent from the server to the client.
A normal call consists of three transactions. Call initiation consists of two operation
requests, namely INVITE and ACK. The former requires a response. The latter is only
an acknowledgement that the final response is received; it does not require a response.
Call termination consists of one operation request, namely BYE.
3-3
Chapter 3 SIP
follow the domain name. Two values are available for this field: IP and phone. When the
field is set to phone, the username is a telephone number and the corresponding end
system is an IP telephony gateway.
Method parameter refers to the method (operation) to be used.
Time-to-live (TTL) indicates the life of UDP multicast data packets. This parameter is
valid only when the transport parameter is set to UDP and the server address
parameter is set to multicast address.
Server address parameter indicates the address of the server communicating with
the user. It, usually the multicast address, overwrites the address in the host field.
Transport parameter, time-to-live, server address parameter, and method
parameter are URL parameters used only in a redirect address, that is the Contact field
which will be mentioned later.
The following are some SIP URL examples.
Sip; 55500200@191.169.1.112;
V. Location service
A location service is used by a SIP redirect or proxy server to obtain information about a
callees possible location(s). Location services are offered by location servers. Location
servers may be co-located with a SIP server, but the manner in which a SIP server
requests location services is beyond the scope of this document. In the U-SYS Solution
proposed by Huawei, SoftX3000 acts as a location server.
3-4
Chapter 3 SIP
VIII. Registrar
A register is a server that accepts REGISTER requests. A registrar is typically
combined with a proxy or redirect server into a single application. A registrar needs to
store the address mapping relationship in REGISTER requests in a database for
subsequent call processes. A registrar may offer location services. In the U-SYS
Solution proposed by Huawei, SoftX3000 also acts as a registrar.
3-5
Chapter 3 SIP
H.323
SIP
RTCP
RSVP
RTSP
H.263 etc.
RTP
TCP
UDP
IP
PPP
AAL3/4
Sonet
AAL5
ATM
PPP
Ethernet
V.34
3-6
Chapter 3 SIP
SoftX3000
SoftX3000
SIP/SIP-T
IP
SIP
IP
SIP
IP Core
Sof tPhone
Sof tPhone
I. Request messages
Request messages are SIP messages sent from a client to a server, for the purpose of
invoking a particular operation. They are INVITE, ACK, OPTIONS, BYE, CANCEL and
REGISTER messages. The functions of these messages are listed in Table 3-1.
Table 3-1 Request messages
Request
message
INVITE
Function
The INVITE message indicates that the user is being invited to participate in a
session. The message body contains a description of the session to which the callee
is being invited. For two-party calls, the caller indicates the type of media it is able to
receive as well as their parameters. A success response must indicate in its
message body which media the callee wishes to receive and may indicate the media
the callee is going to send.
A server may automatically respond to an invitation for a conference the user is
already participating in, identified either by the SIP Call-ID or a globally unique
identifier within the session description, with a 200 (OK) response.
ACK
The ACK request confirms that the client has received a final response to an INVITE
request. ACK is used only with INVITE messages.
BYE
The user agent client uses BYE to indicate to the server that it wishes to release the
call.
3-7
Chapter 3 SIP
Request
message
Function
CANCEL
The CANCEL request cancels a pending request, but does not affect a completed
request. (A request is considered completed if the server has returned a final status
response.)
REGISTER
A client uses the REGISTER request to register an address with a SIP server.
OPTIONS
2xx
3xx
4xx
Status-Code
Message functions
Informational
(provisional)
100
Trying
180
Ringing
181
182
Queued
Success
200
OK
Redirection
300
Multiple Choices
301
Moved Permanently
302
Moved Temporarily
303
See Other
305
User Proxy
380
Alternative Service
Client error
400
Bad Request
3-8
Serial No.
5xx
Chapter 3 SIP
Status-Code
Message functions
401
Unauthorized
402
Payment Required
403
Forbidden
404
Not Found
405
406
Not Acceptable
407
408
Request Timeout
410
Gone
413
414
415
416
420
Bad Extension
421
Extension Required
423
480
Temporarily Unavailable
481
482
Loop Detected
483
484
Address Incomplete
485
Ambiguous
486
Busy Here
487
Request Terminated
488
491
Request Pending
493
Undecipherable
Server error
500
501
Not Implemented
3-9
Serial No.
6xx
Chapter 3 SIP
Status-Code
Message functions
502
Bad Gateway
503
Service Unavailable
504
Server Time-out
505
513
Global failure
600
Busy Everywhere
603
Decline
604
606
Not Acceptable
Both the request and the response messages contain SIP header fields and SIP
message fields.
SDP message fields are added into SIP messages.
Request format
Figure 3-3 illustrates the format for a SIP request that consists of a start line, a message
header, and a message body. A line feed character distinguishes each parameter line in
the message header. Some parameters are optional for different request messages.
3-10
Command name
Chapter 3 SIP
Peer UPI
Protocol version
Start line
Message hea
Call-ID
The Call-ID header field uniquely identifies a particular invitation or all registrations of a
particular client.
A single multimedia conference can give rise to several calls with different Call-IDs, for
example, if a user invites a single individual several times to the same (long-running)
conference. A user might also receive several INVITEs to the same conference or call
with different Call-IDs. The user judges the repetition of the INVITEs by identifications
in the session description, for example, session identifier and version number carried in
the o (source) field in the SDP.
Call-IDs have a generic format:
Call-ID: localID@host
3-11
Chapter 3 SIP
Form
All requests and responses must contain the From header field that indicates the
initiator of the request. The server duplicates this field from the request message to
response messages.
This field has a generic format:
From:Display-name<SIP-URL>;tag=xxxx
To
The To header field specifies the logical recipient of the request. The format of the To
header field is the same as that of the From header field except that the first key is
replaced by To. All requests and responses must contain this field.
The tag parameter in the field distinguishes different user instances that are identified
by the same SIP URL. A proxy server can concurrently deliver several requests, and
the same request might reach different instances (for example, home telephone) of the
user. Because the instances might all respond to the request, it is required to use the
tag to distinguish the responses from different instances. The tag in the To header field
is put by each instance in the response message.
Examples of the To field:
To: <Sip:1000@191.169.200.61>
To: <sip:1001@191.169.200.61>;tag=62beb3ca
3-12
Chapter 3 SIP
In SIP, Call-ID, From, and To header fields identify one call branch. When a proxy
server concurrently delivers requests, a call might have several call branches.
z
CSeq
Via
The Via header field indicates the path taken by the request. The field can avoid loops
during the transport of the request and ensure the same path taken by the responses,
for example, in firewall occasions.
The client originating a request must add its host name or network address in the Via
header field of the request. If the client does not use the default port, it must add the
used port number in the field. At requesting for forward, the proxy server must add its
address in a new Via header field that is put before the existing Via. If the proxy server
receives a request containing its address in a Via header field, the proxy server returns
a response indicating a loop detection.
When a request is passing a Network Address Translation (NAT) entity (for example,
firewall), the requested source address and the port number might be changed and
thus the Via cannot be the base for routing responses. To avoid that, the proxy server
should check the top Via header field. If the value of the top Via is different from the
previous hops address that is detected by the proxy server, the server add a receive
parameter in the Via which is thus called Via header field tagged by the receiver. For
example:
3-13
Chapter 3 SIP
Via:SIP/2.0/UDP softx3000.bell-telephone.com:5060
Via:SIP/2.0/UDP 10.0.0.1:5060;received=191.169.12.30
When the request from 10.0.0.1 passes a NAT point with the external address
191.169.12.30, the request reaches the proxy serversoftx3000.bell-telephone.com.
At noticing the mismatch between the previous hops address and the Via header field
address, the proxy server adds the actual sending address, as a receivers tag, at the
end of the top Via and then adds its own address in a new Via that is put at the topmost.
If the proxy server sends a request to multicast address, the proxy server must add a
parameter maddr in the Via to indicate that.
The proxy server or the user agent client complies with the following rules to process
the received Via:
Rule 1: The first Via header field should indicate the proxy server or the user agent
client itself. If not, the proxy server or the user agent client discards the message;
otherwise, the proxy server or the user agent client deletes the Via header field.
Rule 2: If there is no a second Via header field, the response should reach the
destination. Otherwise, proceed as follows.
Rule 3: If the second Via header field contains a maddr parameter, the proxy server or
the user agent client sends the response according to the multicast address indicated
in the parameter. The used port number is specified in the sent-by parameter. If not
specified, the proxy server or the user agent client uses a port number 5060. The
lifetime of the response should be specified in the ttl parameter. If not specified, the
proxy server or the user agent client sets it to 1.
Rule 4: If the second Via header field does not contain a maddr parameter but has a
field tagged by the receiver, the proxy server or the user agent client sends the
response to the address specified in the received parameter.
Rule 5: If there is neither a maddr parameter nor a tag, the proxy server or the user
agent client sends the response to the address specified in the sent-by parameter.
The Via header field has a generic format:
Via: sent-protocol sent-by; hidden, ttl; maddr; received; branch
The
sent-protocol
is
expressed
protocol-name/protocol-version/transport,
in
in
which
the
the
default
form
values
of
for
protocol-name and transport are SIP and UDP. The sent-by is usually the host and
port number of the sender. The hidden parameter has a key wordhidden. If there is
a hidden parameter, it indicates that the field has been encrypted by the previous proxy
for privacy purposes. For the meanings of the maddr and received parameters, see
earlier descriptions. The ttl and maddr parameters are coordinated with each other.
The branch parameter is used by the proxy server concurrently delivering requests to
3-14
Chapter 3 SIP
tag the branches. If the response reaches the destination, the proxy uses it to judge the
branch from which the response comes.
An example of the Via field:
Via:SIP/2.0/UDP191.169.1.116:5061;ttl=16;maddr=191.169.10.20;branch=z9hG4b
kbc427dad6
z
Contact
The Contact header field is present in INVITE, ACK, and REGISTER requests, success
responses, call process responses, and redirection responses to provide an address
for direct communication with the user.
The Contact header field in an INVITE or ACK request indicates the location from which
the request is originated. With the field, the callee can directly send a request (for
example, BYE) to that address, instead of asking a series of proxy servers to forward
the request by using the Via header field.
A success response to INVITE might contain the Contact header field, which helps to
send the subsequent SIP requests (for example, ACK) directly to that address specified
in the field. That address usually indicates the host of the callee. If the host is behind a
firewall, that address indicates the proxy server.
Call process response to an INVITE request contains a Contact header field that has
the same meaning as the success response message. However, a CANCEL request
cannot be directly sent to that address. Instead, the CANCEL must be forwarded
through the same path of the original request.
The Contact header field in a REGISTER request indicates the reachable location of
the user. The request also defines a wildcard Contact field * that can only be used with
the expires field with a value of 0 to remove all registrations of a user. In the Contact
field, the expires parameter (optional) can also be specified to indicate the expiration
interval of the registration. If the parameter is not specified, the expires field value is
taken as its default value. If neither case is adopted, it is considered that the expiration
interval of the SIP URI is one hour.
The Contact header field in a success response to the REGISTER request returns all
locations that are currently reachable for the user.
The Contact header field in a redirect response such as Moved Temporarily, Moved
Permanently, or Address Ambiguous specifies other alternative addresses for retry,
which can be used for a response to a BYE, INVITE or OPTIONS request.
The Contact header field has a generic format:
Contact: address; q; action; expires; extension
The address is expressed in the same form as To and From. The q parameter has a
value range [0, 1] indicating the relative priority of the given location. The greater the
3-15
Chapter 3 SIP
value is, the higher the priority becomes. The action parameter is only used in a
REGISTER request, indicating the server is required to perform the proxy service or
redirection service on the subsequent requests to the client. If the Contact header field
does not contain an action parameter, the action to be performed depends on the
configurations of the server. The expires parameter indicates how long the URI is
valid either in seconds or by SIP date. The extension attribute is actually the extension
name.
An example of the Contact field:
Contact: <Sip:66500002@191.169.1.110:5061>;q=0.7;expires=3600
z
Max-Forwards
The Max-Forwards header field serves to limit the number of hops a request can transit
on the way to its destination. It consists of an integer that is decremented by one at
each hop. If the Max-Forwards value reaches 0 before the request reaches its
destination, it will be rejected with a 483 (Too Many Hops) error response.
The purpose of inserting this field is to avoid consuming proxy server resources in an
event of loop. The initial field value is 70.
The Max-Forwards header field has a generic format:
Max-Forwards: decimal integer
z
Allow
The Allow header field gives a list of request types that can all be supported by the
proxy server.
An example of the Allow field:
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE
z
Content-Length
The Content-Length header field indicates the size of the message body, in decimal
number of octets, sent to the recipient. Applications use this field to indicate the size of
the message body to the transferred, regardless of the media type of the entity. If the
used transport protocol is based on streams, for example, TCP, this header field must
be used.
The size of the message body does not include the Carriage Return Line Feed (CRLF)
that separates the message header from the message body. The Content-Length value
must be greater than or equal to 0. If a message does not contain a message body, the
value of the Content-Length header field must be set to 0.
SDP serves to construct the message body of a request or 2xx response.
The Content-Length header field has a generic format:
Content-Length: decimal value
3-16
Chapter 3 SIP
Content-Type
The Content-Type header field indicates the media type of the message body sent to
the recipient. If the message body is not empty, the Content-Type header field must be
present. If the body is empty and a Content-Type header field is present, it indicates
that the body of the specific type has zero length (for example, an empty audio file).
An example of the Content-Type header field:
Content-Type: application/sdp
z
Supported
User-Agent
The User-Agent header field contains information about the UAC originating the
request.
Revealing the specific software version of the user agent might allow the user agent to
become more vulnerable to attacks against software that is known to contain security
holes. Therefore, the User-Agent header field should be set to be a configurable option.
For example:
User-Agent: Softphone Beta1.5
3-17
Chapter 3 SIP
Expires
The Expires header field gives the relative time after which the message (or content)
expires.
For example:
Expires: 5
z
Accept-Language
Authorization
3-18
Chapter 3 SIP
DIGEST
USERNAME="6540012",
REALM="huawei.com",
NONCE="200361722310491179922", RESPONSE="b7c848831dc489f8dc663112b21ad3b6",
URI="sip:191.169.150.30"
3)
3-19
Chapter 3 SIP
Call-ID: 20973e49f7c52937fc6be224f9e52543@sx3000
Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6
Contact: <sip:44510000@191.169.1.116:5061>
Supported: 100rel,100rel
Max-Forwards:70
Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REGISTER,PRACK,INFO,UPDATE,SUBSCRIBE,N
OTIFY,MESSAGE,REFER
Content-Length:230
Content-Type: application/sdp
v: 0
o: HuaweiSoftX3000 1073741831 1073741831 IN IP4 191.169.1.116
s: Sip Call
c: IN IP4 191.169.1.95
t: 0 0
m: audio 30000 RTP/AVP 8 0 4 18
a: rtpmap:8 PCMA/8000
a: rtpmap 0 PCMU/8000
a: rtpmap 4 G723/8000
a: rtpmap 18 G729/8000
The 1st line: This is the start line of the request. It indicates an INVITE request message
for URI. The current address of the invited user is sip:66500002@191.169.1.110. The
SIP protocol version is 2.0.
The 2nd line: This is a From header field. It indicates that the address of the request
originator is <sip:44510000@191.169.1.116>. The tag is 1ccb6df3. When several
users sharing the same SIP address originate INVITEs with the same Call-ID, this is
used to distinguish the users.
The 3rd line: This is a To header field. It indicates that the address of the request
recipient is <sip:66500002@191.169.1.110>.
From the From and To header fields, we can find:
A terminal, 44510000, under the control of an MGC with the IP address 191.169.1.116
dials a terminal, 66500002, under the control of an MGC with the IP address
191.169.1.110. The terminal type might be ESL connected to SIP, H.323, Integrated
Access Device (IAD), or Access Gateway (AG).
The 4th line: This is a CSeq header field, used to correlate the INVITE request with the
triggered responses and corresponding ACK and CANCEL requests.
The 5th line: This is a Call-ID header field. This header field identifies an INVITE that is
globally unique. The Call-ID is 20973e49f7c52937fc6be224f9e52543@sx3000 in
3-20
Chapter 3 SIP
which sx3000 is the domain name of the SoftX3000 originating the call and
20973e49f7c52937fc6be224f9e52543 is the local identifier.
The 6th line: This is a Via header field. This header field indicates the path through
which the request passes. SIP/2.0/UDP represents the protocol for the transmission,
in which the protocol name is SIP, the protocol version is 2.0, and the transport layer
is UDP. 191.169.1.116:5061 indicates that the IP address of the SoftX3000, the
sender, is 191.169.1.116 and the used port is 5061. branch=z9hG4bkbc427dad6
is the branch parameter. When concurrently delivering a request, SoftX3000 tags all
the branches.
The 7th line: This is a Contact header field, indicating that the subsequent requests (for
example, BYE) can be directly sent to <sip:44510000@191.169.1.116:5061> without
the help of a Via header field.
The 8th line: This is a 100rel extension. This header field provides a reliable
transmission mechanism for 100 response.
The 9th line: This is a Max-Forwards header field, indicating that the maximum number
of hops the request can transit on the way to its destination is 70.
The 10th line: This is an Allow header field. This header field lists the types of request
messages that are supported by the SoftX3000 with a given IP address
191.169.1.116.
The 11th line: This is a Content-Type header field, indicating that the body carried in the
message is a single message body based on the SDP.
The 12th line: This is a white space. An SDP session description follows the white
space.
The 13th line: This is the SDP protocol version number. Currently it is the version 0.
The 14th line: This line contains the session owner/creator and the session identifier,
used to give the originator (username and host address) of the session, the session
identifier, and the session version number. HuaweiSoftX3000 is the username that is
used by the user to log into the originating host. If the host does not support user
identifier, this field is tagged to be a sign -. The first 1073741831 is the session
identifier. The session identifier in the form of a digit string helps the multiple tuples
(username, session identifier, network type, address type, and address) to construct
the sessions globally unique identifier. The second 1073741831 is the version
number of the session announcement, which is provided for the proxy server to detect
the latest one from the several announcements of the same session. The basic
principle is to increment that version number once the session data is modified. IN
refers to network indicator in the form of a text string. The currently defined IN is
Internet. IP4 refers to the address type in the form of a text string. Currently IP4 and
IP6 are defined. 191.169.1.116 is the IP address of the host that creates the session.
3-21
Chapter 3 SIP
If the address type is IP4, the IP address might be a full domain name or a dotted
decimal IP4 address. If the address type is IP6, the IP address might be a full domain
name or a compressed text IP6 address.
The 15th line: This line contains the session name. Each session description
necessarily has one and only one session name.
The 16th line: This line contains the connection related data. Currently the network type
and the address type are defined to be IN and IP4. 191.169.1.95 might be the IP
address of a Media Gateway (MG) (the terminal type is ESL telephone connected to an
IAD/AG) under the control of the SoftX3000 whose IP address is 191.169.1.116.
191.169.1.95 might also be the IP address of a SIP or H.323 terminal (the terminal
type is SIP or H.323 phone).
The 17th line: This line contains the time description. It provides a time segment when
the session can be activated, allowing the session to periodically occur. 0 represents
the start time. The format for the field is t:<start time><end time>. The values of start
time and end time are expressed in the decimal form of Network Time Protocol (NTP)
time values. The unit is second.
The 18th line: This line contains the media-level description. It provides information that
is suitable only for the media stream. audio refers to the media type. Currently five
types of media are defined: audio, video, application, data, and control. 30000
represents the transport-layer port to which the media stream is transmitted, that is, the
UDP port number of the MG (the terminal type is ESL phone connected to an IAD/AG)
or the UDP port number of a SIP or H.323 terminal (the terminal type is SIP or H.323
phone). RTP/AVP is the transport layer protocol. Its value is associated with the type
of address in the c line. For IP4, a great number of media service streams are
transferred over RTP/UDP. There are two classes of protocols defined: RTP/AVP,
audio/video application document, transported over UDP; Udp, the DUP protocol. 8 0
4 18 is, for audio and video, the media payload type that is defined in the RTP
audio/video application document. It means that all the formats carried in the session
might be used, but the first one is the default format for the session.
The whole line indicates that A-law PCM single-channel audio signal is used by default,
its static payload type is numbered 8 in the RTP audio/video application document, and
the signal is transmitted to a UDP port 30000.
The 19th to 22nd lines: These lines introduce rtpmap attributes, specifying the mapping
correspondence from RTP payload type to encoding. The format of such a line is a:
rtpmap:<payload type><encoding name>/<clock rate>[/<coding parameter>]. In the
format, <coding parameter> refers to the number of audio channels. This parameter is
unavailable to video signals.
3-22
Chapter 3 SIP
Response format
Figure 3-4 illustrates the format for a SIP response that is composed of a start line, a
message header, and a message body. A line feed character distinguishes each
parameter line in the message header. Some parameters are optional for different
response messages.
SIP/prot ocol version
Status code
Descriptive phrase
Start line
White space
SDP
Message body
3-23
Chapter 3 SIP
Call-ID: 20973e49f7c52937fc6be224f9e52543@sx3000
Via: SIP/2.0/UDP 191.169.1.116:5061;branch=z9hG4bkbc427dad6
Require:100rel
RSeq:1
Contact:<sip:66500002@191.169.1.110:5061;transport=udp>
Content-Length:157
Content-Type:application/sdp
v=0
o=HuaweisoftX3000 1073741824 1073741824 IN IP4 191.169.1.110
s=Sip Call
c=IN IP4 191.169.1.135
t=0 0
m=audio 30016 RTP/AVP 8
a=rtpmap:8 PCMA/8000
The 1st line: The SIP protocol. The protocol version is 2.0. The status code is 180.
Ringing is a descriptive phrase, indicting to send the ringing tone to the callee.
The 2nd and 3rd lines: Refer to the example of SIP request.
The 4th line: This is a CSeq header field, used to correlate the INVITE request with the
triggered responses and corresponding ACK and CANCLE requests. The CSeq
header field in this response has the same meaning as that in the earlier described
request. Both are 1 INVITE, indicating the response is trigger by the previous request.
The 5th to 11th lines: Refer to the example of SIP request.
The 12th line: This is a white space. An SDP session description follows the white
space.
The 13th line: This is the SDP protocol version number. Currently it is the version 0.
The 14th line: This line contains the session owner/creator and the session identifier,
used to give the originator (username and host address) of the session, the session
identifier, and the session version number. HuaweiSoftX3000 is the username that is
used by the user to log into the originating host. If the host does not support user
identifier, this field is tagged to be a sign -. The first 1073741824 is the session
identifier. The session identifier in the form of a digit string helps the multiple tuples
(username, session identifier, network type, address type, and address) to construct
the sessions globally unique identifier. The second 1073741824 is the version
number of the session announcement, which is provided for the proxy server to detect
the latest one from the several announcements of the same session. The basic
principle is to increment that version number once the session data is modified. IN
refers to network indicator in the form of a text string. The currently defined IN is
3-24
Chapter 3 SIP
Internet. IP4 refers to the address type in the form of a text string. Currently IP4 and
IP6 are defined. 191.169.1.110 is the IP address of the host that creates the session.
The 15th line: This line contains the session name. Each session description
necessarily has one and only one session name.
The 16th line: This line contains the connection related data. Currently the network type
and the address type are defined to be IN and IP4. 191.169.1.135 might be the IP
address of an MG (the terminal type is ESL telephone connected to an IAD/AG) under
the control of the SoftX3000 whose IP address is 191.169.1.110. 191.169.1.135 might
also be the IP address of a SIP or H.323 terminal (the terminal type is SIP or H.323
phone).
The 17th line: This line contains the time description. It provides a time segment when
the session can be activated, allowing the session to periodically occur.
The 18th line: This line contains the media-level description. It provides information that
is suitable only for the media stream. audio refers to the media type. 30016
represents the transport-layer port to which the media stream is transmitted, that is, the
UDP port number of the MG (the terminal type is ESL phone connected to an IAD/AG)
or the UDP port number of a SIP or H.323 terminal (the terminal type is SIP or H.323
phone). RTP/AVP is the transport layer protocol. Its value is associated with the type
of address in the c line. For IP4, a great number of media service streams are
transferred over RTP/UDP. There are two classes of protocols defined: RTP/AVP,
audio/video application document, transported over UDP; Udp, the DUP protocol. 8 is
the media payload type defined in the RTP audio/video application document.
The 19th line: This line introduces a rtpmap attribute, specifying the mapping
correspondence from RTP payload type to encoding. The RTP payload type 8
represents PCMA.
3-25
Chapter 3 SIP
SIP Phone
SoftX3000
Register
401 Unauthorized
Register
200 OK
Figure 3-5 Registration procedure between SIP entity and SIP server
1)
The 1st line: This is the start line of the request. It indicates a Register request message.
The terminal is originating to register itself to the MGC whose IP address is
191.169.150.30. The SIP protocol version is 2.0.
The 2nd line: This is a From header field. It indicates that the Register originator is a
SIP Phone controlled by the MGC whose IP address is 191.169.150.30.
The 3rd line: This is a To header field. It indicates the address of the Register recipient.
In this example, the address of the Register recipient, MGC, is 191.169.150.30.
The 4th line: This is a Call-ID header field, This header field identifies an INVITE that is
globally unique. The Call-ID is 1-reg@191.169.150.251 in which 191.169.150.251 is
the IP address of SIP Phone originating the Register request and 1-reg is the local
identifier.
3-26
Chapter 3 SIP
The 5th line: This is a CSeq header field, used to correlate the Register request with the
responses it triggers.
The 6th line: This is a Contact header field. The Contact header field in the Register
request indicates the reachable location of the user. It indicates that the current IP
address of SIP Phone is 191.169.150.251 and the telephone number is 6540012.
The 7th line: This line indicates that the lifetime of the Register is 100s.
The 8th line: This line indicates that the length of the message body of the request is
null, that is, the message does not carry a session description.
The 9th line: This line indicates that English is the preferred language to mention the
reason phrase, the session description, or the status answer contents carried in the
answer message.
The 10th line: This line indicates that the message sender, a UA entity, supports sip-cc,
sip-cc01, and timer extension protocols. timer represents that the terminal supports
the session-timer extension protocol.
The 11th line: This line contains information of the user terminal that originates the
request. In this example, the information includes the type and the version number of
SIP Phone.
The 12th line: This is a Via header field. This header field indicates the path taken by
the request. SIP/2.0/UDP represents the protocol used for the transmission, in which
SIP is the protocol name, 2.0 is the protocol version number, and UDP is the
transport layer. 191.169.150.251 represents the IP address of the request sender.
2)
3)
Chapter 3 SIP
response parameter contains a response that SIP Phone encrypts, upon receipt of
the 401 Unauthorized response message, by using a particular algorithm
according to the information returned from the server as well as the user
configurations.) The following is an example of Register request.
REGISTER sip:191.169.150.30 SIP/2.0
From: sip:6540012@191.169.150.30;tag=16838c16838
To: sip:6540012@191.169.150.30;tag=946e6f96
Call-Id: 1-reg@191.169.150.251
Cseq: 2763 REGISTER
Contact: sip:6540012@191.169.150.251
Expires: 100
Content-Length: 0
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer
User-Agent: Pingtel/1.2.7 (VxWorks)
Authorization:
DIGEST
USERNAME="6540012",
REALM="huawei.com",
NONCE="200361722310491179922", RESPONSE="b7c848831dc489f8dc663112b21ad3b6",
URI="sip:191.169.150.30"
Via: SIP/2.0/UDP 191.169.150.251
4)
Event 4: Upon receipt of the Register request from SIP Phone, MGC checks the
correctness of the nonce. If the received nonce is the same as that carried in the
401 Unauthorized response message, SIP Phone passes the check. Otherwise,
MGC will return a failure message. Subsequently, MGC collects the nonce,
username, password (obtained from the local user information), and URI and uses
the same algorithm as used at the terminal to generate a new response parameter.
MGC compares the new response parameter with that carried in the request
message. If they are consistent, the user successfully passes the authorization;
otherwise, the authorization fails. MGC returns a 200 OK response message,
indicating the success of the terminal authorization.
SIP/2.0 200 OK
From: <sip:6540012@191.169.150.30>;tag=16838c16838
To: <sip:6540012@191.169.150.30>;tag=946e6f96
CSeq: 2763 REGISTER
Call-ID: 1-reg@191.169.150.251
Via: SIP/2.0/UDP 191.169.150.251
Contact: <sip:6540012@191.169.150.251>;expires=3600
Content-Length: 0
3-28
Chapter 3 SIP
SIP Phone A originates a call to SIP Phone B, and the calling party hooks on first;
The telephone number of SIP Phone A is 1000, and the telephone number of SIP
Phone B is 1001.
SIP Phone A
1
2
3
4
SoftX3000
SIP Phone B
INVITE
100 Trying
407
ACK
INVITE
100 Trying
10 180 Ringing
12
13
200 OK
ACK
INVITE
7
8
100 Trying
180 Ringing
11
200 OK
14
ACK
Conversation
15
BYE
16
487
17
BYE
3-29
Chapter 3 SIP
v=0
o=Pingtel 5 5 IN IP4 191.169.150.101
s=phone-call
c=IN IP4 191.169.150.101
t=0 0
m=audio 8766 RTP/AVP 0 96 8
a=rtpmap:0 pcmu/8000/1
a=rtpmap:96 telephone-event/8000/1
a=rtpmap:8 pcma/8000/1
For interpretation of the lines, refer to the example of request message in the Request
Messages section.
2)
Event 2: MGC returns a 100 Trying response to SIP Phone A, notifying SIP Phone
A of the receipt of the request and also that MGC is processing the request.
3)
Event 3: MGC sends a 407 Proxy Authentication Required response to SIP Phone
A, indicating that MGC requires authenticating the user. The Proxy-Authenticate
field carries the authorization method, digest, that is supported by MGC and the
domain name of MGC, huawei.com. MGC generates a nonce required for this
authorization. This response message carries those parameters to the terminal to
initiate an authorization procedure.
4)
Event 4: SIP Phone A sends an ACK message to MGC, acknowledging the receipt
of the final response to the INVITE request from MGC.
3-30
Chapter 3 SIP
From: <sip:1000@191.169.200.61>;tag=1c12674
To: <sip:1001@191.169.200.61>;tag=de40692f
Call-Id: call-973598097-16@191.169.150.101
Cseq: 1 ACK
Accept-Language: en
User-Agent: Pingtel/1.2.7 (VxWorks)
Via: SIP/2.0/UDP 191.169.150.101
Content-Length: 0
5)
DIGEST
NONCE="1056131458",
USERNAME="1000",
REALM="huawei.com",
RESPONSE="1b5d3b2a5441cd13c1f2e4d6a7d5074d",
URI="sip:1001@191.169.200.61"
Via: SIP/2.0/UDP 191.169.150.101
v=0
o=Pingtel 5 5 IN IP4 191.169.150.101
s=phone-call
c=IN IP4 191.169.150.101
t=0 0
m=audio 8766 RTP/AVP 0 96 8
a=rtpmap:0 pcmu/8000/1
a=rtpmap:96 telephone-event/8000/1
a=rtpmap:8 pcma/8000/1
3-31
6)
Chapter 3 SIP
Event 6: MGC returns a 100 Trying response to SIP Phone A, notifying SIP Phone
A of the receipt of the request and also that MGC is processing the request.
7)
Event 7: MGC sends an INVITE message to SIP Phone B, requesting SIP Phone
B to participate in the session. The INVITE message carries SIP Phone As
session description to SIP Phone B.
v=0
o=HuaweiSoftX3000 1073741833 1073741833 IN IP4 191.169.200.61
s=Sip Call
c=IN IP4 191.169.150.101
t=0 0
m=audio 8766 RTP/AVP 0 8
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
8)
Event 8: SIP Phone B returns a 100 Trying response to MGC, notifying MGC of the
receipt of the request and also that SIP Phone B is processing the request.
3-32
Chapter 3 SIP
9)
Event 9: SIP Phone B receives the ringing tone and returns a 180 Ringing
response to MGC.
10) Event 10: MGC sends a 180 Ringing response to SIP Phone A. SIP Phone A
receives the ringback tone.
SIP/2.0 180 Ringing
From: <sip:1000@191.169.200.61>;tag=1c12674
To: <sip:1001@191.169.200.61>;tag=e110e016
CSeq: 2 INVITE
Call-ID: call-973598097-16@191.169.150.101
Via: SIP/2.0/UDP 191.169.150.101
Contact: <sip:1001@191.169.200.61:5061;transport=udp>
Content-Length: 0
11) Event 11: SIP Phone B sends a 200 OK response to MGC, notifying that SIP
Phone B has successfully received and processed the INVITE request. The
message carries its IP address (191.169.150.101), port number (8766), payload
type, encoding information matching the payload type to MGC.
SIP/2.0 200 OK
From: <sip:1000@191.169.200.61>;tag=1fd84419
To: <sip:1001@191.169.150.100>;tag=4239
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Cseq: 1 INVITE
Content-Type: application/sdp
Content-Length: 164
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK8fd4310b0
Session-Expires: 36000
Contact: sip:1001@191.169.150.100
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY
User-Agent: Pingtel/1.0.0 (VxWorks)
3-33
Chapter 3 SIP
v=0
o=Pingtel 5 5 IN IP4 191.169.150.100
s=phone-call
c=IN IP4 191.169.150.100
t=0 0
m=audio 8766 RTP/AVP 0 8
a=rtpmap:0 pcmu/8000/1
a=rtpmap:8 pcma/8000/1
12) Event 12: MGC sends a 200 OK response to SIP Phone A, notifying that MGC has
successfully received and processed the INVITE request, and MGC sends the
session description of SIP Phone B to SIP Phone A.
SIP/2.0 200 OK
From: <sip:1000@191.169.200.61>;tag=1c12674
To: <sip:1001@191.169.200.61>;tag=e110e016
CSeq: 2 INVITE
Call-ID: call-973598097-16@191.169.150.101
Via: SIP/2.0/UDP 191.169.150.101
Contact: <sip:1001@191.169.200.61:5061;transport=udp>
Content-Length: 183
Content-Type: application/sdp
v=0
o=HuaweiSoftX3000 1073741834 1073741834 IN IP4 191.169.200.61
s=Sip Call
c=IN IP4 191.169.150.100
t=0 0
m=audio 8766 RTP/AVP 0 8
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
13) Event 13: SIP Phone A sends an ACK message to MGC, acknowledging the
receipt of the final response to the INVITE request from MGC.
ACK sip:1001@191.169.200.61:5061;transport=UDP SIP/2.0
Contact: sip:1000@191.169.150.101
From: <sip:1000@191.169.200.61>;tag=1c12674
To: <sip:1001@191.169.200.61>;tag=e110e016
Call-Id: call-973598097-16@191.169.150.101
Cseq: 2 ACK
Accept-Language: en
User-Agent: Pingtel/1.2.7 (VxWorks)
Via: SIP/2.0/UDP 191.169.150.101
Content-Length: 0
3-34
Chapter 3 SIP
14) Event 14: MGC sends an ACK message to SIP Phone B, acknowledging the
receipt of the final response to the INVITE request from SIP Phone B.
Now, the calling and called parties know both session descriptions and then starts a
conversation.
ACK sip:1001@191.169.150.100 SIP/2.0
From: <sip:1000@191.169.200.61>;tag=1fd84419
To: <sip:1001@191.169.150.100>;tag=4239
CSeq: 1 ACK
Call-ID: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bK44cfc1f25
Max-Forwards: 70
Content-Length: 0
15) Event 15: SIP Phone A hooks on and sends a BYE message to MGC, requesting
to terminate the session.
BYE sip:1001@191.169.200.61:5061;transport=UDP SIP/2.0
From: sip:1000@191.169.200.61;tag=1c12674
To: sip:1001@191.169.200.61;tag=e110e016
Call-Id: call-973598097-16@191.169.150.101
Cseq: 4 BYE
Accept-Language: en
Supported: sip-cc, sip-cc-01, timer
User-Agent: Pingtel/1.2.7 (VxWorks)
Via: SIP/2.0/UDP 191.169.150.101
Content-Length: 0
16) Event 16: MGC returns a 487 response to SIP Phone A, indicating the termination.
SIP/2.0 487 Request Terminated
From: <sip:1000@191.169.200.61>;tag=1c12674
To: <sip:1001@191.169.200.61>;tag=e110e016
CSeq: 4 BYE
Call-ID: call-973598097-16@191.169.150.101
Via: SIP/2.0/UDP 191.169.150.101
Content-Length: 0
17) Event 17: MGC receives the BYE from SIP Phone A and knows the on-hook event.
MGC sends a BYE request to SIP Phone B, requesting to terminate the session.
BYE sip:1001@191.169.150.100 SIP/2.0
From: <sip:1000@191.169.200.61>;tag=1fd84419
To: <sip:1001@191.169.150.100>;tag=4239
CSeq: 2 BYE
Call-ID: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKf5dbf00dd
Max-Forwards: 70
Content-Length: 0
3-35
Chapter 3 SIP
18) Event 18: SIP Phone B hooks on and sends a 200 OK response to MGC,
indicating that the session is successfully terminated.
SIP/2.0 200 OK
From: <sip:1000@191.169.200.61>;tag=1fd84419
To: <sip:1001@191.169.150.100>;tag=4239
Call-Id: 1746ac508a14feaaccb35e4a35ea1768@sx3000
Cseq: 2 BYE
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKf5dbf00dd
Contact: sip:1001@191.169.150.100
Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY
User-Agent: Pingtel/1.0.0 (VxWorks)
CONTENT-LENGTH: 0
SIP Phone A originates a call to SIP Phone B, and the called party hooks on first.
SoftX3000 A
1
SoftX3000 B
INVITE
100 Trying
180 Ringing
200 OK
ACK
BYE
Event 1: SIP Phone A controlled by SoftX3000 A hooks off and originates a call to
SIP Phone B controlled by SoftX3000 B. SoftX3000 A sends an INVITE message
to SoftX3000 B, inviting SoftX3000 to the session. The session description of the
INVITE message carries SoftX3000 As IP address (191.169.200.61), SIP Phone
3-36
Chapter 3 SIP
v=0
o=HuaweiSoftX3000 1073741831 1073741831 IN IP4 191.169.200.61
s=Sip Call
c=IN IP4 191.169.200.101
t=0 0
m=audio 30014 RTP/AVP 8 0
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
2)
3)
3-37
Chapter 3 SIP
4)
SIP/2.0 200 OK
From: <sip:66600003@191.169.200.61>;tag=64e3f587
To: <sip:5550045@191.169.100.50>;tag=2dc18caf
CSeq: 1 INVITE
Call-ID: 9e62b921769c9ae546ed4329a3c04182@sx3000
Via: SIP/2.0/UDP 191.169.200.61:5061;branch=z9hG4bKff661c627
Contact: <sip:5550045@191.169.100.50:5061;transport=udp>
Content-Length: 159
Content-Type: application/sdp
v=0
o=HuaweiSoftX3000 1073741826 1073741826 IN IP4 191.169.100.50
s=Sip Call
c=IN IP4 191.169.100.71
t=0 0
m=audio 40000 RTP/AVP 0
a=rtpmap:0 PCMU/8000
5)
6)
Event 6: SIP Phone B hooks on. SoftX3000 B sends a BYE message to SoftX3000
A, requesting to terminate the session.
3-38
Chapter 3 SIP
7)
Mapping: mapping between ISUP signaling and SIP messages and mapping
between ISUP parameters and SIP header fields. The mapping between ISUP
signaling and SIP messages can be simply described in the following way:
IAM = INVITE
ACM = 180 RINGING
ANM = 200 OK
RLS = BYE
RLC = 200 OK
The following takes the PSTN-IP-PSTN model as an example to illustrate the call
procedure where PSTN messages are transparently transported through SIP-T
messages. A successful SIP-T trunk call procedure is shown in Figure 3-8.
3-39
Chapter 3 SIP
SoftX3000 A
SG A
SoftX3000 B
SG B
IAM
1
INVITE
IAM
2 100 Trying
AC M
3 180 Ring
AC M
AN M
4
200 OK
AN M
5
ACK
Conversation
REL
6
BYE
REL
RLC
200 OK
RLC
Event 1: The calling PSTN user hooks off and dials the called number. An Initial
Address Message (IAM) is sent to MGC through Signaling Gateway (SG) A
controlled by SoftX3000 A.
Upon receipt of the IAM from SG A, SoftX3000 A encapsulates the IAM into the
message body (SDP) of an INVITE message and sends it to SoftX3000 B to invite
SoftX3000 B to participate in a session. The session description of the INVITE
message carries SG As IP address (191.169.200.188), port number (30014),
supported payload type, encoding information matching the payload type to SoftX3000
B.
2)
3)
Event 3: The called PSTN user receives the ringing tone. Meanwhile, SG B sends
an Address Complete Message (ACM) to SoftX3000 B. Upon receipt of the ACM,
SoftX3000 B encapsulates the ACM in a 180 Ringing response message and
sends it to SoftX3000 A. The session description of the 180 Ringing message
carries SG Bs IP address (191.169.150.1), port number (13304), supported
payload type, encoding information matching the payload type to SoftX3000 A.
Upon receipt of the 180 Ringing message, SoftX3000 A extracts the ACM from the 180
Ringing message and transfers the extracted ACM to SG A. SG A receives the ACM,
and meanwhile the calling PSTN user receives the ringback tone.
3-40
4)
Chapter 3 SIP
Event 4: The called PSTN user hooks off. SG B sends an Answer Message (ANM)
to SoftX3000 B. Upon receipt of the ANM, SoftX3000 B encapsulates the ANM to
the message body (SDP) of a 200 OK response message and sends it to
SoftX3000 A.
Upon receipt of the 200 OK message, SoftX3000 A extracts the ANM from the 200 OK
message and transfers the extracted ANM to SG A.
5)
Now, a bi-directional signaling channel is set up between the calling and called parties
for them to make a conversation.
6)
Event 6: The calling PSTN user hooks on. SG A sends a Release (REL) message
to SoftX3000 A. Upon receipt of the REL message, SoftX3000 A encapsulates the
REL in the message body (SDP) of a BYE request message and sends it to
SoftX3000 B.
Upon receipt of the BYE message, SoftX3000 B extracts the REL from the BYE
message and transfers the extracted REL to SG B.
7)
Event 7: Upon receipt of the REL message, SG B knows that the calling PSTN
user has hooked on, and then transfers the REL to the associated PSTN switch.
The PSTN switch receives the message and sends the busy tone to the called
PSTN user. The called PSTN user hooks on. SG B sends a Release Complete
Message (RLC) to SoftX3000 B. Upon receipt of the RLC, SoftX3000 B
encapsulates the RLC to the message body (SDP) of a 200 OK response
message and sends it to SoftX3000 A.
Upon receipt of the 200 OK response, SoftX3000 A extracts the RLC from the 200 OK
response and transfers the extracted RLC to SG A.
3-41
Chapter 4 H.323
Chapter 4 H.323
4.1 Overview of H.323
4.1.1 What is H.323
H.323 is an ITU-T Recommendation which covers the technical requirements for
multimedia communications systems in a packet based network (PBN). H.323 entities
(call control for instance) might be used in point-to-point sessions and multipoint
conferences. The latest version of H.323 is Version 4 (V4).
H.323 describes the components of an H.323 system, including gateway (GW)
between switched circuit network (SCN) and PBN, gatekeeper (GK) for address
translation and access control, multipoint controller (MC) for controlling participation of
terminals in multipoint conferences, multipoint processor (MP) for the centralized
processing of audio, video, and/or data streams in a multipoint conference, and
multipoint control unit (MCU) for providing the capability for terminals and gateways to
participate multipoint conferences.
Chapter 4 H.323
IV. Gatekeeper
The gatekeeper (GK) is an H.323 entity on the network that manages the H.323
terminals, gateways, and MCUs in a zone. A zone includes at least one terminal, and
may or may not include GWs or MCUs. A zone has one and only one GK.
The GK provides the following services and features for the H.323 endpoints:
z
Access control: Permitting the use of network resources after identity check.
V. Gateway
An H.323 Gateway (GW) is an endpoint on the network which provides for real-time,
two-way communications between H.323 terminals on PBN and other ITU Terminals on
an SCN or to another H.323 gateway. Conceptually, a GW performs conversions of
media streams and signaling. The latter means that the GW serves as a terminal to
convert the between user signaling and H.323 control signaling. If the GW connects two
different networks, PBN and SCN for instance, it needs to convert between H.323
control signaling and signaling of the other type of network.
An H.323 GW interconnects different types of network, converts the format and content
of signaling messages, and also the communication protocol procedures and media
stream format.
4-2
Chapter 4 H.323
The multipoint processor (MP) processes the audio, video, and data streams in a
multipoint conference, and returns the processed streams to each terminal. Therefore,
the MP can implement the codec algorithms of all types of media streams.
The MC and MP are functional entities rather than physical ones.
The multipoint control unit (MCU) is an endpoint on the network which provides the
capability for three or more terminals and GW to participate in a multipoint conference.
It controls and manages the multipoint conference and all attended terminals, and
performs mixing or switching of audio, video and data. The MCU consists of two parts:
a mandatory MC and optional MPs.
There are two types of multipoint conferences:
z
Terminal B
Terminal A
MCU
Terminal C
4-3
Chapter 4 H.323
Terminal B
Terminal A
MCU
Terminal C
Terminal D
Terminal E
MCU
Terminal A
Terminal B Terminal C
Terminal F
VII. Radius
Radius stands for Remote Authentication Dial-In User Service. It is an AAA protocol
widely in use. Radius specifies the format of the authentication, authorization and
accounting messages interacting at Radius server and client.
4-4
A/V
Application
Chapter 4 H.323
Data
Application
Conference Manager
T.125
G.7xx H.26x
RTCP
RTP
Terminal to
Gatekeeper
Signaling
(RAS)
H.225.0 Call
Signaling
H.245
TPKT
T.124
T.123
Physical Layer
All H.323 terminals shall have an audio codec. All H.323 terminals shall be
capable of encoding and decoding speech according to Recommendation G.711.
G.711 for PCM is mandatory and other G series Recommendations are optional.
The most frequently-used Recommendations in IP telephony are G.729A and
G.723.1.
H.260 Recommendation series, such as H.261 and H.263 specify the video
codec.
The real-time audio and video encoded signals are all encapsulated in Real-time
Transport Protocol (RTP) packets to provide timing information and datagram
serial number for the receiving end to re-organize the signal. RTCP (Real-time
Transport Control Real-time Transport Control Protocol (RTCP) is a part of RTP,
and provides QoS monitoring feature.
H.225.0 is the core of H.323 protocol stack. It defines call signaling protocols and
media stream packetization for packet-based multimedia communication systems.
H.225.0 serves for call control. The principal function of H.225 is to establish call
connections and H.245 control channel between H.323 endpoints before starting a
call. H.225.0 also covers two other features: specifying the use of RTP/RTCP for
media stream packetization and synchronization; defining RAS.
RAS, which stands for Registration, Admission and Status, specifies a type of
message used between endpoint and GK. The RAS signaling function uses
4-5
Chapter 4 H.323
RAS, H.225.0 and H.245 are used in SoftX3000. The network protocol is IP, and
the transport protocol is UDP and TCP. RAS is borne over UDP; while H.225.0
and H.245 are borne over TCP.
One is called SoftX3000 H.323 domain, which is the interface of H.323 terminals
under direct control of SoftX3000. SoftX3000 can serve as an H.323 GW and an
H.323 GK at the same time.
2)
The other is called H.323 domain, which interfaces the external H.323 network.
SoftX3000 serves as an H.323 GW.
H.323
GK
H.323
Terminal
SoftX
SoftX H.323 Domain
H.323
GK+GW
H.323 Domain
H.323
GW
Other Networks
H.323
GW
4-6
H.323
Terminal
Chapter 4 H.323
SoftX3000 serves as an H.323 GW, and provides SIP, ISUP and MGCP interfaces
to other networks.
The H.323 interfaces support signaling and protocol of RAS, Q.931 and H.245.
SoftX3000 verifies the username and password retrieved from the H.323 terminal.
The H.323 interfaces support signaling and protocol of RAS, Q.931 and H.245.
SoftX3000 registers the addresses of all terminals connecting through itself to the
external GK, including all H.323 terminals in the domain.
I. GK discovery
An endpoint uses multicast mode to discover the homed GK. Afterwards, all RAS
messages will be transmitted between the endpoint and its homed GK.
4-7
Chapter 4 H.323
V. Disengage
After a call is over, this procedure is used to notify the GK that the endpoint exits the call
and resumes free.
Message description
Message type
GRQ
Gatekeeper Request
Request
GCF
Gatekeeper Confirm
Response
GRJ
Gatekeeper Reject
Response
Message description
Message type
RRQ
Registration Request
Request
RCF
Registration Confirm
Response
RRJ
Registration Reject
Response
Message description
Message type
URQ
Unregistration Request
Request
UCF
Unregistration Confirm
Response
4-8
Message name
URJ
Chapter 4 H.323
Message description
Unregistration Reject
Message type
Response
Message description
Message type
ARQ
Admission Request
Request
ACF
Admission Confirm
Response
ARJ
Admission Reject
Response
Message description
Message type
LRQ
Location Request
Request
LCF
Location Confirm
Response
LRJ
Location Reject
Response
Message description
Message type
DRQ
Disengage Request
Request
DCF
Disengage Confirm
Response
DRJ
Disengage Reject
Response
Message description
Message type
IRQ
Info Request
Request
IRR
Response
IACK
Info Acknowledgement
Response
INAK
Response
4-9
Chapter 4 H.323
Message description
Message type
BRQ
Bandwidth Request
Request
BCF
Bandwidth Confirm
Response
BRJ
Bandwidth Reject
Response
Message description
Message type
RAI
Request
RAC
Response
RequestSeqNum
All RAS messages include requestSeqNum. It is assigned by the request party and
increments by 1. Any associated response messages (success or failure) shall have
the corresponding requestSeqNum returned with it. Retransmitted messages shall
have the same requestSeqNum. For instance, GRQ message and the triggered GCF
or GRJ share the same requestSeqNum.
4-10
2)
Chapter 4 H.323
ProtocolIdentifier
NonStandardData
It carries the non-standard information such as proprietary data that is not defined in
H.225 Recommendation.
4)
RasAddress
This is the registration and status transport address for this endpoint. RAS messages
are transmitted on top of UDP in well-known port 1719.
5)
EndpointType
It specifies the type of the endpointterminal, GW or MCU. If the H.323 element has an
MC, then the mc Boolean would be true.
6)
GatekeeperIdentifier
For RAS request messages, it identifies the GK that will respond to the request. If it is
not supplied, the request message is valid to all reachable GKs.
For RAS response messages, it identifies the GK that returns the response message.
7)
CallServices
EndpointAlias
It is a list of alias addresses, by which other terminals may identify this terminal. An
alias address can be an E.164 address or an H.323 identifier. An E.164 address
contains access code and telephone number, the latter of which identifies the GW. An
H.323 identifier is a string of subscriber name, E-mail name or other identifier name.
One endpoint can have multiple alias addresses corresponding to PRQ messages. All
these alias addresses are sent to GK in the PRQ messages, and are translated to the
same transport-layer address.
9)
AlternateEndpoints
4-11
Chapter 4 H.323
This is the registration and status transport address for this endpoint. Q.931 messages
are transmitted on top of TCP in well-known port 1720.
12) VendorIdentifier
The VendorIdentifier structure allows a vendor to identify a product. The vendor
element allows identification in terms of country code, extension, and manufacturer
code. productId and versionId are text strings that can provide product information.
For instance:
VendorIdentifier
Vendor
T35CountryCode:82
T35Extension:0
manufacturerCode:2290
productId:Cns H.323v2
versionId:2.0
13) TimeToLive
TimeToLive is a number seconds that a registration is to be considered valid. The
parameter is included in PRQ and PCF messages.
14) KeepAlive
An endpoint can send a lightweight RRQ consisting of only rasAddress, keepAlive,
endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive. A gatekeeper in receipt
of RRQ with a keepAlive field set to TRUE should ignore fields other than
endpointIdentifier, gatekeeperIdentifier, tokens and timeToLive.
15) EndpointIdentifier
16) WillRespondToIRR
When it is set to True, the Gatekeeper will send an IACK or INAK message in response
to an unsolicited IRR message with its needsResponse field set to TRUE.
17) RejectReason
It is included in RRJ message, and identifies the reason for the rejection of the
registration.
18) CallType
Using this value, called party's GK can attempt to determine 'real' bandwidth usage.
The default value is pointToPoint for all calls.
19) CallModel
H.323 Recommendation defines two transmission models for end-to-end (E2E) call
signaling. When the callModel is gatekeeperRouted, the endpoint is requesting the
GK mediated model. Either end knows the address of the other end, thus protecting the
privacy of subscribers. The GK participates in the call signaling procedure. When the
callModel is direct, the endpoint is requesting the direct terminal to terminal call model.
4-12
Chapter 4 H.323
After GK provides the transport-layer address of the called party, it no longer involves in
the call signaling procedure.
20) EndpointIdentifier
It is a GK-assigned terminal identity string, such as E.164 addresses or H323_IDs.
21) DestCallSignalAddress
It is the translated call signaling transport address of destination terminal or GK itself. It
includes IP address and port number of Q.931 messages.
22) SrcInfo
It is a sequence of alias addresses for the source endpoint, such as E.164 addresses or
H323_IDs.
23) SrcCallSignalAddress
It is the transport address used at the source for call signaling.
24) BandWidth
The parameter is used by GK to control the number of H.323 terminals accessing PBN
at the same time. The GK can reject a call when there is not enough bandwidth to
support the call.
In ARQ and ACF messages, BandWidth is the number of 100 bits requested for the
bidirectional call. For example, a 128 kbit/s call would be signalled as a request for 256
kbit/s. The bandwidth defined by GK in ACF can be less than the one defined in ARQ.
25) CallReferenceValue (CRV)
It is the CRV cited from Q.931. The call reference value is chosen at the side originating
the call and has to be locally unique. This is used by a GK to associate the ARQ with a
particular call. For instance: The call model in gatekeeperRouted, CRV at the two
signaling segmentsource terminal-GK and GK-destination terminalare different.
GK establishes the association between two CRVs, and ensures accurate transmission
of signaling messages. Nevertheless, in the same signaling segment, all H.225.0
messages of a particular call, such as call admission, call establishment,
supplementary service, bandwidth change, and call termination share the same CRV.
26) ConferenceID
It is the unique identification of the conference to which the call belongs. CID consists of
three partsendpoint network address, conference initiation time and protocol version.
Each call of a particular conference has its own call ID. All calls shares the same
conferenceID, which is adopted for all H.225.0 messages in the conference.
27) Call ID
It identifies a call. Unlike CRV, the call ID is a global parameter. In other words, from
source endpoint to GK, from source endpoint to destination endpoint, and from
destination endpoint to GK, all RAS messages and call signaling messages of a
particular call share the same call ID. The call ID serves for E2E message transmission.
4-13
Chapter 4 H.323
4-14
Chapter 4 H.323
t35Extension: 0
manufacturerCode: 2290
productId: CnS H.323v2
versionId: 2.0
timeToLive: 3600
keepAlive: True
endpointIdentifier: 24-3
4-15
Chapter 4 H.323
GK discovery
Each procedure is explained with a generic example of several events. Each process
step represents an individual event.
II. GK discovery
Endpoint
GK
GRQ
GCF
GRJ
When the endpoint initiates, it sends a GRQ message, searching for GK.
GRQ
message
includes
parameters
endpointType,
rasAddress,
and
gatekeeperIdentifier.
2)
4-16
Chapter 4 H.323
GK
ARQ
ACF
ARJ
DRQ
DCF
DRJ
The endpoint sends a RRQ message to the RAS address of GK. The RRQ
message
includes
two
important
parameters:
endpontAlias
and
callSignalAddress.
2)
address.
The
GK
will
then
record
the
endpointAlias
and
callSignalAddress in translation table. When the GK finds that the endpoint is not a
locla one, it returns an RRJ message to reject the call.
3)
When the endpoint is to end the service, or change the mapping relation between
alias and address, it sends a URQ message to GK and requests for unregistration.
4)
4-17
Chapter 4 H.323
GK
ARQ
ACF
ARJ
DRQ
DCF
DRJ
2)
If the GK admits the call, it returns an ACF message. The ACF message includes
two key parametersbandWidth which specifies the allowed maximum bandwidth
for the call, and destCallSignalAddress, which might be an endpoint or GK
address depending on the call model in use. Alternatively, the GK rejects the call
with an ARJ message.
3)
When the call completes, the endpoint sends a DRQ message to the GK,
requesting to disengage the call.
4)
4-18
Chapter 4 H.323
Meaning
Setup
Setup Acknowledge
To indicate that call establishment has been initiated, and request for
subsequent address information.
Call Proceeding
Alerting
Connect
Progress
Meaning
To indicate that the equipment sending the message has released the
channel (if any) and call reference (CR).
Meaning
Information
Notify
4-19
Chapter 4 H.323
Message name
Meaning
Status Enquiry
Status
Facility
User Information
V. Q.932 messages
Message name
User Information
Meaning
To transfer information to a remote subscriber, or to send to the subscriber to
deliver information from the other subscriber.
Flag
Content
Single-byte IE
Flag
Information element
Length
Information element
Msg units
(mandatory or
optional)
Content
Multi-byte IE
4-20
Chapter 4 H.323
V. Message type
Its value is coded by Q.931, as described in Section 4.3.2.1.
4-21
Chapter 4 H.323
Rate multiplier
The segment shall be present if information transfer rate is set to 'multirate'. For a call
originating from an ISDN endpoint, the gateway shall simply pass on the information
that it receives from the ISDN. For a call originated from an H.323 endpoint, this shall
be used to indicate the bandwidth to be used for this call on the SCN side. If a gateway
is involved, this value shall reflect the number of external connections to be set up.
Layer 1 protocol
It is set to G.711 to indicate a voice-only call and H.221 and H.242 to indicate an H.323
videophone call.
II. Display
The network will send American Standard Code for Information Interchange (ASCII) to
subscriber to be displayed.
IV. Cause
It indicates the generation of the message for future diagnosis. The Cause is
mandatory in Release Complete, but optional elsewhere. The Cause information
element and the ReleaseCompleteReason (a part of the Release Complete message)
are
mutually
exclusive.
The
Cause
is
borrowed
from
Q.931,
while
noBandwidth
34 No circuit/channel available
gatekeeperResources
47 Resource Unavailable
unreachableDestination
3 No route to destination
4-22
Chapter 4 H.323
ReleaseCompleteReason code
destinationRejection
invalidRevision
88 Incompatible destination
noPermission
unreachableGatekeeper
gatewayResources
badFormatAddress
adaptiveBusy
41 Temporary Failure
inConf
17 User busy
undefinedReason
31 Normal, unspecified
The reverse mapping is not required as packet-based network entities are required to
decode the Cause IE.
UUIE discriminator
UUIE length
Protocol identifier (ASN.1)
H323-UU-pdu (Mandatory)
User data (Optional)
4-23
Chapter 4 H.323
The user information contains two parts. The body part is h323-UU-pdu, containing the
UUIE contents of related messages, that is, the signaling information of H323. The
optional part is the user data transmitted between terminals, and the data is IA5
character string, whose maximum length is 131 bytes. It is equivalent to user-user
information defined in Q.932, but it is encapsulated in UUIE data structure defined by
ASN.1. As an element in the data sequence, it is called user data.
H.225.0 defines the contents of h323-UU-pdu in UUIE of each related message. For
example, the UUIE of Connect message contains the following contents:
z
Protocol identifier It is set by the called endpoint as the version number of H.225
protocol supported by the endpoint.
Destination information: It is used to indicate the endpoint type, making the calling
endpoint able to determine whether the call is related to gateway.
4-24
Chapter 4 H.323
4-25
Chapter 4 H.323
create: create
callType (pointToPoint)
pointToPoint: pointToPoint
sourceCallSignalAddress (ipAddress)
ipAddress
ip: 191.169.150.171 (191.169.150.171)
port: 1074
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
mediaWaitForConnect: False
canOverlapSend: False
endpointIdentifier: 22-2
h245Tunneling: False
4-26
Chapter 4 H.323
GK
ARQ
ACF
Endpoint 2
Setup
4 Call proceeding
Alerting
Connect
ARQ
ACF
RAS message
Cal signaling message
Scenario 1: Endpoint 1 (calling party) sends ARQ message to its GK through RAS
channel, to request the GK to originate a call to endpoint 2.
4-27
2)
Chapter 4 H.323
Scenario 2: The GK agrees to accept the call. It translates the transmission layer
address (IP address plus TCP port number) of call signaling channel of endpoint 2,
and the sends the address in ACF message to endpoint 1.
3)
4)
Scenario 4: Endpoint 2 sends back Call Proceeding message, indicating that the
call has been processed. For the call between two H.323 terminals, the messages
except UUIE do not carry other information element. If the call is between H.323
terminal and ISDN terminal, that is, if endpoint 2 is a gateway, endpoint 2 will
transparently transmit the information elements from SCN side, such as bearing
capability and proceeding indicator, to endpoint 1. If endpoint 1 is an H.323
terminal, there is no explanation information. If endpoint 1 is also a gateway, such
information elements will be transmitted to the calling party at SCN side.
5)
Scenario 5: Endpoint 2 sends ARQ to the GK through RAS channel to accept the
call.
6)
7)
Scenario 7: Endpoint 2 sends back Alerting message to endpoint 1, and waits for
answer by subscriber.
8)
Scenario 8: The subscriber answers the call. Endpoint 2 sends Connect message
to endpoint 1, and the message carries H.245 control channel TCP port number of
endpoint 2. Now , the call is set up.
If the GK does not allow endpoint 2 to accept the call, it will send back ARJ. In this case,
endpoint 2 will send Release Complete message to endpoint 1.
4-28
Chapter 4 H.323
GK
ARQ
ACF
Setup
Endpoint 2
Setup
Call proceeding5
6 Call proceeding
ARQ
ACF
Alerting
7
8
9
10 Alerting
Connect 11
12 Connect
RAS message
Call signaling message
The ACF message sent by the GK to endpoint 1 does not carry transmission layer
address of call signaling channel of endpoint 1. Instead, the ACF message carries
the transmission layer address of call signaling channel of the GK. Meanwhile, the
GK establishes the call signaling channel to endpoint 2.
2)
Afterward, the call signaling messages from endpoint 1 can only be transmitted to
the GK, which transfers the messages to endpoint 2. Because endpoint 2
establishes signaling channel only with the GK, it can only send signaling
messages to the GK, which transfers the messages to endpoint 1.
3)
After the call is set up, endpoint 2 tells the GK the H.245 control channel
transmission layer address in Connect message, but the information in Connect
message sent by the GK to endpoint 1 is up to the transmission mode of H.245
control message. If the GK uses direct routing mode to transmit media control
messages, the messages contain the H.245 control channel address of endpoint 2;
if the GK uses transfer mode, the messages contain the H.245 control channel
address of the GK. In this case, the GK has MC functions.
When either calling party or called party hooks on, a Release Complete message is
sent to the GK, which then sends a Release Complete message to the peer end. Then
TCP connection is disconnected.
4-29
Chapter 4 H.323
Control channel: also called H.245 channel. Through this channel, two H.245 peer
signaling entities in different H.323 entities transmit H.245 messages to control the
establishment and release of media channel. Control channel is a reliable channel,
which corresponds to a TCP connection in IP network, and the numbers of the
connected ports are allocated dynamically. In the H.225.0 call setup procedure,
the calling and called endpoints (or GK) use Setup and Connect messages to
exchange the allocated H.245 port address. After the call is set up, H.245 control
channel is established. Each call has only one H.245 control channel, which exists
during the call and will be released after the call is over.
2)
4-30
Chapter 4 H.323
establishes logical channel according to receiving party controlling principle, and the
sending party determines channel characteristics parameters within the range defined
by receiving party. The purpose of capability exchange procedure is to tell the other end
the receive capability of the local end through proper messages. The message can also
be used to notify send capability, for the purpose of indicating a selection option of the
local end, and providing a condition when the peer end determines its receive capability.
After getting the receive capability of the peer end, the local end determines its send
mode within the range of the peer end, and start the OpenLogicalChannel procedure.
The following describes the control procedure of H.245.
3)
Capability exchange
The capability exchange procedures are intended to ensure that the only multimedia
signals to be transmitted are those that can be received and treated appropriately by
the receive terminal. This requires that the capabilities of each terminal to receive and
decode be known to the other terminal. It is not necessary that a terminal understand or
store all in-coming capabilities; those that are not understood, or can not be used shall
be ignored, and no fault shall be considered to have occurred.
The total capability of a terminal to receive and decode various signals is made known
to the other terminal by transmission of its capability set.
Receive capabilities describe the terminal's ability to receive and process in-coming
media streams. Transmitters shall limit the content of their transmitted information to
that which the receiver has indicated it is capable of receiving. The absence of a
receive capability indicates that the terminal cannot receive (is a transmitter only).
Transmit capabilities describe the terminal's ability to transmit media streams. Transmit
capabilities serve to offer receivers a choice of possible modes of operation, so that the
receiver may request the mode which it prefers to receive. The absence of a transmit
capability indicates that the terminal is not offering a choice of preferred modes to the
receiver (but it may still transmit anything within the capability of the receiver).
These capability sets provide for more than one stream of a given medium type to be
sent simultaneously. For example, a terminal may declare its ability to receive (or send)
two independent H.262 video streams and two independent G.722 audio streams at the
same time. Capability messages have been defined to allow a terminal to indicate that
it does not have fixed capabilities, but that they depend on which other modes are being
used simultaneously. For example, it is possible to indicate that higher resolution video
can be decoded when a simpler audio algorithm is used; or that either two low
resolution video sequences can be decoded or a single high resolution one. It is also
possible to indicate trade-offs between the capability to transmit and the capability to
receive.
Non-standard capabilities and control messages may be issued using the
NonStandardParameter structure. Note that while the meaning of non-standard
4-31
Chapter 4 H.323
An acknowledged protocol is defined for the opening and closing of logical channels
which carry the audiovisual and data information. The aim of these procedures is to
ensure that a terminal is capable of receiving and decoding the data that will be
transmitted on a logical channel at the time the logical channel is opened rather than at
the time the first data is transmitted on it and to ensure that the receive terminal is ready
to receive and decode the data that will be transmitted on the logical channel before
that transmission starts.
A logical channel is opened and closed from the transmitter side. A mechanism is
defined which allows a receive terminal to request the closure of an incoming logical
channel. The transmit terminal may accept or reject the logical channel closure request.
A terminal may, for example, use these procedures to request the closure of an
incoming logical channel which, for whatever reason, cannot be decoded. These
procedures may also be used to request the closure of a bidirectional logical channel
by the terminal that did not open the channel. Note that the receive terminal can only
request, and the closing of a channel is initiated by the transmitter side.
6)
Master-slave determination
Conflicts may arise when two terminals involved in a call initiate similar events
simultaneously and only one such event is possible or desired, for example, when
resources are available for only one occurrence of the event. To resolve such conflicts,
one terminal shall act as a master and the other terminal shall act as a slave terminal.
Rules specify how the master and slave terminal shall respond at times of conflict.
7)
4-32
Chapter 4 H.323
This mechanism may also be useful as a means to detect whether the remote terminal
is still functioning
8)
Maintenance loops
I. Message type
The messages used during H.245 procedures are as follows:
z
Message type
Request
Response
Response
Indication
Message type
Request
Response
Response
4-33
Chapter 4 H.323
Message name
Message type
Indication
Request
Response
Message name
Message type
Request
Response
Response
Indication
This set of messages is used by a protocol to determine which terminal is the master
terminal and which is the slave terminal. They can be either used or not used during
H.245 channel establishment. For IP services, it is not recommended.
Message name
Message type
Request
Response
Response
Indication
Message type
Request
Response
Message type
Request
Response
Response
Command
4-34
1)
Chapter 4 H.323
Commands
Message name
Flow Control
Send Terminal Capability Set
Encryption
End Session
(Miscellaneous Commands)
It is used to request the far-end terminal to indicate its transmit and receive capabilities
by sending one or more TerminalCapabilitySets that contain the information requested.
This command is not sent repeatedly if not necessary. This command is used to
exchange encryption capabilities and to command the transmission of an initialization
vector (IV). This command indicates the end of the H.245 session. After transmitting
EndSessionCommand, the terminal shall not send any more of the messages defined
in this Recommendation. This is used for a variety of commands, some of which are
present in Recommendations H.221 and H.230 [5] and [10], respectively.
2)
Function Not Understood is used to return requests, responses and commands that
are not understood to the transmitter of them. Jitter Indication is used to indicate the
amount of jitter, as estimated by the receive terminal, of a logical channel. It may be
useful for choice of bit-rate and buffer control in video channels, or to determine an
appropriate rate of transmission of timing information. H.225.0 Maximum Skew
Indication is used to indicate to the far-end terminal the average amount of time skew
between two logical channels. It is used to indicate synchronous delay of audio and
video in conference call. The delay causes are sampling time, codec delay and send
buffer delay. "User Input is used to transmit DTMF signals, namely 0 to 9, * and #. It is
used for interworking with SCN. Miscellaneous Indication is used for a variety of
indications.
3)
4-35
Chapter 4 H.323
Message name
Message type
Conference Request
Request
Conference Response
Response
Conference Command
Command
Request
Response
Communication Command
Command
MCLocation Indication
Indication
Indication
Conference call related messages are used to control conference related operations,
such as requesting participant terminal lists, terminal ID, and conference ID, becoming
conference chairman, or exit conference. The conference exit command is used to end
a conference. After the command is executed, all involved calls of the conference will
be released. Communication messages are used by MC to indicate type,
communication mode (unicast or multicast) and communication address of media
channels. MC location indication is used by main MC to tell other endpoints its
address, so that it can control the conference. Miscellaneous conference indication is
used to indicate the status of receive terminal or other terminals, for example, that the
receive terminal graphics is being playing, a terminal joins or exits the conference, or
the terminal number is being allocated.
4-36
Chapter 4 H.323
Capability exchange
Simultaneous capability
Capability table
Capability descriptor
Capability
descriptors
Capability descriptor
Simultaneous capability
Alternative capability
Alternative capability
Simultaneous capability
Alternative capability
Sequence number
Protocol identifier
Multiplex capability
Capability table
4-37
Chapter 4 H.323
A Capability Table is a numbered list of capabilities, such as G.723 audio, G.728 audio,
and CIF H.263 video. Each capability corresponds to a table entity, which has its own
sequence number (capability number).
A capability table is shown in Figure 4-14.
Table 4-14 Capability table format
CapabilityTableEntryNumbers
Capability
Capability 0
Capability 1
The contents of each entity contains coding/decoding standards and many related
parameters. For example, each H.263 capability contains the supported image formats
and capability of any coding mode.
z
Simultaneous capabilities
Capability descriptors
4-38
Chapter 4 H.323
SimultaneousCapabilities
Simultaneous capability 0
Simultaneous capability 1
2)
Master-slave determination
The
message
contains
two
parameters,
Each endpoint can only select one random number as the status determination number
in each call, and the value ranges from 0 to 224-1.
z
Terminal type
H.323 entity
Terminal
Gateway
GK
MCU
Entity with No MC
50
60
70
80
120
160
90
130
170
100
140
180
110
150
190
4-39
Chapter 4 H.323
After the peer end receives the masterSlaveDetermination message, it starts the
determination calculation procedure. The determination principle is: the endpoint with
larger terminaltype value is "Master". If the terminaltype values are the same, the
endpoint
with
larger
StatusDeterminationNumber
is
Master.
If
the
to
the
receive
terminal,
and
the
message
contains
ForwardLogicalChannelNumber
Channel parameters
The parameters define whether data type and media information are transmitted surely,
whether silence suppression is performed, and destination terminal tag.
If the channel is used to transmit RTP encapsulated real-time media information, such
as audio or video, the channel parameters also include the following three parameters:
Session ID
RTP session ID. An RTP session is the communication of a group of participants
through RTP. For each participant, the session is defined by a pair of transmission layer
addresses (network layer address plus RTP and RTCP ports numbers). In IP multicast
mode, the transmission layer addresses of the participants might be the same. In
unicast mode, the transmission layer addresses of the participants are different
because their network addresses are different. In a multimedia session, each media
signal is transmitted by an individual RTP session, and has its own RTCP group. The
RTP sessions are distinguished by different port pair and/or different multicast
addresses.
Media channel
4-40
Chapter 4 H.323
Used to transmit the IP address and port number of RTP encapsulated real-time media
messages, and other transmission QoS parameters.
Media control channel
Used to transmit the IP address and port number of QoS parameter messages of RTCP
encapsulated real-time signal transmission.
For more information about the above parameters, see RTP related documents.
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40000
mediaGuaranteedDelivery: False
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network:
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40001
mediaControlGuaranteedDelivery: False
4-41
Chapter 4 H.323
Timeout
Endpoint B
TCSReq
TCSAck
TCSRej
TCSRel
4-42
Chapter 4 H.323
Endpoint A
Timeout
MSDReq
MSDAck
MSDRej
MSDRel
Timeout
Endpoint B
OLCReq
OLCAck
OLCRej
OLCRel
4-43
Chapter 4 H.323
Timeout
Endpoint B
OLCReq
OLCAck
OLCRej
OLCRel
V. End Session
Endpoint A
Endpoint B
ECS
ECS
4-44
Chapter 4 H.323
H.323 PhoneA is the calling party, H.323 PhoneB is the called party, and the
called party first hooks on.
The phone number of H.323 PhoneA is 7670000, and the phone number of H.323
PhoneB is 7670001.
H.323 PhoneA
SoftX3000
RAS_ARQ
RAS_ACF
H.323 PhoneB
3 Q931_SETUP
4Q931_CALLPROCEEDING
5
Q931_SETUP
RAS_ARQ
RAS_ACF
8 Q931_ALERTING
9 Q931_ALERTING
10 Q931_CONNECT
11
Q931_CONNECT
12
H245_REQ_TCS
H245_REQ_TCSA 13
H245_REQ_TCS 14
15
H245_REQ_TCSA
16
H245_REQ_MSD
H245_REQ_MSDA 17
H245_REQ_MSD 18
19 H245_REQ_MSDA
H245_REQ_OLC 20
21 H245_REQ_OLCA
H245_REQ_OLC 22
23 H245_REQ_OLCA
24 H245_REQ_OLC
H245_REQ_OLCA 25
26
H245_REQ_OLC
H245_REQ_OLCA 27
Conversation
28 Q931_ReleaseComplete
RAS_DRQ
29
30
RAS_DCF
31Q931_ReleaseComplete
32
RAS_DRQ
33
RAS_DCF
Scenario 1: H.323 PhoneA hooks off, and it sends ARQ to the GK to request
whether the call can be initiated. In the ARQ message, H.323 PhoneA gives the
4-45
Chapter 4 H.323
destination information, required bandwidth, and call ID. It should be noted that the
CallModel is gatekeeperRouted, and the GK is involved in the call signaling
procedure, while the peer endpoints do not know the addresses of each other.
ITU-T Recommendation H.225.0
admissionRequest
requestSeqNum: 1930
callType (pointToPoint)
pointToPoint: pointToPoint
callModel (gatekeeperRouted)
gatekeeperRouted: gatekeeperRouted
endpointIdentifier: 22-2
destinationInfo (AliasAddress)
Item 0 (e164)
e164: 7670001
srcInfo (AliasAddress)
Item 0 (e164)
e164: 7670000
Item 1 (h323_ID)
h323_ID: 7670000
bandWidth: 5120
callReferenceValue: 28625
conferenceID: 4E2C3030-DCBC-9839-3FB8-EB4A020D3C92
activeMC: False
answerCall: False
canMapAlias: False
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
willSupplyUUIEs: False
2)
Scenario 2: The GK agrees to accept the call, and sends ACF message to H.323
PhoneA. In the message, there is allowed bandwidth, and translated transmission
layer address of call signaling of destination or the transmission layer address of
call signaling of the GK. Because the CallModel is gatekeeperRouted, the call
signaling transmission layer address after translation is the transmission layer
address of call signaling of the GK (IP address plus TCP port number). The IP
address is 191.169.150.170, and the port number is 1720. Meanwhile, the GK
establishes call signaling channel to H.323 PhoneB.
4-46
Chapter 4 H.323
destCallSignalAddress (ipAddress)
ipAddress
ip: 191.169.150.170 (191.169.150.170)
port: 1720
irrFrequency: 60
destinationInfo (AliasAddress)
Item 0 (e164)
e164: 7670001
willRespondToIRR: False
uuiesRequested (UUIEsRequested)
setup: False
callProceeding: False
connect: False
alerting: False
information: False
releaseComplete: False
facility: False
progress: False
empty: False
3)
Scenario 3: H.323 PhoneA sends Setup message to the GK, to request call
establishment. In the UUIE field of the message, the transmission layer address of
the source call signaling channel is given (IP address plus TCP port number). The
IP address is 191.169.150.171, and the port number is 1074, used to receive the
Q.931 messages from the GK.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 6FD1
Message type: SETUP (0x05)
Bearer capability
Information element: Bearer capability
Length: 3
Coding standard: ITU-T standardized coding
Information transfer capability: Unrestricted digital information
Transfer mode: Packet mode
Information transfer rate: Packet mode
User information layer 1 protocol: Recommendation H.221 and H.242
Display
Information element: Display
Length: 7
Display information: 7670000
Calling party number
4-47
Chapter 4 H.323
4-48
Chapter 4 H.323
create: create
callType (pointToPoint)
pointToPoint: pointToPoint
sourceCallSignalAddress (ipAddress)
ipAddress
ip: 191.169.150.171 (191.169.150.171)
port: 1074
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
mediaWaitForConnect: False
canOverlapSend: False
endpointIdentifier: 22-2
h245Tunneling: False
4)
Scenario 4: The GK sends back Call Proceeding message, indicating that the call
has been processed. The VendorIdentifier in the UUIE field of the message
indicates the vendor ID of the GK. Here, the country code is 28, extension is 21
and manufacturer code is 0. Besides, it is indicated that the GK is Huawei NGN
SoftX3000 product, whose version is SoftX3000V3.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: EFD1
Message type: CALL PROCEEDING (0x02)
User-user
Information element: User-user
Length: 70
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (callProceeding)
callProceeding
protocolIdentifier: 0.0.8.2250.0.2
destinationInfo (EndpointType)
vendor (VendorIdentifier)
vendor (H221NonStandard)
t35CountryCode: 28
t35Extension: 21
manufacturerCode: 0
productId: Huawei NGN SoftX3000
versionId: SoftX3000V3
gatekeeper (GatekeeperInfo)
gateway (GatewayInfo)
4-49
Chapter 4 H.323
mc: False
undefinedNode: False
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
h245Tunneling: False
5)
Scenario 5: The GK receives the Setup message from H.323 PhoneA. If the GK
agrees to establish the call, it will translate and get the transmission layer address
(IP address plus TCP port number) of call signaling channel of H.323 PhoneB. The
IP address is 191.169.31.31, and the port number is 1720. Then, the GK transfers
the Setup message to H.323 PhoneB to request call establishment. In the UUIE
field of the message, the transmission layer address of the source call signaling
channel is given (IP address plus TCP port number). The IP address is
191.169.150.170, and the port number is 5011, used to receive the Q.931
messages from H.323 PhoneB.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 0004
Message type: SETUP (0x05)
Bearer capability
Information element: Bearer capability
Length: 4
Coding standard: ITU-T standardized coding
Information transfer capability: Unrestricted digital information
Transfer mode: Circuit mode
Information transfer rate: Multirate (64 kbit/s base rate)
Rate multiplier: 186
User information layer 1 protocol: Recommendation H.221 and H.242
Display
Information element: Display
Length: 30
Display information: Huawei Technologies Co.,
Ltd.
4-50
Chapter 4 H.323
6)
Scenario 6: H.323 PhoneB agrees to accept the call, and sends ARQ message to
the GK through RAS channel, to tell the GK it accepts the incoming call.
4-51
Chapter 4 H.323
admissionRequest
requestSeqNum: 90
callType (pointToPoint)
pointToPoint: pointToPoint
callModel (gatekeeperRouted)
gatekeeperRouted: gatekeeperRouted
endpointIdentifier: 22-3
destinationInfo (AliasAddress)
Item 0 (h323_ID)
h323_ID: 7670001
Item 1 (e164)
e164: 7670001
srcInfo (AliasAddress)
<empty>
bandWidth: 5120
callReferenceValue: 32772
conferenceID: 4E2C3030-DCBC-9839-3FB8-EB4A020D3C92
activeMC: False
answerCall: True
canMapAlias: False
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
willSupplyUUIEs: False
7)
Scenario 7: The GK agrees to accept the call, and sends ACF message to H.323
PhoneB. In the message, the GK sends the transmission layer address (IP
address plus TCP port number) of its call signaling channel to H.323 PhoneB..
4-52
Chapter 4 H.323
setup: False
callProceeding: False
connect: False
alerting: False
information: False
releaseComplete: False
facility: False
progress: False
empty: False
8)
Scenario 8: H.323 PhoneB sends Alerting message to the GK, indicating that the
call has arrived, and it is ringing.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8004
Message type: ALERTING (0x01)
User-user
Information element: User-user
Length: 36
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (alerting)
alerting
protocolIdentifier: 0.0.8.2250.0.3
destinationInfo (EndpointType)
terminal (TerminalInfo)
mc: False
undefinedNode: False
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
h245Tunneling: False
9)
Scenario 9: The GK transfers the Alerting message from H.323 PhoneB to H.323
PhoneA, and tells H.323 PhoneA to send ringback tone.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: EFD1
Message type: ALERTING (0x01)
User-user
Information element: User-user
Length: 70
4-53
Chapter 4 H.323
10) Scenario 10: H.323 PhoneB sends Connect message to the GK, and the message
carries the IP address and TCP port number of the H.245 control channel of
PhoneB. The IP address is 191.169.31.31, and the port number is 2722. Besides,
the message carries the vendor ID, product and version information of H.323
PhoneB.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8004
Message type: CONNECT (0x07)
User-user
Information element: User-user
Length: 81
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (connect)
connect
protocolIdentifier: 0.0.8.2250.0.3
h245Address (ipAddress)
ipAddress
4-54
Chapter 4 H.323
ip: 191.169.31.31 (191.169.31.31)
port: 2722
destinationInfo (EndpointType)
vendor (VendorIdentifier)
vendor (H221NonStandard)
t35CountryCode: 82
t35Extension: 0
manufacturerCode: 2290
productId: CnS H.323v2
versionId: 2.0
terminal (TerminalInfo)
mc: False
undefinedNode: False
conferenceID: 4E2C3030-DCBC-9839-3FB8-EB4A020D3C92
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
h245Tunneling: False
11) Scenario 11: The GK receives Connect message from H.323 PhoneB, and
transfers the message to H.323 PhoneA. The message carries the IP address and
TCP port number of the H.245 control channel of H.323 PhoneB. The IP address
is 191.169.31.31, and the port number is 2722. Besides, the message carries the
vendor ID, product and version information of the GK. Now , the call is set up.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: EFD1
Message type: CONNECT (0x07)
Bearer capability
Information element: Bearer capability
Length: 3
Coding standard: ITU-T standardized coding
Information transfer capability: Unrestricted digital information
Transfer mode: Circuit mode
Information transfer rate: 64 kbit/s
User information layer 1 protocol: Recommendation H.221 and H.242
Display
Information element: Display
Length: 30
Display information: Huawei Technologies Co.,
User-user
Information element: User-user
Length: 93
4-55
Ltd.
Chapter 4 H.323
12) Scenario 12: After the call is set up, H.323 PhoneB sends H.245 request message
TCS to H.323 PhoneA to start capability exchange procedure, so that H.323
PhoneA can know the receive and transmit capabilities of PhoneB.
ITU-T Recommendation H.245
request
terminalCapabilitySet
sequenceNumber: 1
protocolIdentifier: 0.0.8.245.0.3
multiplexCapability (h2250Capability)
h2250Capability
maximumAudioDelayJitter: 60
receiveMultipointCapability (MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
4-56
Chapter 4 H.323
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
centralizedVideo: True
distributedVideo: False
transmitMultipointCapability (MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
centralizedVideo: True
distributedVideo: False
receiveAndTransmitMultipointCapability
(MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
centralizedVideo: True
distributedVideo: False
mcCapability (H2250Capability-mcCapability)
centralizedConferenceMC: False
decentralizedConferenceMC: False
rtcpVideoControlCapability: False
mediaPacketizationCapability
(MediaPacketizationCapability)
h261aVideoPacketization: False
logicalChannelSwitchingCapability: False
t120DynamicPortCapability: False
capabilityTable (CapabilityTableEntry)
4-57
Chapter 4 H.323
Item 0 (CapabilityTableEntry)
capabilityTableEntryNumber: 1
capability (receiveAudioCapability)
receiveAudioCapability
g7231
maxAl_sduAudioFrames: 1
silenceSuppression: False
Item 1 (CapabilityTableEntry)
capabilityTableEntryNumber: 2
capability (receiveVideoCapability)
receiveVideoCapability
h263VideoCapability
qcifMPI: 1
maxBitRate: 5120
unrestrictedVector: False
arithmeticCoding: False
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
enhancementLayerInfo
(EnhancementLayerInfo)
baseBitRateConstrained: False
Item 2 (CapabilityTableEntry)
capabilityTableEntryNumber: 3
capability (receiveAudioCapability)
receiveAudioCapability
g711Ulaw64k: 30
Item 3 (CapabilityTableEntry)
capabilityTableEntryNumber: 4
capability (receiveAudioCapability)
receiveAudioCapability
g711Alaw64k: 30
Item 4 (CapabilityTableEntry)
capabilityTableEntryNumber: 5
capability (receiveVideoCapability)
receiveVideoCapability
h263VideoCapability
cifMPI: 1
maxBitRate: 5120
unrestrictedVector: False
arithmeticCoding: False
4-58
Chapter 4 H.323
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
enhancementLayerInfo
(EnhancementLayerInfo)
baseBitRateConstrained: False
capabilityDescriptors (CapabilityDescriptor)
Item 0 (CapabilityDescriptor)
capabilityDescriptorNumber: 1
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 1
Item 1 (AlternativeCapabilitySet)
array: 2
Item 1 (CapabilityDescriptor)
capabilityDescriptorNumber: 2
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 3
Item 2 (CapabilityDescriptor)
capabilityDescriptorNumber: 3
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 4
Item 3 (CapabilityDescriptor)
capabilityDescriptorNumber: 4
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 5
Item 1 (AlternativeCapabilitySet)
array: 1
13) Scenario 13: H.323 PhoneA receives the TCS message from H.323 PhoneB, and
sends back TCSA message to confirm.
ITU-T Recommendation H.245
response
terminalCapabilitySetAck
sequenceNumber: 1
14) Scenario 14: H.323 PhoneA sends H.245 request message TCS to H.323 PhoneB
to start capability exchange procedure, so that H.323 PhoneB can know the
receive and transmit capabilities of PhoneA.
ITU-T Recommendation H.245
4-59
Chapter 4 H.323
request
terminalCapabilitySet
sequenceNumber: 1
protocolIdentifier: 0.0.8.245.0.3
multiplexCapability (h2250Capability)
h2250Capability
maximumAudioDelayJitter: 60
receiveMultipointCapability (MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
centralizedVideo: True
distributedVideo: False
transmitMultipointCapability (MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
centralizedVideo: True
distributedVideo: False
receiveAndTransmitMultipointCapability
(MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: True
distributedControl: False
centralizedAudio: True
distributedAudio: False
4-60
Chapter 4 H.323
centralizedVideo: True
distributedVideo: False
mcCapability (H2250Capability-mcCapability)
centralizedConferenceMC: False
decentralizedConferenceMC: False
rtcpVideoControlCapability: False
mediaPacketizationCapability
(MediaPacketizationCapability)
h261aVideoPacketization: False
logicalChannelSwitchingCapability: False
t120DynamicPortCapability: False
capabilityTable (CapabilityTableEntry)
Item 0 (CapabilityTableEntry)
capabilityTableEntryNumber: 1
capability (receiveAudioCapability)
receiveAudioCapability
g7231
maxAl_sduAudioFrames: 1
silenceSuppression: False
Item 1 (CapabilityTableEntry)
capabilityTableEntryNumber: 2
capability (receiveVideoCapability)
receiveVideoCapability
h263VideoCapability
qcifMPI: 1
maxBitRate: 5120
unrestrictedVector: False
arithmeticCoding: False
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
enhancementLayerInfo
(EnhancementLayerInfo)
baseBitRateConstrained: False
Item 2 (CapabilityTableEntry)
capabilityTableEntryNumber: 3
capability (receiveAudioCapability)
receiveAudioCapability
g711Ulaw64k: 30
Item 3 (CapabilityTableEntry)
capabilityTableEntryNumber: 4
4-61
Chapter 4 H.323
capability (receiveAudioCapability)
receiveAudioCapability
g711Alaw64k: 30
Item 4 (CapabilityTableEntry)
capabilityTableEntryNumber: 5
capability (receiveVideoCapability)
receiveVideoCapability
h263VideoCapability
cifMPI: 1
maxBitRate: 5120
unrestrictedVector: False
arithmeticCoding: False
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
enhancementLayerInfo
(EnhancementLayerInfo)
baseBitRateConstrained: False
capabilityDescriptors (CapabilityDescriptor)
Item 0 (CapabilityDescriptor)
capabilityDescriptorNumber: 1
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 1
Item 1 (AlternativeCapabilitySet)
array: 2
Item 1 (CapabilityDescriptor)
capabilityDescriptorNumber: 2
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 3
Item 2 (CapabilityDescriptor)
capabilityDescriptorNumber: 3
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 4
Item 3 (CapabilityDescriptor)
capabilityDescriptorNumber: 4
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 5
4-62
Chapter 4 H.323
Item 1 (AlternativeCapabilitySet)
array: 1
15) Scenario 15: H.323 PhoneB receives the TCS message from H.323 PhoneA, and
sends back TCSA message to confirm. Now, the capability exchange procedure is
over.
ITU-T Recommendation H.245
response
terminalCapabilitySetAck
sequenceNumber: 1
16) Scenario 16: H.323 PhoneB sends MSD message to H.323 PhoneA, to start
master slave determination procedure.
ITU-T Recommendation H.245
request
masterSlaveDetermination
terminalType: 50
statusDeterminationNumber: 6814
17) Scenario 17: H.323 PhoneA receives the MSD message from H.323 PhoneB, and
it compares the carried terminalType and statusDeterminationNumber with its
corresponding values, to get the result that it is Slave. Then, H.323 PhoneA sends
the result to H.323 PhoneB through MSDA message.
ITU-T Recommendation H.245
response
masterSlaveDeterminationAck
decision (slave)
slave: slave
18) Scenario 18: H.323 PhoneA sends MSD message to H.323 PhoneB, to start
master slave determination procedure.
ITU-T Recommendation H.245
request
masterSlaveDetermination
terminalType: 50
statusDeterminationNumber: 4947
19) Scenario 19: H.323 PhoneB receives the MSD message from H.323 PhoneA, and
it compares the carried terminalType and statusDeterminationNumber with its
corresponding values, to get the result that it is Master. Then, H.323 PhoneB
sends the result to H.323 PhoneA through MSDA message.
ITU-T Recommendation H.245
response
masterSlaveDeterminationAck
decision (master)
master: master
4-63
Chapter 4 H.323
20) Scenario 20: H.323 PhoneA sends OLC message to H.323 PhoneB, to start
OpenLogicalChannel procedure. This channel is used to transmit G.723 audio
signals and RTP encapsulated real-time media information (audio). The message
carries the IP address (191.169.150.171) and port number (40000) used by H.323
PhoneA to transmit RTP encapsulated real-time media information (audio signals),
and the IP address (191.169.150.171) and port number (40001) used to transmit
quality parameter message of RTCP encapsulated real-time signal transmission.
ITU-T Recommendation H.245
request
openLogicalChannel
forwardLogicalChannelNumber: 1
forwardLogicalChannelParameters
(OpenLogicalChannel-forwardLogicalChannelParameters)
dataType (audioData)
audioData
g7231
maxAl_sduAudioFrames: 1
silenceSuppression: False
multiplexParameters (h2250LogicalChannelParameters)
h2250LogicalChannelParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network:
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40000
mediaGuaranteedDelivery: False
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network:
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40001
mediaControlGuaranteedDelivery: False
21) Scenario 21: H.323 PhoneB sends back OLCA message as response. The
message carries the IP address (191.169.31.31) and port number (40000) used
by H.323 PhoneB to transmit RTP encapsulated real-time media information
(audio signals), and the IP address (191.169.31.31) and port number (40001)
used to transmit quality parameter message of RTCP encapsulated real-time
signal transmission.
ITU-T Recommendation H.245
4-64
Chapter 4 H.323
response
openLogicalChannelAck
forwardLogicalChannelNumber: 1
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40000
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40001
flowControlToZero: False
22) Scenario 22: H.323 PhoneA sends OLC message to H.323 PhoneB, to start
OpenLogicalChannel procedure. This channel is used to transmit H.263 video
signals and RTP encapsulated real-time media information (video). The message
carries the IP address (191.169.150.171) and port number (40002) used by H.323
PhoneA to transmit RTP encapsulated real-time media information (video signals),
and the IP address (191.169.150.171) and port number (40003) used to transmit
quality parameter message of RTCP encapsulated real-time signal transmission.
ITU-T Recommendation H.245
request
openLogicalChannel
forwardLogicalChannelNumber: 2
forwardLogicalChannelParameters
(OpenLogicalChannel-forwardLogicalChannelParameters)
dataType (videoData)
videoData
h263VideoCapability
qcifMPI: 1
maxBitRate: 2048
unrestrictedVector: False
arithmeticCoding: False
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
4-65
Chapter 4 H.323
enhancementLayerInfo (EnhancementLayerInfo)
baseBitRateConstrained: False
multiplexParameters (h2250LogicalChannelParameters)
h2250LogicalChannelParameters
sessionID: 2
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network:
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40002
mediaGuaranteedDelivery: False
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network:
191.169.150.171
(191.169.150.171)
tsapIdentifier: 40003
mediaControlGuaranteedDelivery: False
23) Scenario 23: H.323 PhoneB sends back OLCA message as response. The
message carries the IP address (191.169.31.31) and port number (40002) used
by H.323 PhoneB to transmit RTP encapsulated real-time media information
(video signals), and the IP address (191.169.31.31) and port number (40003)
used to transmit quality parameter message of RTCP encapsulated real-time
signal transmission.
ITU-T Recommendation H.245
response
openLogicalChannelAck
forwardLogicalChannelNumber: 2
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 3
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40002
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
4-66
Chapter 4 H.323
tsapIdentifier: 40003
flowControlToZero: False
24) Scenario 24: H.323 PhoneB sends OLC message to H.323 PhoneA, to start
OpenLogicalChannel procedure. This channel is used to transmit G.723 audio
signals and RTP encapsulated real-time media information (audio). The message
carries the IP address (191.169.31.31) and port number (40000) used by H.323
PhoneA to transmit RTP encapsulated real-time media information (audio signals),
and the IP address (191.169.31.31) and port number (40001) used to transmit
quality parameter message of RTCP encapsulated real-time signal transmission.
ITU-T Recommendation H.245
request
openLogicalChannel
forwardLogicalChannelNumber: 1
forwardLogicalChannelParameters
(OpenLogicalChannel-forwardLogicalChannelParameters)
dataType (audioData)
audioData
g7231
maxAl_sduAudioFrames: 1
silenceSuppression: False
multiplexParameters (h2250LogicalChannelParameters)
h2250LogicalChannelParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40000
mediaGuaranteedDelivery: False
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40001
mediaControlGuaranteedDelivery: False
25) Scenario 25: H.323 PhoneA sends back OLCA message as response. The
message carries the IP address (191.169.150.171) and port number (40000) used
by H.323 PhoneA to transmit RTP encapsulated real-time media information
(audio signals), and the IP address (191.169.150.171) and port number (40001)
used to transmit quality parameter message of RTCP encapsulated real-time
signal transmission.
ITU-T Recommendation H.245
4-67
Chapter 4 H.323
response
openLogicalChannelAck
forwardLogicalChannelNumber: 1
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.150.171 (191.169.150.171)
tsapIdentifier: 40000
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.150.171 (191.169.150.171)
tsapIdentifier: 40001
flowControlToZero: False
26) Scenario 26: H.323 PhoneB sends OLC message to H.323 PhoneA, to start
OpenLogicalChannel procedure. This channel is used to transmit H.263 video
signals and RTP encapsulated real-time media information (video). The message
carries the IP address (191.169.31.31) and port number (40002) used by H.323
PhoneB to transmit RTP encapsulated real-time media information (video signals),
and the IP address (191.169.31.31) and port number (40003) used to transmit
quality parameter message of RTCP encapsulated real-time signal transmission.
ITU-T Recommendation H.245
request
openLogicalChannel
forwardLogicalChannelNumber: 2
forwardLogicalChannelParameters
(OpenLogicalChannel-forwardLogicalChannelParameters)
dataType (videoData)
videoData
h263VideoCapability
qcifMPI: 1
maxBitRate: 2048
unrestrictedVector: False
arithmeticCoding: False
advancedPrediction: False
pbFrames: False
temporalSpatialTradeOffCapability: False
errorCompensation: False
4-68
Chapter 4 H.323
enhancementLayerInfo (EnhancementLayerInfo)
baseBitRateConstrained: False
multiplexParameters (h2250LogicalChannelParameters)
h2250LogicalChannelParameters
sessionID: 2
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40002
mediaGuaranteedDelivery: False
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.31.31 (191.169.31.31)
tsapIdentifier: 40003
mediaControlGuaranteedDelivery: False
27) Scenario 27: H.323 PhoneA sends back OLCA message as response. The
message carries the IP address (191.169.150.171) and port number (40002) used
by H.323 PhoneA to transmit RTP encapsulated real-time media information
(video signals), and the IP address (191.169.150.171) and port number (40003)
used to transmit quality parameter message of RTCP encapsulated real-time
signal transmission. Now, the audio and video logical channels at both ends are
opened, that is the logical channel signaling procedure is over, and both parties
begin converstation.
ITU-T Recommendation H.245
response
openLogicalChannelAck
forwardLogicalChannelNumber: 2
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 3
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.150.171 (191.169.150.171)
tsapIdentifier: 40002
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.150.171 (191.169.150.171)
4-69
Chapter 4 H.323
tsapIdentifier: 40003
flowControlToZero: False
28) Scenario 28: H.323 PhoneB hooks on, and sends Q.931 Release Complete
message to the GK to close the channel.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8004
Message type: RELEASE COMPLETE (0x5a)
User-user
Information element: User-user
Length: 35
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (releaseComplete)
releaseComplete
protocolIdentifier: 0.0.8.2250.0.3
reason (undefinedReason)
undefinedReason: undefinedReason
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
h245Tunneling: False
29) Scenario 29: H.323 PhoneB sends RAS DRQ message to the GK to tell the GK
that the occupied bandwidth can be released.
ITU-T Recommendation H.225.0
disengageRequest
requestSeqNum: 91
endpointIdentifier: 22-3
conferenceID: 4E2C3030-DCBC-9839-3FB8-EB4A020D3C92
callReferenceValue: 32772
disengageReason (normalDrop)
normalDrop: normalDrop
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
answeredCall: True
30) Scenario 30: The GK sends DCF message to H.323 PhoneB, to confirm that it has
received DRQ message and released corresponding bandwidth.
ITU-T Recommendation H.225.0
disengageConfirm
requestSeqNum: 91
4-70
Chapter 4 H.323
31) Scenario 31: The GK sends Q.931 Release Complete message to H.323 PhoneA
to close the channel. Now, the call is released.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: EFD1
Message type: RELEASE COMPLETE (0x5a)
Cause
Information element: Cause
Length: 2
Coding standard: ITU-T standardized coding
Location: User (U)
Cause value: Normal unspecified
User-user
Information element: User-user
Length: 30
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (releaseComplete)
releaseComplete
protocolIdentifier: 0.0.8.2250.0.2
reason (undefinedReason)
undefinedReason: undefinedReason
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
h245Tunneling: False
32) Scenario 32: H.323 PhoneA sends RAS DRQ message to the GK to tell the GK
that the occupied bandwidth can be released.
ITU-T Recommendation H.225.0
disengageRequest
requestSeqNum: 1931
endpointIdentifier: 22-2
conferenceID: 4E2C3030-DCBC-9839-3FB8-EB4A020D3C92
callReferenceValue: 28625
disengageReason (normalDrop)
normalDrop: normalDrop
callIdentifier (CallIdentifier)
guid: 3F503030-DCBC-9839-3FB9-D7A6F6B50BF4
answeredCall: False
4-71
Chapter 4 H.323
33) Scenario 33: The GK sends DCF message to H.323 PhoneA, to confirm that it has
received DRQ message and released corresponding bandwidth. Now, whole
release procedure is over.
ITU-T Recommendation H.225.0
disengageConfirm
requestSeqNum: 1931
SoftX3000
RAS_ARQ
RAS_ACF
Q931_SETUP
H.323 PhoneB
4Q931_CALLPROCEEDING
5
Q931_SETUP
RAS_ARQ
RAS_ACF
8 Q931_ALERTING
9 Q931_ALERTING
10 Q931_CONNECT
11 Q931_CONNECT
Conversation
11 Q931_ReleaseComplete
12
RAS_DRQ
13
RAS_DCF
14Q931_ReleaseComplete
RAS_DRQ
15
16
RAS_DCF
4-72
Chapter 4 H.323
H.323 PhoneA is the calling party, H.323 PhoneB is the called party, and the
called party first hooks on.
SoftX3000A
1
SoftX3000B
Q931_SETUP
2 Q931_CALLPROCEEDING
3
Q931_ALERTING
Q931_CONNECT
Q931_FACILITY
H245_REQ_TCS
H245_REQ_TCSA
H245_REQ_TCS
H245_REQ_TCSA
10
H245_REQ_MSD
11
H245_REQ_MSDA
12
H245_REQ_MSD
13
H245_REQ_MSDA
14
H245_REQ_OLC
15
H245_REQ_OLCA
16
H245_REQ_OLC
17
H245_REQ_OLCA
Conversation
18
H245_REQ_ESD
19 Q931_ReleaseComplete
20
H245_REQ_ESD
Note:
The H.323 trunk call connection can be implemented in fast start mode.
4-73
1)
Chapter 4 H.323
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 0157
Message type: SETUP (0x05)
Bearer capability
Information element: Bearer capability
Length: 4
Coding standard: ITU-T standardized coding
Information transfer capability: Unrestricted digital information
Transfer mode: Circuit mode
Information transfer rate: Multirate (64 kbit/s base rate)
Rate multiplier: 186
User information layer 1 protocol: Recommendation H.221 and H.242
Display
Information element: Display
Length: 30
Display information: Huawei Technologies Co.,
Calling party number
Information element: Calling party number
Length: 12
Type of number: National number
Numbering plan: E.164 ISDN/telephony numbering
Number: 02055500011
Called party number
Information element: Called party number
Length: 9
Type of number: National number
Numbering plan: E.164 ISDN/telephony numbering
Number: 66500010
User-user
Information element: User-user
Length: 181
4-74
Ltd.
Chapter 4 H.323
2)
Scenerio 2: SoftX3000B sends back Call Proceeding message, indicating that the
call has been processed. The VendorIdentifier in the UUIE field of the message
4-75
Chapter 4 H.323
indicates the vendor identifier of SoftX3000B. Here, the country code is 28,
extension is 21, vendor identifier is 0. Besides, it is indicated that SoftX3000B is
Huawei NGN SoftX3000 product, whose version is SoftX3000V3.
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8157
Message type: CALL PROCEEDING (0x02)
User-user
Information element: User-user
Length: 70
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (callProceeding)
callProceeding
protocolIdentifier: 0.0.8.2250.0.2
destinationInfo (EndpointType)
vendor (VendorIdentifier)
vendor (H221NonStandard)
t35CountryCode: 28
t35Extension: 21
manufacturerCode: 0
productId: Huawei NGN SoftX3000
versionId: SoftX3000V3
gatekeeper (GatekeeperInfo)
gateway (GatewayInfo)
mc: False
undefinedNode: False
callIdentifier (CallIdentifier)
guid: 908552FC-3018-E030-8449-AC14C86413C4
h245Tunneling: False
3)
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8157
Message type: ALERTING (0x01)
User-user
4-76
Chapter 4 H.323
4)
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8157
Message type: CONNECT (0x07)
Bearer capability
Information element: Bearer capability
Length: 3
Coding standard: ITU-T standardized coding
Information transfer capability: Unrestricted digital information
Transfer mode: Circuit mode
Information transfer rate: 64 kbit/s
User information layer 1 protocol: Recommendation H.221 and H.242
Display
Information element: Display
Length: 30
Display information: Huawei Technologies Co.,
User-user
4-77
Ltd.
Chapter 4 H.323
5)
Q.931
Protocol discriminator: Q.931
Call reference value length: 2
Call reference value: 8157
Message type: FACILITY (0x62)
User-user
Information element: User-user
Length: 38
Protocol discriminator: X.208 and X.209 coded user information
ITU-T Recommendation H.225.0
h323_uu_pdu (H323-UU-PDU)
h323_message_body (facility)
facility
protocolIdentifier: 0.0.8.2250.0.2
4-78
Chapter 4 H.323
conferenceID: 908552FC-3018-E030-844A-AC14C86413C4
reason (startH245)
startH245: startH245
h245Address (ipAddress)
ipAddress
ip: 191.169.1.110 (191.169.1.110)
port: 5259
h245Tunneling: False
6)
Scenario 6: After the call is set up, SoftX3000B sends H.245 request message
TCS to SoftX3000A to start capability exchange procedure, so that SoftX3000A
can know the receive and transmit capabilities of SoftX3000B.
4-79
Chapter 4 H.323
distributedVideo: False
receiveAndTransmitMultipointCapability
(MultipointCapability)
multicastCapability: False
multiUniCastConference: False
mediaDistributionCapability
(MediaDistributionCapability)
Item 0 (MediaDistributionCapability)
centralizedControl: False
distributedControl: False
centralizedAudio: False
distributedAudio: False
centralizedVideo: False
distributedVideo: False
mcCapability (H2250Capability-mcCapability)
centralizedConferenceMC: False
decentralizedConferenceMC: False
rtcpVideoControlCapability: True
mediaPacketizationCapability
(MediaPacketizationCapability)
h261aVideoPacketization: False
logicalChannelSwitchingCapability: False
t120DynamicPortCapability: False
capabilityTable (CapabilityTableEntry)
Item 0 (CapabilityTableEntry)
capabilityTableEntryNumber: 1
capability (receiveAudioCapability)
receiveAudioCapability
g711Alaw64k: 20
capabilityDescriptors (CapabilityDescriptor)
Item 0 (CapabilityDescriptor)
capabilityDescriptorNumber: 1
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 1
7)
4-80
8)
Chapter 4 H.323
4-81
Chapter 4 H.323
centralizedControl: False
distributedControl: False
centralizedAudio: False
distributedAudio: False
centralizedVideo: False
distributedVideo: False
mcCapability (H2250Capability-mcCapability)
centralizedConferenceMC: False
decentralizedConferenceMC: False
rtcpVideoControlCapability: True
mediaPacketizationCapability
(MediaPacketizationCapability)
h261aVideoPacketization: False
logicalChannelSwitchingCapability: False
t120DynamicPortCapability: False
capabilityTable (CapabilityTableEntry)
Item 0 (CapabilityTableEntry)
capabilityTableEntryNumber: 1
capability (receiveAudioCapability)
receiveAudioCapability
g711Alaw64k: 20
capabilityDescriptors (CapabilityDescriptor)
Item 0 (CapabilityDescriptor)
capabilityDescriptorNumber: 1
simultaneousCapabilities (AlternativeCapabilitySet)
Item 0 (AlternativeCapabilitySet)
array: 1
9)
10) Scenario 10: SoftX3000A sends MSD message to SoftX3000B, to start master
slave determination procedure.
ITU-T Recommendation H.245
request
masterSlaveDetermination
terminalType: 120
statusDeterminationNumber: 14134743
4-82
Chapter 4 H.323
11) Scenario 11: SoftX3000B receives the MSD message from SoftX3000A, and it
compares the carried terminalType and statusDeterminationNumber with its
corresponding values, to get the result that it is Slave. Then, SoftX3000B sends
the result to SoftX3000A through MSDA message.
ITU-T Recommendation H.245
response
masterSlaveDeterminationAck
decision (master)
master: slave
12) Scenario 12: SoftX3000B sends MSD message to SoftX3000A, to start master
slave determination procedure.
ITU-T Recommendation H.245
request
masterSlaveDetermination
terminalType: 120
statusDeterminationNumber: 4335996
13) Scenario 13: SoftX3000A receives the MSD message from SoftX3000B, and it
compares the carried terminalType and statusDeterminationNumber with its
corresponding values, to get the result that it is Master. Then, SoftX3000A sends
the result to SoftX3000B through MSDA message.
ITU-T Recommendation H.245
response
masterSlaveDeterminationAck
decision (slave)
slave: master
4-83
Chapter 4 H.323
sessionID: 1
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.3.38 (191.169.3.38)
tsapIdentifier: 30001
mediaControlGuaranteedDelivery: False
silenceSuppression: False
15) Scenario 15: SoftX3000B sends back OLCA message as response. The message
carries the IP address (191.169.1.135) and port number (30019) used by PhoneB
resident gateway to transmit RTP encapsulated real-time media information
(audio signals), and the IP address (191.169.1.135) and port number (30019)
used to transmit quality parameter message of RTCP encapsulated real-time
signal transmission.
ITU-T Recommendation H.245
response
openLogicalChannelAck
forwardLogicalChannelNumber: 4
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.1.135 (191.169.1.135)
tsapIdentifier: 30018
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.1.135 (191.169.1.135)
tsapIdentifier: 30019
4-84
Chapter 4 H.323
forwardLogicalChannelParameters
(OpenLogicalChannel-forwardLogicalChannelParameters)
dataType (audioData)
audioData
g711Alaw64k: 20
multiplexParameters (h2250LogicalChannelParameters)
h2250LogicalChannelParameters
sessionID: 1
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.1.135 (191.169.1.135)
tsapIdentifier: 30019
mediaControlGuaranteedDelivery: False
silenceSuppression: False
17) Scenario 17: SoftX3000A sends back OLCA message as response. The message
carries the IP address (191.169.3.38) and port number (30000) used by PhoneA
resident gateway to transmit RTP encapsulated real-time media information
(audio signals), and the IP address (191.169.3.38) and port number (30001) used
to transmit quality parameter message of RTCP encapsulated real-time signal
transmission. Now, the audio logical channels at both ends are opened, that is the
logical channel signaling procedure is over, and both parties begin converstation.
ITU-T Recommendation H.245
response
openLogicalChannelAck
forwardLogicalChannelNumber: 2
forwardMultiplexAckParameters
(h2250LogicalChannelAckParameters)
h2250LogicalChannelAckParameters
sessionID: 1
mediaChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.3.38 (191.169.3.38)
tsapIdentifier: 30000
mediaControlChannel (unicastAddress)
unicastAddress
iPAddress
network: 191.169.3.38 (191.169.3.38)
tsapIdentifier: 30001
18) Scenario 18: PhoneB hooks on. SoftX3000B sends ESD message to SoftX3000A
to request converstation end.
4-85
Chapter 4 H.323
20) Scenario 20: PhoneA hooks on. SoftX3000A sends ESD message to SoftX3000B.
Now, whole call procedure is over.
ITU-T Recommendation H.245
command
endSessionCommand
disconnect: disconnect
4-86
Chapter 5 SIGTRAN
Chapter 5 SIGTRAN
5.1 Overview
5.1.1 Functions
Signaling Transport (SIGTRAN) protocol stack is defined by the SIGTRAN workgroup
of the Internet Engineering Task Force (IETF) for interworking purposes between the
Signaling System No. 7 (SS7) and the Internet Protocol (IP).This protocol stack
supports transmission of switched circuit network (SCN) signaling across IP network.
This protocol stack supports the inter-layer standard primitive interface defined in SCN
signaling protocol hierarchy model so as to ensure utilization of the existing SCN
signaling application without modification. It also uses the standard IP transport
protocol as the transmission bottom layer, and satisfies the special transmission
requirements of SCN signaling by adding its own functions.
Caution:
z
The SIGTRAN protocol stack only implements SCN signaling adaptation and transmission on IP
network without processing user-layer signaling messages.
The SIGTRAN protocol stack is functionally composed of two classes of protocols as follows:
The first class includes universal signaling transport protocols that achieve the
efficient and reliable transmission of SS7 signaling on IP network. Currently
SoftX3000 uses Stream Control Transmission Protocol (SCTP) specified by the
IETF.
The second class refers to SS7 adaptation protocols including SS7 MTP2-User
Adaptation Layer (M2UA), SS7 MTP3-User Adaptation Layer (M3UA), ISDN
Q.921-User Adaptation Layer (IUA), and V5.2-User Adaptation Layer (V5UA). The
SS7 adaptation protocols are applicable to existing SCN signaling systems and
protocols.
5-1
Chapter 5 SIGTRAN
5.1.2 Terminology
I. Media Gateway (MG)
When media streams are transferred from the SCN to the packet-switching network,
the MG terminates SCN media streams, puts them into data packets (if the media data
is not in form of packets), and then transfers the data packets to the packet-switching
network. When media steams are transmitted from the packet-switching network to the
SCN, reverse processes are performed.
Terminating and initiating SCN signaling protocols, such as SS7-ISUP and Q.931.
(ISUP is the acronym of ISDN User Part.)
M3UA M2UA
IUA
SUA
M2PA V5UA
SCTP
IP
M3UA: MTP3-User Adaptation Layer
IUA: ISDN Q.921-User Adaptation Layer
M2PA: MTP2-User Peer-to-Peer Adaptation Layer
SCTP: Stream Control Transmission Protocol
5-2
Chapter 5 SIGTRAN
Note:
Currently SoftX3000 does not support MTP2-User Peer-to-Peer Adaptation Layer (M2PA) or SCCP-User
Adaptation Layer (SUA).
Signaling stream
Media stream
SIGTRAN/SS7
SS7
SG
H.248
IP c ore network
PSTN
Circ uit-switc hing network
Sof tX3000
TMG/UMG
Pack et-s witching network
The SoftX3000 provides Time Division Multiplex (TDM) interface to the SCN and uses
MTP, not SIGTRAN, for signaling transmission.
5-3
Chapter 5 SIGTRAN
The TMG or UMG with an embedded SG converts and adapts SCN signaling,
encapsulates the signaling into IP packets, and transmits the packets to the SoftX3000
across the IP network. The signaling transmission is based on M2UA, IUA, or V5UA of
the SIGTRAN.
z
Independent SG
The SG converts and adapts SCN signaling, encapsulates the signaling into IP packets,
and transmits the packets to the SoftX3000 across the IP network. Signaling
transmission is based on M3UAof the SIGTRAN.
5.2 SCTP
5.2.1 Introduction
Before the SCTP is stipulated, UDP and TCP carry SS7 signaling traffic over IP network.
UDP is a connectionless transport protocol and cannot guarantee the quality of
transmission required by SS7 signaling. TCP is a connection-oriented transport
protocol and guarantees the reliable transmission of signaling. TCP, however, has
some disadvantages such as line header block, poor real-time ability, difficult
multi-homing implementation, and vulnerable to denial of service (DOS) attacks. To
solve those problems, the IETF put forward a connection-oriented, packet-based, and
transmission-reliable protocolSCTP. The SCTP removes those problems existing in
the TCP and thus provides a higher reliability of signaling transmission. The design of
the SCTP includes appropriate congestion avoidance behavior and resistance to
flooding and masquerade attacks. The SCTP has optimized real-time performance and
supports the multi-homing function. Therefore, SCTP is chosen as the transport
protocol in the SIGTRAN protocol stack.
The SCTP is a transport-layer protocol above which SCTP user applications are
operating and below which a packet-based network is lying. In the SIGTRAN
implementation, the upper-layer users of the SCTP are SCN signaling adaptation
modules, for example, M2UA, M3UA, IUA, and V5UA. The underlying layer of the
SCTP is the IP network. The position of the SCTP in the SIGTRAN protocol stack is
shown in Figure 5-1.
5.2.2 Terminology
I. Transport Address
A transport address is defined by the combination of an IP address, a transport-layer
protocol type, and a transport-layer port number. Because the SCTP is transmitted on
5-4
Chapter 5 SIGTRAN
the IP, an SCTP transport address is the combination of an IP address and an SCTP
port number. SCTP port number is used for the identification of the users at the same
address, and it is identical to TCP port number in the concept. For example, the IP
address 10.105.28.92 and SCTP port number 1024 indicate a transport address, while
10.105.28.93 and 1024 mean another transport address. Similarly 10.105.28.92 and
1023 indicate a different transport address.
Host
A host is configured with one or multiple IP addresses. It is a typical physical entity.
SCTP Endpoint
Notes:
A host can have more than one endpoint.
Association
Stream
The term Stream used in SCTP refers to a sequence of user messages that are to be
delivered to the upper-layer protocol in order with respect to other messages within the
same stream. Strictly speaking, stream, in an SCTP association, is a uni-directional
5-5
Chapter 5 SIGTRAN
logical channel established from one endpoint to the other associated endpoint. An
association is composed of several uni-directional streams, any of which is
independent of the others. Stream IDs identifies the streams. Each stream transmits
data without influence from other streams.
Note:
z
Multiple streams might be in the same stream. The number of available streams depends on the
negotiation of the endpoints when an association is established between them. A stream cannot
belong to more than one association. The number of outgoing streams might be different from that of
incoming streams.
Path
A path is a route taken by the SCTP packets sent by one SCTP endpoint to a
specific destination transport address of its peer SCTP endpoint. Sending to
different destination transport addresses does not necessarily guarantee getting
separate paths.
Primary path
A primary path is the destination and source address that will be put into a packet
outbound to the peer endpoint by default. If there is more than one destination address
to an endpoint, the SCTP endpoint is multi-homed. The definition includes the source
address since an implementation might wish to specify both destination and source
address to better control the return path taken by reply chunks and on which interface
the packet is transmitted when the data sender is multi-homed.
Both SCTP endpoints in an SCTP association can be configured with several IP
addresses, and thus there are several paths between the associated endpoints. This is
the multi-address feature of an SCTP association. This is also the greatest difference of
SCTP from TCP.
An SCTP association might include several paths but has only one primary path. As
shown in Figure 5-3, an endpoint on the MGC (for example, SoftX3000) has two
transport addresses (10.11.23.14:2905 and 10.11.23.15:2905); an endpoint on the SG
also has two transport addresses (10.11.23.16:2904 and 10.11.23.17:2904).
5-6
Chapter 5 SIGTRAN
10.11.23.16
Path0
Path2
MGC
10.11.23.15
Path1
Path3
SG
10.11.23.17
The SCTP working principles for data transmission from an endpoint are as follows:
By default, an endpoint should always transmit SCTP packets through the primary path
from a local transport address A to the peer endpoint. When the primary path becomes
faulty, the SCTP automatically switches over to one of the backup paths. The SCTP
preferentially switches the transport addresses of the peer endpoint; furthermore, the
SCTP switches the transport addresses of the local endpoint.
The SCTP defines heartbeat messages. When a path is idle, the local SCTP user
requires the SCTP to generate a heartbeat message and sends the message through
that path to the peer endpoint which must immediately return a heartbeat
acknowledgement message. This mechanism serves to precisely measure the
round-trip time (RTT) and helps to monitor the reachability of the association as well as
holding the active state of the SCTP association.
5-7
Chapter 5 SIGTRAN
TSN
Note:
In the TCP, the TSN mechanism helps to achieve acknowledged transmission and sequenced-delivery of
data. When it is found that TSNs are not continuous, the TCP retransmits the data that will not be delivered
to an upper-layer user above the TCP layer until the TSNs are sequential. This mechanism results in the
dissatisfaction of the TCP for low-delay transmission of SS7 signaling traffic.
SSN
The SCTP assigns a 16-bit stream sequence number (SSN) to each data chunk sent in
a stream by the local end, to ensure sequenced transmission in the stream.
5-8
Chapter 5 SIGTRAN
At the establishment of an association, the SSNs in all streams are numbered from 0.
When an SSN reaches 65535, the subsequent SSN is numbered from 0 again.
The assignments of TSN and SSN are independent to each other.
2)
CWND
RWND
Receiver window (RWND) indicates the size of the receivers inbound buffer in an
association. During the association establishment, both data sender and receiver will
exchange their RWND value with each other. The two RWND values will vary with data
transmission and acknowledgement. This is, in effect, restricting the amount of data it
can transmit. If the RWND is equal to 0, the data sender can always have one packet in
flight to the receiver, which allows the sender to probe for a change in buffer of the data
receiver by means of the acknowledgement message.
4)
TCB
Chunk bundling
Packet validation
Path management
5-9
Chapter 5 SIGTRAN
SCTP can transport the datagrams in sequence. The datagrams sent in sequence must
be put in one stream, and the stream is the basis for sequenced transmission.
With streams, SCTP provides two mechanisms respectively for data acknowledgement
and sequenced delivery. SCTP uses the TSN mechanism to achieve acknowledged
transmission of data, and uses stream number and SSN to achieve sequenced delivery
of data. When the SSNs that SCTP receives are sequential, SCTP delivers the data to
the SCTP user, without waiting for continuity of TSNs of the data.
5-10
Chapter 5 SIGTRAN
When the stream is blocked, the next expected in-sequence SCTP user message can
be delivered from other streams.
SCTP also provides non in-sequence delivery service. User messages sent using this
mechanism are delivered to the SCTP user as soon as they are received, without
guarantee of in-sequence delivery.
3)
SCTP detects the path maximum transmission unit (PMTU) on the transport path,
based on which SCTP fragments and then packetizes large user data to avoid multiple
fragmentations and reassemblies at the IP layer. The purpose is to reduce the data load
on the IP layer.
z
Before transmission, SCTP fragments user messages to ensure that the SCTP
packet passed to the lower layer conforms to the PMTU.
4)
The TSN is independent of any SSN assigned at the stream level. The TSN serves
to ensure the reliability of the transmission. The SSN is used to guarantee
sequenced delivery of messages within streams.
TSN and SSN functionally separate reliable transmission from sequenced delivery.
The receiver acknowledges all TSNs received, even if there are gaps in the
sequence.
5)
Chunk bundling
If short-length user data is attached with a large SCTP message header, the
transmission efficiency is very low. Therefore, SCTP bundles several pieces of user
data into the same SCTP packet to improve the utilization ratio of the bandwidth.
z
The SCTP user has the option to request bundling of more than one user
messages into a single SCTP packet.
5-11
6)
Chapter 5 SIGTRAN
Packet validation
Packet validation is the basis for SCTP to provide errorless transmission. The common
header of an SCTP packet includes a Verification Tag field and a 32-bit Checksum field.
The Verification Tag value is chosen by each end of the association during association
startup. The receiver discards packets received without the expected Verification Tag
value, as a protection against blind masquerade attacks and against stale SCTP
packets from a previous association.
The sender of each SCTP packet sets the checksum to provide additional protection
against data corruption in the network. The receiver of an SCTP packet with an invalid
checksum discards the packet.
7)
Path management
The sending SCTP user can use a set of transport addresses as destinations for SCTP
packets. The SCTP path management function chooses a destination transport
address for each outgoing SCTP packet based on the SCTP users instructions and the
currently perceived reachability status of the eligible destination set. The path
management function monitors reachability through heartbeats when other packet
traffic is inadequate to provide this information and advises the SCTP user when
reachability of any far-end transport address changes. The path management function
is also responsible for reporting the eligible set of local transport addresses to the far
end during association startup, and for reporting the transport addresses returned from
the far end to the SCTP user.
At association startup, a primary path is defined for each SCTP endpoint, and is used
for normal sending of SCTP packets.
On the receiving end, the path management is responsible for verifying the existence of
a valid SCTP association to which the inbound SCTP packet belongs before passing it
for further processing.
5-12
Chapter 5 SIGTRAN
INITIALIZE
Function
This primitive allows SCTP to initialize its internal data structures and allocate
necessary resources for setting up its operation environment. Once SCTP is
initialized, ULP can communication directly with other endpoints without
re-invoking this primitive.
SCTP will return to the ULP an event number (instance) of the SCTP
association to be processed locally.
This primitive allows the upper layer to initiate an association to a specific peer
endpoint. The peer endpoint shall be specified by one of the transport
addresses which defines the endpoint. If the local SCTP instance has not been
initialized, the ASSOCIATE is considered an error.
ASSOCIATE
SHUTDOWN
ABORT
SEND
5-13
Chapter 5 SIGTRAN
Primitive
Function
This primitive allows the ULP to instruct the local SCTP to use the specified
destination transport address as primary path for sending packets.
SET PRIMARY
RECEIVE
The size of the message read, in bytes, will be returned. It might, depending on
the specific implementation, also return other information such as the senders
address, the stream ID on which it is received, and whether there are more
messages available for retrieval. For ordered messages, their SSN might also
be returned.
This primitive is used to return a data block containing the following information:
STATUS
Primary path
REQUEST
HERATBEAT
GET SRTT
REPORT
This primitive allows the ULP to instruct the local endpoint to enable or disable
heartbeat on a specified destination transport address.
Returned result indicates the performance of this operation. If the destination
transport address is not idle, heartbeat will not take place.
This primitive allows the ULP to instruct the local endpoint to perform a
heartbeat on a specified destination address of a given association.
Returned result indicates whether the transmission of the HEARTBEAT chunk
to the destination address is successful.
This primitive allows the ULP to instruct the local SCTP to report the current
SRTT measurement on a specified destination transport address of a given
association.
Returned result is an integer containing the most recent SRTT in milliseconds.
5-14
Chapter 5 SIGTRAN
Primitive
SET FRAILURE
THRESHOLD
Function
This primitive allows the local SCTP to customize the reachability failure
detection threshold for a specified destination transport address.
Returned result indicates whether the operation is successful.
SET PROTOCOL
PARAMETERS
This primitive allows the local SCTP to customize the protocol parameters.
RECEIVE
UNSENT
MESSAGE
This primitive allows the ULP to instruct the local SCTP to store the received
failure message in the ULP buffer.
RECEIVE
UNACKNOWLED
GED MESSAGE
This primitive allows the ULP to instruct the local SCTP to store the received
unacknowledged failure message in the ULP buffer.
DESTROY
Function
When a user message is successfully received and ready for delivery to the
SCTP user, SCTP invokes this primitive to notify the upper-layer user.
DATA ARRIVE
Cause code: indicates the reason of the failure, for example, too long size,
and message lifetime expiration.
5-15
Chapter 5 SIGTRAN
Primitive
Function
When a destination transport address is marked inactive (for example, when
SCTP detects a failure) or marked active (for example, when SCTP detects a
recovery), SCTP invokes this primitive to notify the SCTP user.
NETWORK
STATUS CHANGE
When the local SCTP becomes ready to send or receive SCTP packets or when
a lost communication to an endpoint is restored, SCTP invokes this primitive to
notify the SCTP user.
The following information is passed with the notification:
COMMUNCIATION
UP
Inbound stream count: the number of streams that the peer endpoint has
requested with this association. (This might not be the same number as
outbound stream count".)
COMMUNICATION
LOST
Status: indicates the type of the event that has occurred. The status might
indicate a failure or a normal termination event occurred in response to a
SHUTDOWN or ABORT request.
Last sent TSN: the TSN last sent to that peer endpoint.
When SCTP receives an ERROR chunk from its peer and decides to notify its
upper-layer user, SCTP invokes this primitive.
COMMUNICATION
ERROR
Error info: indicates the type of the error and optionally some additional
information received through the ERROR chunk.
5-16
Chapter 5 SIGTRAN
Primitive
Function
When SCTP detects that the peer has restarted, SCTP invokes this primitive to
notify the SCTP user.
RESTART
SHUTDOWN
COMPLETE
The association ID, local handle to the SCTP association, is passed with the
notification.
16 bits
Common
Header
Verification Tag
Checksum
Chunk Type
Chunk Flags
Chunk Length
Chunk #1
Chunk Value
Chunk Type
Chunk Flags
Chunk Length
Chunk #n
Chunk Value
5-17
Chapter 5 SIGTRAN
This is the SCTP senders port number. The receiver can use it in combination with the
source IP address, the destination port number, and possibly the destination IP address
to identify the association to which this packet belongs.
z
This is the SCTP port number to which this packet is destined. The receiving host will
use this port number to de-multiplex the SCTP packet to the correct receiving endpoint
or application.
z
SCTP uses the Adler-32 algorithm to calculate the user data and obtains a 32-bit
checksum which will be carried in the datagram. The receiver performs the same
operation and checks whether the new checksum is equal to the carried one to judge
whether the user data is destroyed.
2)
Each chunk is formatted with a Chunk Type field, a Chunk Flags field, a Chunk Length
field, and a Chunk Value field.
z
This field identifies the type of information contained in the Chunk Value field. Table 5-3
lists the values of Chunk Types.
Table 5-3 SCTP chunk types
ID
Chunk type
DATA (payload
data)
Description
Transmitted user data.
5-18
ID
Chapter 5 SIGTRAN
Chunk type
Description
INIT
INIT ACK
SACK
HEARTBEAT
HEARTBEAT
ACK
ABORT
SHUTDOWN
SHUTDOWN
ACK
ERROR
10
COOKIE ECHO
11
COOKIE ACK
12
ECNE
13
CWR
14
SHUTDOWN
COMPLETE
15 to 62
63
64 to
126
127
128 to
190
191
192 to
254
255
Chapter 5 SIGTRAN
Chunk Types are encoded such that the highest-order two bits specify the action that
must be taken if the processing endpoint does not recognize the Chunk Type. Table 5-4
shows the meanings of the bit combinations.
Table 5-4 Meanings of the highest-order two bits of Chunk Type
Bits (highest-order
two bits)
Meaning
00
Stop processing this SCTP packet and discard it. Do not process any further
chunks within it.
01
Stop processing this SCTP packet and discard it. Do not process any further
chunks within it. Report to the initiating endpoint the unrecognized parameter
either in an ERROR or in the INIT ACK.
10
11
Skip this chunk and continue processing. Report to the initiating endpoint the
unrecognized parameter either in an ERROR or in the INIT ACK.
The usage of these bits depends on the chunk type as given by the Chunk Type. Unless
otherwise specified, they are set to zero on transmit and are ignored on receipt.
z
This value represents the size of the chunk including the Chunk Type, Chunk Flags,
Chunk Length, and Chunk Value fields. The length is expressed in a binary number.
z
The Chunk Value field contains the actual information to be transferred in the chunk.
The contents depend on the Chunk Type. The length of the Chunk Value is variable.
Note:
The total length of a chunk (including Type, Length, and Value fields) must be a multiple of four bytes. If the
length of the chunk is not a multiple of four bytes, the sender must pad the chunk with all zero bytes and
this padding is not included in the chunk length field. The sender should never pad with more than three
bytes. The receiver must ignore the padding bytes.
3)
5-20
Chapter 5 SIGTRAN
16 bits
16 bits
Parameter Length
Parameter Type
Parameter Value
This field identifies the type of the parameter. It takes a value from 0 to 65534. The
value of 65535 is reserved for IETF-defined extensions.
Chunk Parameter Types are encoded such that the highest-order two bits specify the
action that must be taken if the processing endpoint does not recognize the Parameter
Type. Table 5-5 shows the meanings of the bit combinations.
Table 5-5 Meanings of the highest-order two bits of Chunk Parameter Type
Bits (highest-order
two bits)
Meaning
00
Stop processing this SCTP packet and discard it. Do not process any further
chunks within it.
01
Stop processing this SCTP packet and discard it. Do not process any further
chunks within it. Report the unrecognized parameter either in an ERROR or in
the INIT ACK.
10
11
Skip this chunk and continue processing. Report to the initiating endpoint the
unrecognized parameter either in an ERROR or in the INIT ACK.
This field contains the size of the parameter, in bytes, including the Parameter Type,
Parameter Length, and Parameter Value fields. Therefore, a parameter with a
zero-length Parameter Value field would have a Length field of 4. The Parameter
Length does not include any padding bytes.
z
5-21
Chapter 5 SIGTRAN
Note:
The total length of a parameter (including Type, Length, and Value fields) must be a multiple of four bytes.
If the length of the parameter is not a multiple of four bytes, the sender pads the parameter at the end with
all zero bytes. The length of the padding is not included in the parameter length field. A sender should not
pad with more than three bytes. The receiver must ignore the padding bytes.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 0
Reserve
U B E
Length
TSN
SSN
Stream ID
User Data
Type
Reserved (5 bits)
The Reserved bits are set to all zeros and ignored by the receiver.
z
U bit (1 bit)
The unordered bit, if set to 1, indicates that this is an unordered DATA chunk, and
there is no stream sequence number assigned to this DATA chunk. Therefore, the
receiver must ignore the SSN field.
After re-assembly (if necessary), unordered DATA chunks are dispatched to the SCTP
user by the receiver without any attempt to re-order.
If an unordered user message is fragmented, each fragment of the message must have
its U bit set to 1.
5-22
Chapter 5 SIGTRAN
B bit
The beginning fragment bit, if set, indicates the first fragment of a user message.
E bit
The ending fragment bit, if set, indicates the last fragment of a user message.
An unfragmented user message shall have both the B and E bits set to 1.
Setting both B and E bits to 0 indicates a middle fragment of a multi-fragment user
message. When a user message is fragmented into multiple chunks, the receiver uses
the TSNs to reassemble the message. This means that the TSNs for each fragment of
a fragmented user message must be strictly sequential. Table 5-6 shows the meanings
of the B and E bits.
Table 5-6 Meanings of the B and E bits
B
Meaning
Unfragmented message
This field indicates the length of the DATA chunk in bytes from the beginning of the type
field to the end of the user data field excluding any padding. A DATA chunk with no user
data field will have Length set to 16 (indicating 16 bytes).
z
This value represents the TSN for this DATA chunk. The valid range of TSN is from 0 to
4294967295 (232 - 1). TSN wraps back to 0 after reaching 4294967295.
z
Stream ID
This field identifies the stream to which the following user data belongs.
z
This value represents the stream sequence number of the following user data within the
stream. The valid range of this field is 0 to 65535. When a user message is fragmented
by SCTP for transport, the same sequence number must be carried in each of the
fragments of the message.
z
This value represents an application (or upper layer) specified protocol identifier. The
upper layer (SCTP user) passes this value to SCTP and sends it to the peer. SCTP
does not use this identifier. Certain network entities and the peer application use this
5-23
Chapter 5 SIGTRAN
identifier to identify the type of information being carried in this DATA chunk. This field
must be sent even in fragmented DATA chunks to make sure it is available for agents in
the middle of the network.
The value 0 indicates no application identifier is specified by the upper layer for this
payload data.
User Data (variable length)
This is the payload user data. This field must be padded to be a multiple of four bytes. A
sender should not pad with more than three bytes. The receiver must ignore the
padding bytes.
2)
Initiation (INIT)
This chunk is used to initiate an SCTP association between two endpoints. Figure 5-9
shows the format of the INIT chunk.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 1
Length
Chunk Flags
Initiate Tag
Advertised Receiver W indow Credit
Number of Outbound Streams
Initial TSN
Optional/Variable-Length Parameters
Chunk Flags
The Chunk Flags field in INIT is reserved and all bits in it should be set to 0. The
sequence of parameters within an INIT can be processed in any order.
z
5-24
Chapter 5 SIGTRAN
The receiver of the INIT records the value of the Initiate Tag parameter. This value must
be placed into the Verification Tag field of every SCTP packet that the receiver of the
INIT transmits within this association.
The Initiate Tag is allowed to take any value except 0. If the value of the Initiate Tag in a
received INIT chunk is found to be 0, the receiver must treat it as an error and close the
association by transmitting an ABORT.
z
This value represents the dedicated buffer space, in number of bytes, the sender of the
INIT has reserved in association with this window. During the life of the association this
buffer space should not be lessened (that is, dedicated buffers taken away from this
association); however, an endpoint might change the value of a_rwnd it sends in SACK
chunks.
z
This field defines the number of outbound streams the sender of this INIT chunk wishes
to create in this association. The value of 0 must not be used. A receiver of an INIT with
the OS value set to 0 will abort the association.
z
This defines the maximum number of streams the sender of this INIT chunk allows the
peer end to create in this association. The value of 0 must not be used. A receiver of an
INIT with the MIS value of 0 will abort the association.
z
Initial TSN
This field defines the initial TSN that the sender will use. This field might be set to the
value of the Initiate Tag field.
z
IPv4 Address
This field contains an IPv4 address of the sending endpoint. It is binary encoded. An
INIT chunk might contain several IPv4 or IPv6 addresses or a combination of
addresses.
z
IPv6 Address
This field contains an IPv6 address of the sending endpoint. It is binary encoded. An
INIT chunk might contain several IPv4 or IPv6 addresses or a combination of
addresses. A sender must not use an IPv4-mapped IPv6 address; instead, the sender
can use an IPv4 Address Parameter for an IPv4 address.
Combined with the Source Port Number in the SCTP common header, the value
passed in an IPv4 or IPv6 Address parameter indicates a transport address that the
sender of the INIT will support for the association being initiated. That is, during the
lifetime of this association, this IP address can appear in the source address field of an
IP datagram sent from the sender of the INIT, and can be used as a destination address
of an IP datagram sent from the receiver of the INIT. When the INIT sender is
5-25
Chapter 5 SIGTRAN
multi-homed, more than one IP Address parameter can be included in an INIT chunk.
Moreover, a multi-homed endpoint might have access to different types of network, and
thus more than one address type can be present in one INIT chunk. That is, IPv4 and
IPv6 addresses are allowed in the same INIT chunk.
If the INIT contains at least one IP Address parameter, the source address of the IP
datagram containing the INIT chunk and any additional address provided within the
INIT can be used as destinations by the endpoint receiving the INIT. If the INIT does not
contain any IP Address parameters, the endpoint receiving the INIT must use the
source address associated with the received IP datagram as its sole destination
address for the association.
z
Cookie Preservative
The sender of the INIT shall use this parameter to suggest to the receiver of the INIT for
a longer life-span of the State Cookie. This parameter should be added to the INIT
chunk by the sender when it re-attempts establishing an association with a peer to
which its previous attempt of establishing the association failed due to a stale cookie
operation error. The receiver might choose to ignore the suggested cookie life-span
increase for its own security reasons.
The Cookie Preservative parameter contains a 32-bit Suggested Cookie Life-span
Increment parameter that indicates to the receiver how much increment in milliseconds
the sender wishes the receiver to add to its default cookie life-span.
z
The sender of INIT uses this parameter to pass its Host Name (in place of its IP
addresses) to its peer. The peer is responsible for resolving the name. Using this
parameter might make it more likely for the association to work across a network
address translation (NAT) box.
z
Host Name
This variable-length field contains a host name defined according to host name syntax
in RFC1123. The method for resolving the host name is out of scope of SCTP.
At least one null terminator is included in the Host Name string and must be included in
the length.
z
The sender of INIT uses this parameter to list all the address types it can support.
z
Address Type
This parameter is filled with the type value of the corresponding address (for example,
IPv4 = 5, IPv6 = 6, Hostname = 11).
3)
The INIT ACK chunk is used to acknowledge the initiation of an SCTP association.
5-26
Chapter 5 SIGTRAN
Figure 5-10 shows the format of the INIT ACK chunk. The parameter part of INIT ACK is
formatted similarly to the INIT chunk. It uses two extra variable parameters: State
Cookie and Unrecognized Parameter.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 2
Length
Chunk Flags
Initiate Tag
Advertised Receiver Window Credit
Number of Inbound Streams
Optional/Variable-Length Parameters
The receiver of the INIT ACK records the value of the Initiate Tag parameter. This value
must be placed into the Verification Tag field of every SCTP packet that the receiver of
the INIT ACK transmits within this association.
The Initiate Tag is allowed to take any value except 0. If the value of the Initiate Tag in a
received INIT ACK chunk is found to be 0, the receiver must treat it as an error and
close the association by transmitting an ABORT.
z
This value represents the dedicated buffer space, in number of bytes, the sender of the
INIT ACK has reserved in association with this window. During the life of the
association this buffer space should not be lessened.
z
This field defines the number of outbound streams the sender of this INIT ACK chunk
wishes to create in this association. The value of 0 must not be used. A receiver of an
INIT ACK with the OS value set to 0 will destroy the association discarding its TCB.
z
This defines the maximum number of streams the sender of this INIT ACK chunk allows
the peer end to create in this association. The value of 0 must not be used. A receiver of
an INIT ACK with the MIS value set to 0 will destroy the association discarding its TCB.
z
5-27
Chapter 5 SIGTRAN
This field defines the initial TSN that the INIT ACK sender will use. This field might be
set to the value of the Initiate Tag field.
z
Combined with the Source Port Number in the SCTP common header, the value
passed in an IPv4 or IPv6 Address parameter indicates a transport address that the
sender of the INIT ACK will support for the association being initiated. That is, during
the lifetime of this association, this IP address can appear in the source address field of
an IP datagram sent from the sender of the INIT ACK, and can be used as a destination
address of an IP datagram sent from the receiver of the INIT ACK. When the INIT ACK
sender is multi-homed, more than one IP Address parameter can be included in an INIT
chunk. Moreover, a multi-homed endpoint might have access to different types of
network, and thus more than one address type can be present in one INIT chunk. That
is, IPv4 and IPv6 addresses are allowed in the same INIT chunk.
If the INIT ACK contains at least one IP Address parameter, the source address of the
IP datagram containing the INIT ACK chunk and any additional address provided within
the INIT ACK can be used as destinations by the endpoint receiving the INIT ACK. If the
INIT ACK does not contain any IP Address parameters, the endpoint receiving the INIT
ACK must use the source address associated with the received IP datagram as its sole
destination address for the association.
z
The parameter length depends on the size of cookie. The parameter value must
contain all the necessary state and parameter information required for the sender of
this INIT ACK to create the association, along with a Message Authentication Code.
z
This parameter is returned to the originator of the INIT chunk when the INIT contains an
unrecognized parameter which has a value that indicates that it should be reported to
the sender. This parameter value field contains unrecognized parameters copied form
the INIT chunk complete with Parameter Type, Length, and Value fields.
4)
This chunk is sent to the peer endpoint to acknowledge received DATA chunks and to
inform the peer endpoint of gaps in the received subsequences of DATA chunks as
represented by their TSNs. Gaps refer to the cases in which the TSNs of the received
DATA chunks are not sequential.
Figure 5-11 shows the format of the SACK chunk.
5-28
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 3
Length
Chunk Flags
Duplicate TSN X
Type
The value is 3.
z
Chunk Flags
This parameter contains the TSN of the last DATA chunk received in sequence before a
gap. The subsequent TSN is not received by the endpoint sending the SACK chunk.
This parameter acknowledges the receipt of all TSNs that are less than or equal to this
value.
z
This field indicates the updated receive buffer space, in bytes, of the sender of this
SACK.
z
This field indicates the number of Gap Ack Blocks included in this SACK. Each Gap
Ack Block acknowledges the sequence of TSNs received after an insequential TSN. All
TSNs acknowledged by Gap Ack Blocks are greater than the value of the Cumulative
TSN Ack.
z
5-29
Chapter 5 SIGTRAN
This field contains the number of duplicate TSNs the endpoint has received. Each
duplicate TSN is listed following the Gap Ack Block list.
Gap Ack Blocks
These fields contain the Gap Ack Blocks. They are repeated for each Gap Ack Block up
to the number of Gap Ack Blocks defined in the Number of Gap Ack Blocks field. All
DATA chunks with TSNs greater than or equal to the sum of Cumulative TSN Ack plus
Gap Ack Block Start and less than or equal to the sum of Cumulative TSN Ack plus Gap
Ack Block End of each Gap Ack Block are assumed to have been received correctly.
Gap Ack Block Start
This field indicates the Start offset TSN for this Gap Ack Block. To calculate the actual
TSN number, the Cumulative TSN Ack is added to this offset number. This calculated
TSN identifies the first TSN, in this Gap Ack Block, that has been received.
Gap Ack Block End
This field indicates the End offset TSN for this Gap Ack Block. To calculate the actual
TSN number, the Cumulative TSN Ack is added to this offset number. This calculated
TSN identifies the TSN of the last DATA chunk received in this Gap Ack Block.
Duplicate TSN
This field indicates the number of times a TSN was received in duplicate since the last
SACK was sent. Every time a receiver gets a duplicate TSN (before sending the SACK),
it adds this TSN to the list of duplicates. The duplicate count is re-initialized to zero after
sending each SACK.
5)
An SCTP endpoint sends this chunk to its peer endpoint to probe the reachability of a
particular destination transport address defined in the present association.
Figure 5-12 shows the format of the HEARTBEAT chunk.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 4
Chunk Flags
HEARTBEAT Length
Type (8 bits)
The value is 4.
z
5-30
Chapter 5 SIGTRAN
Heartbeat Length
This field is set to the size of the chunk, in bytes, including the chunk header and the
Heartbeat Information field.
Heartbeat Information TLV
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Heartbeat Info Type=1
HB Info Length
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 5
Chunk Flags
Type (8 bits)
The value is 5.
z
5-31
Chapter 5 SIGTRAN
This field is set to the size of the chunk, in bytes, including the chunk header and the
Heartbeat Information field.
Heartbeat Information TLV
An SCTP endpoint sends an Abort chunk to the peer of an association to close the
association. The ABORT chunk might contain Cause Parameters to inform the receiver
the reason of the abort. DATA chunks must not be bundled with ABORT. Control chunks
(except for INIT, INIT ACK, and SHUTDOWN COMPLETE) might be bundled with an
ABORT, but they must be placed before the ABORT in the SCTP packet; otherwise,
they will be ignored by the receiver.
If an endpoint receives an ABORT with a format error or for an association that does not
exist, it must silently discard it. Moreover, under any circumstances, an endpoint that
receives an ABORT must not respond to that ABORT by sending an ABORT of its own.
Figure 5-15 shows the format of the ABORT chunk.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 6
Reserved
Length
Type (8 bits)
The value is 6.
z
The high-order seven bits are reserved. They are set to zero on transmit and ignored on
receipt. The T bit is set to 0 if the sender had a TCB that it destroyed. The T bit is set to
1 if the sender did not have a TCB.
z
This field is set to the size of the chunk, in bytes, including the chunk header and all the
Error Cause fields present.
z
5-32
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 7
Chunk Flags
Length=8
The value is 7.
Chunk Flags (8 bits)
This field contains the TSN of the last chunk received in sequence before any gaps.
Because the SHUTDOWN message does not contain Gap Ack Blocks, it cannot be
used to acknowledge TSNs received out of order.
9)
At the completion of a shutdown process, this chunk must be used to acknowledge the
receipt of the SHUTDOWN chunk. Figure 5-17 shows the format of the SHUTDOWN
ACK chunk.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type = 8
Chunk Flags
Length=4
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type =9
Chunk Flags
Length
Type (8 bits)
The value is 9.
z
This field is set to the size of the chunk, in bytes, including the chunk header and all the
Error Cause fields present.
Error causes
An error cause parameter is composed of the Cause Code, Cause Length, and
Cause-specific Information fields. Figure 5-19 shows the format of an error cause.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Cause Code
Cause Length
Cause-specific Information
5-34
Chapter 5 SIGTRAN
Parameters
The Stream Identifier (16 bits) field contains the
stream identifier of the DATA chunk received in
error.
The Reserved (16 bits) field is set to all zeros on
transmit and ignored on receipt.
Cause Length = 8
The Number of Missing Parameters (32 bits) field
indicates the number of parameters that are
missing.
The Missing Parameter Type (16 bits) field contains
the missing mandatory parameter number.
Cause Length = 8 + N x 2
The Measure of Staleness (32 bits) field contains
the difference, in microseconds, between the
current time and the time the State Cookie expired.
The sender of this error cause might choose to
report how long past expiration the State cookie is
by including a non-zero value in the Measure of
Staleness field. If the sender does not wish to
provide this piece of information, it should set the
Measure of Staleness field to the value of zero.
Cause Length = 8
Out of Resource:
4
5-35
Cause Length = 4
Cause code
value
Chapter 5 SIGTRAN
Parameters
The Unrecognized Chunk (variable length) field
contains the unrecognized chunk from the SCTP
packet complete with the chunk type, the chunk
flags, and the chunk length.
The Cause Length field has a variable length.
Cause Length = 4
No User Data:
9
Cause Length = 4
5-36
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type =10
Chunk Flags
Length
COOKIE
This field is set to the size of the chunk, in bytes, including the four bytes of the chunk
header and the size of the Cookie.
COOKIE (variable length)
This field must contain the exact cookie received in the State Cookie parameter from
the previous INIT ACK. An implementation should make the cookie as small as
possible to ensure interoperability.
12) Cookie Acknowledgement (COOKIE ACK)
This chunk is used only during the initialization of an association. It is used to
acknowledge the receipt of a COOKIE ECHO chunk. This chunk must precede any
DATA or SACK chunk sent within the association, and can be bundled with one or more
DATA chunks or SACK chunk in the same SCTP packet.
Figure 5-21 shows the format of the COOKIE ACK chunk.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type =11
Chunk Flags
Length=4
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Type =14
Reserved
Length=4
The highest-order seven bits of the field are reserved. The reserved bits are set to zero
on transmit and ignored on receipt.
T bit (1 bit)
The T bit is set to 0 if the sender had a TCB that it destroyed. If the sender did not have
a TCB, it should set this bit to 1.
Table 5-8 lists the parameters necessary for each SCTP instance.
Table 5-8 Parameters necessary for each SCTP instance
Parameter
Meaning
Associations
A list of current associations and mappings to the data consumers for each
association.
Secret key
Address list
The list of IP addresses that this instance has bound. This piece of information
is passed to the peer in INIT and INIT ACK chunks.
SCTP port
The local SCTP port number that the endpoint is bound to.
2)
Meaning
Value of the Initiate Tag field in the received INIT or INIT ACK chunk.
My verification tag
Value of the Initiate Tag field in the sent INIT or INIT ACK chunk.
5-38
Chapter 5 SIGTRAN
Parameter
Meaning
Peer transport
address type
Primary path
Overall error
threshold
This threshold is used to control the association. If the overall error count
reaches this threshold, the association will be closed or aborted.
Peer RWND
Next TSN
The next TSN number to be assigned to a new DATA chunk. This is sent in the
INIT or INIT ACK chunk to the peer and incremented each time a DATA chunk
is assigned a TSN (normally just prior to transmit or during fragmentation).
This is the last TSN received in sequence. This value is set initially by taking
the peers initial TSN, received in the INIT or INIT ACK chunk, and subtracting
one from it.
Mapping array
An array of bits or bytes, indicating the out-of-order TSNs that have been
received (relative to the last received TSN). If no gaps exist (that is, no
out-of-order packets have been received), this array will be set to all zeros.
ACK state
This flag indicates whether the next received packet is to be responded to with
an SACK. This is initialized to 0.
Inbound streams
Outbound streams
Reship Queue
A reassembly queue.
Local transport
address list
Association PMTU
The smallest Path MTU discovered for all of the peers transport addresses.
Note:
For a given association, the two endpoints use a value of the verification tag that is unnecessarily changed
during the lifetime of the association. Whenever either endpoint clears the association, however, a new
value of the verification tag must be used to re-establish an association to the peer.
3)
Table 5-10 lists the parameters that need to be maintained by an endpoint for each
destination transport address in the peers address list derived from the INIT or INIT
ACK chunk.
5-39
Chapter 5 SIGTRAN
Meaning
Error count
Error threshold
Current error threshold for this destination. If the error count reaches this
value, the association to this destination transport address is marked to be
stopped.
CWND
RTO
SRTT
RTTVAR
Partial
bytes
acknowledged
State
PMTU
Last-time used
The time when a packet is last sent to this destination. This can be used to
determine whether a HEARTBEAT is needed.
4)
5)
RTO.Initial: 3 seconds
RTO.Min: 1 second
RTO.Max: 60 seconds
RTO.Alpha: 1/8
RTO.Beta: 1/4
Valid.Cookie.Life: 60 seconds
Association.Max.Retransmissions: 10 attempts
Path.Max.Retransmissions: 5 attempts
Max.Init.Retransmissions: 8 attempts
Heartbeat.interval: 30 seconds
that
is,
DOWN,
UP,
Chapter 5 SIGTRAN
theses messages are not bundled or segmented.) Figure 5-23 illustrates the signaling
procedure.
Endpoint A
Endpoint B
(1) INIT
(2) INIT ACK
(3) COOKIE ECHO
(4) COOKIE ACK
(5) DATA
(6) SACK
(7) DATA
(8) DATA
(9) SACK
Initiate Tag: It is used by the peer end for verification use. It can be set to Tag_A,
for example. Tag_A is a random number in the range of 1 to 4294967295.
OS: It represents the maximum number of outband streams expected by the local
endpoint.
MIS: It represents the maximum number of inbound streams allowed by the local
endpoint.
5-41
Chapter 5 SIGTRAN
Note:
For endpoint A and endpoint B, each performs the related checks on the stream information received from
the peer endpoint. If the maximum number of inbound streams of the peer endpoint is smaller than the
maximum number of outbound streams of the local endpoint, it indicates that the peer endpoint cannot
support the number of outbound streams expected by the local endpoint. In this case, the local endpoint
can either use the maximum number of inbound streams of the peer endpoint as the number of outbound
streams of the local endpoint or abort the association and notify the SCTP user of resource shortage at the
peer endpoint.
After sending the INIT, endpoint A starts the INIT timer and enters the COOKIE-WAIT
state.
Note:
The INIT timer is used to wait for an INIT ACK chunk returned by the peer endpoint. If no INIT ACK chunk
is received when the timer expires, the local endpoint retransmits an INIT chunk until the maximum
number of retransmission reaches.
2)
Upon receipt of the INIT message, endpoint B immediately responds with an INIT
ACK chunk. The INIT ACK chunk must contain the following parameters:
State Cookie: A temporary TCB is created according to the basic information of the
association. After the TCB is created, the necessary information (including
timestamp and lifespan of a cookie) contained in it and a local secret key are
computed to generate a 32-bit abstract MAC according to the algorithm described
in the RFC2401. This computation is not reversible. The necessary information
and the MAC constitute the State Cookie parameter.
3)
Upon receipt of the INIT ACK, endpoint A stops the INIT timer to quit the
COOKIE-WAIT state, and sends a COOKIE ECHO chunk which echoes the State
Cookie parameter contained in the INIT ACK chunk. Subsequently, endpoint A
starts the COOKIE timer and enters the COOKIE-ECHOED state.
5-42
Chapter 5 SIGTRAN
Caution:
The COOKIE ECHO chunk can be bundled with one or more DATA chunks in the same SCTP packet, but
the COOKIE ECHO must be the first chunk in the packet. The sending endpoint cannot send other packets
to the peer endpoint unless the returned COOKIE ACK chunk is received.
4)
Upon receipt of the COOKIE ECHO chunk, endpoint B performs the following
authentication on the cookie:a) Compute a MAC using the TCB data carried in the
State Cookie and the local secret key according to the MAC algorithm presented in
the RFC2401. b) Compare the computed MAC with the one carried in the State
Cookie.c) If the MACs are not the same, the message is discarded. If the same,
compare the timestamp in the TCB with the current time to check whether the time
expires the lifespan carried in the cookie.d) If so, the message is discarded.
Otherwise, create an association to endpoint A according to the information
carried in the TCB. Endpoint B enters the ESTABLISHED state and sends a
COOKIE ACK chunk. Endpoint B sends a SCOMMUNCIATION UP notification to
the SCTP user.
Caution:
The COOKIE ACK chunk can be bundled with one or more DATA or SACK chunks in the same SCTP
packet, but the COOKIE ACK must be the first chunk in the packet.
Upon receipt of the COOKIE ACK chunk, endpoint A moves from the
COOKIE-ECHOED state to the ESTABLISHED state and stops the COOKIE timer.
Endpoint A notifies the SCTP user of the successful establishment of the association
with a COMMUNICATION UP notification.
Note:
The establishment of an association is a four-way handshake process, which has four message
interactions: INIT, INIT ACK, COOKIE ECHO, and COOKIE ACK.
5)
Endpoint A sends a DATA chunk to endpoint B and starts the T3-RTS timer. The
DATA chunk must contain the following parameters:
Chapter 5 SIGTRAN
Stream Identifier: It identifies the stream to which the user data belongs. Suppose
the stream identifier is 0.
Stream Sequence Number: It represents the sequence number of the user data
within the stream. The valid range is 0 to 65535.
6)
Upon receipt of the DATA chunk, endpoint B returns an SACK chunk. The SACK
chunk must contain the following parameters:
Upon receipt of the SACK chunk, endpoint A stops the T3-RTX timer.
7)
Endpoint B sends a DATA chunk to endpoint A. The DATA chunk must contain the
following parameters:
Stream Identifier: It identifies the stream to which the user data belongs. Suppose
the stream identifier is 0.
Stream Sequence Number: It represents the sequence number of the user data
within the stream. Suppose the stream sequence number is 0.
8)
Endpoint B sends a second DATA chunk to endpoint A. The DATA chunk must
contain the following parameters:
TSN: It is one plus the initial TSN of the DATA chunk sent by endpoint B.
Stream Identifier: It identifies the stream to which the user data belongs. Suppose
the stream identifier is 0.
Stream Sequence Number: It represents the sequence number of the user data
within the stream. In this case, the stream sequence number is 1.
9)
Upon receipt of the DATA chunk, endpoint A returns an SACK chunk. The SACK
chunk must contain the following parameters:
5-44
Chapter 5 SIGTRAN
the receiving endpoint removes the association from its record and notifies the SCTP
user of the termination of the association.
When either endpoint performs a shutdown procedure, both ends of the association
stop receiving new data from the respective SCTP users. When sending or receiving a
SHUTDOWN chunk, the endpoint delivers the data in the packet to its SCTP user. With
a shutdown of an association, it can be ensured that all data that is not sent or is sent
but not acknowledged will be sent or acknowledged before the termination of the
association.
Endpoint A
Endpoint B
(1) SHUTDOWN
(2) SHUTDOWN ACK
(3) SHUTDOWN COMPLETE
The SCTP user of endpoint A that initiates the shutdown procedure sends the
cause of the requested shutdown to the SCTP. The SCTP association moves from
the ESTABLISHED state to the SHUTDOWN-PENDING state. In this state, the
SCTP does not accept any data sending request from the SCTP user on this
association. Meanwhile, the SCTP waits for endpoint Bs acknowledgement to all
sent but not acknowledged data of endpoint A. After all sent but not acknowledged
data of endpoint A is acknowledged, endpoint A sends a SHUTDOWN chunk to
endpoint B. Endpoint A starts the T2-shutdown timer and enters the
SHUTDOWN-SENT state. The purpose of starting the T2-shutdown timer is to
wait for a SHUTDOWN-ACK chunk returned by endpoint B. If the timer expires,
endpoint A must retransmit the SHUTDOWN chunk.
2)
Upon
receipt
of
the
SHUTDOWN
message,
endpoint
enters
the
SHOUTDOWN-RECEIVED state and no longer accepts new data sent from the
SCTP user. In addition, endpoint B checks the Cumulative TSN Ack field of the
chunk and verifies that all pending DATA chunks have been received by the
SHUTDOWN sender. After endpoint Bs data that is not sent or is sent but not
acknowledged is sent or acknowledged, endpoint B sends a SHUTDOWN ACK
chunk,
starts
the
local
T2-SHUTDOWN
timer,
and
enters
the
5-45
Chapter 5 SIGTRAN
removes all records about the association. Upon receipt of the SHUTDOWN
COMPLETE
chunk,
endpoint
checks
whether
it
is
in
the
5.3 M2UA
5.3.1 Introduction
SS7 MTP2-User Adaptation Layer Protocol (M2UA) is a protocol for the transport of
SS7 MTP2 User signaling messages (MTP3 messages) over IP using the Stream
Control Transmission Protocol (SCTP) or any other suitable transport protocol. This
protocol would be used between a Signaling Gateway (SG) and Media Gateway
Controller (MGC). See Figure 5-25.
SS7
SEP
ISUP
MTP3
SIGTRAN
SG
PSTN
IP
MTP2
MTP2
MTP1
MTP1
MGC
ISUP
MTP3
M2UA
M2UA
SCTP
SCTP
IP
IP
5.3.2 Terminology:
I. Application Server (AS)
AS is a logical entity, standing for a certain amount of resources and corresponding to a
particular routing context. For M2UA, AS is a group of Interface IDs. Each AS contains
a set of application server processes (ASPs), of which one or more are normally
actively processing traffic.
5-46
Chapter 5 SIGTRAN
IV. Backhaul
Backhaul refers to the transport of signaling from the point of interface for the
associated data stream (that is, SG function in the MG) back to the point of call
processing (that is, the MGC), if this is not local.
V. Interface ID
Interface ID is used in the communication between the two ends of M2UA. It can be text
or integer. Each interface ID corresponds to one actual physical link. The interface ID is
a logical ID of the MTP link used between SG and ASP.
5-47
Chapter 5 SIGTRAN
MTP2 link 0
MTP2 link 2
AS0
SCTP assoc 1
MTP2link 1
MG/SG0
MTP2 link 3
MGC
ASP0
SCTP assoc 0
ASP1
SCTP assoc 2
ASP2
AS1
SCTP assoc 3
ASP3
MGC
MTP2 link 0
MTP2 link 1
MTP2 link 2
MG/SG0
MTP2 link 3
AS0
AS1
5-48
Chapter 5 SIGTRAN
SoftX3000
IP metropolitan
area network
H.248/M2UA
H.248/IUA
TMG/UMG
TMG/UMG
ISUP trunk
ISUP trunk
PSTN
PSTN
5-49
Common Header
Chapter 5 SIGTRAN
Version(8)
Spare(8)
Message class(8)
Message type(8)
Message length(8)
M2UA message
Header
Tag(16)
Length(16)
Interface Identifier(32)
Parameter tag(16)
M2UA message 0#
Parameter length(16)
Parametervalue(32)
Parameter tag(16)
M2UA message n#
Parameter length(16)
Parametervalue(32)
Version
The Version field contains the version of M2UA. Currently, its value is 1 and represents
Release 1.0.
z
Spare
The Spare field is set to all zeros by the sender and ignored by the receiver.
z
Message Class
Meaning
5-50
Chapter 5 SIGTRAN
Value
10
Meaning
Interface identifier management (IIM) messages (M2UA)
11127
128255
Message Type
Table 5-12 lists the message types for the valid message classes.
Table 5-12 MTP2 user adaptation (MAUP) messages [M2UA]
Value
Message type
Meaning
Reserved
Data
Establish Request
Establish Confirm
Release Request
Release Confirm
Release Indication
State Request
State Confirm
State Indication
10
Retrieval Request
11
Retrieval Confirm
12
Retrieval Indication
13
5-51
Value
Chapter 5 SIGTRAN
Message type
Meaning
14
Congestion Indication
15
Data Acknowledge
16127
128255
Reserved
extensions
for
IETF-Defined
Message type
Meaning
Reserved
ASP Up (UP)
Heartbeat (BEAT)
7127
128255
Reserved
extensions
for
IETF-Defined
Message type
Meaning
Reserved
5-52
Value
Chapter 5 SIGTRAN
Message type
Meaning
5127
128255
Reserved
extensions
for
IETF-Defined
Message type
Meaning
Error (ERR)
Notify (NTFY)
2127
128255
Reserved
extensions
for
IETF-Defined
Message type
Meaning
Reserved
5-53
Value
Chapter 5 SIGTRAN
Message type
Meaning
5127
128255
Reserved
extensions
for
IETF-Defined
Message Length
The Message Length field defines the length of the message in octets, including the
header. The Message Length must include parameter padding bytes, if any. The
Message Length must not be longer than an MTP3 message plus the length of the
common and M2UA message headers.
Tag
The 16-bit Tag field indicates the type of the interface identifier. Table 5-17 shows the
correspondence between the tag values of the M2UA message header and the types of
the interface identifier.
Table 5-17 Correspondence between tag values and interface identifier types
Tag value
1 (0x01)
Integer
3 (0x03)
Text
Length
The Parameter Length values of the M2UA message header vary with different types of
interface identifiers.
The Length value is 8 if the type of the interface identifier is integer.
The Length value is variable if the type of the interface identifier is text. The maximum
length does not exceed 255 octets. The Length is equal to the length of the interface
identifier plus four bytes (the tag and length fields).
5-54
Chapter 5 SIGTRAN
Interface Identifier
The Interface Identifier identifies the physical interface at the SG for which the signaling
messages are sent/received. The format of the interface identifier parameter can be
text or integer, the values of which are assigned according to network operator policy.
The values used are coordinated between the SG and the ASP.
Caution:
The integer formatted interface identifier must be supported. The text formatted interface identifier may
optionally be supported.
Parameter Tag
Parameter name
0 (0x00)
Reserved
1 (0x01)
2 (0x02)
Unused
3 (0x03)
4 (0x04)
Info String
5 (0x05)
Unused
6 (0x06)
Unused
7 (0x07)
Diagnostic Information
8 (0x08)
9 (0x09)
Heartbeat Data
5-55
Chapter 5 SIGTRAN
Tag value
Parameter name
10 (0x0a)
Unused
11 (0x0b)
12 (0x0c)
Error Code
13 (0x0d)
Status Type/Information
14 (0x0e)
Unused
15 (0x0f)
Unused
16 (0x10)
Unused
17 (0x11)
ASP identifier
18 (0x12)
Unused
19 (0x13)
Correlation ID
768 (0x0300)
Protocol Data
769 (0x0301)
770 (0x0302)
State Request
771 (0x0303)
State Event
772 (0x0304)
Congestion Status
773 (0x0305)
Discard Status
774 (0x0306)
Action
775 (0x0307)
Sequence Number
776 (0x0308)
Retrieval Result
777 (0x0309)
Link Key
778 (0x030A)
Local-LK-Identifier
789 (0x030B)
780 (0x030C)
781 (0x030D)
Registration Result
783 (0x030E)
Registration Status
783 (0x030F)
De-Registration Result
784 (0x0310)
De-Registration Status
Parameter Length
The Parameter Length field must be a multiple of four bytes. If it is not a multiple of four
bytes, the sender pads with all zero bytes after the Parameter Value field. The
Parameter Length must not be padded with all zero bytes. A sender must not pad with
more than three bytes. The receiver must ignore the padding bytes.
5-56
Chapter 5 SIGTRAN
Parameter Value
The Parameter Value field contains the actual M2UA message contents that are sent or
received.
Data
As shown in Figure 5-31, the Data message contains the following parameters:
Protocol Data (mandatory): The Protocol Data field contains the MTP2-User
application message in network byte order starting with the Signaling Information
Octet (SIO).
Correlation ID (optional): The Correlation ID parameter permits the new active
ASP to synchronize its processing of the traffic in each ordered stream with other
ASPs in the broadcast group. The Correlation ID parameter is assigned by the
sending M2UA, and uniquely identifies the MSU carried in the Protocol Data within
an AS.
0
15
Parameter tag=0x300
31
Parameter length
Protocol data(32)
Parameter tag=0x13
Parameter length=8
Correlation ID
Data Acknowledge
As shown in Figure 5-32, the Data Acknowledge message contains the Correlation ID
message.
0
15
Parameter tag=0x301
31
Parameter length=8
Correlation ID
State Request
As shown in Figure 5-33, the State Request message contains the State parameter.
5-57
Chapter 5 SIGTRAN
15
Parameter tag=0x302
31
Parameter length=8
State
4)
Definition
Meaning
0x0
STATUS_LPO_SET
0x1
STATUS_LPO_CLEAR
0x2
STATUS_EMER_SET
0x3
STATUS_EMER_CLEAR
0x4
STATUS_FLUSH_BUFFERS
0x5
STATUS_CONTINUE
Continue or resume
0x6
STATUS_CLEAR_RTB
0x7
STATUS_AUDIT
0x8
STATUS_CONG_CLEAR
Congestion cleared
0x9
STATUS_CONG_ACCEPT
Congestion accept
0x0a
STATUS_CONG_DISCARD
Congestion discard
State Confirm
As shown in Figure 5-34, the State Confirm message contains the State parameter. The
content of the State parameter in the State Confirm message is the same as that in the
State Request message.
0
15
Parameter tag=0x302
31
Parameter length=8
State
State Event
As shown in Figure 5-35, the State Event message contains the Event parameter.
5-58
Chapter 5 SIGTRAN
15
Parameter tag=0x303
31
Parameter length=8
Event
6)
Definition
Meaning
0x1
EVENT_RPO_ENTER
0x2
EVENT_RPO_EXIT
0x3
EVENT_LPO_ENTER
0x4
EVENT_LPO_EXIT
Congestion Indication
As shown in Figure 5-36, the Congestion Indication message contains the Congestion
Status and Discard Status parameters.
0
15
Parameter tag=0x304
31
Parameter length=8
Congestion status
Parameter tag=0x305
Parameter length=8
Discard status
Definition
Meaning
0x0
LEVEL_NONE
No congestion
0x1
LEVEL_1
Congestion Level 1
0x2
LEVEL_2
Congestion Level 2
0x3
LEVEL_3
Congestion Level 3
5-59
7)
Chapter 5 SIGTRAN
Retrieval Request
As shown in Figure 5-37, the Retrieval Request message contains the mandatory
Action parameter and optional Sequence Number parameter.
0
15
Parameter tag=0x306
31
Parameter length=8
Action
Parameter tag=0x307
Parameter length=8
Sequence number
Action
Table 5-22 shows the valid values for the Action parameter.
Table 5-22 Valid values for Action parameter
Value
Definition
Meaning
0x1
ACTION_RTRV_BSN
0x2
ACTION_RTRV_MSGS
Sequence Number
In the Retrieval Request message, the Sequence Number field is not present if the
Action field is 0x01 (ACTION_RTRV_BSN).The Sequence Number field contains the
forward sequence number (FSN) of the far end if the Action is 0x2.
8)
Retrieval Confirm
As shown in Figure 5-38, the Retrieval Confirm message contains the mandatory
Action parameter, mandatory Result parameter, and optional Sequence Number
parameter.
5-60
Chapter 5 SIGTRAN
15
31
Parameter tag=0x306
Parameter length=8
Action
Parameter tag=0x308
Parameter length=8
Result
Parameter tag=0x307
Parameter length=8
Sequence number
Action
The meaning of the Action parameter in the Retrieval Confirm message is the same as
that of the Action parameter in the Retrieval Request message.
z
Result
Table 5-23 shows the valid values for the Result parameter.
Table 5-23 Valid values for Result parameter
Value
Definition
Meaning
0x0
RESULT_SUCCESS
Action successful
0x2
RESULT_FAILURE
Action failed
Sequence Number
When the SGP sends a Retrieval Confirm to a Retrieval Request, it echoes the Action
field. If the Action was ACTION_RTRV_BSN and the SGP successfully retrieved the
BSN, the SGP will put the BSN in the Sequence Number field and will set
Result_Success in the Result field.
If the BSN could not be retrieved, the Sequence Number field will not be included and
Result_Failure will be contained in the Result field.
9)
Retrieval Indication
As shown in Figure 5-39, the Retrieval Indication message contains the Protocol Data
parameter.
5-61
Chapter 5 SIGTRAN
15
31
Parameter tag=0x300
Parameter length
Protocol data
ASP Up
As shown in Figure 5-40, the ASP Up message contains the optional ASP Identifier
parameter and optional INFO String parameter.
0
15
31
Parameter tag=0x11
Parameter length=8
ASP identifier
Parameter tag=0x4
Parameter length
INFO string
ASP Identifier
The ASP Identifier must be used where the SGP cannot identify the ASP by
pre-configured address/port number information. For example, an ASP is resident on a
host using dynamic address/port number assignment.
The optional ASP Identifier parameter contains a unique value that is locally significant
among the ASPs that support an AS. The SGP should save the ASP Identifier to be
used, if necessary, with the Notify message.
z
INFO string
The optional INFO String parameter can carry any meaningful UTF-8 [6] character
string along with the message. Length of the INFO String parameter is from 0 to 255
octets. No procedures are presently identified for its use but the INFO String might be
used for debugging purposes.
2)
ASP Up Ack
As shown in Figure 5-41, the ASP Up Ack message contains an optional INFO String
parameter. The format and description of the INFO String in the ASP Up Ack message
are the same as those of the INFO String in the ASP Up message.
5-62
Chapter 5 SIGTRAN
15
Parameter tag=0x04
31
Parameter length
INFO string
ASP Down
As shown in Figure 5-42, the ASP Down message contains an optional INFO String
parameter. The format and description of the INFO String in the ASP Down message
are the same as those of the INFO String in the ASP Up message.
0
15
Parameter tag=0x04
31
Parameter length
INFO string
As shown in Figure 5-43, the ASP Down Ack message contains an optional INFO String
parameter. The format and description of the INFO String in the ASP Down Ack
message are the same as those of the INFO String in the ASP Up message.
0
15
Parameter tag=0x04
31
Parameter length
INFO string
Heartbeat
As shown inFigure 5-44, the Heartbeat message contains an optional Heartbeat Data
parameter.
0
15
Parameter tag=0x09
31
Parameter length
Heartbeat data
Chapter 5 SIGTRAN
Because the Heartbeat Data parameter is only of significance to the sender, the
receiver of the Heartbeat message does not process this field. The receiver echoes the
contents of the Heartbeat Data in a Heartbeat Ack message.
6)
Heartbeat Ack
As shown in Figure 5-45, the Heartbeat Ack message contains an optional Heartbeat
Data parameter. The format and definition of the Heartbeat Data parameter in the
Heartbeat Ack message are the same as those of the Heartbeat Data parameter in the
Heartbeat message.
0
15
Parameter tag=0x09
31
Parameter length
Heartbeat data
ASP Active
As shown in Figure 5-46 and Figure 5-47, the ASP Active message contains the
optional Traffic Mode Type, Interface Identifier, Additional Interface Identifier, and INFO
String parameters, according to the text and integer formatted interface identifiers.
5-64
Chapter 5 SIGTRAN
15
Parameter tag=0x0b
31
Parameter length=8
Parameter length
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
Figure 5-46 Structure of ASP Active message (integer formatted interface identifier)
15
Parameter tag=0x0b
31
Parameter length
Parameter length
Interface Identifiers
Additional Interface Identifiers
Parameter tag=0x04
Parameter length
INFO string
Figure 5-47 Structure of ASP Active message (text formatted interface identifier)
z
The Traffic Mode Type parameter identifies the traffic mode of operation of the ASP
within an AS. Within a particular AS, only one Traffic Mode Type can be used. Table
5-24 shows the three traffic mode types defined.
5-65
Chapter 5 SIGTRAN
Definition
Meaning
0x01
Override
0x02
Load-share
0x03
Broadcast
Caution:
If the optional Interface Identifier parameter is present, the integer formatted Interface Identifier must be
supported, while the text formatted Interface Identifier may be supported.
The format and description of the INFO String parameter are the same as for the ASP
Up message.
2)
As shown in Figure 5-48 and Figure 5-49, the ASP Active Ack message contains the
optional Traffic Mode Type, Interface Identifier, Additional Interface Identifier, and INFO
String parameters.
5-66
Chapter 5 SIGTRAN
15
Parameter tag=0x0b
31
Parameter length=8
Parameter length
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
Figure 5-48 Structure of ASP Active Ack message (integer formatted interface identifier)
15
Parameter tag=0x0b
31
Parameter length
Parameter length
Interface Identifiers
Additional Interface Identifiers
Parameter tag=0x04
Parameter length
INFO string
Figure 5-49 Structure of ASP Active Ack message (text formatted interface identifier)
The format and description of the optional INFO String parameter are the same as for
the ASP Up message.
The format of the optional Interface Identifiers parameter is the same as for the ASP
Active message.
3)
ASP Inactive
As shown in Figure 5-50 and Figure 5-51, the ASP Inactive message contains the
optional Interface Identifier and INFO String parameters.
5-67
Chapter 5 SIGTRAN
15
31
Parameter tag=0x01(Integer)
Parameter length
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
Figure 5-50 Structure of ASP Inactive message (integer formatted interface identifier)
15
31
Parameter tag=0x03(String)
Parameter length
Interface Identifiers
Additional Interface Identifiers
Parameter tag=0x04
Parameter length
INFO string
Figure 5-51 Structure of ASP Inactive message (text formatted interface identifier)
The format of the optional Interface Identifiers parameter is the same as for the ASP
Active message.
The format and description of the optional INFO String parameter are the same as for
the ASP Up message.
4)
ASP Inactive Ack message contains the optional Interface Identifier and INFO String
parameters.
The format of the optional Interface Identifiers parameter is the same as for the ASP
Active message.
The format and description of the optional INFO String parameter are the same as for
the ASP Up message.
5-68
Chapter 5 SIGTRAN
Error
As shown in Figure 5-52, the Error message contains mandatory Error Code, optional
Interface Identifier, and optional Diagnostic Information parameters.
0
15
31
Tag=0x0C
Length=8
Error code
Length
Tag=0x01,0x03,0x08
Interface Identifier
Length
Tag=0x07
Diagnostic information
Error Code
The Error Code parameter indicates the reason for the Error Message. Table 5-25
lists the defined M2UA error codes.
Definition
Meaning
The "Invalid Version" error would be sent if a message
was received with an invalid or unsupported version.
0x01
Invalid Version
0x02
0x03
0x04
5-69
Value
0x05
Chapter 5 SIGTRAN
Definition
Meaning
0x06
Unexpected Message
0x07
Protocol Error
0x08
0x09
Unsupported
Identifier Type
Interface
Refused
Blocking
0x0a
0x0b
0x0c
0x0d
0x0e
Management
5-70
Value
Chapter 5 SIGTRAN
Definition
Meaning
0x11
0x12
0x13
Unexpected Parameter
Missing Parameter
0x10
0x14
0x15
0x16
Diagnostic Information
The optional Diagnostic information can be any information germane to the error
condition, to assist in the identification of the error condition.
In the case of an Invalid Version Error Code, the Diagnostic information includes the
supported Version parameter. In the other cases, the Diagnostic information should be
the first 40 bytes of the offending message.
2)
Notify
As shown in Figure 5-53and Figure 5-54, the Notify message contains mandatory
Status Type, mandatory Status Information, optional ASP Identifier, optional Interface
Identifiers, and optional INFO String parameters.
5-71
Chapter 5 SIGTRAN
15
31
Parameter tag=0x0d
Parameter length=8
Status type
Status information
Parameter tag=0x11
Parameter length
ASP identifiers
Parameter length
Parameter tag=0x11(Integer)
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
15
31
Parameter tag=0x0d
Parameter length=8
Status type
Status information
Parameter tag=0x11
Parameter length
ASP identifiers
Parameter length
Parameter tag=0x03(String)
Interface Identifiers
Additional Interface Identifier of Tag type 0x03
Parameter tag=0x04
Parameter length
INFO string
Status Type
The Status Type parameter identifies the type of the Notify message. The following
table lists the defined status types.
5-72
Chapter 5 SIGTRAN
Definition
0x01
0x02
Other
The Status Information parameter contains more detailed information for the
notification, based on the value of the Status Type.
If the Status Type is AS_State_Change, the Status Information values shown in Table
5-27 are used: These notifications are sent from an SGP to an ASP upon a change in
status of a particular AS. The value reflects the new state of the AS. The Interface
Identifiers of the AS may be placed in the message if desired.
Table 5-27 Status Information values if Status Type is AS_State_Change
Value
Definition
0x01
Reserved
0x02
0x03
0x04
If the Status Type is Other, the Status Information values shown in Table 5-28 are
defined:
Table 5-28 Status Information values if Status Type is Other
Value
0x01
0x02
Definition
Meaning
0x03
ASP failure
5-73
Chapter 5 SIGTRAN
Interface Identifier s
The format of the Interface Identifiers parameter in the Notify message is the same as
for the ASP Active message.
z
INFO String
The format of the INFO String parameter in the Notify message is the same as for the
ASP Up message.
MGC
SG
ASP UP
ASP UP ACK
ASP ACTIVE
ASP ACTIVE ACK
Determine the correct stream in the SCTP association based on the SS7 link
Fill in the MAUP message, fill in M2UA Message Header, fill in Common Header,
and generate the M2UA message unit
Send the MAUP message to the remote M2UA peer in SG, over the SCTP
association
5-74
Chapter 5 SIGTRAN
When the M2UA layer on SG has an MAUP message to send to ASP, it will do the
following:
z
Determine the M2UA link number, which supports that MTP link
Determine the correct stream in the SCTP association based on the SS7 link
Fill in the MAUP message, fill in M2UA Message Header, fill in Common Header,
and generate the M2UA message unit
Send the MAUP message to the remote M2UA peer in ASP, over the SCTP
association
SG
ASP INACTIVE
ASP DOWN
ASP DOWN ACK
5.4 M3UA
5.4.1 Introduction
As SS7 MTP3-User adaptation layer, M3UA provides primitive communication service
for MTP3 users over IP network and MTP3 (in an SG) at the edge of a network, so as to
implement interworking between TDM SS7 and IP.
M3UA supports the following functions:
z
Within an SS7 network, an SG might be charged with representing a set of nodes in the
IP domain into the SS7 network for routing purposes. The SG itself, as a physical node
in the SS7 network, must have an SS7 point code.
z
Routing function
5-75
Chapter 5 SIGTRAN
The distribution of SS7 messages between the signaling gateway process (SGP) and
the application servers (ASs) is determined by the routing keys and their associated
routing contexts.
Possible SS7 address/routing information that comprises a routing key entry includes,
for example, the originating point code (OPC), destination point code (DPC), SIO found
in the MTP3 routing label, or MTP3-User specific fields such as the ISUP circuit
identification code (CIC).
z
In the case of SS7 and M3UA interworking, the M3UA adaptation layer is designed to
provide an extension of the MTP3 defined user primitives.
z
Congestion management
The M3UA layer at an ASP or IP server process (IPSP) indicates local congestion to an
M3UA peer with a signaling connection (SCON) message. When an SG receives a
congestion message (SCON) from an ASP, and the SG determines that a signaling
point management cluster (SPMC) is now encountering congestion, it might trigger
SS7 MTP3 transfer controlled management messages to concerned SS7 destinations
according to congestion procedure of the relevant MTP3 standard.
z
The M3UA layer at both the SGP and ASP also supports the assignment of signaling
traffic to streams within an SCTP association. Traffic that requires sequencing must be
assigned to the same stream. To accomplish this, MTP3-User traffic can be assigned to
individual streams based on, for example, the signaling link selection (SLS) value in the
MTP3 routing label, subject of course to the maximum number of streams supported by
the underlying SCTP association.
z
Client/Server model
The SGP and ASP are able to support both client and server operation. The peer
endpoints using M3UA should be configured so that one always takes on the role of
client and the other the role of server for initiating SCTP associations. The default
orientation would be for the SGP to take on the role of server while the ASP is the client.
In this case, ASPs should initiate the SCTP association to the SGP.
M3UA is conveyed over SCTP. The user port number registered by SCTP is 2905 for
M3UA.
The following introduces some related terms and their definitions.
z
5-76
Chapter 5 SIGTRAN
Routing key
A routing key describes a set of SS7 parameters and parameter values (such as DPC,
SIO + DPC, SIO + DPC + OPC, and SIO + DPC + OPC + CIC) that uniquely define the
range of signaling traffic to be handled by a particular application server. Parameters
within the routing key cannot extend across a single destination point code.
LM
IP
Figure 5-57 Architecture of the M3UA protocol
M3UA is the lower-layer protocol of MTP3-User. It provides a standard MTP3 interface
for MTP3-User. SCTP is the lower-layer protocol of M3UA and provides an association
to serve M3UA. M3UA has also unique layer management (LM) to provide
management services.
Support for the management of SCTP associations between the SGP and ASPs
All M3UA protocol messages (including SSNM messages) contain a common message
header and zero or more parameters defined by the message type. Table 5-29 lists the
SSNM messages.
5-77
Chapter 5 SIGTRAN
Description
Destination unavailable
(DUNA)
Destination available
(DAVA)
The DAVA message is sent from the SGP to all concerned ASPs to
indicate that the SG has determined that one or more SS7 destinations
are now reachable, or in response to a DAUD message (refer to the
following part). The ASP MTP3-User protocol should resume traffic to
the affected destination in the DAVA message.
The DAUD message is sent from the ASP to the SGP to audit the
availability/congestion state of SS7 routes to one or more affected
destinations.
The SCON message is sent from the SGP to all concerned ASPs to
indicate congestion in the SS7 network to one or more destinations, or to
an ASP in response to a DATA or DAUD message as appropriate. The
SCON message might also be sent from the M3UA layer of an ASP to an
M3UA peer indicating that the M3UA layer or the ASP is congested.
2)
Description
ASP Up
ASP Up Ack
ASP Down
Heartbeat (BEAT)
The BEAT message is optionally used to ensure that the M3UA peers
are still available to each other. It is recommended for use when the
M3UA runs over a transport layer other than the SCTP. The BEAT
message does not contain any parameter.
5-78
Chapter 5 SIGTRAN
Message
Description
The REG REQ message is sent by an ASP to indicate to a remote M3UA peer that it
wishes to register one or more given routing keys with the remote peer. Typically, an
ASP would send this message to an SGP, and expects to receive a REG RSP message
in return with an associated routing context value. Table 5-31 lists the registration
request messages.
Table 5-31 Registration request messages
Message
Description
Registration response
(REG RSP)
De-registration request
(DEREG REQ)
De-registration response
(DEREG RSP)
2)
Description
5-79
Chapter 5 SIGTRAN
Message
Description
3)
Description
Error (ERR)
Notify (NTFY)
Description
0x01
Invalid Version. The Invalid Version error is sent if a message was received with an invalid
or unsupported version. The ERR message contains the supported version in the common
header. The ERR message could optionally provide the supported version in the diagnostic
information area.
0x02
0x03
Unsupported Message Class. The Unsupported Message Class error is sent if a message
with an unexpected or unsupported Message Class is received.
0x04
Unsupported Message Type. The Unsupported Message Type error is sent if a message
with an unexpected or unsupported Message Type is received.
0x05
Unsupported Traffic Mode Type. The Unsupported Traffic Mode Type error is sent by an
SGP if an ASP sends an ASP Active message with an unsupported Traffic Mode Type or a
Traffic Mode Type that is inconsistent with the presently configured mode for the AS. An
example would be a case in which the SGP did not support loadsharing.
0x06
Unexpected Message. The Unexpected Message error may be sent if a defined and
recognized message is received that is not expected in the current state (in some cases the
ASP may optionally silently discard the message and not send an ERR message). For
example, silent discard is used by an ASP if it received a DATA message from an SGP while
it was in the ASP-INACTIVE state. If the unexpected message contained Routing
Context(s), the Routing Context(s) should be included in the Error message.
5-80
Chapter 5 SIGTRAN
Value
Description
0x07
Protocol Error. The Protocol Error error is sent for any protocol anomaly, that is, reception
of a parameter that is syntactically correct but unexpected in the current situation.
0x08
0x09
Invalid Stream Identifier. The Invalid Stream Identifier error is sent if a message is received
on an unexpected SCTP stream (for example, a management message was received on a
stream other than 0).
0x0a
0x0b
0x0c
0x0d
0x0e
ASP Identifier Required. The ASP Identifier Required error is sent by an SGP in response
to an ASP Up message which does not contain an ASP Identifier parameter when the SGP
requires one. The ASP should resend the ASP Up message with an ASP Identifier.
0x0f
Invalid ASP Identifier. The Invalid ASP Identifier error is sent by an SGP in response to an
ASP Up message with an invalid (that is, non-unique) ASP Identifier.
0x10
0x11
Invalid Parameter Value. The Invalid Parameter Value error is sent if a message is
received with an invalid parameter value (for example, a DUPU message was received with
a Mask value other than 0).
0x12
Parameter Field Error. The Parameter Field Error error is sent if a message is received
with a parameter having a wrong length field.
0x13
0x14
Destination Status Unknown. The Destination Status Unknown error is sent if a DUAD
message is received at an SG enquiring the availability/congestion status of a destination,
and the SG does not wish to provide the status (for example, the sender is not authorized to
know the status). For this error, the invalid or unauthorized Point Code(s) must be included
along with the Network Appearance and/or Routing Context associated with the Point
Code(s).
0x15
Invalid Network Appearance The "Invalid Network Appearance" error is sent by an SGP if an
ASP sends a message with an invalid (unconfigured) Network Appearance value. For this
error, the invalid (unconfigured) Network Appearance must be included in the Network
Appearance parameter.
0x16
Missing Parameter. The Missing Parameter error is sent if a mandatory parameter is not
included in a message.
0x17
0x18
5-81
Chapter 5 SIGTRAN
Value
Description
0x19
Invalid Routing Context. The Invalid Routing Context error is sent if a message is received
from a peer with an invalid (unconfigured) Routing Context value. For this error, the invalid
Routing Context(s) must be included in the Error message.
0x1a
Not Configured AS for ASP. The Not Configured AS for ASP error is sent if a message is
received from a peer without a Routing Context parameter and it is not known by
configuration data which ASs are referenced.
The protocol messages for MTP3-User adaptation require to contain the version,
message type, message length, and message content. See Figure 5-58. The message
header is common for all signaling protocol adaptation layer messages.
0
1
2
3
01234567890123456789012345678901
Version
Reserved
Message length
The Version field contains the version of the M3UA adaptation layer. The supported
version is Release 1.0 protocol with the value 00000001.
z
Table 5-35 lists the message classes defined by M3UA. Table 5-36, Table 5-37, Table
5-38, Table 5-39, Table 5-40, and Table 5-41 respectively list the message types
defined by M3UA.
Table 5-35 M3UA message classes
Message class
00
Transfer messages
01
02
03
5-82
Chapter 5 SIGTRAN
Message class
04
05
06
07
08
09
0A to 7F
80 to FF
Error (ERR)
00
Notify (NTFY)
01
02 to 7F
80 to FF
Reserved
00
Data (DATA)
01
02 to 7F
80 to FF
Reserved
00
01
02
03
04
5-83
Chapter 5 SIGTRAN
Message type
05
06
7 to 7F
80 to FF
Reserved
00
ASP up (ASPUP)
01
02
Heartbeat (BEAT)
03
04
05
06
7 to 7F
80 to FF
Reserved
00
01
02
03
04
5 to 7F
80 to FF
Reserved
00
5-84
Chapter 5 SIGTRAN
Message type
01
02
03
04
5 to 7F
80 to FF
Message Length
The message length defines the length of the message in octets, including the common
header. For messages with a final parameter containing padding, the parameter
padding must be included in the message length.
2)
M3UA messages consist of a common header followed by zero or more variable length
parameters. Figure 5-59 shows the format of all the parameters contained in a
message.
0
1
2
3
01234567890123456789012345678901
Parameter tag
Parameter length
Parameter value
Parameter Tag
The Tag field is a 16-bit identifier of the type of parameter. It takes a value of 0 to 65534.
Common parameters used by adaptation layers are in the range of 0x00 to 0x3F.
M3UA-specific parameters have tags in the range of 0x0200 to 0x02FF. Table 5-42 lists
the common parameter tags defined.
Table 5-42 Common parameter tags
Parameter
Reserved
0x0000
5-85
Chapter 5 SIGTRAN
Parameter
0x0001
0x0002
0x0003
INFO string
0x0004
0x0005
Routing context
0x0006
Diagnostic information
0x0007
0x0008
Heartbeat data
0x0009
0x000a
0x000b
Error code
0x000c
Status
0x000d
0x000e
0x000f
0x0010
ASP identifier
0x0011
0x0012
Correlation ID
0x0013
Network appearance
0x0200
Reserved
0x0201
Reserved
0x0202
Reserved
0x0203
User/cause
0x0204
Congestion indications
0x0205
Concerned destination
0x0206
Routing key
0x0207
5-86
Chapter 5 SIGTRAN
Parameter
Registration result
0x0208
Deregistration result
0x0209
0x020a
0x020b
Service indicators
0x020c
Reserved
0x020d
0x020e
Circuit range
0x020f
Protocol data
0x0210
Reserved
0x0211
Registration status
0x0212
Deregistration status
0x0213
0x0214-0xffff
Parameter Length
The Parameter Length is 16 bits. The Parameter Length field contains the size of the
parameter in bytes, including the Parameter Tag, Parameter Length, and Parameter
Value fields. The parameter length does not include any padding bytes.
z
Parameter Value
The Parameter Value is variable-length. The Parameter Value field contains the actual
information to be transferred in the parameter.
The total length of a parameter (including Tag, Parameter Length, and Value fields)
must be a multiple of four bytes. If the length of the parameter is not a multiple of four
bytes, the sender pads the parameter at the end with all zero bytes. The length of the
padding is not included in the Parameter Length field. A sender should not pad with
more than three bytes. The receiver must ignore the padding bytes.
Data (DATA)
A DATA message contains a common message header and zero or more parameters
defined by the message type.
The DATA message contains the SS7 MTP3-User protocol data, including the complete
MTP3 routing label. The DATA message contains the optional Network Appearance
(not in use temporarily), optional Routing Context, mandatory Protocol data, and
optional Correlation ID parameters.
5-87
Chapter 5 SIGTRAN
Length =8
Network appearance
Length =8
Tag (0x0006)
Routing context
Tag (0x00210)
Length =8
Protocol data
Tag (0x0013)
Length =8
Correlation Id
Network Appearance
Routing Context
The routing context is a 32-bit value. In a message, it represents the routing key.
The Routing Context parameter contains the Routing Context value associated with the
DATA message. Where a Routing Key has not been coordinated between the SGP and
ASP, sending of Routing Context is not required. Where multiple Routing Keys and
Routing Contexts are used across a common association, the Routing Context must be
sent to identify the traffic flow, assisting in the internal distribution of Data messages.
5-88
Chapter 5 SIGTRAN
Protocol Data
The Protocol Data parameter contains the original SS7 MTP3 message, including the
service information octet and routing label.
The Protocol Data Parameter contains the Service Indicator (SI), Network Indicator (NI),
Destination Point Code (DPC), Originating Point Code (OPC), and Signaling Link
Selection Code (SLS) fields.
User Protocol Data includes MTP-User protocol elements (for example, ISUP, SCCP,
or TUP parameters).
Figure 5-61 shows the format of the protocol data parameter.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Reserved
OPC
Reserved
DPC
SI
Reserved
NI
Reserved
SLS
The Destination Point Code field contains a 32-bit value. The Originating and
Destination Point Code fields contain the OPC and DPC from the routing label of the
original SS7 message in network byte order, justified to the least significant bit. Unused
bits are coded 0.
z
Service Indicator
The 8-bit Service Indicator field contains the SI field from the original SS7 message
justified to the least significant bit. Unused bits are coded 0.
z
Network Indicator
The 8-bit Network Indicator contains the NI field from the original SS7 message justified
to the least significant bit. Unused bits are coded 0.
z
5-89
Chapter 5 SIGTRAN
The 8-bit Signaling Link Selection field contains the SLS bits from the routing label of
the original SS7 message justified to the least significant bit and in Network Byte Order.
Unused bits are coded 0.
z
The User Protocol Data field contains a byte string of MTP-User information from the
original SS7 message starting with the first byte of the original SS7 message following
the Routing Label.
z
Correlation ID
The Correlation ID parameter uniquely identifies the MSU carried in the Protocol Data
within an AS. This Correlation ID parameter is assigned by the sending M3UA.
The DUNA message is sent from an SGP in an SG to all concerned ASPs to indicate
that the SG has determined that one or more SS7 destinations are unreachable. It is
also sent by an SGP in response to a message from the ASP to an unreachable SS7
destination. As an implementation option the SG may suppress the sending of
subsequent "response" DUNA messages regarding a certain unreachable SS7
destination for a certain period to give the remote side time to react. If there is no
alternate route through another SG, the MTP3-User at the ASP is expected to stop
traffic to the affected destination through the SG in accordance with the defined
MTP3-User procedures.
The DUNA message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, and optional INFO String parameters.
Figure 5-62 shows the structure of the DUNA message.
5-90
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0200
Length = 8
Network Appearance
Tag = 0x0006
Length
Routing Context
Tag = 0x0012
Mask
Length
Affected PC 1
...
Mask
Affected PC n
Tag = 0x0004
Length
INFO String
Network Appearance
Refer to the description of the Network Appearance field in the DATA message.
z
Routing Context
The optional Routing Context parameter contains the Routing Context values
associated with the DUNA message. Where a Routing Key has not been coordinated
between the SGP and ASP, sending of Routing Context is not required. Where multiple
Routing Keys and Routing Contexts are used across a common association, the
Routing Context(s) must be sent to identify the concerned traffic flows for which the
DUNA message applies, assisting in outgoing traffic management and internal
distribution of MTP-PAUSE indications to MTP3-Users at the receiver.
z
The Affected Point Code parameter contains a list of Affected Destination Point Code
fields, each three-octet parameter to allow for 14-, 16- and 24-bit binary formatted SS7
Point Codes. Affected Point Codes that are less than 24 bits are padded on the left to
the 24-bit boundary.
z
INFO String
5-91
Chapter 5 SIGTRAN
The optional INFO String parameter can carry any meaningful UTF-8 [10] character
string along with the message. Length of the INFO String parameter is from 0 to 255
octets. No procedures are presently identified for its use but the INFO String may be
used for debugging purposes.
2)
The DAVA message is sent from an SGP to all concerned ASPs to indicate that the SG
has determined that one or more SS7 destinations are now reachable (and not
restricted), or in response to a DAUD message if appropriate. If the ASP M3UA layer
previously had no routes to the affected destinations the ASP MTP3-User protocol is
informed and may now resume traffic to the affected destination. The ASP M3UA layer
now routes the MTP3-user traffic through the SG initiating the DAVA message.
The DAVA message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, and optional INFO String parameters.
z
Network Appearance
The format and description of the Network Appearance are the same as for the DUNA
message.
z
Routing Context
The format and description of the Routing Context are the same as for the DUNA
message.
z
The format and description of the Affected Point Code are the same as for the DUNA
message.
z
INFO String
The format and description of the INFO String are the same as for the DUNA message.
3)
The DAUD message may be sent from the ASP to the SGP to audit the
availability/congestion state of SS7 routes from the SG to one or more affected
destinations.
The DAUD message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, and optional INFO String parameters.
z
Network Appearance
The format and description of the Network Appearance are the same as for the DUNA
message.
z
Routing Context
The format and description of the Routing Context are the same as for the DUNA
message.
z
5-92
Chapter 5 SIGTRAN
The format and description of the Affected Point Code are the same as for the DUNA
message.
z
INFO String
The format and description of the INFO String are the same as for the DUNA message.
4)
The SCON message can be sent from an SGP to all concerned ASPs to indicate that
an SG has determined that there is congestion in the SS7 network to one or more
destinations, or to an ASP in response to a DATA or DAUD message as appropriate.
For some MTP protocol variants (for example, ANSI MTP) the SCON message may be
sent when the SS7 congestion level changes. The SCON message may also be sent
from the M3UA layer of an ASP to an M3UA peer indicating that the M3UA layer or the
ASP is congested.
The SCON message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, optional Concerned Destination, optional
Congestion Indications, and optional INFO String parameters.
Figure 5-63 shows the structure of the SCON message.
5-93
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0200
Length = 8
Network Appearance
Tag = 0x0006
Length
Routing Context
Tag = 0x0012
Length
Mask
Affected PC 1
...
Mask
Affected PC n
Tag = 0x0206
Length = 8
Reserved
Concerned DPC
Tag = 0x0205
Length = 8
Reserved
Cong. Level
Tag = 0x0004
Length
INFO String
Network Appearance
The format and description of the Network Appearance are the same as for the DUNA
message.
z
Routing Context
The format and description of the Routing Context are the same as for the DUNA
message.
z
The format and description of the Affected Point Code are the same as for the DUNA
message.
5-94
Chapter 5 SIGTRAN
The Affected Point Code parameter can be used to indicate congestion of multiple
destinations or ranges of destinations.
Concerned Destination
The optional 32-bit Concerned Destination parameter is only used if the SCON
message is sent from an ASP to the SGP. It contains the point code of the originator of
the message that triggered the SCON message. The Concerned Destination
parameter contains one Concerned Destination Point Code field, a three-octet
parameter to allow for 14-, 16- and 24-bit binary formatted SS7 Point Codes. A
Concerned Point Code that is less than 24 bits is padded on the left to the 24-bit
boundary.
Congestion Indications
The optional 32-bit Congestion Indications parameter contains a Congestion Level field.
This optional parameter is used to communicate congestion levels in national MTP
networks with multiple congestion thresholds, such as in ANSI MTP3. For MTP
congestion methods without multiple congestion levels (for example, the ITU
international method) the parameter is not included.
Congestion Level
The 8-bit Congestion Level field, associated with all of the Affected DPC(s) in the
Affected Destinations parameter, contains one of the values as shown in Table 5-44.
Table 5-44 Congestion level values
Value
Meaning
No congestion or undefined
Congestion level 1
Congestion level 2
Congestion level 3
The congestion levels are defined in the congestion method in the appropriate national
MTP recommendations [7,8].
z
INFO String
The format and description of the INFO String are the same as for the DUNA message.
5)
The DUPU message is used by an SGP to inform concerned ASPs that a remote peer
MTP3-User Part (for example, ISUP or SCCP) at an SS7 node is unavailable.
The DUPU message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, mandatory User/Cause, and optional INFO
String parameters.
5-95
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0200
Length = 8
Network Appearance
Tag = 0x0006
Length
Routing Context
Tag = 0x0012
Length = 8
Mask = 0
Affected PC
Tag = 0x0204
Length = 8
Cause
User
Tag = 0x0004
Length
INFO String
Network Appearance
The format and description of the Network Appearance are the same as for the DUNA
message.
z
Routing Context
The format and description of the Routing Context are the same as for the DUNA
message.
z
The format and description of the Affected Point Code parameter are the same as for
the DUNA message except that the Mask field is not used and only a single Affected
DPC is included. Ranges and lists of Affected DPCs cannot be signaled in a DUPU
message, but this is consistent with UPU operation in the SS7 network. The Affected
Destinations parameter in an MTP3 User Part Unavailable message (UPU) received by
an SGP from the SS7 network contains only one destination.
z
User/Cause
5-96
Chapter 5 SIGTRAN
The Unavailability Cause and MTP3-User Identity fields, associated with the Affected
PC in the Affected Point Code parameter, are encoded as follows.
Unavailability Cause field
The 16-bit Unavailability Cause parameter provides the reason for the unavailability of
the MTP3-User. The valid values for the Unavailability Cause parameter are shown in
Table 5-45.
Table 5-45 Unavailability cause values
Value
Meaning
Unknown
The values agree with those provided in the SS7 MTP3 User Part Unavailable
message. Depending on the MTP3 protocol used in the Network Appearance,
additional values may be usedthe specification of the relevant MTP3 protocol
variant/version recommendation is definitive.
MTP3-User Identity field
The 16-bit MTP3-User Identity describes the specific MTP3-User that is unavailable
(for example, ISUP and SCCP). Some of the valid values for the MTP3-User Identity
are shown in Table 5-46.
Table 5-46 MTP3-User identity values
Value
Meaning
0 to 2
Reserved
SCCP
TUP
ISUP
6 to 8
Reserved
Broadband ISUP
10
Satellite ISUP
11
Reserved
12
13
14
15
Reserved
5-97
Chapter 5 SIGTRAN
The values align with those provided in the SS7 MTP3 User Part Unavailable message
and Service Indicator. Depending on the MTP3 protocol variant/version used in the
network appearance, additional values may be used. The relevant MTP3 protocol
variant/version recommendation is definitive.
z
INFO String
The format and description of the INFO String are the same as for the DUNA message.
6)
The DRST message is optionally sent from the SGP to all concerned ASPs to indicate
that the SG has determined that one or more SS7 destinations are now restricted from
the point of view of the SG, or in response to a DAUD message if appropriate. The
M3UA layer at the ASP is expected to send traffic to the affected destination through an
alternate SG with route(s) of equal priority, but only if such an alternate route exists and
is available. If the affected destination is currently considered unavailable by the ASP,
The MTP3-User should be informed that traffic to the affected destination can be
resumed. In this case, the M3UA layer should route the traffic through the SG initiating
the DRST message.
The DRST message contains the optional Network Appearance, optional Routing
Context, mandatory Affected Point Code, and optional INFO String parameters.
z
Network Appearance
The format and description of the Network Appearance are the same as for the DUNA
message.
z
Routing Context
The format and description of the Routing Context are the same as for the DUNA
message.
z
The format and description of the Affected Point Code are the same as for the DUNA
message.
z
INFO String
The format and description of the INFO String are the same as for the DUNA message.
ASP Up
The ASP Up message is used to indicate to a remote M3UA peer that the adaptation
layer is ready to receive any ASPSM/ASPTM messages for all Routing Keys that the
ASP is configured to serve.
The ASP Up message contains the optional ASP Identifier and optional INFO String
parameters.
5-98
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0011
Length = 8
ASP Identifier
Tag = 0x0004
Length
INFO String
The 32-bit ASP Identifier parameter contains a unique value that is locally significant
among the ASPs that support an AS. The SGP should save the ASP Identifier to be
used, if necessary, with the Notify message.
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
2)
The ASP UP Ack message is used to acknowledge an ASP Up message received from
a remote M3UA peer.
The ASP Up Ack message contains the optional INFO String parameter.
Figure 5-66 shows the structure of the ASP Up Ack message.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length
Tag = 0x0004
INFO String
INFO String
5-99
Chapter 5 SIGTRAN
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
The INFO String in an ASP Up Ack message is independent from the INFO String in the
ASP Up message (that is, it does not have to echo back the INFO String received).
3)
ASP Down
The ASP Down message is used to indicate to a remote M3UA peer that the adaptation
layer is NOT ready to receive DATA, SSNM, RKM or ASPTM messages.
The ASP Down message contains the optional INFO String parameter.
Figure 5-67 shows the structure of the ASP Down message.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length
Tag = 0x0004
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
4)
The ASP Down Ack message is used to acknowledge an ASP Down message received
from a remote M3UA peer.
The ASP Down Ack message contains the optional INFO String parameter.
Figure 5-68 shows the structure of the ASP Down Ack message.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length
Tag = 0x0004
INFO String
5-100
Chapter 5 SIGTRAN
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
The INFO String in an ASP Down Ack message is independent from the INFO String in
the ASP Down message (that is, it does not have to echo back the INFO String
received).
5)
Heartbeat (BEAT)
The BEAT message is optionally used to ensure that the M3UA peers are still available
to each other. It is recommended for use when the M3UA runs over a transport layer
other than the SCTP, which has its own heartbeat.
The BEAT message contains the optional Heartbeat Data parameter.
Figure 5-69 shows the structure of the BEAT message.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0009
Length
Heartbeat Data
Heartbeat Data
The Heartbeat Data parameter contents are defined by the sending node. The
Heartbeat Data could include, for example, a Heartbeat Sequence Number and/or
Timestamp. The receiver of a BEAT message does not process this field as it is only of
significance to the sender. The receiver must respond with a BEAT Ack message.
6)
The BEAT Ack message is sent in response to a received BEAT message. It includes
all the parameters of the received BEAT message, without any change.
The REG REQ message is sent by an ASP to indicate to a remote M3UA peer that it
wishes to register one or more given Routing Keys with the remote peer. Typically, an
ASP would send this message to an SGP, and expects to receive a REG RSP message
in return with an associated Routing Context value.
5-101
Chapter 5 SIGTRAN
The REG REQ message contains one or more mandatory Routing Key parameter.
Figure 5-70 shows the structure of the REG REQ message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0207
Length
Routing Key 1
Tag = 0x0207
Length
Routing Key n
Routing Key
The mandatory Routing Key parameter is a variable-length value. The sender of this
message expects that the receiver of this message will create a Routing Key entry and
assign a unique Routing Context value to it, if the Routing Key entry does not already
exist.
The Routing Key parameter may be present multiple times in the same message. This
is used to allow the registration of multiple Routing Keys in a single message.
Figure 5-71 shows the format of the Routing Key parameter.
5-102
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Local-RK-Identifier
Traffic Mode Type (optional)
Destination Point Code
Network Appearance (optional)
Service Indicators (optional)
Originating Point Code List (optional)
Circuit Range List (optional)
The 32-bit Local-RK-Identifier field is used to uniquely identify the registration request.
The Identifier value is assigned by the ASP, and is used to correlate the response in an
REG RSP message with the original registration request. The Identifier value must
remain unique until the REG RSP message is received.
Figure 5-72 shows the format of the Local-RK-Identifier field.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length = 8
Tag = 0x020a
Local-RK-Identifier value
5-103
Chapter 5 SIGTRAN
The 32-bit Traffic Mode Type parameter identifies the traffic mode of operation of the
ASP(s) within an AS.
Figure 5-73 shows the format of the Traffic Mode Type Identifier.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x000b
Length = 8
Traffic Mode Type
Override
Loadshare
Broadcast
The Destination Point Code parameter is mandatory, and identifies the Destination
Point Code of incoming SS7 traffic for which the ASP is registering. The format is the
same as described for the Affected Destination parameter in the DUNA message.
Figure 5-74 shows the format of the Destination Point Code.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x020b
Mask = 0
Length = 8
Destination Point Code
Network Appearance
The optional Network Appearance parameter field identifies the SS7 network context
for the Routing Key, and has the same format as in the DATA message. The absence of
5-104
Chapter 5 SIGTRAN
the Network Appearance parameter in the Routing Key indicates the use of any
Network Appearance value.
Figure 5-75 shows the format of the Network Appearance.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length = 8
Tag = 0x0200
Network Appearance
The optional SI field contains one or more Service Indicators from the values as
described in the MTP3-User Identity field of the DUPU message. The absence of the SI
parameter in the Routing Key indicates the use of any SI value, excluding of course
MTP management. Where an SI parameter does not contain a multiple of four SIs, the
parameter is padded out to 32-byte alignment.
Figure 5-76 shows the format of the Service Indicators parameter.
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x020c
SI #1
Length
SI #2
SI #3
SI #4
SI #n
0 Padding, if necessary
The Originating Point Code List parameter contains one or more SS7 OPC entries, and
its format is the same as the Destination Point Code parameter. The absence of the
OPC List parameter in the Routing Key indicates the use of any OPC value.
Figure 5-77 shows the format of the Originating Point Code List.
5-105
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x020e
Length
Mask = 0
Mask = 0
Mask = 0
An ISUP controlled circuit is uniquely identified by the SS7 OPC, DPC, and CIC value.
For the purposes of identifying Circuit Ranges in an M3UA Routing Key, the optional
Circuit Range parameter includes one or more circuit ranges, each identified by an
OPC and Upper/Lower CIC value. The DPC is implicit as it is mandatory and already
included in the DPC parameter of the Routing Key. The absence of the Circuit Range
parameter in the Routing Key indicates the use of any Circuit Range values, in the case
of ISUP/TUP traffic. The Origination Point Code is encoded the same as the
Destination Point Code parameter, while the CIC values are 16-bit integers.
Figure 5-78 shows the format of the Circuit Range.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x020f
Mask = 0
Length
Origination Point Code #1
Mask = 0
5-106
2)
Chapter 5 SIGTRAN
The REG RSP message is used as a response to the REG REQ message from a
remote M3UA peer. It contains indications of success/failure for registration requests
and returns a unique Routing Context value for successful registration requests, to be
used in subsequent M3UA Traffic Management protocol.
The REG RSP message contains one or more mandatory Registration Result
parameters.
Figure 5-79 shows the structure of the REG RSP message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0208
Length
Registration Result 1
Tag = 0x0208
Length
Registration Result n
Registration Result
The Registration Result parameter contains the registration result for a single Routing
Key in an REG REQ message. The number of results in a single REG RSP message
must be anywhere from one to the total number of Routing Key parameters found in the
corresponding REG REQ message. Where multiple REG RSP messages are used in
reply to REG REQ message, a specific result should be in only one REG RSP
message.
Figure 5-80 shows the format of each Registration Result.
5-107
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x020a
Length = 8
Local-RK-Identifier value
Tag = 0x0212
Length = 8
Registration Status
Tag = 0x0006
Length = 8
Routing Context
The 32-bit Local-RK-Identifier contains the same value as found in the matching
Routing Key parameter found in the REG REQ message.
Registration Status
The 32-bit Registration Result Status field indicates the success or the reason for
failure of a registration request.
Table 5-48 lists the values for the Registration Status.
Table 5-48 Values for Registration Status
Value
Meaning
Successfully Registered
Error - Unknown
10
5-108
Chapter 5 SIGTRAN
Routing Context
The 32-bit Routing Context field contains the Routing Context value for the associated
Routing Key if the registration was successful. It is set to "0" if the registration was not
successful.
3)
The DEREG REQ message is sent by an ASP to indicate to a remote M3UA peer that it
wishes to deregister a given Routing Key. Typically, an ASP would send this message
to an SGP, and expects to receive a DEREG RSP message in return with the
associated Routing Context value.
The DEREG REQ message contains the mandatory Routing Context parameter.
Figure 5-81 shows the structure of the DEREG REQ message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length
Tag = 0x0006
Routing Context
Routing Context
The Routing Context parameter contains (a list of) integers indexing the AS traffic that
the sending ASP is currently registered to receive from the SGP but now wishes to
deregister.
4)
The DEREG RSP message is used as a response to the DEREG REQ message from a
remote M3UA peer.
The DEREG RSP message contains one or more mandatory Deregistration Result
parameters.
Figure 5-82 shows the structure of the DEREG RSP message.
5-109
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0209
Length
Deregistration Result 1
Tag = 0x0209
Length
Deregistration Result n
The Deregistration Result parameter contains the deregistration status for a single
Routing Context in a DEREG REQ message. The number of results in a single DEREG
RSP message may be anywhere from one to the total number of Routing Context
values found in the corresponding DEREG REQ message.
Where multiple DEREG RSP messages are used in reply to DEREG REQ message, a
specific result should be in only one DEREG RSP message. Figure 5-83 shows the
format of each Deregistration Result parameter.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length = 8
Tag = 0x0006
Routing Context
Tag = 0x0213
Length = 8
Deregistration Status
Routing Context
The 32-bit Routing Context field contains the Routing Context value of the matching
Routing Key to deregister, as found in the DEREG REQ message.
z
Deregistration Status
5-110
Chapter 5 SIGTRAN
The 32-bit Deregistration Result Status field indicates the success or the reason for
failure of the deregistration.
Table 5-49 lists the values for the Deregistration Status.
Table 5-49 Values for Deregistration Status
Value
Meaning
Successfully Deregistered
Error - Unknown
ASP Active
The ASP Active message is sent by an ASP to indicate to a remote M3UA peer that it is
ready to process signaling traffic for a particular AS. The ASP Active message affects
only the ASP state for the Routing Keys identified by the Routing Contexts, if present.
The ASP Active message contains the optional Traffic Mode Type, optional Routing
Context, and optional INFO String parameters.
Figure 5-84 shows the structure of the ASP Active message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Length = 8
Tag = 0x000b
Length
Routing Context
Tag = 0x0004
Length
INFO String
5-111
Chapter 5 SIGTRAN
The 32-bit Traffic Mode Type parameter identifies the traffic mode of operation of the
ASP within an AS.
Table 5-50 lists he valid values for Traffic Mode Type.
Table 5-50 Valid values for Traffic Mode Type
Value
Override
Loadshare
Broadcast
Within a particular Routing Context, Override, Loadshare and Broadcast should not be
mixed. The Override value indicates that the ASP is operating in Override mode, and
the ASP takes over all traffic in an AS (that is, primary/backup operation), overriding
any currently active ASPs in the AS. In Loadshare mode, the ASP will share in the
traffic distribution with any other currently active ASPs. In Broadcast mode, the ASP will
receive the same messages as any other currently active ASP.
z
Routing Context
The optional Routing Context parameter contains (a list of) integers indexing the AS
traffic that the sending ASP is configured/registered to receive.
There is one-to-one relationship between an index entry and an SGP Routing Key or
AS Name. Because an AS can only appear in one Network Appearance, the Network
Appearance parameter is not required in the ASP Active message.
An ASP may be configured to process traffic for more than one logical AS. From the
perspective of an ASP, a Routing Context defines a range of signaling traffic that the
ASP is currently configured to receive from the SGP. For example, an ASP could be
configured to support call processing for multiple ranges of PSTN trunks and therefore
receive related signaling traffic, identified by separate SS7 DPC/OPC/CIC ranges.
z
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
2)
The ASP Active Ack message is used to acknowledge an ASP Active message
received from a remote M3UA peer.
The ASP Active Ack message contains the optional Traffic Mode Type, optional
Routing Context, and optional INFO String parameters.
5-112
Chapter 5 SIGTRAN
Figure 5-85 shows the structure of the ASP Active Ack message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x000b
Length = 8
Length
Routing Context
Tag = 0x0004
Length
INFO String
The format of the Traffic Mode Type is the same as for the ASP Active message.
z
Routing Context
The format of the Routing Context is the same as for the ASP Active message.
z
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
The INFO String in an ASP Active Ack message is independent from the INFO String in
the ASP Active message (that is, it does not have to echo back the INFO String
received).
3)
ASP Inactive
The ASP Inactive message is sent by an ASP to indicate to a remote M3UA peer that it
is no longer an active ASP to be used within a list of ASPs. The ASP Inactive message
affects only the ASP state in the Routing Keys identified by the Routing Contexts, if
present.
The ASP Inactive message contains the optional Routing Context and optional INFO
String parameters.
Figure 5-86 shows the structure of the ASP Inactive message.
5-113
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0006
Length
Routing Context
Tag = 0x0004
Length
INFO String
The format and description of the optional Routing Context are the same as for the ASP
Active message.
INFO String
The format and description of the optional INFO String are the same as for the ASP
Active message.
4)
The ASP Inactive Ack message is used to acknowledge an ASP Inactive message
received from a remote M3UA peer.
The ASP Inactive Ack message contains the optional Routing Context and optional
INFO String parameters.
Figure 5-87 shows the structure of the ASP Inactive Ack message.
0
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x0006
Length
Routing Context
Tag = 0x0004
Length
INFO String
Routing Context
5-114
Chapter 5 SIGTRAN
The format of the Routing Context parameter is the same as for the ASP Inactive
message.
z
INFO String
The format and description of the optional INFO String parameter are the same as for
the DUNA message.
The INFO String in an ASP Inactive Ack message is independent from the INFO String
in the ASP Inactive message (that is, it does not have to echo back the INFO String
received).
Error
The Error message is used to notify a peer of an error event associated with an
incoming message. For example, the message type might be unexpected in the current
state, or a parameter value might be invalid.
The Error message contains the mandatory Error Code, mandatory Routing Context,
mandatory Network Appearance, mandatory Affected Point Code, and optional
Diagnostic Information parameters.
Notes:
The Routing Context, Network Appearance, and Affected Point Code parameters are only mandatory for
specific Error Codes.
5-115
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x000c
Length = 8
Error Code
Tag = 0x0006
Length
Routing Context
Tag = 0x0012
Length
Mask
Mask
Tag = 0x0200
Length = 8
Netw ork Appearance
Tag = 0x0007
Length
Diagnostic Information
Error Code
The 32-bit Error Code parameter indicates the reason for the Error message.
shows the Error parameter values.
z
Notify
5-116
Chapter 5 SIGTRAN
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
Tag = 0x000d
Length = 8
Status Type
Status Information
Tag = 0x0011
Length = 8
ASP Identifier
Tag = 0x0006
Length
Routing Context
Tag = 0x0004
Length
INFO String
The 16-bit Status Type parameter identifies the type of the Notify message. Table 5-51
lists the valid values for the Status Type.
Table 5-51 Valid values for Status Type
Value
Meaning
Other
Status Information
The 16-bit Status Information parameter contains more detailed information for the
notification, based on the value of the Status Type.
If the Status Type is AS-State_Change, the Status Information values are shown in
Table 5-52.
5-117
Chapter 5 SIGTRAN
Definition
Reserved
These notifications are sent from an SGP to an ASP upon a change in status of a
particular AS. The value reflects the new state of the AS.
If the Status Type is Other, the Status Information values are defined in Table 5-53.
Table 5-53 Values for Status Information if Status Type is Other
Value
Definition
Meaning
ASP Failure
These notifications are not based on the SGP reporting the state change of an ASP or
AS.
z
ASP Identifier
The format and description of the optional ASP Identifier are the same as for the ASP
Up message.
z
Routing Context
The format and description of the Routing Context parameter are the same as for the
ASP Active message.
z
INFO String
The format and description of the INFO String parameter are the same as for the ASP
Active message.
5-118
Chapter 5 SIGTRAN
This scenario shows the example M3UA message flows for the establishment of traffic
between an SGP and an ASP, where only one ASP is configured within an AS (no
backup).
z
ASP1/IPSP1
ASP Up
ASP Up Ack
ASP active (RCn)
This scenario is the same as the former one but with the optional exchange of
registration information. In this case the registration is accepted by the SGP. In such
conditions, the sending of M3UA messages is shown in Figure 5-91.
SGP
ASP1
ASP Up
ASP Up Ack
REG REQ (LRCn,RKn)
REGRSP (LRCn,RKn)
ASP active (RCn)
ASP active Ack (RCn)
5-119
Chapter 5 SIGTRAN
Single ASP in multiple application servers (each with 1+0 sparing), dynamic
registration
ASP1
ASP Up
ASP Up Ack
REG REQ( LRC1,RK1 )
REG RSP(LRC1,RC1 )
Referring to Figure 5-93, ASP1 withdraws from service as shown in Figure 5-93.
SGP
ASP1
ASP2
ASP inactive
ASP inactive Ack
NTFY (AS-Pending)
ASP active
ASP active Ack
5-120
2)
Chapter 5 SIGTRAN
Following on from the example in Figure 5-94, and ASP2 wishes to over-ride ASP1 and
take over the traffic. See Figure 5-94.
SG
ASP1
ASP2
ASP active
ASP active Ack
NTFY (alternate ASP-active)
ASP1
Figure 5-95 Example of normal withdrawal of an ASP from an application server and teardown of an
association
5.5 IUA
5.5.1 Introduction
This section describes the need for ISDN Q.921-User Adaptation (IUA) layer protocol
as well as how this protocol shall be implemented. Defined by RFC 3057, IUA defines a
5-121
Chapter 5 SIGTRAN
protocol for backhauling of ISDN Q.921 User messages over IP using the Stream
Control Transmission Protocol (SCTP).IUA supports both ISDN Primary Rate Access
(PRA) as well as Basic Rate Access (BRA) including the support for both point-to-point
(P2P) and point-to-multipoint (M2MP) modes of communication. Figure 5-96 shows the
details.
DSS1
IUA
SG
ISDN EP
Q.931
Q.921
PSTN
MGC
IP
(NIF)
Q.921
Q.931
IUA
IUA
SCTP
SCTP
IP
IP
5.5.2 Terminology
I. Interface
An interface supports the relevant ISDN signaling channel. This signaling channel MAY
be a 16 kbit/s D channel for an ISDN BRA as well as 64 kbit/s primary or backup D
channel for an ISDN PRA.
5-122
Chapter 5 SIGTRAN
M-SCTP ESTABLISH
M-SCTP RELEASE
M-SCTP STATUS
M-ASP STATUS
M-ASP-UP
M-ASP-DOWN
M-ASP-ACTIVE
M-ASP-INACTIVE
M-AS STATUS
5-123
Chapter 5 SIGTRAN
ASP state. Therefore, the SG MUST maintain the states of AS/ASP and reference them
during the routing of a message to an AS/ASP.
It is
V. Congestion Management
If the IUA layer becomes congested (implementation dependent), it MAY stop reading
from the SCTP association to flow control from the peer IUA.
Chapter 5 SIGTRAN
Q.931
IUA
LM
SCTP
IP
DL-ESTABLISH
DL-RELEASE
DL-DATA
DL-UNIT DATA
DL-ESTABLISH
DL-RELEASE
DL-DATA
DL-UNIT DATA
Direction
LM -> IUA
5-125
Purpose
LM requests ASP to establish an SCTP
association with an SG.
Boundary
Chapter 5 SIGTRAN
Direction
Purpose
IUA -> LM
IUA -> LM
LM -> IUA
IUA -> LM
IUA -> LM
M-SCTP_RESTART indication
IUA -> LM
LM -> IUA
IUA -> LM
LM -> IUA
IUA -> LM
LM -> IUA
M-AS_STATUS indication
IUA -> LM
M-NOTIFY indication
IUA -> LM
M-ERROR indication
IUA -> LM
M-ASP_UP request
LM -> IUA
M-ASP_UP confirm
IUA -> LM
M-ASP_DOWN request
LM -> IUA
M-ASP_DOWN confirm
IUA -> LM
M-ASP_ACTIVE request
LM -> IUA
M-ASP_ACTIVE confirm
IUA -> LM
M-ASP_INACTIVE request
LM -> IUA
5-126
Chapter 5 SIGTRAN
Boundary
Direction
M-ASP_INACTIVE confirm
IUA -> LM
Purpose
ASP reports that it has received an ASP
INACTIVE Acknowledgement message from
the SG.
IUA
RSP subscriber frame
UMG8900
BRA
PRA
PBX
ISDN terminal
ISDN terminal
The UMG8900 interoperates with the PBX through PRA and accesses the ISDN
terminals through the BRA interfaces provided by the RSP subscriber frame. The
UMG8900 transparently transmits the Q.931 messages in BRA and PRA to the
SoftX3000 through IUA. The SoftX3000 processes the Q.931 call control messages.
5-127
Common Header
Chapter 5 SIGTRAN
Version(8)
Spare(8)
Message class(8)
Message type(8)
Message length(8)
IUA message
Header
Tag(16)
Length(16)
Interface Identifier(32)
Parameter tag(16)
IUA message 0#
Parameter length(16)
Parametervalue(32)
Parameter tag(16)
IUA message n#
Parameter length(16)
Parametervalue(32)
The version field contains the version of the IUA adaptation layer. The currently
supported version number is 0000 0001, which means version 1.0.
Spare
The length of the spare field is eight bits. This field SHOULD be set to all '0's and
ignored by the receiver.
Message Class
Meaning
00
01
02
03
04
05
06
07
08
Chapter 5 SIGTRAN
Value
Meaning
09
0A
0B-7F
80-FF
Message Type
The message types as listed in Table 5-55, Table 5-56, Table 5-57 and Table 5-58 are
defined according to different message classes.
Table 5-56 Q.921/Q.931 boundary primitives transport (QPTM) messages
Value
Message type
Meaning
00
Reserved
01
Data Request
02
Data Indication
03
04
05
Establish Request
06
Establish Confirm
07
Establish Indication
08
Release Request
09
Release Confirm
0A
Release Indication
0B-7F
5-129
Value
80-FF
Chapter 5 SIGTRAN
Message type
Reserved
IETF-defined
extensions
for
QPTM
Meaning
-
Table 5-57 IUA application server process state maintenance (ASPSM) messages
Value
Message type
Meaning
00
Reserved
01
ASP Up (UP)
02
03
Heartbeat (BEAT)
04
05
06
07-7F07-7F
80-FF
Reserved
IETF-defined
extensions
for
ASPSM
Table 5-58 IUA application server process traffic maintenance (ASPTM) messages
Value
Message type
Meaning
00
Reserved
01
02
03
5-130
Value
Chapter 5 SIGTRAN
Message type
Meaning
04
ASP
Inactive
(INACTIVE ACK)
Ack
05-7F
80-FF
Reserved
IETF-defined
extensions
for
ASPTM
Message type
Meaning
00
ERROR
01
Notify (NTFY)
02
03
04
05-7F
80-FF
Reserved
IETF-defined
extensions
1)
for
MGMT
Message Length
The message length field defines the length of the message in octets, including the
header.
Parameter Tag
Chapter 5 SIGTRAN
Parameter Length
The [Parameter Length] field must be a multiple of four bytes. If it is not a multiple of
four bytes, the sender pads with all zero bytes after the Parameter Value field. The
[Parameter Length] must not be padded with all zero bytes. A sender must not pad with
more than three bytes. The receiver must ignore the padding bytes.
Parameter Value
The [Parameter Value] has a variable length. It contains the actual information to be
transferred in the parameter.
15
Parameter tag=0x01
31
Parameter length
Parameter length=8
Spare
DLCI
Tag
The 16-bit [Tag] field indicates the type of the interface identifier. Table 5-60 shows the
correspondence between the tag values of the IUA message header and the types of
the interface identifier.
Table 5-60 Correspondence between tag values and interface identifier types
Tag value
0x0001
Integer
0x0003
Text
5-132
Chapter 5 SIGTRAN
Note:
The integer formatted interface identifier MUST be supported. The text formatted Interface Identifier MAY
optionally be supported. The interface identifier of the character string type is not supported at present.
Length
The [Parameter Length] values of the IUA message header vary with different types of
interface identifiers.
The [Length] value is 8 if the type of the interface identifier is integer.
The [Length] value is variable if the type of the interface identifier is text. The maximum
length does not exceed 255 octets. The length is equal to the length of the interface
identifier plus four bytes (the tag and length fields).
z
Interface Identifier
The interface identifier identifies the physical interface at the SG for which the signaling
messages are sent/received. The format of the [Interface Identifier] parameter can be
text or integer. The interface identifiers are assigned according to network operator
policy. The integer values used are of local significance only, coordinated between the
SG and ASP.
The Data Request message contains the common message header followed by IUA
message header. As shown in Figure 5-101, the Data message contains a mandatory
protocol data. The protocol data contains the upper layer Q.931 message.
0
15
Parameter tag=0x00e
31
Parameter length
Protocol data(32)
2)
The Data Request message contains the common message header followed by IUA
message header. As shown in Figure 5-102 the Unit Data Request message contains a
mandatory protocol data. The protocol data contains the upper layer Q.931 message.
5-133
Chapter 5 SIGTRAN
15
Parameter tag=0x00e
31
Parameter length
Protocol data(32)
3)
The Establish messages contain the common message header followed by IUA
message header. It does not contain any additional parameters.
4)
The Release messages contain the common message header followed by IUA
message header. The Release Confirm message does not contain any additional
parameters. The Release Request and Indication messages contain the parameters as
shown in Figure 5-103:
0
15
Parameter tag=0x00f
31
Parameter length
Reason
Table 5-61 shows the valid values for the [Reason] parameter.
Table 5-61 Valid values for the [Reason] parameter
Value
Define
Description
0x00
RELEASE_MGMT
0x01
RELEASE_PHYS
0x02
RELEASE_DM
0x03
RELEASE_OTHER
Other reasons
Caution:
Only RELEASE_MGMT, RELEASE_DM and RELEASE_OTHER are valid reason codes for a Release
Request message.
5-134
Chapter 5 SIGTRAN
ASP Up
As shown in Figure 5-104, the ASP Up message contains an optional [INFO String]
parameter.
0
15
31
Parameter tag=0x4
Parameter length
INFO string
The optional [INFO String] parameter can carry any meaningful 8-bit ASCII character
string along with the message. Length of the [INFO String] parameter is from 0 to 255
characters. No procedures are presently identified for its use but the INFO String MAY
be used for debugging purposes.
2)
ASP Up Ack
As shown in Figure 5-105, the ASP Up Ack message contains an optional [INFO String]
parameter. The format and description of the INFO String in the ASP Up Ack message
are the same as those of the INFO String in the ASP Up message.
0
15
31
Parameter tag=0x04
Parameter length
INFO string
3)
ASP Down
As shown in Figure 5-106, the ASP Down message contains the mandatory [Reason]
parameter and the optional [INFO string] parameter.
0
15
31
Parameter tag=0x0a
Parameter length
Reason
Parameter tag=0x4
Parameter length
INFO string
5-135
Chapter 5 SIGTRAN
Reason
The [Reason] parameter indicates the reason that the remote IUA adaptation layer is
unavailable. The value of this parameter is fixed set to 0x01, indicating that ASP is
under management inhibition. If an ASP is removed from Management Inhibit, the ASP
will send an ASP Up message.
z
INFO string
The format and description of the [INFO String] parameter are the same as for the ASP
Up message.
4)
The ASP Down Ack message contains the mandatory [Reason] parameter and the
optional [INFO String] parameter. The format and description of the [Reason] and
[INFO String] parameters are the same as for the ASP Down message.
5)
Heartbeat
15
Parameter tag=0x09
31
Parameter length
Heartbeat data
The [Heartbeat Data] parameter contents are defined by the sending node. The
Heartbeat Data could include, for example, a Heartbeat Sequence Number and, or
Timestamp. The receiver of a Heartbeat message does not process this field as it is
only of significance to the sender. The receiver MUST respond with a Heartbeat Ack
message.
6)
Heartbeat Ack
The Heartbeat Ack message contains an optional [Heartbeat Data] parameter. The
format and description of the [Heartbeat Data] parameter in the Heartbeat Ack
message are the same as for the Heartbeat message.
As shown in Figure 5-108 and Figure 5-109, the ASP Active message contains the
mandatory [Traffic Mode Type], optional [Interface Identifier], and optional [INFO String]
parameters, according to the text and integer formatted interface identifiers.
5-136
Chapter 5 SIGTRAN
15
Parameter tag=0x0b
31
Parameter length=8
Parameter length
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
Figure 5-108 Structure of ASP Active message (integer formatted interface identifier)
15
Parameter tag=0x0b
31
Parameter length
Parameter length
Interface Identifiers
Additional Interface Identifiers
Parameter tag=0x04
Parameter length
INFO string
Figure 5-109 Structure of ASP Active message (text formatted interface identifier)
z
The [Traffic Mode Type] parameter identifies the traffic mode of operation of the ASP
within an AS. The valid values for the parameter are shown in Table 5-62:
5-137
Chapter 5 SIGTRAN
Definition
Description
0x010x01
Override
0x02
Load-share
Caution:
If the optional [Interface Identifier] parameter is present, the integer formatted Interface Identifier must be
supported, while the text formatted Interface Identifier may be supported.
The format and description of the [INFO String] parameter are the same as for the ASP
Up message.
2)
The ASP Active Ack message contains the mandatory [Traffic Mode Type], optional
[Interface Identifier], and optional [INFO String] parameters.
The format and description of the [Traffic Mode Type] and [Interface Identifier]
parameters are the same as for the ASP Active (ASPAC) message.
The format and description of the optional [INFO String] parameter are the same as for
the ASP Up message.
5-138
3)
Chapter 5 SIGTRAN
The ASPIA message contains the mandatory [Traffic Mode Type], optional [Interface
Identifier], and optional [INFO String] parameters.
The format and description of the [Traffic Mode Type] and [Interface Identifier]
parameters are the same as for the ASP Active (ASPAC) message.
The format and description of the optional [INFO String] parameter are the same as for
the ASP Up message.
4)
The ASP Inactive Ack message contains the optional [Interface Identifier] and [INFO
String] parameters.
The format of the optional [Interface Identifier] parameter is the same as for the ASP
Active message.
The format and description of the optional [INFO String] parameter are the same as for
the ASP Up message.
Error
The Error message will only have the common message header. The Error message
contains the mandatory [Error Code] and optional [Diagnostic Information] parameters.
Figure 5-110 shows the structure of the Error message.
0
15
31
Length=8
Tag=0x0C
Error code
Tag=0x07
Length
Diagnostic information
Error Code
The [Error Code] parameter indicates the reason for the Error Message. Table 5-63 lists
the defined IUA error codes.
5-139
Chapter 5 SIGTRAN
Definition
Description
The "Invalid Version" error would be sent if a message was
received with an invalid or unsupported version.
0x010x01
Invalid Version
0x02
Invalid
Identifier
0x03
Unsupported
Message Class
0x04
Unsupported
Message Type
0x05
Unsupported Traffic
Handling Mode
Interface
0x06
Unexpected
Message
0x07
Protocol Error
0x08
Unsupported
Interface
Identifier
Type
Stream
0x09
Invalid
Identifier
0x0a
Unassigned TEI
0x0b
Unrecognized SAPI
5-140
Value
0x0c
Chapter 5 SIGTRAN
Definition
Invalid TEI,
combination
Description
SAPI
Diagnostic Information
The optional Diagnostic information can be any information germane to the error
condition, to assist in the identification of the error condition.
To enhance debugging, the Diagnostic information could contain the first 40 bytes of
the offending message.
2)
Notify (NTFY)
As shown in Figure 5-111 and Figure 5-112, the Notify message contains the
mandatory [Status Type], mandatory [Status Information], optional [ASP Identifier],
optional [Interface Identifiers], and optional [INFO String] parameters.
0
15
31
Parameter tag=0x0d
Parameter length=8
Status type
Status information
Parameter tag=0x01(Integer)
Parameter length
Interface Identifiers
Parameter tag=0x08(Integer range)
Parameter length
Parameter length
INFO string
5-141
Chapter 5 SIGTRAN
15
31
Parameter tag=0x0d
Parameter length=8
Status type
Status information
Parameter tag=0x03(String)
Parameter length
Interface Identifiers
Additional Interface Identifier of Tag type 0x03
Parameter tag=0x04
Parameter length
INFO string
Status Type
The [Status Type] parameter identifies the type of the Notify message. Table 5-64 lists
the defined status types.
Table 5-64 Status types
Value
Definition
0x010x01
0x020x02
Other
Status Information
The [Status Information] parameter contains more detailed information for the
notification, based on the value of the Status Type.
If the Status Type is AS_State_Change, the Status Information values shown in Table
5-65 are used: These notifications are sent from an SG to an ASP upon a change in
status of a particular Application Server. The value reflects the new state of the AS.
Table 5-65 Status information whose Status Type is AS_State_Change
Value
Definition
0x010x01
0x02
0x03
0x04
5-142
Chapter 5 SIGTRAN
If the Status Type is Other, the Status Information values shown in Table 5-66 are
defined. These notifications are not based on the SG reporting the state change of an
ASP or AS.
Table 5-66 Status information whose Status Type is Other
Value
Definition
Description
0x01
Insufficient ASP
resources active in
AS
0x02
Alternate
Active
ASP
Interface Identifiers
The format of the [Interface Identifiers] parameter in the Notify message is the same as
for the ASP Active message.
INFO String
The format of the [INFO String] parameter in the Notify message is the same as for the
ASP Up message.
3)
The TEI Status messages contain the common message header followed by IUA
message header. The TEI Status Request message does not contain any additional
parameters. As shown in Figure 5-113, the TEI Status Indication, and Confirm
messages contain the mandatory [Status] parameter.
0
15
Parameter tag=0x10
31
Parameter length
Status
Definition
Description
0x00
ASSIGNED
0x01
UNASSIGNED
5-143
Chapter 5 SIGTRAN
Figure 5-114shows the example IUA message flows for the establishment of traffic
between an SG and an ASP, where only one ASP is configured within an AS (no
backup). It is assumed that the SCTP association is already set up.
SG
ASP
ASP Up
ASP Up Ack
ASP Active
ASP Active ACK
Figure 5-115shows the example IUA message flows for the establishment of traffic
between an SG and two ASPs in the same Application Server, where ASP1 is
configured to be Active and ASP2 a standby in the event of communication failure or
the withdrawal from service of ASP1. ASP2 MAY act as a hot, warm, or cold standby
depending on the extent to which ASP1 and ASP2 share call state or can communicate
call state under failure/withdrawal events.
SG
ASP1
ASP2
ASP Up
ASPUP ACK
ASP Up
ASPUP ACK
ASP Acitve
Figure 5-115 Establishment of traffic when there are two ASPs in the same AS
z
The two ASPs are brought to active and load-share the traffic load. In this case, one
ASP is sufficient to handle the total traffic load. See Figure 5-116.
5-144
Chapter 5 SIGTRAN
ASP1
ASP Up
ASP2
ASPUP ACK
ASP Up
ASPUP ACK
ASP Active (Load-sharing)
ASP Active ACK
ASP Active (Load-sharing)
ASP Active ACK
Figure 5-116 Establishment of traffic when there are two ASPs in the same AS (in the load-sharing case)
z
Figure 5-117shows the example IUA message flows for the establishment of traffic
between an SG and three ASPs in the same Application Server, where two of the ASPs
are brought to active and share the load. In this case, a minimum of two ASPs are
required to handle the total traffic load (2+1 sparing).
SG
ASP Up
ASP1
ASP2
ASP3
ASPUP ACK
ASP Up
ASPUP ACK
ASP Up
ASPUP ACK
Figure 5-117 Establishment of traffic when there is are three ASPs in the same AS
5-145
ASP Up
Chapter 5 SIGTRAN
ASP1
ASP2
ASPUP ACK
Notify (AS Pending)
ASP Active
ASP Active ACK
In this case, the SG notifies ASP2 that the AS has moved to the Down state. The SG
could have also (optionally) sent a Notify message when the AS moved to the Pending
state.
Caution:
If the SG detects loss of the IUA peer (IUA heartbeat loss or detection of SCTP failure), the initial SG-ASP1
ASP Inactive message exchange would not occur.
Figure 5-119shows a case in which ASP2 wishes to over-ride ASP1 and take over the
traffic. In this case, the SG notifies ASP1 that an alternative ASP has overridden it.
ASP1
SG
ASP Active
ASP2
Figure 5-120shows the example IUA message flows for the establishment of traffic
between an SG and three ASPs in the same Application Server in the n+k backup and
load-sharing mode. ASP1 withdraws from service. In this case, the SG has knowledge
of the minimum ASP resources required (implementation dependent),for example, if
the SG knows that n+k = 2+1 for a load-share AS and n currently equals 1.
5-146
ASP Inactive
Chapter 5 SIGTRAN
ASP1
ASP3
ASP2
Caution:
If the SG detects loss of the IUA peer (IUA heartbeat loss or detection of SCTP failure), the initial SG-ASP1
ASP Inactive message exchange would not occur.
Procedure
Step 1: Determine the correct SG.
Step 2: Find the SCTP association to the chosen SG.
ASP->SG
SG->ASP
5-147
Chapter 5 SIGTRAN
An example of the message flows for establishing a data link on a signaling channel,
passing PDUs, and releasing a data link on a signaling channel is shown in Figure
5-122. An active association between ASP and SG is established prior to the message
flows.
SG
ASP
Establish Request
Establish Confirm
Data Request
Data Indication
Data Request
Data Indication
Data Request
Data Request
Data Indication
Release Request(Release_MGMT)
Release Confirm
Figure 5-122shows an example of the message flows for a failed attempt to establish a
data link on the signaling channel. In this case, the gateway has a problem with its
physical connection, so it cannot establish a data link on the signaling channel.
SG
ASP
5-148
Chapter 5 SIGTRAN
ASP
DATA Request
Error Indication (INVALID_TEI)
TEI Status Request
TEI Status Confirm (Unassigned TEI)
5.6 V5UA
5.6.1 Introduction
V5UA is defined by IETF Draft V5.2-User Adaptation Layer (V5UA). It is a mechanism
for backhauling of V5.2 messages over IP using SCTP or other applicable transmission
protocols. See Figure 5-124.
AN
V5.2
LAPV5
V5.2
V5UA
SG
(NIF)
LAPV5
MGC
V5UA
V5UA
M2UA
SCTP
SCTP
IP
IP
5.6.2 Terminology
I. Bearer Channel Connection (BCC) Protocol
It refers to a protocol which allows the local exchange (LE) to instruct the access
network (AN) to allocate bearer channels, either singly or in multiples, on demand.
5-149
Chapter 5 SIGTRAN
All the ISDN Ds-type data from one or more user ports
All the PSTN P-type data from one or more user ports
All the ISDN T-type data from one or more user ports
Protocol
08175
ISDN_PROTOCOL
8176
PSTN_PROTOCOL
8177
CONTROL_PROTOCOL
8178
BCC_PROTOCOL
8179
PROT_PROTOCOL
8180
LINK_CONTROL_PROTOCOL
81818191
RESERVED
VI. Multi-Link
It refers to a collection of more than one 2048 kbit/s link which together make up a V5.2
interface.
5-150
Chapter 5 SIGTRAN
VII. Multi-Slot
It refers to a group of more than one 64 kbit/s channels providing 8 kHz and time slot
sequence integrity, generally used together within an ISDN Primary Rate Access
(ISDN-PRA) user port, in order to supply a higher bit-rate service.
X. Secondary Link
It refers to a 2048 kbit/s (E1) link in a multi-link V5.2 interface whose time slot 16 carries
a C-path for the protection protocol, and, on V5.2 initialization, acts as the standby
C-channel for the control protocol, link control protocol, and BCC protocol and any
other C-paths initially carried in time slot 16 of the primary link.
5-151
Chapter 5 SIGTRAN
V5.2
V5UA
LM
SCTP
IP
Description
5-152
Chapter 5 SIGTRAN
Boundary primitive
MPH-LINK
Reporting
MPH-LINK
Reporting
Status
Status
Description
Start
Stop
MPH-SA-BIT SET
MPH-SA-BIT Status
MDL-ERROR Indication
5-153
Chapter 5 SIGTRAN
SoftX3000
H.248/V5UA
IP MAN
UMG8900
V5
ONU
POTS
ISDN
Common Header
Version(8)
Spare(8)
Message class(8)
Message type(8)
Message length(8)
V5UA message
Header
Tag(16)
Length(16)
Interface Identifier(32)
Parameter tag(16)
V5UA message 0#
Parameter length(16)
Parametervalue(32)
Parameter tag(16)
V5UA message n#
Parameter length(16)
Parametervalue(32)
5-154
Chapter 5 SIGTRAN
The version field contains the version of the V5UA adaptation layer. The currently
supported version number is 0000 0001, which means version 1.0.
Spare
The length of the spare field is eight bits. This field SHOULD be set to all '0's and
ignored by the receiver.
Message Class
Description
00
01
02
03
04
05
06
07
08
09
0A
0B-7F
80-FF
Message Type
The message types as listed in Table 5-72, Table 5-73, Table 5-74 and Table 5-75 are
defined according to different message classes.
Table 5-72 V5 boundary primitives transport messages (V5PTM)
Value
00
Message type
Reserved
Description
-
5-155
Value
Chapter 5 SIGTRAN
Message type
Description
01
Data Request
02
Data Indication
03
04
05
Establish Request
06
Establish Confirm
07
Establish Indication
08
Release Request
09
Release Confirm
0A
Release Indication
0B
0C
0D
0E
0F
5-156
Value
Chapter 5 SIGTRAN
Message type
Description
10
11
12
Error Indication
0B-7F
80-FF
Reserved
IETF-defined
extensions
for
V5PTM
Table 5-73 V5UA application server process state maintenance (ASPSM) messages
Value
Message type
Description
00
Reserved
01
ASP Up (UP)
02
03
Heartbeat (BEAT)
04
05
06
07-7F
80-FF
Reserved
IETF-defined
extensions
for
ASPSM
5-157
Chapter 5 SIGTRAN
Table 5-74 V5UA application server process traffic maintenance (ASPTM) messages
Value
Message type
Description
00
Reserved
01
02
ASP
(INACTIVE)
Inactive
03
ASP
Active
(ACTIVE ACK)
Ack
04
ASP
Inactive
(INACTIVE ACK)
Ack
05-7F
80-FF
Reserved
IETF-defined
extensions
for
ASPTM
Message type
Description
00
ERROR
01
Notify (NTFY)
02
03
04
05-7F
80-FF
Reserved
IETF-defined
extensions
1)
for
MGMT
Message Length
The message length field defines the length of the message in octets, including the
header.
5-158
Chapter 5 SIGTRAN
The [Parameter Length] field must be a multiple of four bytes. If it is not a multiple of
four bytes, the sender pads with all zero bytes after the [Parameter Value] field. The
[Parameter Length] must not be padded with all zero bytes. A sender must not pad with
more than three bytes. The receiver must ignore the padding bytes.
Parameter Value
The [Parameter Value] has a variable length. It contains the actual information to be
transferred in the parameter.
15
Parameter tag=0x01
31
Parameter length
Parameter length=8
EFA
DLCI
DLCI
EFA
5-159
Chapter 5 SIGTRAN
EFA is defined in the V5 standard. The EFA identifies a C-path, which is a 13-bit number,
ranging from 0 to 8191 (decimal). As shown in Table 5-68, an EFA uniquely identifies
one of the five V5.2 protocols, or an ISDN agent attached to an AN.
Caution:
For MPH messages for which DLCI and EFA are not used, SAPI, TEI and EFA shall be set to ZERO and
shall be ignored by the receiver. For all other messages, the DLCI shall be set as defined in the V5.2
standard.
15
Parameter tag=0x01
31
Parameter length
Channel ID
Link Identifier
Description
Link Identifier
It refers to the identifier for an E1 link on the SG (27 bits).It must be unique
on the SG. This Link Identifier MUST match the Link Identifier used in the
Link Management Messages defined in this document.
Channel ID
The text formatted interface identifier shall be coded as the hex representation of the
integer formatted interface identifier, written as a variable length string.
Chapter 5 SIGTRAN
The Link Status Indication Message contains the common message header followed by
the V5UA message header. In addition it contains the parameter as shown in Figure
5-130.
0
15
Parameter tag=0x11
31
Parameter length
Link Status
The valid values for Link Status are shown in the Table 5-76.
Table 5-76 Valid values of Link Status
Value
Definition
Description
0x0000
Operational
Link is in operation.
0x0001
Non-Operational
VI. Sa-Bit Messages (Set Request, Set Confirm, Status Request, Status
Indication)
All Sa-Bit Messages contain the V5UA message header and the additional parameters
of [BIT ID] and [BIT Value] as shown in Figure 5-131.
0
15
Parameter tag=0x12
31
Parameter length
BIT Value
BIT ID
BIT ID
Definition
Description
Sa7
BIT Value
5-161
Chapter 5 SIGTRAN
Definition
Description
0x00
0x01
Note:
For the Sa-Bit Status Request and Set Confirm messages, the BIT Value should be set to '0' by the sender
and should be ignored by the receiver.
15
Parameter tag=0x13
31
Parameter length
ERROR Reason
[Error Reason] has only one value, that is, 0x01, whose definition is Overload. It means
that a C-channel is not able to process all Layer 3 messages on this C-channel in a
timely manner (overload condition of the C-channel).
5-162
Chapter 5 SIGTRAN
SG
ASP
Data Request (LnkCtrl:FE-IDReq)
Data Indication (LnkCtrl ACK:FE-IDReq)
Data Indication(LnkCtrl:FE-IDAck)
Data Request (LnkCtrl ACK:FE-IDAck)
Sa_BIT Status Request (Sa7)
Sa_BIT Status Indication(Sa7,ZERO)
Data Request (LnkCtrl:FE-IDRel)
Data Indication (LnkCtrl ACK:FE-IDRel)
Figure 5-133 Link identification procedure initiated by the MGC through V5UA
ASP
Data Indication (LnkCtrl: FE-IDReq)
Data Request (LnkCtrl Ack: FE-IDReq)
5-163
Chapter 6 SS7
Chapter 6 SS7
6.1 Overview
Signaling system No.7 (SS7) is made by International Telephone and Telegraph
Consultative Committee (CCITT). SS7 is an international standard common channel
signaling, which features high-speed transmission, potentiality of providing a great
number of signals, powerful functions, flexibility and reliability. It can meet the signaling
requirements of public switched telephone network (PSTN), global system for mobile
communications (GSM), and intelligent network (IN).
Functional structure of the SS7 in the NGN is shown in Figure 6-1.
T
U
P
I
S
U
P
INAP
User part
TCAP
SCCP
MTP3
MTP2
M3UA
M2UA
MTP1
SCTP
IP
MAC
6-1
Chapter 6 SS7
6.2 MTP
6.2.1 Basic Concepts
MTP is used to transmit signaling messages of various UPs (such as TUP, DUP, and
ISUP) in SS7 system. Its design complies with the ITU-TQ.701-710 recommendations.
The MTP provides reliable signaling message transmission. It takes measures to avoid
message loss, repetition, and out-of-sequence in case of the signaling network failure.
The MTP includes the functional levels of signaling data link (MTP1), signaling link
(MTP2) and signaling network (MTP3).
I. MTP1
The signaling data link function is the Level 1 function (MTP1) of MTP. MTP1 defines
the physical, electrical and functional features of a signaling data link and the means to
access the data link. It is equivalent to the physical layer of open system
interconnection (OSI)s seven-layer model, which is to generate and receive signals
over physical channels.
One signaling data link is composed of two data channels operating at the same data
transmission rate and in two opposite directions. The bit rate of digital message carrier
is 64 kbit/s. It is applicable to transmission links of both lower rate (such as 4.8 kbit/s)
and higher rate (such as 2048 kbit/s).
II. MTP2
The signaling link function is the Level 2 function (MTP2) of MTP. It provides reliable
signaling links for transmitting signaling messages to signaling data links between two
directly connected SPs together with Level 1.
Signaling link function can be divided into eight parts:
z
Error detection;
Error correction;
Initial alignment;
Processor faults;
III. MTP3
The network layer is the Level 3 (MTP3) of MTP. It transmits management messages
between two SPs to ensure the reliable transmission of various signaling messages in
case of the failure of signaling links or STPs. It is equivalent to the third layer (network
layer) of the OSI model.
6-2
Chapter 6 SS7
Level 2
Incoming
Message
discrimination
Message
routing
Signaling network management
Signaling traffic
management
Signaling route
management
Signaling link
management
Message routing function determines the outgoing signaling links through which
messages are transmitted to destinations from every SP.
Message discrimination function is used to identify whether the DSP that receives
a message is the local SP. If the local SP is not the DSP and is capable of
transferring, the message routing function will be enabled to transfer the message.
2)
6-3
Chapter 6 SS7
route to multiple links or routes. It can restart MTP of an SP or slow down signaling
traffic temporarily in case of congestion.
Signaling link management: It is to restore faulty signaling links, to activate those
links that are not arranged, and to deactivate arranged signaling links.
Signaling route management: It distributes the status information of the signaling
Full name
CHM
COO
Changeover-order signal
COA
Changeover-acknowledgement signal
CBD
Changeback-declaration signal
CBA
Changeback-acknowledgement signal
ECM
Emergency-changeover message
ECO
Emergency-changeover-order signal
ECA
Emergency-changeover-acknowledgement signal
FCM
Signaling-traffic-flow-control messages
RCT
Signaling-route-set-congestion-test signal
TFC
Transfer-controlled signal
TFP
Transfer-prohibited signal
6-4
Chapter 6 SS7
Acronym of message
Full name
TFR
TFA
Transfer-allowed signal
RSM
Signaling-route-set-test message
RST
RSR
MIM
LIN
LUN
LIA
LUA
LID
LFU
LLT
LRT
TRM
Traffic-restart-allowed message
TRA
Traffic-restart-allowed signal
DLM
Signaling-data-link-connection-order message
DLC
Signaling-data-link-connection-order signal
CSS
Connection-successful signal
CNS
Connection-not-successful signal
CNP
Connection-not-possible signal
UFC
UPU
MSU is to transmit messges of various UPs, management messages, and test and
maintenance messges.
6-5
Chapter 6 SS7
FISU is to maintain the normal running of signaling links and play a fill-in part when
MSU
CK
SIF
SIO
16
8N(N 2)
LI
FIB
FSN
BIB
BSN
F
8 Bit sent firstly
LSS U
CK
SF
16
8 or 16
LI
FIB
FSN
BIB
BSN
CK
16
LI
FIB
FSN
BIB
BSN
This part includes flag (F), forward sequence number (FSN), forward indicator bit (FIB),
backward sequence number (BSN), backward indicator bit (BIB), length indicator (LI),
check bit (CK), status field (SF) and service information octet (SIO).
z
Flag
Flag is also called delimiter. There is a flag at both the start and the end of every
signaling unit. During the transimission of signaling units, every flag indicates the end of
the last signaling unit and the start of the next one. Therefore, in the delimitation
identification of signaling units, a signaling unit is identified by two flags of the start and
the end in the information flow.
The pattern for a flag is 8-bit binary code 01111110.
In addition to the delimitation function, some flags can be inserted between signaling
units in case of overload of signaling links to reduce load.
z
FSN
FSN indicates the sequence number of the transmitted MSU and consists of 7 bits. At
the transmitting end, every transmitted MSU is allocated with a FSN. FSNs are
numbered in a cyclic sequence ranging from 0 to 127 At the receiving end, the FSNs in
6-6
Chapter 6 SS7
the received MSUs are used to check the sequence of the MSUs, which is a part of the
confirmation function. When retransmission is necessary, it is also used to identify the
signal units to be retransmitted. The FSN of FISU or LSSU uses the FSN of the MSU
transmitted last time, instead of being assigned with new sequence numbers.
z
FIB
It occupies one bit. FIB is used in the retransmission process of MSUs. In the normal
operation, FIB has the same state with that of the received BIB. Retransmission is
requested if the received BIB changes its value. Upon retransmitting MSUs, the
signaling terminal will also change the value of FIB (from "1" to "0" or from "0" to "1" ), so
that it is consistent with BIB again until BIB changes its value again when there is
another retransmission request.
z
BSN
The BSN is the sequence number of the confirmed (that is, received correctly) MSUs
being sent back to the transmitting end by the receiving end.
If retransmission is requested, BSN indicates the sequence number of the unit to be
retransmitted.
In the operation of a signaling network, the transmitting end and receiving end set their
FSN independently.
For transmitted and unconfirmed signaling units, the limit value of FSN and BSN is 127.
z
BIB
BIB is used to initiate a retransmission request for a wrong signaling unit received. If an
MSU received is correct, its BIB value remains unchanged when a new signaling unit is
sent. If a wrong MSU is received, the bit will be reversed (that is, from "0" to "1" or from
"1" to "0") and sent, requesting the opposite end to send a correct MSU.
z
LI
LI is used to indicate the number of octets following the length indicator octet and
preceding the check bit (CK) so as to distinguish three types of signaling units.
LI is a number in binary code in the range 063 (decimal numeral). The field of LI is 6
bits.
The LIs of the three types of signaling units are as follows:
Length indicator LI=0
Chapter 6 SS7
regulates that the number of bits between two flags of a signaling unit must be an
integral number of octets. The number of octets can be "0" (if only the flag is transmitted)
or 5 (for FISU). The number can also be less than or equal to m+7 octets (m is equal to
272). If the number is beyond the range, it is regarded that there is a signaling unit error.
CK
The field is used for error detection of signaling units. It consists of 16 bits.
The seven fields above mentioned are available in all the three kinds of signaling units.
(Eight fields including end F have been discussed). They are mandatory for every
signaling unit.
SF
Status field is unique to each LSSU, which indicates the statuses of signaling links.
The length of SF can be an octect (8-bit) or two octects (16-bit).
When it is an octect, the lower 3 bits indicates link statuses. The meanings are shown in
Table 6-2.
Table 6-2 Meanings of SF status indication
CBA
Identifier
Indication
Meaning
000
SIO
Status indication O
Out of location
001
SIN
Status indication N
Normal location
010
SIE
Status indication E
Emergency location
011
SIOS
Status indication OS
Out of service
100
SIOP
Status indication OP
Processor outage
101
ISB
Status indication EB
Busy
SIO
The field of SIO is unique to MSUs. It consists of SI and SSF, as shown in Figure 6-4.
The field has 8 bits. SI and SSF occupy 4 bits respectively.
6-8
F CK SIF
Chapter 6 SS7
SIO
SSF
DCBA
Meaning
0000
0100
International message
1000
1100
National message
Reserved (international)
Reserved (national)
SI
DCBA
0000
0001
0010
0011
0100
0101
0110
Meaning
Signaling network management message
Signaling network test and maintenance message
Reserved
Signaling connection control part
Telephone subscriber part
ISUP
Digital user part
0111
1000
Reserved
1111
Figure 6-4 Format and codes of SIO
2)
SI
SI indicates to which user part the transmitted message belongs. In the MTP of a
signaling network, the message processing function distributes a message to the user
part indicated by SI.
SI is coded as Figure 6-4. The capacity of SI allows it to represent messages of16 kinds
of UPs. This diagram only lists those that are frequently used.
3)
SSF
ISSF consists of 4 bits, of which the higher two bits act as the network indicator, and the
lower two bits, coded 00, are reserved presently.
The network indicator serves to distinguish the network attribute of the transmitted
message, that is, to distinguish between an international signaling network message
and a national signaling network message. Figure 6-4 illustrates the codes and network
allocation of SSF.
According to CCITT stipulations, the use of the reserved codes in SSF is determined by
the domestic signaling network conditions in different countries.
4)
Signaling information part processed by user parts is the SIF in the format of MSU. SIF
is unique to MSUs. It consists of message addressing tag, user signaling information
heading and user signaling information.
6-9
Chapter 6 SS7
Tag
Tag includes the information required in sending messages to the destination. Standard
routing tag has 32 bits, which is at the beginning of SIF. The tag includes destination
point code (DPC), originating point code (OPC) and SLS.
Signaling point code is a digital address, which identifies every signaling point in the
No.7 singnaling network uniquely. When the DPC in a message represents the
receiving sigaling point, the message is distributed to the correponding user part (such
as ISUP or SCCP) in the SIO as indicated by the service indicator.
The SLS ensures the sequencing of messages. Any two messages sent with the same
SLS always arrive at the destination in the same sequence as that in which they are
sent. Equal traffic load can be shared among all available links. If a user part regulary
sends messages and distributes the SLS value cyclically, all the service levels to the
destination should be equal. There are four types of tag structures, as shown in Figure
6-5.
Type A
Type B
TUP message
Type C
ISUP message
Type D
SCCP message
Since TCAP messages must be sent through SCCP, TCAP messages belong to the
type of SCCP messages, that is, type D.
F
CK
SIO
SIF
SLC
Management message
CIC
Signaling message
Signaling message
SLS
CIC
SLC
SLS
LI
BSN F
OPC
DPC
OPC
DPC
OPC
DPC
OPC
DPC
Label
It is the field immediately following the tag field. It is composed of H1 and H0, occupies 4
bits respectively, and indicates the group and type of messages. For example, H0=
0001 and H1=0001 in a telephone user part (TUP) message mean that the transmitted
message is an initial address message (IAM); H0=0001 and H1=0100 mean that the
6-10
Chapter 6 SS7
Signaling message
Signaling message part is also called service message part. This part can be further
divided into several sub-fields. These sub-fields may be mandatory or optional, and
meanwhile they may be of fixed length or variable length so as to meet the needs of
various functions and expansion. Thus the SMU is adaptable to different user
messages with different features, so that these various user messages can be
transmitted through common channels.
For specific format and codes of SIF, refer to the descriptions of codes and format of
user messages.
z
MTP
The fields F, BSN, BIB, FSN, FIB, LI and CK in a signaling unit are mainly used for the
sending and receiving sequence, error detection and correction of signaling message
units. These fields are analyzed and processed in the second function level of a
signaling network, that is, signaling link level. FISU is mainly composed of those fields
with transmission control function. It has the function to "fill-in" in the signaling link, and
therefore the signaling unit of this type is generated and processed by the second
function level.
LSSU is used to transmit the status indication information of a signaling link. It is also
generated and processed on the second function level. The second function level may
generate and transmit corresponding status signaling units according to instructions
from the third level or its judgement, or receive and process the signaling link status
indication sent by the opposite end. If necessary, it reports such statuses as congestion
and processor error to the third level.
The MSUs transmitted in a signaling network fall into three types according to their
roles in the network: MSU used for signaling network management (MSU-SNM), MSU
used for signaling network test and maintenance (MSN-SNT), and MSU generated by
the user part (MSU-UP). The first two types are of type A structure, which are
transmitted between MTPs. They are generated and processed by Level 3. The third
type consists of messages of type B, C and D structures. These messages are
transmitted through the MTP to a specific UP. Level 3 analyzes its message tag, and
determines the message destination; while the generation and processing of its service
message part (SIF) are performed in Level 4, that is, the user part.
The most important message in the MTP layer is the signaling network management
message. The following introduces the general format of the signaling network
management message.
6-11
Chapter 6 SS7
H0
4
SLC
4
OPC
DPC
24/14
24/14
Tag
Heading code
6-12
Chapter 6 SS7
Table 6-3 Distribution of the heading code of the management message of the signaling network
Message
Group
H1
H0
0000
0001
0010
0011
0100
0101
0110
CBD
CBA
TFA
LID
LFU
0111
1000
LLT
LRT
0000
CHM
0001
COO
COA
ECM
0010
ECO
ECA
FCM
0011
RCT
TFC
TFM
0100
TFP
RSM
0101
RST
RSR
MIM
0110
LIN
LUN
LIA
LUA
TRM
0111
TRA
DLM
1000
DLC
CSS
CNS
CNP
TFR
1001
UFC
1010
UPU
1011
1100
1101
1110
1111
6-1
1001
1010
1011
1100
1101
1110
1111
Chapter 6 SS7
Example
The following is the format of the TFA message:
DCBA 0100
Destination
H1
H0
Flag
24
56
TFA
Message routing
The message routing function is based on the information contained in the routing tag,
that is, the information on DPC and SLC field.
Each signaling point has routing information which determines the signaling link.
Messages are sent in the siganaling link according to the DPC and SLS field.
Typically, the DPC is associated with more than one signaling links which are used to
bear messages. A specific signaling link is selected through the SLS field, thus realizing
load sharing.
Two basic exmples of load sharing:
z
Any SLC can be allocated to messages unrelated to the signaling link so that the
messages can be load-shared. The other way is to allocate the default SLC, such as
0000 to these messages. The messages route according to the normal routing
function. In this function, the SLC is used as the SLS to realize load sharing.
2)
Switchover
The switchover program ensures that the signaling services borne on unavailable links
are switched over to alternative signaling links as soon as possible. It also avoids
message loss, repetition and sequencing errors.
To implement this function, buffer updating and recovery are included in the switchover
process. The process is started before the signaling link starts switching over the
service. Buffer updating includes identifying all the messages in the retransmission
buffer of the available signaling link. These message are not received by the remote
end. Recovery includes forwarding relevant messages to the transfer buffer of the
alternative link.
6-1
Chapter 6 SS7
When one signaling link is unavailable, switchover is implemented in the signaling point.
Then the following is conducted:
z
Running the content updating process of the re-buffer of the unavailable signaling
link.
3)
Changback
The changback program ensures that the signaling services are transferred from
alternative signaling links to available signaling links as soon as possible. It also avoids
message loss, repetition and sequencing errors. Changback includes the basic
program that uses opposite activities for switchover.
When a signaling link becomes available due to reconnection, recovery or unlocking,
changback is implemented at the signaling point. Then the following is conducted:
z
Determining the alternative signaling link that forwarded normals servies in the
past.
Stopping the transmitting of related services on the alternative signaling link, and
storing the services in the changback buffer.
When receiving the changback confirmation sent by the remote signaling point of
the available signaling link, the relevant signaling point will restart the forwarded
service on the available signaling link.
4)
If initial alignment succeeds, the signaling link becomes activated and the
signaling link test starts.
If the signaling link test succeeds, the link prepares to transmit signaling services.
If initinal alignment fails, a new initial alignment process starts on the same
signaling link after time-out for the timer.
If the signaling link test fails, start link recovery until the signaling link is activated
or conduct manual operations.
5)
When a signaling link fault is detected, signaling link initial alignment will occur.
z
If the signaling link test succeeds, the link is recovered and can be used for
signaling transmission.
6-2
Chapter 6 SS7
If initial alignment fails, a new initial alignment process may be started on the same
signaling link.
If the signaling link test fails, repeat the recovery process until the link is recovered,
or intervene manually.
6)
If not bearing signaling services, an active signaling link can turn inactive through the
deactivating process. If a signaling link is deactivated, the signaling terminals of the
signaling link exit services.
7)
Transfer-prohibited procedure
To facilitate description, three letters are used to represent three kinds of signaling
points: Y for OSP, X for DSP, and Z for signaling transfer point (STP).
z
When Y selects the signaling route from Z to X, Z is unavailable for Y. In this case,
the TFP transfer-prohibited message is sent to Z.
When Z receives a message sent to X and Z cannot forward the message, the
transfer-prohibited message is sent to an adjacent signaling point and relevant
messages are received at this point.
6.3 ISUP
6.3.1 Overview
I. Basic Concepts
ISUP is one kind of UPs of the No.7 public channel signaling system. It provides the
signaling function required for supporting voice and non-vocie basic bearer services
and supplementary services in the integrated services digital network (ISDN).
ISUP is applied to the hybrid digital/analog network, telephony network, and dedicated
circuit-switched data network. ISUP meets the requirements of CCITT for international
semi-automatic and automatic telephony services and circuit-switched data services.
6-3
Chapter 6 SS7
ISUP
User part
M3UA
MTP3
M2UA
MTP2
SCTP
IP
MTP1
MAC
6-4
Chapter 6 SS7
MTP link
SS7 network
STP(B)
STP(A)
SoftX3000
ISUP
PSTN switch
IP MAN
TMG8010 / UMG8900
SoftX3000
M2UA
ISUP
IP MAN
PSTN switch
TMG8010 / UMG8900
SoftX3000
SS7 network
SG7000
STP
M3UA link
MTP link
IP MAN
TMG8010 / UMG8900
PSTN switch
Chapter 6 SS7
The SoftX3000 provides an M3UA link to connect with the SG7000, and exchanges
SS7 with a PSTN switch through the SG7000. In the voice channel, the SoftX3000
controls the TMG8010 to implement the interconnection with the PSTN.
SIF
CK
Signaling message
SIO
CIC
LI
OPC
SLC
FIB
FSN
BIB
BSN
DPC
MSU
ISUP message
Message type
Mandatory parameter A with fixed length
Point to parameter P
Point to star t bit of optional parameter
Length of parameter M
Parameter M
Length of parameter P
Parameter P
Code of parameter X
Length of parameter X
Parameter X
Optional parameter
Code of parameter Z
Length of parameter Z
Parameter Z
End tag of variable parameter
6-6
Chapter 6 SS7
Abbreviation
Meaning
00000001
IAM
00000010
SAM
00000011
INR
00000100
INF
00000101
COT
00000110
ACM
00000111
CON
FOT
ANM
00001100
REL
00001110
RES
RLC
00001000
00001001
00010000
6-7
Code
Chapter 6 SS7
Abbreviation
Meaning
00010001
CCR
00010010
RSC
0010011
BLO
00010101
BLA
00010111
GRS
00011000
CGB
00011001
CGU
00011010
CGBA
00011011
CGUA
00011111
FAR
00100000
FAA
00100001
FRJ
00100100
LPA
00101000
PAM
Pass-along message
6-8
Code
Chapter 6 SS7
Abbreviation
Meaning
00101001
GRA
00101010
CQM
00101011
CQR
CPG
CFN
00110000
OLM
00110001
CRG
00110010
NRM
00110011
FAC
00110110
IDR
Identification request
00110111
IDS
Identification response
00111000
SGM
00101100
00101111
00011101
00011100
00011110
Reserved.
00100111
6-9
Chapter 6 SS7
Each kind of message is composed of a message type code and several parameters.
Each parameter has a name that is coded by a single octet. The length of a parameter
can be fixed or variable, and each parameter has an LI, the length of which is one octet.
6-10
Chapter 6 SS7
MG1
SoftX3000
MG2
SG2
IAM
(2)
Add
Replay
Add
(3)
Replay
IAM
IAM
(4)
ACM
(5)
Modify
Reply
(6)
ACM
ANM
(8)
Modify
(7)
Reply
(9)
ANM
REL
(10)
REL
RLC
RLC
Subtract
Subtract
(11)
Reply
Reply
Figure 6-12 ISUP call setup and release flow originated by a trunk media gateway
1)
After the caller dials the number of the callee, an IAM is sent to the SoftX3000
through SG1.
2)
A context is created in MG1. TDM termination and RTP termination are added in
the context. [Mode] is set to SendReceive. The jitter buffer and voice
compression algorithm are also set. MG1 returns its RTP port number and voice
compression algorithm through the Reply command.
3)
A context is created in MG2. TDM termination and RTP termination are added in
the context. [Mode] is set to SendReceive. The jitter buffer and voice
compression algorithm are also set. MG2 returns its RTP port number and voice
compression algorithm through the Reply command.
6-11
4)
Chapter 6 SS7
The SoftX3000 sends an IAM to the circuit-switched network through SG2. The
circuit-switched network returns an ACM. The phone set of the callee rings.
5)
The SoftX3000 sends the Modify command to MG1 and reports the remote RTP
port number.
6)
7)
8)
9)
The callee hooks off. SG2 sends an REL to the SoftX3000. The SoftX3000 sends
an REL to SG1.
10) The SoftX3000 sends the Subtract command to MG1 and MG2.
6.4 SCCP
6.4.1 Basic Concepts
Signaling connection control part is abbreviated as SCCP. In the layered architecture of
SS7, SCCP is one of the UPs. It belongs to the fourth functional group, providing
additional functions for MTP at the same time so that circuit related information,
non-circuit related information and other information can be transmitted between the
switches and special centers of telecommunication network through SS7 network.
Thus, connectionless or connection-oriented services can be created, and the third
layer (network layer) of OSI layered model can be constructed.
I. Function
The purpose of SCCP is to provide the methods by which data information is
transmitted in the following cases:
z
Transferring signaling data units with logic signaling connection established or not
established.
With SCCP function, the circuit related and non circuit related signaling information of
ISUP can be transmitted when peer-to-peer signaling connection is established or not
established.
Classes 0 and 1 services are connectionless, and classes 2 and 3 services are
connection-oriented.
6-12
Chapter 6 SS7
The connectionless services mean that the user can transfer signaling information
through signaling network without setting up signaling connections in advance. The
connectionless services of SCCP are equivalent to the data service of data network.
Class 0 service do not ensure that messages can be transferred in sequence, while
class 1 service can ensure that messages can be transferred to their destination in
sequence by using SLS.
The connection-oriented services mean that users exchange control information
between SCCPs to reach a protocol before transmitting data. The protocol contains the
route through which data are transferred, the class of transferred services (whether it is
basic connection-oriented class or flow control connection-oriented one), even possibly
the amount of the data transferred, and so on.
The connection-oriented services of signaling can be divided into temporary signaling
connection and permanent signaling connection.
Service users control the establishment of temporary signaling connection, which is
similar to dialing telephone connection.
Permanent signaling connection is established and controlled by local (or remote) O&M
function or by the node management function, which can provide the users with
semi-permanent connection, which is similar to a leased telephone line. The
connection-oriented connection described here refers to temporary signaling
connection.
6-13
1 0
Chapter 6 SS7
bit
DPC
0 0 0 0 0 0 0 0
OPC
BIB
BSN
FIB
F SN
SLS
Message type
LI
Sub-service field
SI
Mandatory parameter A
with fixed length
Mandatory parameter B
with fixed length
Point to parameter M
Point to parameter P
Point to start bit of
optional parameter
SIF
Length of parameter M
Parameter M
Length of parameter P
Parameter P
Code of parameter X
ck
Length of parameter X
Parameter X
0 1 1 1 1 1 1 0
Code of parameter Z
Length of parameter Z
Parameter Z
0 0 0 0 0 0 0 0
2
X
6-14
3
X
Code
00000001
Chapter 6 SS7
Protocol class
Message type
Code
00000010
Connection refusal
(CREF)
00000011
Connection released
(RLSD)
00000100
00000101
00000110
00000111
Data acknowledgement
(AK)
00001000
00001001
00001010
00001011
Expedited data
acknowledgement (EA)
00001100
00001101
00001110
00001111
00010000
DT1, DT2 and ED are three kinds of messages used to transfer data after
signaling connection is established successfully. Among them, DT1 is used for
protocol class 2, while DT2 and ED are used for protocol class 3. In addition, DT2
and ED must be acknowledged by AK and EA.
RLSD and RLC are used to release the signaling connection after data transfer.
RSR and RSC are in protocol class 3 to re-initialize the data sending sequence
numbers in the data transmitting stage.
6-15
Chapter 6 SS7
ERR is sent when any protocol error is detected, and IF is used to check whether
both ends of the signaling connection work.
UDT, XUDT, UDTS, and XUDTS are connectionless service messages. UDT and
XUDT are used to transfer connectionless service data. When UDT and XUDT
can not reach their destinations, UDTS and XUDTS must be sent to the originating
point to show the causes if it is specified in UDT and XUDT.
Code
00000000
00000001
00000010
Called address
00000011
Caller address
00000100
Protocol class
00000101
Segmentation/re-assembly
00000110
00000111
Sorting/segmentation
00001000
Credit
00001001
Release cause
00001010
Return cause
00001011
Reset cause
00001100
Error cause
00001101
Refusal cause
00001110
6-16
Chapter 6 SS7
Parameter name
Code
Data
00001111
[Destination local reference] and [origin local reference] specify one signaling
connection uniquely.
[Protocol class] defines the four kinds of protocols of connectionless services and
connection-oriented services.
If the length of network service data unit (NSDU) is longer than the maximum
length of message for data transmitting, the NSDU must be divided into several
segments to be transferred and then reassembled when they reach the
destination. The parameter [segmentation/reassemble] aims to implement this
function. This parameter is only used for DT1.
[Receiving No.] P(R) shows the expected next sequence number, which is used in
DT2 and AK messages of protocol class 3 to confirm that the remote point has
received all the messages prior to that numbered P (R) 1.
[Sorting/segmentation]
is
an
integrated
parameter,
including
[Release cause], [Reset cause] and [Refusal cause] are used respectively to show
the causes for releasing, resetting and refusing the signaling connection. [Error
cause] is used to show the causes of error in ERR message. [Return cause] is
used in UDTS or XUDTS message of connectionless services to point out why
UDT or XUDT is unable to reach the destination.
[Data] is the network service data (NSD) that the user would send to the
destination.
6-17
Chapter 6 SS7
Address indication
Address
Address indication indicates the type of the address contained, as shown in Figure
6-15.
7
Reserved Addressing
indication
bit
Subsystem Signaling
indication point
indication
Bits
52
Value
0000
0001
The global title (GT) includes only the nature of address indication.
0010
The GT includes only the translation type, coding plan, and coding design.
0100
The GT includes the translation type, number design, coding design, and
nature of address indication.
Route selection should be based on the DPC in the MTP route tag and the
sub-system number (SSN) in the called address (DPC+SSN).
Meaning
National reserved.
Address
The order for various units appearing in the address is DPC, SSN, and GT, as shown in
Figure 6-16.
6-18
Chapter 6 SS7
DPC
SSN
GT
00001001
~
Idle
11111110
11111111 Reserved for expansion
GT: The format of GT has a variable length, including four possibilities:
GT indicator = 0001
When GT indicator is 0001, GT format is illustrated in Figure 6-17.
O/E
Address feature
indication
Address information
6-19
Chapter 6 SS7
Bits 60:
0000000 Idle
0000001 User number
0000010 National reserved
0000011 National valid number
0000100 International number
00000101
~
Idle
11111111
Bit 7 is odd/even indication, which is encoded as follows:
0: even number of addresses
1: odd number of addresses
If the GT indication is 0001, the information after the second octet of the GT bits 7, 4, 3,
0 indicates the address signaling. See Figure 6-18.
Second address
instruction
Second address
instruction
Fill in 0
(if necessary)
Nth address
instruction
6-20
Chapter 6 SS7
1100 Code 12
1101 Idle
1110 Idle
1111 ST
If the address comprises an odd number of address signaling, the filling code 0000
should be added at the end of address signaling.
2)
The protocol class is used to define SCCP service classes. The [Protocol class] field
should be used at the stage of signaling connection establishment, and the protocol
class should be negotiated by both ends of SCCP.
The protocol class is a 4-bit code.
Bits 3210
0000 Protocol class 0
0001 Protocol class 1
0010 Protocol class 2
0011 Protocol class 3
When bits 03 codes indicate that a protocol class is the connection-oriented class
(protocol classes 2 and 3), bits 47 are idle.
When bits 03 codes indicate that a protocol class is the connectionless class (protocol
classes 0 and 1), bits 47 are encoded as follows:
Bits: 7654
0000 Not specified
0001 to
6-21
Chapter 6 SS7
CR
Destination local
reference
CC
M
Called address
Caller address
Protocol class
CREF
M
RLSD
RLC
DT1
M
DT2
M
AK
M
ED
M
EA
M
RSR
RSC
ERR
M
M
M
Sorting/segmentation
Credit
M
M
Release cause
Return cause
Reset cause
Error cause
M
0
6-1
UDTS
UDT
Segmentation/re-assem
bly
User data
IT
Chapter 6 SS7
CR message
A CR message comprises:
z
Route tag
Two pointers
Length (octet)
Protocol class
Called address
3 (minimum)
Credit
Caller address
4 (minimum)
Data
3130
2)
UDT message
Route tag
Three pointers
Protocol class
Called address
3 (minimum)
Caller address
2 (minimum)
Data
2X
X: (To be determined)
3)
UDTS message
Length (octet)
Route tag
6-1
Three pointers
Chapter 6 SS7
Length (octet)
Return cause
Called address
3 (minimum)
Caller address
2 (minimum)
Data
2X
X: (To be determined)
4)
XUDT message
Route tag
Four pointers
Length (octet)
Protocol class
Called address
3 (minimum)
Caller address
2 (minimum)
Data
2X
Optional
X: (To be determined)
5)
XUDTS message
Route tag
Four pointers
6-2
Chapter 6 SS7
Length (octet)
Return cause
Called address
3 (minimum)
Caller address
2 (minimum)
Data
2X
Optional
X: (To be determined)
6.5 TCAP
6.5.1 Basic Concepts
Transaction capability (TC) is a series of communication capability provided between
various applications and network services. It provides functions and regulations
independent of the specific applications for switches and special service centers
scattered in the communication network in a large number. TCAP adopts the
addressing mode supported by SCCP, and is based on the connection-oriented and
connectionless services of SCCP. The TCAP process is divided into the component
sub-layer process and the transaction sub-layer process, as shown in Figure 6-19.
TC user
Component sub-layer
Transaction sub-layer
SCCP
Figure 6-19 TC structure
I. Transaction Sub-layer
As the transaction control, the transaction sub-layer transmits components in the
transaction sub-layer message through the end-to-end connection between TC users.
Transactions correspond to the dialogue handling of the component sub-layer on a
one-to-one basis.
6-3
Chapter 6 SS7
Component
The component refers to the mode in which the request or response to perform an
operation is transmitted. The operation refers to an action that a specific application of
a TC user requires the remote peer entity to perform. An operation is identified by
invocation ID. There are four classes of operations (INVOKE):
z
The operation class is decided by TC user and can be discriminated by TCAP. Each
operation has only one response, which may be:
z
Dialogue
6-4
Chapter 6 SS7
The dialogue ends: The transmitting end neither transmits nor receives
components. There are four types of dialogue ending, as shown in Table 6-14.
Table 6-14 Types of dialogue ending
Type of dialogue ending
Meaning
Abortion (TC_ABORT)
Abortion (TC_NOTICE)
I. Tag
Tag is responsible for class distinguishing and content explanation. A tag comprises
class, format and tag code. Its length is one or more octets. See Table 6-15.
Table 6-15 Composition of a tag
Class
Format
Tag code
Meaning
00
Universal
01
Application-wind
10
Context-specific
11
Private use
Tag code: Its range is from 00000 to 11110. Code 11111 indicates extension. If
the most significant bit (MSB) of the octet that follows is 1, it indicates that the
6-5
Chapter 6 SS7
extension goes on; if it is 0, it indicates that the tag stops here. The combined tag
is composed of bits 0 through 6 of each extension octet. Bit 6 of the first extension
octet is the MSB, and bit 0 of the last extension octet is the least significant bit
(LSB).
II. Length
It refers to length of the content. The length falls into three formats: short, long, and
indefinite. In the indefinite format, a specific primitive (ECO = 0, length = 0, and
contents = default) is used to indicate the contents end. See Table 6-17, Table 6-18,
and Table 6-19.
Table 6-17 Short format
MSB
Length of contents
0
LSB
MSB
0
LSB
MSB
1
2
Length of contents
LSB
Information
element
.....
Information
element
6-6
Chapter 6 SS7
III. Contents
IV. The contents can be a value, and makes up a primitive together with the tag
and length. It can also be one or multiple information elements, and
combined with tag and length to form a constructor. The contents are
interpreted based on the tag value.
V. TCAP Message Structure
Figure 6-20 shows the TCAP information element structure.
Message type flag
Message total length
Transaction portion message unit
Dialog portion message unit
Component portion flag
Component portion length
Component type flag
Component length
Component portion message unit
Component
Unidirectio
nal
Originating transaction ID
Begin
Destination transaction ID
Continue
Abort
M
M
End
M
O
6-7
Message
Chapter 6 SS7
Parameter
Unidirectio
nal
Dialogue portion
Component portion
Begin
Continue
End
Abort
2)
Unstructured
dialogue
Structured
dialogue
3)
Operation
Contents
Dialogue
request
Dialogue
response
Protocol version (O), application context name (M), result (M), result
source diagnosis (M), and user information (O).
Dialogue
abort
Contents
Invoke
Invocation ID (M), link ID (O), operation code (M), and parameter (O).
Invocation ID (M), sequence tag (O), operation code (O), and parameter (O).
Returned error
Refusal
6.6 INAP
6.6.1 Basic Concepts
Generally, the intelligent network consists of the service switching point (SSP), service
control point (SCP), intelligent peripheral (IP), service management system (SMS), and
service creation environment (SCE). See Figure 6-21.
6-8
Chapter 6 SS7
Functional
peripheral
SCP
Database
No.7
No.7
IP
STP
No.7
No.7
No.7
SSP
Exchange
PABX
User terminal
I. SSP
SSP is the junction point connecting the existing mobile network and intelligent network.
It provides the functions to access the function set of the intelligent network. SSP can
detect the requests for intelligent services, and communicates with SCP. It responds to
SCP requests and allows the service logics in SCP to affect call processing. As far as
functions are concerned, one SSP should contain the call control function (CCF) and
service switching function (SSF). In the case that no independent intelligent peripheral
(IP) is constructed, SSP should also contain the specialized resource function (SRF).
The service processing functions are used to accept client calls, completing such basic
connection functions as call establishement and call hold. The service switching
functions are used to receive and identify intelligent network (IN) service calls, report to
the SCP, and accept the control commands from the SCP.
The SoftX3000 has the SSP functions.
II. SCP
SCP is the core component of the intelligent network. It stores user data and service
logics. The major functions of SCP are to receive the query information from SSP,
query the database, and implement translation. Meanwhile, SCP can start different
service logics according to the call events reported by SSP. It sends call control
instructions to corresponding SSP based on the service logics, thus realizing various IN
calls.
6-9
Chapter 6 SS7
III. IP
IP is the special resource to assist in the implementation of IN services. It usually
possesses voice functions, such as voice synthesis, recorded announcement playing,
dual-tone multifrequency dialed number receiving, voice identification, and so on. IP
can be a separate physical device or serve as part of SSP. It is controlled by SCP, and
executes the operations designated by SCP service logics. If IP is centralized in the
network, with its functions shared by other switches, it can save investment and bring
conveniences to managing voice resources, thus facilitating deployment of those
services whose playing contents change frequently.
IV. SMS
SMS is responsible for managing service data and user data. Generally, it has five
functions: service logic management, service data management, user data
management, service monitoring, and traffic management.
V. SCE
SCE generates new service logics according to the requirements of customers, and it
provides a friendly graphic editing interface for service designers. After confirming
service requirements, you can use SCE to define the data related to the requirements,
adopt various standard graphic elements to design the IN service logics, and then load
them to SCP for system invocation.
The intelligent network is a distributed system. The functional entities (such as SCF,
SSF, and SRF) in the intelligent network nodes transmit messages to one another to
mutually complete IN services. ITU-T uses a kind of higher layer communication
protocol, that is, the standard interface protocol for intelligent network: intelligent
network application protocol (INAP), to define the information streams between the
functional entities of the intelligent network. This interface protocol is put forward in
ITU-T Q.12XY (Q.1208, A.1218 and Q.1228) recommendations, in which the
information streams among SSF, SCF, SRF, SDF and call unrelated service function
(CUSF, only in Q.1228) are described in detail. Meanwhile, the operation procedures
that all functional entities should comply with after they receive information streams are
also prescribed.
6-10
Chapter 6 SS7
Class 1:
Class 2:
Class 3:
Class 4:
In the INAP procedure, 36 kinds of operations are adopted in CS-1 phase according to
the requirement of services. Table 6-23 lists the operations in CS-1 phase and their
corresponding information streams.
Table 6-23 INAP operations and classes
Information stream
Operation
Class
Same
Activity Test
Same
Apply Charging
Same
Same
Same
Call Gap
Same
Same
Same
Same
Connect Information
Same
Connect
Same
Connect to Resource
Same
6-11
Chapter 6 SS7
Information stream
Operation
Class
Continue
Same
Same
Same
Same
Same
Same
Initiate DP
Same
Same
Release Call
Same
Same
Same
Same
Select Facility
Same
Same
Same
Status Report
Same
Cancel Announcement
Cancel
Play Announcement
Same
Same
Same
Note:
In the "Operation" column, "same" indicates that the operation name is the same as the information stream
name.
6-12
Chapter 6 SS7
In the CS-2 phase, the number of operations extends to 145, among which are 47
operations between SCF and SSF:
1)
10 operations of class 1
Activate service filtering, manage triggering data, request current status, combine call
segment, move LEG, generate call segment association, cut off LEG, request status
change, move call segment, and detach LEG.
2)
25 operations of class 2
1 operation of class 3
Activity test
4)
11 operations of class 4
Call gap, call information report, continue, charging event notification, BCSM event
report, release call, service filtering response, status report, specialized resource report,
release entity, and UTSI report.
There are eight operations between SCF and SRF:
5)
2 operations of class 1
Prompt and collect user information, and prompt and accept information.
6)
4 operations of class 2
Close script, script information, run script, play announcement, and assist request
instruction.
7)
Operations of class 3
None.
8)
2 operations of class 4
6-13
Chapter 6 SS7
Database
SCP
No.7
0755-6540808
IP
(3)
(2)
No.7
(1)
SSP
(4)
Ringing
8008101234
0755-6540808
2)
3)
SCP queries the code translation table, translates the number into an ordinary
phone number (real called number), and sends connection instruction (to connect
with the real called number) and charging instruction (to charge the callee) to SSP.
SSP is responsible for notifying the callee to ring, and completing connection
between the caller and the callee as well as charging.
The user MG originates a call. That is, the MG directly connects the user, and the
user originates a corresponding call.
z
z
The caller is connected with MG1, and the caller dials the 800 service number.
The callee corresponding to the translated 800 service number is conncected with
MG2.
6-14
(7)
(9)
Chapter 6 SS7
SoftX3000
MODIFY
MG2
RELPLY
NOTIFY
RELPLY
MODIFY
RELPLY
NOTIFY
RELPLY
(5) IDP
(6)
ADD
RELPLY
ADD
RELPLY
MODIFY
RELPLY
AC,CON
IDP
AC,CON
(8)
NOTIFY
RELPLY
MODIFY
RELPLY
SUBSTRACT
(14)
SCF
MODIFY
RELPLY
RELPLY
MODIFY
(12)
SGF
NOTIFY
RELPLY
(10)
(11)
(13)
SUBSTRACT
RELPLY
RELPLY
(15) ACR
ACR
SoftX3000 sends the Modify command to MG1 and MG2; that is, it sets up a
termination in the null context. After that, SoftX3000 waits for the off-hook event.
2)
The caller hooks off. MG1 sends the Notify command to SoftX3000 to report the
off-hook event.
3)
SoftX3000 sends the Modify command to MG1 and waits for the user to enter the
called number. The caller listens to the dialing tone.
4)
MG1 sends the Notify command and the called number to SoftX3000.
5)
SoftX3000 sends an INAP/IP operation IDP to SGF to report the triggering of the
800 service. SGF sends the INAP/IP operation IDP to SCF to report triggering of
the 800 service.
6)
SCF sends INAP/TC operations AC and CONNECT to SGF and asks SoftX3000
to charge and connect the call. SGF converts the two operations into an INAP/IP
operation and sends it to SoftX3000.
7)
A context is created in MG1. TDM termination and RTP termination are added in
the context. [Mode] is set to ReceiveOnly. The jitter buffer and voice
compression algorithm are also set. MG1 returns its RTP port number and voice
compression algorithm through the Reply command.
6-15
8)
Chapter 6 SS7
A context is created in MG2. TDM termination and RTP termination are added in
the context. [Mode] is set to SendReceive. The jitter buffer and voice
compression algorithm are also set. MG2 returns its RTP port number and voice
compression algorithm through the Reply command.
9)
SoftX3000 sends the Modify command to MG1 and notifies the remote address.
10) The callee hooks off. MG2 sends the Notify command to SoftX3000.
11) SoftX3000 sends the Modify command to MG2 and cuts off the ringing tone.
12) SoftX3000 sends the Modify command to MG1 and cuts off the ringback tone.
The mode is SendReceive.
13) The callee hooks on. MG2 sends the Notify command to SoftX3000.
14) The SoftX3000 sends the Subtract command to MG1 and MG2.
15) SoftX3000 sends an INAP operation ACR to SGF. SGF sends the INAP operation
ACR and report the charging resut to SCF.
6-16
SG1
Chapter 6 SS7
SoftX3000
MG1
MG2
(1) IAM
SG2
(1) IDP
(4)
REPLY
ADD
REPLY
AC,CON
(5)
IAM
(6)
ACM
(7) ACM
MODIFY
(8)
REPLY
(10) ANM
ANM
(9)
MODIFY
(11)
REPLY
(12) REL
(13) REL
(14)
ACR
ACR
RLC
RLC
(15)
SCF
IDP
(3) AC,CON
ADD
SGF
SUBSTRACT
REPLY
SUBSTRACT
REPLY
After the caller dials the number of the callee, an IAM is sent to the SoftX3000
through SG1.
2)
SoftX3000 sends an INAP/IP operation IDP to SGF to report the triggering of the
800 service. SGF sends the INAP/IP operation IDP to SCF to report triggering of
the 800 service.
3)
SCF sends INAP/TC operations AC and CONNECT to SGF and asks SoftX3000
to charge and connect the call. SGF converts the two operations into an INAP/IP
operation and sends it to SoftX3000.
4)
A context is created in MG1. TDM termination and RTP termination are added in
the context. [Mode] is set to ReceiveOnly. The jitter buffer and voice
compression algorithm are also set. MG1 returns its RTP port number and voice
compression algorithm through the Reply command.
5)
A context is created in MG2. TDM termination and RTP termination are added in
the context. [Mode] is set to SendReceive. The jitter buffer and voice
compression algorithm are also set. MG2 returns its RTP port number and voice
compression algorithm through the Reply command.
6)
The SoftX3000 sends an IAM to the circuit-switched network through SG2. The
circuit-switched network returns an ACM. The phone set of the callee rings.
7)
6-17
8)
Chapter 6 SS7
SoftX3000 sends the Modify command to MG1, tells the remote RTP port number,
and notifies MG1 to send the ringback tone.
9)
6-18
Chapter 7 R2 Signaling
Chapter 7 R2 Signaling
7.1 Basic Concepts
As the telecom network is very large in scale, it is hard to replace channel associated
signaling completely with SS7 signaling in a short time span. By far, the channel
associated signaling system is still widely used in the international telecom network
and telecom networks of various countries. No. 1 signaling is a subset of R2 signaling.
R2 signaling consists of line signaling and register signaling. Of these two kinds of
signaling, the definition varies from country to country.
Line signaling is transmitted between line devices (repeaters). It is composed of line
monitoring signals. It is used for monitoring the status of connection of trunks and
controlling the connection. A line device cannot be shared among trunks. Instead,
each trunk must have a line device. Therefore, line signaling is relatively simple to
reduce costs, and the types of line signaling are few.
Register signaling is transmitted between registers. It is composed of selection
signals and service signals. It is used for selecting route and callee and managing the
telephone network. A register is a shared device. Few registers are needed in a
signaling network. Therefore, a register can be a complex device for matching more
kinds of signaling.
I. DC line signaling
DC line signaling is used for the real line trunks of electromechanical switches. In
China, local call networks are all stored program-controlled; therefore DC line
signaling actually is not used. DC line signaling will not be introduced in this
document.
7-1
Chapter 7 R2 Signaling
signal with the nominal value of 150 milliseconds. The long signal unit is a long pulse
signal with the nominal value of 600 milliseconds. The nominal interval of sending two
signals is 300 milliseconds. Table 7-1 lists the nominal values of pulse signals and
intervals.
Table 7-1 Nominal values of the in-band single frequency pulses and their intervals
Signal length
(ms)
Interval (ms)
Sending time
deviation at
transmitting end
(ms)
150
150
30
80 20
Sending interval
300
60
600
600
120
375 75
Recognition time
range at
receiving end
(ms)
There are two kinds of line signaling: forward signaling and backward signaling.
Forward signaling is sent from the originating office to the terminating office.
Backward signaling is sent from the terminating office to the originating office. The
structure of signaling signals is described in Table 7-2.
Table 7-2 Signal structure of line signaling with in-band single frequency pulse
Seria
l No.
Sending
direction
Connection status
(signaling name)
Forwa
rd
Backw
ard
Occupation signal
Disconnection signal
Repeated
disconnection signal
150
300
Used
between toll
offices and
between
toll/local
offices
600
600
600
Answer signal
Clear signal
Blocking signal
Continuous
7-2
Remarks
600
Used
between local
offices
Seria
l No.
Sending
direction
Connection status
(signaling name)
Forwa
rd
Re-ringing or
forced
disconnectio
n signal
Oper
ator
sign
al
Ringback
signal
Backw
ard
Chapter 7 R2 Signaling
At least three
pulses
At least three
pulses
Equivalent to
clear signal
Equivalent to
release guard
signal
Remarks
The original office receives a backward register signaling such as connection busy.
Callee not pickup after alerting timeout, or caller not hang up for more than 90 seconds
after callee hangs up
The repeated disconnection signal is sent by the outgoing trunk of the original
office when it does not receive the release control signal 3 to 5 seconds after its
sending the disconnection signal. If the release control signal is still not received
after sending the repeated disconnection signal, an alarm will be generated.
The answer signal indicates that the callee picks up the phone. It is a backward
signaling sent by the incoming trunk.
The clear signal indicates that the callee hangs up. It is a backward signaling
sent by the incoming trunk from the terminal office to the original office in relay.
7-3
Chapter 7 R2 Signaling
The blocking signal is a backward signaling sent by the incoming trunk of the
incoming office, indicating that the trunk has been blocked.
The re-ringing signal is a forward operator signaling. After the toll office operator
establish call connection with the callee and the callee answers, if the callee
hangs up and the operator need to call the callee, the operator can send the
re-ringing signal.
The forced disconnection signal is also a forward operator signal. When the toll
office operator tries to connect the call, and finds that the callee is engaged in a
local call, the operator will send the signal after receiving confirmation from the
callee.
The forced release signal is used in the following case. In a bi-directional trunk
circuit, sometimes it is occupied in both direction due to disturbances. If no
register signaling is received in 15 seconds, one end will send a forward forced
release signal (acting as a release signal), and the other end will send a
backward forced release signal (acting as a release control signal), and the trunk
circuit is released.
Frame 1
abcd
00 00 XY XX
Voice channel
1
abcd
Voice channel
16
Frame 2
abcd
Voice
channel 2
...
abcd
Voice channel
17
TS16 of frame 0
7-4
Chapter 7 R2 Signaling
Meaning
af=0
af=1
bf=0
Not faulty
bf=1
Faulty
cf=0
cf=1
Meaning
ab=0
Callee picks up
ab=1
bb=0
Idle
bb=1
Occupied or blocked
cb=0
cb=1
Forward signaling
Backward signaling
af
bf
cf
ab
bb
Idle
Occupied
7-5
Chapter 7 R2 Signaling
Forward signaling
Connection state
Backward signaling
af
bf
cf
ab
bb
Occupation confirmed
Answer
Hang up
Release
Release control
Ring back
Blocked
Terminating office
RCV
SND
RCV
t1
t4
7-6
Chapter 7 R2 Signaling
Beat
Operations
The terminating office (receiving end) receives and identifies the forwarding signaling, and
returns the first bit of backward confirmation signaling. The terminating office thus replies
that it has received the forwarding signaling, and informs what specific forwarding
signaling the originating office shall next send.
The originating office receives and identifies the backward confirmation signaling, and
stops sending the forward signaling.
The terminating office detects that the peer end stops sending the forward signaling, and
stops sending the backward confirmation signaling. When the originating office detects
that the peer end stops sending the backward confirmation signaling, it starts the second
control period by sending the next bit of forwarding signaling.
F0 (1380)
F1 (1500)
Frq (Hz)
10
11
12
13
15
F7 (1860)
14
F4 (1740)
F2 (1620)
F11 (1980)
F0 (1140)
F1 (1020)
Frq (Hz)
F2 (900)
7-7
Code
Frq (Hz)
Chapter 7 R2 Signaling
F4 (780)
Name
Meaning
KA
Caller type
KC
KE
KD
Capacity
Group
Name
Meaning
capacity
Back control
acknowledgement of
the number receiving
status and connection
status
Callee status
10/15
5
Digit 10
10
Digital
signal
II
Backward signal
A
Signal
B
signal
Note: For a local office using the step-by-step system, there are 10 user types; for a stored program control (SPC) local office using the
crossbar system, there are 15 user types.
Forward group I signaling consists of connection control signaling and digital signaling.
For details, refer to Table 7-10 and Table 7-12.
Table 7-10 Forward group I signaling
Type
Meaning
KA
It refers to the caller type signaling sent from the originating local office to the
originating toll office or originating international switching center in the forward
direction. The purpose of this signaling is to provide the charging type (periodical,
immediate, free) and user level (ordinary, high priority) information.
The combination of these two kinds of information is indicated with a KA code, as
shown in Table 7-11. The high priority user in the table refers to those whose calls
take precedence over others in the case of network blocking or overload.
7-8
Chapter 7 R2 Signaling
Type
Meaning
KC
It refers to the connection control signaling sent between toll offices in the forward
direction. This signaling has the functions of ensuring the communication quality of
high-priority users, completing specified calls, and connecting other specified calls
(for example, test calls).
KE
It refers to the connection control signaling sent from the terminating toll office to
the terminating local office and between local offices in the forward direction.
There are two types of KE signaling, as shown in Table 7-11.
Digital signaling
Meaning
A1, A2, A6
These three kinds of signaling together are called code-sending sequence control
signaling. They control the code-sending sequence of forward digital signaling.
A3
A4, A5
They are the cause analysis signaling when connection to the callee fails. A4
indicates busy, and A5 an unallocated number.
7-9
Chapter 7 R2 Signaling
Step-by-step local
office
O
rd
in
ar
y
KA
KA
Periodical
Periodical
User
table,
immediate
Printer,
immediate
Ordi
nary
User table,
immediate
Printer,
immediate
KC
code
Contents of
KC signaling
KA
Ordi
nary
KE
code
Contents of KE
signaling
Digit
al
sign
aling
Contents of A signaling
Periodical
User table,
immediate
Printer,
immediate
Standby
Standby
Standby
Ordinary, free
Ordinary, free
Ordinary, free
Standby
Standby
Standby
Standby
Standby
Standby
Standby
High priority,
periodical
High priority,
periodical
Standby
Standby
10
7-10
Chapter 7 R2 Signaling
11
Standby
11*
12
Z indicates a
specified
number call
12
Standby
Test call
13
T indicates a
test
connection
call
13
Standby
14
High priority
14
Standby
15
Control the
number
of
satellite circuit
segments
15
11
Standby
12
13
14
15
Note: Those types with brackets are not sent to the originating toll office; * indicates that the signal is needed for cooperating with old equipment.
7-11
Chapter 7 R2 Signaling
Forward group II
Forward group II signaling is also called KD signaling. It indicates the originating call
service type. It is used, based on KD, to judge whether the attendant can break in or
forcefully release a local call. Table 7-14 describes the role of this signaling.
Backward group B signaling
Backward group B signaling is also called KB signaling. It indicates the status of the
callee. It is sent after the reception of KD signaling to acknowledge the control and
connection of KD signaling.
Refer to Table 7-13 for the contents of backward group B signaling.
Table 7-13 Forward group II signaling and backward group B signaling
Forward group II signaling (KD)
KD
code
KB
code
Contents of KD signaling
Urban call
5
6
Used
for toll
call
conne
ction
Callee idle
Telephone key
blocked
Called number is an
unallocated number
Test call
Standby
Used
for
urban
call
conne
ction
Standby
Semi-automatic breaking in
of toll attendant
7-1
No
Yes
No
Chapter 7 R2 Signaling
Role of KD signaling
Originating call service
type
KD code
No
Urban call
Automatically checking
calling number
Test call
Yes
No
SoftX3000
IP MAN
H.248/IUA
H.248/IUA
UMG8900
UMG8900
R2
R2
PBX
Exchange
POTS
POTS
POTS
POTS
7-2
Chapter 7 R2 Signaling
message to the Soft3000, thus implementing the interworking between NGN and the
exchange and PBX in PSTN.
Originating
office
Terminating
office
Occupy
Occupation acknowledge
P
A1
Q
A1
R
A1
A
A1
B
A1
C
A1
D
Occupy
Occupation acknowledge
P
A1
Q
A1
R
A1
A
A1
B
A1
C
A1
D
A3
A3
KD=3
KD=3
KB=1
KB=1
Answer
Answer
Talk
Caller hooks on
Callee hooks on
Idle
Caller hooks on
Callee hooks on
Idle
7-3
Chapter 7 R2 Signaling
completely, it starts routing to send register signaling of the originating office. After
sending the full number, the originating office waits for the terminating office to send
the A3 signal, and then completes the signaling flow. This connection mode takes a
long time. Therefore, it is used when the transmission line is of a poor quality.
7-4
Circuit
switching
capacity
TE
User-network
interface
Packet
switching
capacity
ISDN
switch
ISDN
switch
User-network
interface
TE
Non-switching
capacity
Common
channel
signaling
capacity
8-1
NT2
TE1
NT1
Transmission line
R
TE2
S
TA
Reference point
Functional group
U reference point
The U reference point, also called the U interface, is the line interface between the
network and the user. According to the regulations of ITU, the U interface is the line
interface between the network and the ISDN basic rate access (BRA) user, but not the
line interface between the network and the primary rate access (PRA) user. Comparing
the reference model to the actual application, we regard that the E1 line in the PRA
application as the U interface in Figure 8-2.
The BRA U interface determines the transmission line code. The U interface uses the
original analog subscriber line (ASL). To transmit digital signals through twisted pairs,
you need to reduce transmission attenuation. One way for reducing transmission
attenuation is to reduce the line transmission rate, that is, to transmit a 2-bit binary code
with one level. The transmission line code adopted by the U interface in China is 2B1Q.
This code indicates that the line transmission uses four levels, each level being a
combination of two bits. Correlation between binary codes and line levels:
Binary code
Line level
00
3V
01
1V
10
+3V
11
+1V
8-2
In this way, the line rate is reduced by half compared with the binary code rate, thus
reducing the transmission attenuation.
When the 2B1Q line code is used, the line element rate (baud rate) is 80 kbit/s, and the
corresponding bandwidth is 160 kbit/s. The bandwidth allocation is described in Table
8-1.
Table 8-1 Bandwidth allocation in the 2B1Q line code mode
Channel
Rate (bit/s)
Function
2B channel
128 k
Traffic channel
D channel
16 k
Signaling channel
M channel
40 k
12 k
The S reference point, also called S interface, is the line interface between the ISDN
terminal (terminal equipment type 1 (TE1) or terminal adaptor (TA)) and the network
terminal (NT). The T reference point, also called T interface, is the line interface
between network terminal type 1 (NT1) and network terminal type 2 (NT2). In the ITU
regulation, the specifications of the S interface is the same as that of the T interface.
If the NT2 device does not exist, S and T together form S/T reference point, also called
S/T interface.
The S/T interface uses a four-line transmission mode, two lines for sending and two
lines for receiving. The line code is a pseudo-AMI (alternate mark inversion) code. In
AMI code, binary bit 1 is converted to positive pulse or negative pulse, which alternate
forward and backward; binary bit 0 is converted to level 0. Figure 8-3 illustrates the
correlation between a binary code and an AMI code.
Binary code
AMI code
Sending direction
R reference point
8-3
NT1
NT1 provides U interfaces and S/T interfaces for connecting ISDN terminals and
devices of the ISDN exchange. The function of NT1 is the code conversion between the
U interface and S/T interface, for example, the 2B1Q/AMI code conversion in the
Chinese standard.
NT1 is purely a physical layer device without software intelligence,but it has the line
maintenance
and
performance
monitoring
functions.
It
ensures
the
clock
Note:
If the NT1 includes the function of the TA, it is called NT1+.
NT2
NT2 is an intelligent terminal device. A common NT2 device can be a terminal control
device such as a private automatic branch exchange (PABX) that has the functions of
ISDN, and a LAN router.
z
TE1
The TE1 is a standard ISDN terminal, with standard S interfaces. It can be connected
directly with the NT1 or NT2 through S interfaces. Common TE1 devices include ISDN
digital telephone sets, G4 fax machines, and video phones.
z
TA
There is an S or U interface on one end of the TA, and an interface for connecting a
non-standard ISDN terminal on the other end. The role of the TA is for rate adaptation
and protocol conversion. The non-standard ISDN terminal (TE2) does not have the
8-4
function of the common channel signaling (D channel). It can be connected with the S
or U interface only after the rate adaptation and protocol conversion with the TA.
Some TAs contain the built-in AT command set. The AT command set is a general
command format for operating on the Modem on a computer. It supports call originating
and answering on a computer. In other words, the AT command is converted to D
channel signaling. With a TA, the user can make calls and transmit data simultaneously
through a computer.
The B channel protocol of the TA is V.110. It converts the low-speed serial port data to
the data with the speed of 64 kbit/s to enter the B channel. It enables the non-standard
ISDN terminal to communicate with the network through a standard ISDN interface.
The B channel is used for transmitting user information (including voice, data and
images) at the rate of 64 kbit/s. It can implement circuit switching, packet switching and
semi-permanent connection (SPC).
D channel
The D channel transmits signaling messages and packet messages for circuit switching.
According to the number of B channels supported by D channels, D channels are
divided into 2B+D and 30B+D.
Table 8-2 Bandwidth allocation in the 2B1Q line code mode
Channel
Rate (bit/s)
Function
D16
16k
D channel in 2B+D
D64
64k
D channel in 30B+D
H channel
The H channel is for transmitting user information (including stereo programs, images
and data) at a rate over 384 kbit/s.
BRA interface
BRA is short for the basic rate interface/access (BRI/BRA). It is specified when the
ordinary subscriber line in PSTN is used as the ISDN subscriber line. It has a rate of
144 kbit/s. It supports two 64 kbit/s user channels (B channel) and one 16 kbit/s
signaling channel (D channel).
8-5
The BRA interface is provided by the digital subscriber line board (DSL) of the optical
network unit (ONU) or remote subscriber processor (RSP) under the UMG8900. Each
DSL can provide eight BRA interfaces. One BRA interface can be connected with eight
ISDN terminals at most. It allows two telephones (each occupying a B channel) and a
packet terminal (occupying the D channel) to communicate with the network
simultaneously. When the ISDN-PC communicates with the network, it can occupy two
B channels at the maximum rate of 128 kbit/s.
As shown in Figure 1-6, the eight ISDN terminals attached to the 2B+D interface can
call another terminal in the subscriber number + sub-address mode. Two subscriber
numbers must be allocated to a BRA interface on the network side and set on the
terminal. Each subscriber number can have four sub-addresses (14 digits) at most.
On the network side, sub-address numbers need not be set. Only the authorities for
sub-address numbers need to be registered. Sub-addresses are set on terminals.
SUB1=1
SUB1=2
N1=6600000
SUB1=3
S/T
2B+D subscriber line
SUB1=4
NT1
N1=6600000
N2=6600001
SUB1=1
SUB1=2
SUB1=3
N2=6600001
SUB1=4
PRA interface
According to different gaping (E1=32TS, T1=24TS) divided by the PCM system, the
primary rate interfaces/accesses (PRI/PRA) are classified into the 30B+D interfaces
(China and Europe) and the 23B+D interfaces (North America and Japan).
The 30B+D interface is the PRA interface in China with a rate of 2048 kbit/s. It supports
thirty 64 kbit/s user channels (B channels) and a 64 kbit/s signaling channel (D
channel).
The physical channel of the PRA interface is provided by the digital trunk module (DTM).
The board type must be set to PRA during hardware data configuration. Each PRA
board provides two 30B+D PRA interfaces. The subscriber line is a coaxial cable that
can meet the requirement of users with heavy traffic. The PRA interface can be
connected to the PABX that has the functions of ISDN, a LAN, or Internet interim
inter-switch signalling protocol (ISP) system. It can also provide channels for video
conference users to transmit high quality pictures.
z
ISUP interface
8-6
The ISDN user part (ISUP) interface is needed for enabling the ISUP circuit between
two exchanges.
SoftX3000
IP MAN
H.248/IUA
H.248/IUA
UMG8900
UMG8900
PRI
PBX
RSP
BRI
ISDN
PRI
NAS
BRI
POTS
ISDN
POTS
Providing PRIs for accessing PABXs and network access servers (NAS).
For the DSS1 signaling system, this document introduces only the PRI. For the BRI,
refer to relevant standards.
8-7
Layer 3
Layer 2
Physical layer
Layer 1
DSS1 signaling
Figure 8-6 Correlation between DSS1 signaling and the OSI reference model
I. Physical Layer
The physical layer specifies the procedure and electrical and functional features of the
ISDN user-to-network interface. It provides the technical basis for the interconnection,
operation and maintenance, equipment design, network planning and acceptance test
of the user-to-network interface. For example, the reference configuration of the PRI is
shown in Figure 8-7.
R
TE1
R
TE2
U
NT1
NT2
Transmission media
S
TA
rate, namely, 2048 kbit/s. The PRI can use twisted pairs as the transmission media. In
the 30/32 channels of PCM, each frame is divided into 32 basic time slots. TS0 is used
for frame synchronization and error control, and TS16 for signaling transmission.
8-9
Processing the primitive used for the communication with the data link layer;
Generating and translating layer-3 messages for intra-layer communication;
Managing the timer and logical entity used in the call control program;
Managing accessing resources, including the B channel, and the logical path of the
packet layer (for example, X.25 recommendations);
Ensuring the consistency between the provided services and the services required by
the user (for example, the bearer capacity, address, and the compatibility between the
lower layers and the higher layers);
Routing and trunks;
Network connection control;
Transmitting information between the network and the user;
Multiplexing of network connections;
Error checking;
Error recovery;
Sequencing;
Blocking control and user data stream control;
Restart.
For details, refer to ISDN User to Network Interface Specifications Part 3: Technical
Specifications on Basic Call Control of Layer 3 YDN 034.3-1997.
8-10
1
1 byte
Protocol discriminator
Common
part
Length of call
reference value
2 bytes at
most
1 byte
Message type
1 byte
I. Protocol Discriminator
The protocol discriminator separates the call control message from other messages on
the user-to-network interface. The length of the protocol discriminator is one byte. The
value of the Q.931 call control layer message fixedly is 00001000.
reference
identifies
calls
involved
by
messages
or
facility
8-11
Message type
0000 0001
ALERTING
0000 0010
CALL PROCEEDING
0000 0111
CONNECT
0000 1111
CONNECT ACKNOWLEDGE
0000 0011
PROGRESS
0000 0101
SETUP
0000 1101
SETUP ACKNOWLEDGE
0010 0110
RESUME
0010 1110
RESUME ACKNOWLEDGE
0010 0010
0010 0101
RESUME REJECT
SUSPEND
0010 1101
SUSPEND ACKNOWLEDGE
0010 0001
SUSPEND REJECT
0100 0101
DISCONNECT
0100 1101
RELEASE
0101 1010
RELEASE COMPLETE
0100 0110
RESTART
0100 1110
RESTART ACKNOWLEDGE
0111 1011
INFORMATION
0110 1110
0111 1101
NOTIFY
Other messages
STATUS
0111 0101
STATUS ENQUIRY
8-12
Originating ISUP
office
Terminating
office
TEx
Called terminal
TEy
SETUP
SETUP ACK
INFO
INFO
IAM
SETUP
CALL PROC
ALERT
ALERT
ACM
ALERT
CONN
ANM
CONN
CONN ACK
CONN ACK
REL
REL COMP
Conversation or data
Caller
hooks
on first
DISC(cause value=16)
REL
REL COMP
REL
DISC(cause value=16)
RLC
REL
REL COMP
DISC(cause value=16)
REL
DISC(cause value=16)
REL
REL
RLC
REL COMP
Caller
hooks on
first
REL COMP
8-13
waiting. If the called address is incomplete, the originating office returns the SETUP
ACK message to request subsequent information. The caller sends the INFORMATION
message to provide the remaining information.
When the originating office network side receives the complete address information, it
notifies the exchange for routing and resource allocation. In this example, the call must
go through another exchange before being connected to the callee. Therefore, the
originating office exchange must send a message containing the call-related
information to the terminating office exchange through SS7 signaling (ISUP). When the
terminating office receives this message, it sends the SETUP message to the callee.
The SETUP message contains all the information sent by the originating office,
including the bearer service capacity, terminal lower layer and higher layer attributes,
and end-to-end information. It also contains the subscriber information channel
selected by the terminating office.
On the basic interface of the callee, the SETUP message is transmitted on the
broadcast data link (TEI = 127). Therefore, all the terminals connected to the passive
bus receive the SETUP message. These terminals will check whether they meet the
content requirements of the SETUP message. For example, whether they have the
same bearer service features as the message, whether the lower layer and higher layer
protocols are consistent, whether their terminal types match that of the calling terminal,
and whether the sub-address (if there is one) is conformant. The following case is
possible. For a call, there are several terminals having the information compatible with
the SETUP message. Then, these terminals simultaneously return the ALERTING
message to the network and send the ringing tone to the callee. The terminating office
sends the first ALARTING message to the originating office. When the ALARTING
message finally arrives at the calling terminal, the calling terminal sends the ringback
tone (or displays the ALARTING information) to the caller. When a called terminal
responds to the call, it immediately sends the CONNECT message to the network. The
exchange of the terminating office transfers the CONNECT message to the caller side,
and at the same time sends the CONNECT ACK message to the responding called
terminal. Then, the B channels selected by both exchanges are connected. The circuit
connection is set up between the caller and the callee and the circuit is ready for
transmitting subscriber information.
8-14
inter-office circuit. The calling terminal returns the RELEASE COMPETE message,
indicating the completion of disconnection.
After the terminating office receives the REL message from the originating office, it
sends the DISCONNECT message (cause value =16) to the called terminal. The called
terminal responds with the RELEASE message to disconnect the circuit between the
caller and the terminating office. The terminating office returns the RELEASE
COMPLETE message to the callee, indicating the completion of disconnection. Now,
the call is completely released.
For the call release process with the callee hooking on first, DSS1 call control
messages on the user-to-network interface are the same as the above. Refer to Figure
8-9 for an analysis.
8.2 V5 Protocol
The V5 interface comes into being with the development of the access network. It is
used for connecting the local exchange (LE) and the access network (AN). In the 1990s,
Bell Labs changed the analog interface connection between an exchange and devices
to the standard digital interface connection (TR303 interface). This is to solve the
problems of poor transmission performance, high equipment cost and the development
need of digital services that were characteristic of analog connection. In 1993,
European Telecommunications Standards Institute (ETSI) issued V5 interface
standards to perfect the interface and make it widely applicable.
In view of the importance of the V5 interface and the development urgency of the
access network, ITU-T adopted V5 interface specifications by using an expedited
program. These specifications include V5.1 (G.964) and V5.2 (G.965). In China, the V5
interface standards have been reviewed and revised for times. Now, the following two
documents are implemented:
z
8-15
no line concentration capacity within the AN. V5.1 uses one time slot (TS16) to transmit
signaling, leaving the other time slots (except TS0) to transmit the voice signal.
V5.2 consists of one to sixteen 2048 kbit/s links. It can support ISDN PRA besides
those access types supported by V5.1. The access types supported by V5.2 have the
flexible and call-based dynamic bearer channel allocation capacity. In other words, user
ports correspond to bearer channels dynamically. Therefore, line concentration
capacity exists within the AN and on the V5.2 interface.
Table 8-4 lists the differences between V5.1 and V5.2.
Table 8-4 Differences between V5.1 and V5.2
V5.1 interface
V5.2 interface
Supporting ISDN-PRA
Due to its limitation, V5.1 is rarely used now. Instead, V5.2 is widely used between the
access network and the exchange. The following is an introduction to V5.2.
All the ISDN D channel signaling data (Ds-type) from one or more user ports;
All the ISDN packet data (p-type) from one or more user ports;
All the ISDN frame relay data (f-type) from one or more user ports.
It should be noted that this definition includes the possibility that there is more than one
C path of the same information type, each allocated to a different logical C channel.
Communication channel (C channel): a 64 kbit/s time slot on a V5.2 interface
provisioned to carry communication paths.
Logical communications path (logical C channel): a group of one or more C paths, all of
different types, but excluding the C path for the protection protocol.
Physical communications channel (physical C channel): a 64 kbit/s time slot on a V5.2
interface which has been assigned for carrying logical C channels. A physical C
channel may not be used for carrying bearer channels. Time slots 16 of the primary and
secondary links (only on a V5.2 interface with more than one 2048 kbit/s link) are
always physical C channels.
Multi-link: a collection of more than one 2048 kbit/s link which together make up a V5.2
interface.
Multi-slot: a group of more than one 64 kbit/s channels providing 8 kHz and time slot
sequence integrity, generally used together within an ISDN-PRA user port, in order to
supply a higher bit-rate service.
Primary link: the 2048 kbit/s link on a multi-link V5.2 interface whose physical C
channel in time slot 16 carries a C path for the protection protocol and, on V5.2
initialization, also the C path for the control protocol, link control protocol, and the BCC
protocol. Other C paths can also be carried in TS16.
Secondary link: the 2048 kbit/s link on a multi-link V5.2 interface whose time slot 16
carries a C path for the protection protocol and, on V5.2 initialization, acts as the
standby C channel for the control protocol, link control protocol, and BCC protocol and
any other C paths initially carried in TS16 of the primary link.
Active C channel: a physical C channel which is currently carrying a logical C channel.
An active C channel becomes a standby C channel when it is not carrying a logical C
channel.
Standby C channel: a physical C channel which is not carrying a logical C channel, but
is used for the protection of logical C channels. Once it is used to carry a logical C
channel, a standby C channel becomes an active C channel.
Protection group: a group of (N + K) physical C channels, where K is the number of
physical C channels which act as standby C channels for the N logical C channels.
8-17
AN
LE
Protection information
BCC information
Timing
8-18
SoftX3000
IP MAN
H.248/V5UA
UMG8900
V5
ONU
BRI
POTS
ISDN
V5 access network
8-19
AN
LE
Network Q.931
layer
LAPV5-DL
PSTN ProtectionLink
Q.931
BCC
Control
protocolprotocol control
protocol
LAPV5-DL
Q.921
(Note)
Data
link
layer
p- and
f-type date
L2
Map function
Q.921
Physical D16/64
layer
Map function
PSTN
ET/L2
AN frame relay
LAPV5-EF
LAPV5-EF
TE
LC
D16/64
C64
C64
I. Physical Layer
The physical layer of the V5.2 interface can provide bi-directional bearer channels for
transmitting all kinds of service information and control information, thus implementing
the physical connection between the AN and LE. The V5.2 interface is composed of
one to sixteen 2048 kbit/s links. The electrical and physical attributes of all 2048 kbit/s
links must conform to relevant regulations of G.703 recommendations. For example:
z
Sequence control for keeping the sequence of frames connected through data
links;
8-20
Checking of the transmission and format of and operation onto data link
connections;
Congestion control, such as end-to-end flow control, and the congestion control on
the V5.2 interface.
LAPV5 is used for the transmission of information between the AN and LE. It has three
sub-layers: encapsulation function sub-layer (LAPV5-EF), used to identify the protocol
type of data frames; data link sub-layer (LAPV5-DL), used to describe the protocol
information of data frames; and frame relay sub-layer (AN-FR), used to support the
ISDN D channel information. The communication between sub-layers is achieved
through the mapping function.
The status indication of the first 2048 kbit/s link and the identification of related
links;
8-21
Allow the requesting side, by using the link identification program, to check
whether the two ends of a link are matched (consistent);
The link control for the communication between the AN and LE during the
coordination of functions on both sides.
BCC protocol
The BCC protocol of the V5.2 interface is used to assign the bearer channels on certain
links to user ports, thus realizing the dynamic connection between V5.2 interface
bearer channels and user ports. In other words, it helps realize line concentration. This
process is specified by the LE and executed by the AN.
The BCC protocol also has an auditing function for checking the allocation and
connection of bearer channels within the AN. In addition, the BCC protocol is capable of
reporting inside-AN faults. If there is a fault affecting the bearer channel connection
inside the AN, the protocol notifies the LE.
The V5.1 interface does not support the BCC protocol. Therefore, it has no line
concentration function.
Protection protocol
A V5.2 interface can have sixteen 2048 kbit/s links at most. According to the structure
of the V5.2 protocol, one communication path can transmit information related to
multiple 2048 kbit/s links. Therefore, if a communication path is faulty, it can affect the
service of a large number of subscribers. For the BCC protocol, control protocol and
link control protocol, when the communication path concerned is faulty, all user ports
are affected. The V5.2 interface provides a protection program to enhance the reliability.
If one communication path is faulty, the program switches to another. When a
communication path is found faulty during fault detection or after link blocking, the
system management of the LE or AN triggers the protection program. The program can
also be triggered by the operator through the management interface.
The protection protocol is used only when the V5.2 interface is composed of multiple
2048 kbit/s links. Each V5.2 interface, consisting of more than one 2048 kbit/s link,
must have protection group 1 and, if provisioned, protection group 2. The system
management requires that protection group 1 be switched through the protection
started by the management interface.
8-22
Message type
Figure 8-14 Layer 3 address information element identifying the PSTN port
For the control protocol, the layer 3 address information element is used to identify
ISDN or PSTN user ports or to indicate the V5 common control function. Figure 8-14
illustrates the format of layer 3 address information element when it identifies the PSTN
8-23
port. Figure 8-15 illustrates its format when it identifies the ISDN port or common
control (8177) function. The figure shows that the layer 3 address of the ISDN port
ranges from 0 to 8175.
Layer 3 address (high bit) 0
Figure 8-15 Layer 3 address information element identifying the ISDN port or common control function
For the link control protocol, this information element retains the name layer 3 address
although it is used to refer to 2048 kbit/s links. Its format is shown in Figure 8-16. The
figure shows that the layer 3 address ranges from 0 to 255 when it identifies a link.
0
Figure 8-16 Layer 3 address information element identifying a 2048 kbit/s link
For the BCC protocol, this information element has been named the BCC reference
number information element. Its format is shown in Figure 8-17. The source ID in the
figure is a one-bit field used to indicate the entity (LE or AN) that builds the BCC
reference number. For a process created by the LE, this field is coded 0; for a process
created by the AN, the field is coded 1. The figure shows that the value of the BCC
reference number ranges from 0 to 8191.
Source ID BCC
8-24
Name
PSTN protocol
Control protocol
Usage
Digital value
L3 address
032767
08175
L3 address
032767
8177
BCC protocol
08191
Control protocol
Logical C channel ID
065535
Link
protocol
0255
control
PSTN protocol
015
Control protocol
1623
BCC protocol
2431
Protection protocol
3247
4855
Hexade
cimal
0x00
ESTABLISH
0x01
ESTABLISH ACK
0x02
SIGNAL
0x03
SIGNAL ACK
8-25
Bit
8
Hexade
cimal
0x08
DISCONNECT
0x09
DISCONNECT COMPLETE
0x0C
STATUS ENQUIRY
0x0D
STATUS
0x0E
PROTOCOL PARAMETER
0x10
PORT CONTROL
0x11
0x12
COMMON CONTROL
0x13
0x18
SWITCH-OVER REQUEST
0x19
SWITCH-OVER COMMAND
0x1A
OS SWITCH-OVER COMMAND
0x1B
SWITCH-OVER ACK
0x1C
SWITCH-OVER REJECT
0x1D
PROTOCOL ERROR
0x1E
RESET SN COMMAND
0x1F
RESET SN ACK
0x20
ALLOCATION
0x21
ALLOCATION COMPLETE
0x22
ALLOCATION REJECT
0x23
DE-ALLOCATION
0x24
DE-ALLOCATION COMPLETE
0x25
DE-ALLOCATION REJECT
0x26
AUDIT
8-26
Bit
8
Hexade
cimal
0x27
AUDIT COMPLETE
0x28
AN FAULT
0x29
AN FAULT ACK
0x2A
PROTOCOL ERROR
0x30
LINK CONTROL
0x31
8-27
AN side
FE user occupation
Hook off
(Hook off)
LE side
ESTABLISH
FE establishment
Ss=hook-off
ESTABLISH ACK
ALLOCATION
NAT
(Hook off)
FE establishment acknowledgement
FE allocation request
Ring
ALLOCATION COMP
FE allocation complete
DT
Dialing tone
Digit 1
Digit n
FE line signal
SIGNAL
SIGNAL
FE line signal
Stop DT
Ds=digit
FE line signal
Ds=digit
Start establishing
the call
Talk
User answers
Hook on
FE line signal
(Hook on)
SIGNAL
Ds=hook on
DISCONNECT
FE line signal
(Hook on)
FE disconnection request
Ss=normal polarity
DEALLOCATION
DISCONNECT COMP
Idle
DEALLOCATION COMP
FE deallocation request
FE disconnection complete
FE deallocation complete
8-28
AN side
LE side
FE allocation request
ALLOCATION
Idle
ALLOCATION COMP
Ring
FE establishment
Ss=keep on ringing
(Keep on ringing)
ESTABLISH ACK
FE line signal
SIGNAL
(Hoof off)
Hook off
FE allocation complete
ESTABLISH
FE line signal
NAT
Keep on ringing
FE establishment
acknowledgement
FE line signal indication
Ss=hook off
Ring back
tone
Hook off
Talk
Figure 8-20 PSTN call establishment flow started on the network side
AN side
LE side
NAT
SETUP(B)
ALLOCATION(TS1_B1)
FE allocation request
ALLOCATION COMP
FE establishment
complete
Hook on
User answers
DICONNECT
Disconnect
the call
RELEASE
DEALLOCATION
FE deallocation request
DEALLOCATION COMP
FE deallocation complete
Figure 8-21 ISDN call and release started by the AN side user
8-29
Figure 8-21 shows that protocol synchronization is not required for the ISDN call
release and the de-allocation of the bearer channel. Therefore, the sending of the
DEALLOCATION COMP message is independent of the order of receiving the
RELEASE message.
ISDN call setup flows simultaneously started
Figure 8-22 illustrates two ISDN call setup flows simultaneously started at one ISDN
user port. The figure shows the message interaction between the BCC protocol and the
DSS1 protocol.
ISDN user port
AN side
LE side
NAT
SETUP(CR1)
ALLOCATION(TS1_B1)
FE allocation request
ALLOCATION(TS2_B2)
FE allocation request
SETUP(CR2)
ALLOCATION COMP(TS1)
FE establishment complete
FE establishment complete
Figure 8-22 Two ISDN call setup flows simultaneously started at one ISDN user port
8-30