Internet DRAFT - draft-foster-mgcp-r2
draft-foster-mgcp-r2
Internet Engineering Task Force Kushanava Laha
Internet Draft Vikram Nair
Document: <draft-foster-mgcp-r2-00.txt> Hughes Software Systems
Category: Informational Bill Foster
Expires: April 2002 Cisco Systems
October 2001
MGCP R2 CAS Package
Status of this Document
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet- Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
1. Abstract
This document describes an MGCP package for R2 CAS signaling.
2. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in RFC-2119.
Laha et al Informational [Page 1]
INTERNET DRAFT MGCP R2 CAS Package October 2001
3. Introduction
Signaling System R2 is used for international/national signaling for
both automatic and semiautomatic inter-working. It allows for rapid
call set-up by providing sufficient signals in both directions to
permit the transmission of numerical and other information relating
to the called and calling subscriber lines and to increase routing
facilities.
The forward and backward compelled register signaling sequence for
exchanging call setup control information shall be executed in the
Media Gateway (MG). Signaling System R2 defines several numbered
(digit) and enumerated (non-digit) components of the call set-up
control information. The numbered call setup-up control information
components considered in this document are the destination number,
source number and country code. The enumerated call set-up control
information components considered are echo suppression information,
calling subscriber category, discriminating indicator, nature of
circuit, subscriber line status and congestion information. Of these,
the numbered components and the following enumerated components -
echo suppression information, calling subscriber category,
discriminating indicator and nature of circuit, are collectively
termed address parameters as they collectively convey the complete
address information required for call set-up in Signaling system R2.
They are also the components required at the minimum by the outgoing
MG in order to start the compelling action.
In order to handle time sensitive issues governing the compelling
sequence and to keep the Call Agent transparent of implementation
specific compelling at the MG, the following simple guidelines have
been observed while defining the package:
* All numbered address parameters are exchanged as complete digit
strings between the MG and Media Gateway Controller/Call Agent
(MGC) containing all the digits i.e. there is no digit by digit
reporting or signaling of numbered address parameters between the
MG and Call Agent.
* The outgoing MG is supplied with all the address parameters before
it starts outpulsing the compelling sequence. In fact the Call
Agent provides a "call setup" signal to the outgoing MG with all
the necessary (address and other) parameters.
* The MG behaving as an incoming R2 end, compels and collect all the
address parameters as per the provisioned compelling sequence when
the "call setup" event is requested. Flexibility in the package
allows for the Call Agent to solicit specific parameters.
Signals and events related to only basic R2 signaling operation for
automatic or semi-automatic inter-working, have been considered in
the R2 package. Variants of R2 signaling may define new supervisory
(line) and call set-up control (register) signals to introduce
features such as re-answering, trunk offering, re-ring, operator
break-in etc, to name a few. As there is no single standard mechanism
to implement such features (they vary from country to country), they
have not been considered in this package. However it is possible to
Laha et al Informational [Page 2]
INTERNET DRAFT MGCP R2 CAS Package October 2001
realize such features on the MGCP interface, by defining additional
signals and events in other packages.
4. Assumptions
a. As shown in the diagram below, the MG shall be connected to an
R2 exchange for R2 compelled signaling, peer MG for media
transport and Call Agent (MGC) for exchanging R2 signaling
information using MGCP with R2 package.
+-----+
+--MGCP--| MGC |--MGCP--+
| +-----+ |
| |
(~~~~~~) +--+--+ +--+--+ (~~~~~~)
( PSTN )====R2=====| MG1 |------RTP--------| MG2 |====R2=====( PSTN )
(~~~~~~) +-----+ +-----+ (~~~~~~)
[Incoming MG] [Outgoing MG]
[Call origination] [Call Termination]
Incoming - Outgoing convention
This draft uses the following convention for incoming / outgoing
MG
* Incoming MG: The R2 exchange initiates the call signaling
towards the MG.
* Outgoing MG: The MG initiates the call signaling towards the
R2 exchange.
Hence as shown in the figure above, MG1 is an incoming MG and
MG2 is an outgoing MG.
b. Signaling system R2 can be used for analog (one-way operation)
or digital transmission systems (one-way or both-ways
operations). The call agent (MGC) should be transparent with
respect to the transmission details at the physical layer. The
MG is therefore assumed to be provisioned with the actual
signaling frequencies for inter-register signaling (2-out-of-n
in-band multi frequency code with forward and backward compelled
signaling) along with their properties such as amplitude, tone
duration, cadence etc and also their logical significance. All
timers that dictate the inter-register compelling actions are
also assumed to be provisioned in the MG. The SF, E&M (for
analog) and "abcd" bits (for digital) line signaling parameters
generated at the physical layer, along with their logical
significance are also assumed to be provisioned at the MG.
c. The end-of-digit sequence for the called party on an incoming
call to an endpoint may be recognized either by the "end of
pulsing" compelled forward register signal or based on the digit
map. The use of the digit map also takes care of situations
where identification of end of digit sequence is through length
Laha et al Informational [Page 3]
INTERNET DRAFT MGCP R2 CAS Package October 2001
determination or timeout mechanisms. The calling party number
shall be compelled till the occurrence of maximum length of
calling party number or timeout (specified as configuration) or
the occurrence of end of pulsing. The MG is assumed to be
provisioned with a list of possible country codes. The MG shall
compel the country code digits based on this provisioned
information.
d. The MGC and MG, supporting signaling System R2 on the PSTN side,
provides signaling and media inter-working between two very
different types of signaling systems and networks. It is
therefore assumed that the MG shall either originate or
terminate R2 signaling (acting as a true inter-working unit
between the PSTN and packet network both in terms of signaling
and media) depending on whether it emulates the outgoing or
incoming end in the signal path. Under tandem operation,
therefore, the MG converts end-to-end R2 signaling to link-by-
link signaling and does not allow R2 register signals to pass
through it as tones.
5. R2 CAS package
Package Name: R2
Package Version: 0
5.1. MGCP Configuration Parameters
The following MG configuration parameters are specific to the R2 CAS
package.
* Clear back signal validation time: Specifies the minimum duration
for which the MG, if behaving as an outgoing end, validates the
"Clear-back" signal initiated by the other end (incoming end).
* Source number length: Indicates that the calling party digits can
be up to a maximum length as specified by the parameter value.
Thus calling party digits are collected up to a maximum of this
value or end of pulsing indicator.
* Source number timeout: Indicates that calling party digits are to
be collected till timeout of this timer value. The MG shall stop
compelling source number and consider collection of source number
to be complete either on expiry of this timer or when the source
number length criterion is matched or on receipt of end of
pulsing.
* Subscriber line status flag: Specifies whether the MG, behaving as
an incoming end, and after reporting all the address parameters to
the MGC, waits or does not wait for the called subscriber line
status information to be signaled by MGC before terminating the
compelling action.
* Trunk direction: Specifies whether the R2 endpoint is an incoming,
outgoing or bothway trunk circuit.
Laha et al Informational [Page 4]
INTERNET DRAFT MGCP R2 CAS Package October 2001
* Seize signal validation time: Specifies the minimum duration that
the "seizing" signal must persist in order to be reported as an
event.
* Start dialing timeout : Specifies the timer for the receipt of the
"start dialing" signal.
* Answer timeout: Specifies the timer for the receipt of the
"answer" signal.
* Answer signal validation time: Specifies the minimum duration that
the "answer" signal must persist for it to be reported as an
event.
* clear signal validation time: Specifies the minimum duration for
which the gateway, if behaving as an incoming end, validates the
"clear- forward" signal (or on-hook).
* Country codes: A list of possible country codes is provisioned in
the gateway.
5.2. Events and Signals
The following codes are used to identify events and signals for the
"R2" package:
Table 1 "" Package Events and Signals
------------------------------------------------------------------
|Code|Description |Event|Signal Duration |
|------------------------------------------------------------------|
|ans |Call Answer | S | BR |
| bl |Block | S | BR |
| cb |Clear Back | S | BR |
| cf |Clear Forward | S | BR |
|ubl |Unblock | S | BR |
|cng |Congestion | - | BR |
|r2f |R2 CAS Failure | x | - |
|sls |Subscriber Line Status | x | BR |
|sup |Call Setup | - | TO Variable |
| oc |Operation Complete | x | - |
| of |Operation Fail | x | - |
|sz |Seizure | S | - |
|r2a |Accumulated Info. | x | - |
|dn |Destination Number | x | - |
|sn |Source Number | x | - |
|sc |Subscriber Category | x | - |
|es |Echo Suppression Info. | x | - |
|cc |Country Code | x | - |
|ds |Discriminating Ind. | x | - |
|nc |Nature of Circuit | x | - |
------------------------------------------------------------------
Note that none of these events are defined as persistent. If
persistent events are desired for certain events, the persistent
Laha et al Informational [Page 5]
INTERNET DRAFT MGCP R2 CAS Package October 2001
event parameter in the base ("B") package in [2] should be used (if
supported).
Call Answer (ans): Supervisory signal indicating that the call has
been answered.
Block (bl): This signal is used to supply a steady blocked condition
on the endpoint. When requested as an event, it is used to indicate a
blocked condition to the Call Agent.
Unblock (ubl): This signal can be used to release a previously
blocked condition (caused by the "r2/bl" signal). As an it event
indicates that a previously blocked condition has become unblocked.
Clear Back (cb): This event corresponds to R2 "clear back" line
signaling.
Clear Forward (cf): This event corresponds to R2 "clear forward" line
signaling.
Congestion (cng): This signal applies the network congestion
compelled R2 signal on an endpoint.
R2 Failure (r2f): Reports general failure or abnormal line and
register signaling conditions. If reported, the reason for failure is
reported as a parameter with one of the following possible values:
"CNG" - Congestion: Encountered Network congestion.
"BLK" - Blocked: Encountered engaged condition on the "idle"
endpoint such that the MGC should not attempt a call on this
endpoint until the un-engaged ("unblocked") condition is restored.
If reported on an already "seized" endpoint, indicates a failure
condition for which the controlling MGC is expected to back-off
and retry on a new endpoint, propagate the congestion condition
backwards and/or clear the call on this endpoint (depending on the
call state at MGC).
"EAD" - Error in address specification: The address information
specified by the MGC is incomplete or inappropriate with respect
to the compelling sequence provisioned in the outgoing MG current
signaling state.
"BAD" - Bad Signal Request: The package signal (supervisory line
signal) requested by MGC for application is inappropriate with
respect to the line signaling state at MG. The request is not
being honored by MG with no impact on the current signaling state.
"DSZ" - Dual Seizure: Encountered dual seizure (or glare)
condition, indicating that the MGC requested "seizure" ("r2/sup")
at the same time as an incoming seizure occurred.
Subscriber Line Status (sls): This provides line condition
information associated with the called subscriber. When requested as
Laha et al Informational [Page 6]
INTERNET DRAFT MGCP R2 CAS Package October 2001
a signal and when reported as an event, a parameter indicating the
subscriber line status is included with one of the following possible
values:
"UN" - Unallocated number
"SLB" - Subscriber line busy
"SLFC" - Subscriber line free, charge
"SLFNOC" - Subscriber line free, no charge
"SOO" - Subscriber out of order
"SIT" - Send special information tone
"NK" - Subscriber status not known, set-up
speech path
Call Setup (sup): Outgoing call setup with the following parameters.
When requested as a signal, a seizure is provided on the line and
when the seizure is acknowledged, the gateway begins compelling
action for the parameters provided. Parameters are provided as a
comma-separated list as indicated below (order of the parameters is
not important):
* Destination number: dn=<dig1><dig2> ... <dign>, where <digi>
is a digit from "0" to "9"
* Source number: sn=<dig1><dig2> ... <dign>, where <digi>
is a digit from "0" to "9"
* Caller Subscriber Category: sc=<subscriber-category> where
<subscriber-category> can have one
of the values:
"NNPS" - Non-priority subscriber (National Working)
"NPRS" - Priority subscriber (National Working)
"NMNT" - Maintenance equipment (National working)
"NOPR" - Operator call (National Working)
"NDT" - Data transmission (National working)
"ISOPR" - Subscriber or operator without forward
transfer facility (International working)
"IOPRF" - Operator with forward transfer facility
(International working)
"IDT" - Data transmission (International working)
"IPRS" - Priority subscriber (International working)
* Echo Suppression Information: es=<es-info> where <es-info>
can have one of the following
values:
"OGRQ" - Call requires echo suppressors and
outgoing half-echo suppressor has to be
inserted
"NRQ" - Call may not require any echo suppressor
"OGINS" - Call requires echo suppressors and
outgoing half-echo suppressor has
Laha et al Informational [Page 7]
INTERNET DRAFT MGCP R2 CAS Package October 2001
already been inserted
"ICRQ" - Call requires incoming echo suppressors
to be inserted
* Country Code Information: cc=<dig1>,<dig2>, ..., <dign>,
where <digi> is a digit from
"0" to "9"
* Discriminating Indicator: ds=<disc-ind>, where <disc-ind>
is one of the values:
"DISC" - Discriminating digit for automatic working
"FR" - Language digit French
"EN" - Language digit English
"GR" - Language digit German
"RU" - Language digit Russian
"SP" - Language digit Spanish
"OT" - Language digit Other
"TCI" - Call by automatic test equipment
* Nature of the Circuit: nc=<nat-circ>, where <nat-circ>
can have one of the values:
"INC" - Satellite link included
"NOI" - Satellite link not included
Operation Complete (oc): This event is supported in accordance with
its default definition (i.e. reports completion of a TO signal). In
this case, the only TO signal is this package is the "sup" signal.
Hence, this event can be used to indicate when call setup
(outpulsing) is completed.
Operation Fail (of): In general, the operation failure event may be
generated when the endpoint was asked to apply one or several signals
of type TO on the endpoint, and one or more of those signals failed
prior to timing out. In this package, the only TO signal is the "sup"
signal used for doing a call setup. The failure report carries with
it as a parameter the name of the signal that failed. In the case of
the sup signal, general reasons are also supplied w.r.t. call setup
(in addition to the r2 specific reasons indicated for the r2f event)
O: r2/of(r2/r2addr(<reason>))
where <reason> can be any one of:
"ULS" - Unexpected line signal
"LTO" - Line signal timeout
"RTO" - Register signal timeout
"SME" - Protocol State machine malfunction
"SDO" - Start Dialing Timeout
"ANO" - Answer Timeout
"ADR" - Error during outpulsing
Note that when the operation failure event is requested, it cannot be
parameterized with any event parameters.
Laha et al Informational [Page 8]
INTERNET DRAFT MGCP R2 CAS Package October 2001
Seizure (sz): Event indicating that an incoming seizure has occurred.
Accumulated R2 Information (r2a): When this event is requested, all
of the address information as well as country code etc. is
accumulated before reporting this event. The format of the parameters
is the same as that for the "sup" signal:
* Destination number: dn=<dig1><dig2> ... <dign>
* Termination Method: tm=<termination-method>
* Source number: sn=<dig1><dig2> ... <dign>
* Caller Subscriber Category: sc=<subscriber-category>
* Echo Suppression Information: es=<es-info>
* Country Code Information: cc=<dig1>,<dig2>, ..., <dign>
* Discriminating Indicator: ds=<disc-ind>
* Nature of the Circuit: nc=<nat-circ>
See the description of the "sup" signal for allowable parameter
values. The only exception is the termination method. The
<termination-method> can have one of the following values:
"UM" - Unambiguous Match or "perfect" match as described in
section 2.1.5 of [2].
"NM" - No match or "impossible match" as described in section
2.1.5 of [2].
"PM" - end of signaling received (along with a partial match)
Note that the digit map symbol "T" indicates timer expiry for
compelled register signaling. In the case of a mismatch (including
one due to timer expiry), the resulting mismatched digit string is
included the destination number parameter. If the mismatch is caused
by a timer expiry, then of course the digit string will be terminated
by the "T" digit map symbol. If the digit map is not available when a
request for "r2a" or "dn" is made, error 519 must be returned.
Rather than waiting for all of the information to be accumulated, the
Call Agent may request that the information as separate events. In
that case, each piece of information will be reported separately as
it occurs. None of the following events can be requested in
conjunction with the "r2a" event (else an error will be reported with
response code XXX). These separately reported events are as follows:
* Destination number: dn(nu=<dig1><dig2> ...
<dign>,tm=<termination-method>)
* Source number: sn(<dig1><dig2> ... <dign>)
Laha et al Informational [Page 9]
INTERNET DRAFT MGCP R2 CAS Package October 2001
* Caller Subscriber Category: sc(<subscriber-category>)
* Echo Suppression Information: es(<es-info>)
* Country Code Information: cc(<dig1>,<dig2>, ..., <dign>)
* Discriminating Indicator: ds(<disc-ind>)
* Nature of the Circuit: nc(<nat-circ>)
Allowable values for parameters are the same as for the "r2a" event.
6. Procedures
6.1. Procedures for exchanging supervisory signals
This section attempts to capture the procedures involved in using the
R2 package signals and events for exchanging the supervisory signals
in signaling System R2 between the Call Agent and MG under normal
signaling operations.
Incoming Call Setup
-------------------
When an endpoint in the MG is not involved in a call, it is in the
"idle" state. The Call Agent has two choices:
1. Make a request for the r2a event which will accumulate all of the
R2 information before reporting e.g.:
RQNT ...
...
R: r2/r2a,r2/r2f,r2/bl,r2/sz
In the case of digital trunk, when an incoming seizure occurs, the
gateway will automatically respond with a "seizure acknowledge" (in
the analogue case, there is no seizure acknowledge required).
Compelled signaling will be then be initiated immediately. If the
Call Agent requested event "r2/sz", then the seizure event would be
be notified as soon as the seizure occurs. Note: in this case and if
in step-by-step mode, the Call Agent would have to send another RQNT
before being notified about the "r2a" event. If the "Q:" parameter is
set to "loop" or if the "sz" event was not requested, then this extra
RQNT would not be required (however, requesting the "sz" event is
recommended as part of the glare mitigation strategy).
As soon as all the information is available that was requested in the
event parameters, the "r2/r2a" event will be notified to the Call
Agent e.g.:
NTFY ...
...
Laha et al Informational [Page 10]
INTERNET DRAFT MGCP R2 CAS Package October 2001
O: r2/r2a(dn=<destination-number>,sn=<source-number>,...)
2. Alternatively the Call Agent may ask to be told about R2
information as separate events than waiting until it all
accumulates e.g.:
RQNT ...
...
Q:loop
R: r2/dn,r2/sn,r2/sc,r2/es,r2/cc,r2/ds,r2/nc,r2/r2f,r2/bl,r2/sz
In this case, as soon as "r2/z" is reported, the gateway will report
individual notifies for each piece of information whenever it is
available.
Outgoing Call Setup
-------------------
An outgoing call setup request is done with the "r2/sup" signal. When
sent as a signal request to the gateway, the gateway sends a
"seizure". In the case of a digital trunk it then waits for a
"seizure acknowledge". It then starts outpulsing the address and
other parameters supplied with the signal. Example - it may be done
as an embedded RQNT in a CRCX like:
CRCX ...
...
S: r2/sup(dn=destination-number>,sn=<source-number>,...)
R: r2/of,r2/r2f,r2/ans,r2/oc
If there is an error due to a "start dialing timeout" (i.e. the
seizure acknowledge takes too long) or other error in trying to
outpulse, the gateway will send a NTFY with "O: r2/of(r2/sup(...)) or
r2/r2f(...), indicating the reason for the error.
If outpulsing completes properly, then the operation complete event
will be notified if it was requested(i.e. NTFY with
"O:r2/oc(r2/sup)").
Call Answer
-----------
"r2/ans" is reported as an event from the outgoing MG to the Call
Agent when the "answer" line signal is detected. The Call Agent then
uses "r2/ans" as a signal to instruct the incoming MG to transmit the
"answer" line signal to the incoming end.
Call Clearing
-------------
The "r2/cb" signal can be used to generate a "clear-back" line signal
on an incoming R2 trunk while "r2/cf" can be used to generate a
"clear-forward" line signal on an outgoing R2 trunk. Similarly, these
events can be requested in order to report these R2 line-signaling
events on these events. Note that the release and release-guard
sequence defined by signaling System R2 shall be locally executed at
Laha et al Informational [Page 11]
INTERNET DRAFT MGCP R2 CAS Package October 2001
the MG at the time of call clearing and such procedures shall be
transparent to the Call Agent
Blocking/Unblocking
-------------------
Signaling System R2 defines supervisory signals to render an "idle"
R2 endpoint (trunk) to "blocked" state. The Call Agent applies the
"r2/blk" signal to the MG on an incoming interface in "idle" state to
prevent any incoming "seizure" of the circuit. On an outgoing
interface, the MG is able to report the blocking condition to its
controlling Call Agent via the "r2/bl" event.
If the controlling Call Agent of the outgoing MG attempts to "seize"
a "blocked" endpoint, the outgoing MG shall report a failure to the
MGC (filling up "Bad Signal Request" as the value of the error code
parameter for the "r2/csf" event).
Signaling System R2 similarly defines supervisory signals to render a
"blocked" R2 endpoint (trunk) to "unblocked"/"idle" state. The Call
Agent applies the "r2/ubl" signal to the MG on an incoming interface
in "blocked" state to render it to "idle".
On an outgoing interface, a request for the "r2/ubl" event can be
used to report when the trunk becomes unblocked (or idle) so that it
is available for future calls.
Glare Mitigation
----------------
Glare (or more popularly known as "dual seizure") arises when an
outgoing call setup request occurs simultaneous with an incoming
seizure of a both-way R2 trunk. Glare can occur at either the MG to
R2 interface or at the MGC-MG interface.
If the gateway is able to recognize the glare condition early enough,
it may respond immediately with reason code "800" to the
"r2/sup(...)" signal request. Otherwise, it will notify (if
requested) with an "r2/r2f(dsz)" event. In the case where the glare
occurred at the MGC-MG interface, it may be possible for the incoming
call to continue, (i.e. report the "r2/sz" event if requested).
In order to reduce the glare "window" it is recommended that the Call
Agent request to be notified about the "r2/sz" signal when setting up
a trunk for an incoming call. This allows the Call Agent to be aware
of an incoming call setup "in-progress" as soon as possible. To allow
an incoming call to proceed in the case where glare occurred at the
MGC-MG interface, it makes sense to request both the "r2/sz" and
"r2/r2a" (or individual information) events, even when requesting an
"r2/sup" signal i.e.:
S: r2/sup(dn(<destination-number>),sn(<source-number>),...)
R: r2/of/r2/r2f,r2/ans,r2/sz,r2/r2a
If this was done with "Q:loop" set, then in the case of an MG-MGC
glare condition, the Call Agent might see:
Laha et al Informational [Page 12]
INTERNET DRAFT MGCP R2 CAS Package October 2001
* a NTFY with "O: r2/csf(dsz)"
* a NTFY with "O: r2/sz"
* and a NTFY with "O: r2/r2a(...) indicating the incoming call has
completed.
Failure/Abnormal conditions
---------------------------
Failure or abnormal conditions at the MG during supervisory signal
exchange shall be reported through the "r2/of" and "r2/r2f" events to
the MGC. It is advised that the MGC request the "r2/r2f" event when
either setting up for an incoming or outgoing call. However, "r2/of"
is only valid for the "r2/sup" TO signal.
6.2 Procedures for exchanging call set-up control information
The "r2/r2a" (or alternative "r2/dn", r2/sn", etc.) events and
"r2/sup" signal is used for passing (address and other) r2 parameters
between the Call Agent and the MG.
Digit sequence termination at incoming MG
-----------------------------------------
Address parameters calling party number, called party number and
country code shall be compelled and the event completion criteria for
each parameter shall be decided upon the conditions / procedures
mentioned in the table below:
Address Parameter Completion criteria
----------------- -------------------
Called Party Number The MG shall collect called party number
digit string until the occurrence of any one
of the events mentioned below:
* end of pulsing
* maximum length of called party digits,
perfect match or mismatch as specified by
the digit map.
* timeout of called party timer. The
calling party timer shall be started the
moment called party number compelling
starts. {BF: how - unless T is especially
defined}
Calling Party Number The MG shall collect calling party number
digit string until the occurrence of any one
of the events mentioned below:
* end of pulsing
* maximum length of calling party digits
* timeout of calling party timer. The
calling party timer shall be started the
moment calling party number compelling
starts.
Laha et al Informational [Page 13]
INTERNET DRAFT MGCP R2 CAS Package October 2001
Country Code MG shall collect country code digits based on
provisioned list of country codes.
Termination of Compelling Sequence
----------------------------------
After an incoming MG has reported the "r2/r2a" (or alternative
information) event(s) to its controlling MGC, the latter shall route
the call based on the call set-up control information supplied.
Depending on the value of the provisioned "subscriber line status
flag", the incoming MG shall either terminate the compelled signaling
sequence or wait for the outcome of the routing status to be signaled
by the MGC. In the event of this second option, the MGC shall
indicate back to the incoming MG either the Called subscriber line
status ("r2/sls" signal) or the "r2/cng" signal (if the MGC
encountered network congestion).
Similarly, an MG behaving as an outgoing end shall wait for the
called subscriber line status information. This shall be reported as
the "r2/sls" event to the controlling MGC. If the outgoing MG
receives congestion information instead, it shall be reported as
"r2/csf" event to MGC with Error code parameter set to Congestion
("CNG").
6.3 Call flows for Incoming Call
A digital trunk type is assumed at the physical interface level. The
ladder diagrams attempt to capture the typical usage of the package
signals and events and they are indicative in nature. Here the MG is
behaving as an incoming end and the MG and MGC are assumed to be
placed such that they together form the last incoming R2 register
(transit gateway) in the signaling path beyond which international
inter-working call signaling protocols start. Detailed parameters in
events and signals are not shown
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
< ---------
RQNT
Q: loop
R: r2/r2a,r2/r2f,r2/bl,r2/sz
----------->
"seizing"
<-----------
"seizure
acknowledged"
----------->
NTFY
O: r2/sz
/*----------------------------------------------------------------
Laha et al Informational [Page 14]
INTERNET DRAFT MGCP R2 CAS Package October 2001
Compelling action starts with the R2 outgoing end transmitting
the country code indicator. The MG compels the country code
digits and collects them till a match is found with one of the
entries in its provisioned database.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
----------->
"Country Code Indicator,
no echo suppressor
required"
<-----------
"send next digit"
----------->
"Country code
(first digit)=9"
<-----------
"send next digit"
----------->
"Country code
(last digit)=1"
/*-------------------------------------------------------------------
MG solicits the language/discriminating digit information from
the R2 end, as per compelling action defined in the MG.
-------------------------------------------------------------------
*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
<-----------
"send language or
discriminating digit"
----------->
"discriminating
digit=0"
/*----------------------------------------------------------------
The MG solicits the called party number information from
the R2 end, as per compelling action defined in the MG.
-------------------------------------------------------------------
*/
<-----------
Laha et al Informational [Page 15]
INTERNET DRAFT MGCP R2 CAS Package October 2001
"send next (called
party number) digit"
----------->
"Called party no.
(1st digit)=0"
<-----------
"send next digit"
----------->
"Called party no.
(next digit)=0"
<-----------
"send next digit"
{ Remaining Called party number exchanged through compelling }
----------->
"Called party no.
(last digit)=6"
/*----------------------------------------------------------------
MG solicits the calling party category information from
the R2 end, as per compelling action defined in the MG.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
<-----------
"send calling party
category"
----------->
"Calling party
category = Non
priority subscriber"
/*----------------------------------------------------------------
The MG solicits the calling party number information from the R2
end, as per compelling action defined in the MG.
----------------------------------------------------------------*/
<-----------
"send calling party
number "
----------->
"Calling party no.
(1st digit)=6"
<-----------
Laha et al Informational [Page 16]
INTERNET DRAFT MGCP R2 CAS Package October 2001
"send next (calling
party number)digit"
----------->
"Calling party no.
(next digit)=8"
<-----------
"send next (calling
party number)digit"
{ Remaining Called party number exchanged through compelling }
----------->
"Calling party no.
(last digit)=7"
/*----------------------------------------------------------------
MG has no further address parameters to compel. The "r2a" event
is reported to MGC with all collected address values as
parameters.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
------------>
NTFY
O: r2/r2a
(es="NRQ",
cc="91",
ds="DISC",
dn="00...6",
sc="NP",
sn="68...7")
/*----------------------------------------------------------------
MGC has set the "subscriber line status flag" to "wait"
so that MG waits for subscriber line status information signaled
from the MGC, before terminating the compelling action.
MG sends a dummy backward signal to complete the compelling
sequence soliciting further digits. R2 outgoing end has no
further digits to send.
----------------------------------------------------------------*/
<-----------
"send next digit"
/*----------------------------------------------------------------
Based on the received address information, MGC routes the call.
However the subscriber line status is not known to MGC
and the same information is signaled to MG.
----------------------------------------------------------------*/
<-----------
RQNT
Laha et al Informational [Page 17]
INTERNET DRAFT MGCP R2 CAS Package October 2001
S: r2/sls(nk)
/*----------------------------------------------------------------
MG terminates the compelling sequence by signaling the R2 end to
set up the speech path (pulsed signal). R2 registers are
deallocated at both ends}
----------------------------------------------------------------*/
<-----------
"address complete,
setup speechpath"
/*----------------------------------------------------------------
Compelling action ends. Called Subscriber answers.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
<-----------
RQNT
S: r2/ans
<-----------
"answer"
================================================================
Media
================================================================
/*----------------------------------------------------------------
Outgoing R2 end clears the call.
----------------------------------------------------------------*/
----------->
"clear
forward"
----------->
NTFY
O: r2/cf
/*----------------------------------------------------------------
MG executes the release guard sequence locally.
----------------------------------------------------------------*/
<-----------
"released"
/*----------------------------------------------------------------
MGC brings back the endpoint to default state.
----------------------------------------------------------------*/
<-----------
RQNT
R: r2/sz,r2/r2a,
Laha et al Informational [Page 18]
INTERNET DRAFT MGCP R2 CAS Package October 2001
r2/r2f
6.4. Call flows for Outgoing Call
A digital trunk type is assumed at the physical interface level. The
ladder diagrams attempt to capture the typical usage of the package
signals and events and they are indicative in nature. Here the MG is
behaving as an outgoing end and the MG and MGC are assumed to be
placed such that they together form the first outgoing R2 register in
the signaling path beyond which R2 call signaling protocols start.
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
< ---------
RQNT
S: r2/sup(...)
R: r2/or/r2/r2f,r2/sls
<-----------
"seizing"
----------->
"seizure
acknowledged"
/*----------------------------------------------------------------
Compelling action starts with outgoing MG transmitting the
Country Code indicator and the R2 end compelling the rest of the
country code digits.
---------------------------------------------------------------*/
<-----------
"Country Code Indicator,
no echo suppressor
required"
----------->
"send next digit"
<-----------
"Country code
(first digit)=9"
----------->
"send next digit"
<-----------
"Country code
(last digit)=1"
Laha et al Informational [Page 19]
INTERNET DRAFT MGCP R2 CAS Package October 2001
/*---------------------------------------------------------------
R2 end solicits the language/discriminating digit information
from the MG.
-----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
----------->
"send language or
discriminating digit"
<-----------
"discriminating
digit=0"
/*----------------------------------------------------------------
R2 end solicits the called party number information from
the MG.
---------------------------------------------------------------*/
----------->
"send next (called
party number) digit"
<-----------
"Called party no.
(1st digit)=0"
----------->
"send next digit"
<-----------
"Called party no.
(next digit)=0"
----------->
"send next digit"
{ Remaining Called party number exchanged through compelling }
<-----------
"Called party no.
(last digit)=6"
/*----------------------------------------------------------------
R2 end solicits the calling party category information from
the MG.
----------------------------------------------------------------*/
----------->
"send calling party
category"
Laha et al Informational [Page 20]
INTERNET DRAFT MGCP R2 CAS Package October 2001
<-----------
"Calling party
category = Non
priority subscriber"
/*----------------------------------------------------------------
R2 end solicits the calling party number information from
the MG.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
----------->
"send calling party
number "
<-----------
"Calling party no.
(1st digit)=6"
----------->
"send next (calling
party number)digit"
<-----------
"Calling party no.
(next digit)=8"
----------->
"send next (calling
party number)digit"
{ Remaining Called party number exchanged through compelling }
<-----------
"Calling party no.
(last digit)=7"
/*----------------------------------------------------------------
R2 end terminates the compelling sequence by signaling the MG
with the called destination status. R2 registers are deallocated
at both ends.
----------------------------------------------------------------*/
---------->
"address complete,
wait for called
destination status"
Laha et al Informational [Page 21]
INTERNET DRAFT MGCP R2 CAS Package October 2001
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
<-----------
"Calling party
category = Non
priority subscriber"
---------->
"subscriber line free,
charge"
----------->
Notify
O: r2/sls(SLFC)
/*----------------------------------------------------------------
MGC sets events for having answer reported.
----------------------------------------------------------------*/
<-----------
RQNT
Q: loop
R: r2/ans,r2/r2f,r2/cb
/*----------------------------------------------------------------
R2 end sends answer signal to MG. MG reports answer event to MGC.
----------------------------------------------------------------*/
----------->
"answer"
----------->
NTFY
O: r2/ans
================================================================
Media
================================================================
/*----------------------------------------------------------------
Incoming R2 end clears the call.
----------------------------------------------------------------*/
----------->
"clear
back"
----------->
NTFY
O: r2/cb
/*----------------------------------------------------------------
MGC brings the termination back to default handling.
----------------------------------------------------------------*/
---------------------------------------------------------------
R2 MG MGC
---------------------------------------------------------------
Laha et al Informational [Page 22]
INTERNET DRAFT MGCP R2 CAS Package October 2001
<-----------
RQNT
S: r2/cf
R: r2/sz,r2/r2f,r2/r2a
/*----------------------------------------------------------------
MG executes the release guard sequence locally.
----------------------------------------------------------------*/
<-----------
"clear
forward"
----------->
"released"
7. References
[1] Specifications of Signaling System R2, Q.400 to Q.490, Blue
Book, CCITT
[2] Arango et al, Media Gateway Control Protocol (MGCP)Version
1.0bis, draft-andreasen-mgcp-rfc2705bis-01.txt
8. Author's Addresses
Kushanava Laha
Hughes Software Systems, Ltd.
Gurgaon,Haryana,India. 122015.
Ph: (91)-11-6346666.Ext-2226
Email: klaha@hss.hns.com.
Vikram Nair
Hughes Software Systems, Ltd.
Gurgaon,Haryana,India. 122015.
Ph: (91)-11-6346666.Ex-2349
Email: vnair@hss.hns.com
Bill Foster
Email: bfoster@cisco.com
9. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
Laha et al Informational [Page 23]
INTERNET DRAFT MGCP R2 CAS Package October 2001
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Laha et al Informational [Page 24]