Media Gateway Control and the
Softswitch Architecture
Outline
n
Introduction
n
Softswitch
n Softswitch Architecture
n Softswitch Operations
n
Media Gateway Control Protocols
n MGCP
n MEGACO
Next Generation Network
n Internet Telecom & Wireless Communication
IP
MGCF CSCF
T-SGW MGW MGW
WLAN GPRS
CSCF SIP
Server
PSTN
Internet
Wireless App.
Server 3rd Parties App.
Gateways in Next Generation Networks
MGC : Media Gateway Controller SG : Signaling Gateway
TGW : Trunking Gateway RGW : Residential Gateway
CO SCP STP
PBX
H.323 GK SS7/IN
PSTN IP Networks
SG
TGW
H.323 MG
MGC
MGCP/MEGACO H.323/SIP
SIGTRAN RTP/RTCP Analog Line
Trunk
MGCP/MEGACO Phones RGW
H.323 Phones
H323, SIP & MGCP, MEGACO
GK GW
MCU
GW : Gateway GK : Gatekeeper TN : Terminal
TN
PSTN CA
TGW RGW
CA : Call Agent
TGW : Trunking Gateway RGW : Residential Gateway SG : Singling Gateway
SS7
PSTN CO
SG
RTP MGCP
H.323 TN
TN
GW GK
MCU
TN
TN TN
H323, SIP & MGCP/MEGACO
n H.323 , SIP
n peer-to-peer
n internet oriented
n intelligent endpoint
n optional GK
n decentralized
n Problems
n maintenance
n cost & scalability of large systems
n signaling & media control are coupled
n interoperability with
SS7
n MGCP/MEGACO
n client-server
n traditional telephony
n intelligent server
n “dumb” terminal
n centralized
n
Concept
n gateway decomposed
n separate call control from media ports
n CA (MGC), MG, SG
n interoperability with PSTN
Class 5
End Office Switch
The Telephone Network [1/2]
Circuit Switched Network Intelligent
Peripheral
Signal Transfer Point
Service Control Point
Class 4
Tandem Switch
Service Data Point +
Transport Layer Control Layer SS7 Signaling
ISUP Messages
INAP/TCAP Messages
The Telephone Network [2/2]
n
5 Basic Components in Intelligent Networks
n SSP/Service Switching Point
n switching, signaling, routing, service invocation
n STP/Service Transfer Point
n signaling, routing
n SCP/Service Control Point
n service logic execution
n SDP/Service Data Point
n subscriber data storage, access
n IP/Intelligent Peripheral
n resources such as customized voice announcement, voice recognition, DTMF digit collection
SSPSSP
SCPSCP
SDPSDP
STPSTP IPIP
SSPSSP STPSTP
TCAP messages
ISUP messages Voice
Softswitch
n
The switching functions are handled by software
n
International Softswitch Consortium (ISC)
n www.softswitch.org
n To promote the softswitch concept and related technologies
n
Why the softswitch approach is popular?
n A distributed architecture
n For network operators
n It is possible to use different network components from different vendors.
n For equipment vendors
It is possible to focus on one area.
Abstract Softswitch Architecture
Softswitch/PSTN Interworking
n SIP is often used as the signaling protocol between the MGCs.
Mo d em Ban k
Softswitch Overview [1/3]
n
Softswitch:
Emulating Circuit Switching in SoftwareIN/SCP
PSTN Local Switch PSTN
Local Switch
STP SS7 Network
IP Network
RTP Streams MGC
MGC MGCMGC
Trunk Trunk Gateway
Gateway Trunk Trunk
Gateway Gateway SIP-T
SG SG SG
SG SIGTRAN
MEGACO
IP Phone IP Phone
9000
9000 Personalized VoIP Service System
Application Server Application Server
Softswitch Overview [2/3]
n
Softswitch Provides Open Layered Architecture
• Solutions in a proprietary box
• Expensive
• Little room for innovation
Circuit-Switched
Transport Hardware Call Control
& Switching Services &
Applications
P R O P R I E T A R Y
• Solutions are open standards-based
• Customers choose best-in-class products
• Open standards enable lower cost for innovation
Soft-Switched
Transport Hardware Softswitch Call Control Services, Applications &
Features (Management, Provisioning and
Back Office)
Open Protocols APIs
Open Protocols APIs
Open APIs for 3rd Party App develop.
Best-in-class Access Devices.
Scalable,
Open Interfaces for Comm.
Softswitch Overview [3/3]
n
Softswitch Changes the Telecom Landscape
n Integration/Incorporation
n Convergence of voice and data
n Combination of telecom & internet technologies
n Reuse PSTN database & IN services in packet networks
n Multiple sources for app development & deployment
n Decreased operating costs
n Standardization
n Standard interfaces (protocols) for communications
n Open standards (APIs) for service creation
n Customized services created by users themselves
n Better scalability
Softswitch Architecture
CO Switch
STP SCP
CO Switch
STP SCP
Signaling Layer Transport Layer IP
SIP-T
Media Server
RTP SIP-?/
MGCP
SIP-TSI
Media Gateway Controller
MGCP/
MEGACO Phones
App.
Server
Media Gateway Controller
SIGTRAN SSA/SCTP
MGCP/MEGACO
Trunking Gateway Signaling
(SS7) Gateway
SS7 TCAP
ISUP/TCAP
Local Switch
STP
SCP
STP STP STP
Local Switch STP
Local Switch
Trunking Gateway Signaling
(SS7) Gateway
Media Gateway Controller
Trunking Gateway Signaling
(SS7) Gateway
Routing Directory
Softswitch Operations [1/3]
n
Basic Call Control
12 ISUP ACM 13 ISUP
ANM ISUP ACM
ISUP ANM
ISUP IAM ISUP IAM
1
2 3
4 5
6 7
8
9 10
14
11 SIGTRAN
MGCP/MEGACO
Voice Voice
RTP
Softswitch Operations [2/3]
n
Inter-Softswitch Communications
Local Switch
STP
Trunking Gateway Signaling
(SS7) Gateway
Media Gateway Controller
STP
Trunking Gateway
STP
Media Gateway Controller
Signaling (SS7) Gateway
STP STP
Domain A Domain B
Local Switch Routing
Directory 3
1
5 2
ISUP IAM
4
SIGTRAN
MGCP/MEGACO
6 SIP-T
7
9
16 Voice
RTP
8
ISUP IAM 12
13 Voice
10
11
14 ISUP ACM 15 ISUP
ANM ISUP ACM
ISUP ANM
Softswitch Operations [3/3]
n
IP-PSTN Interworking for IN Services
Local Switch
STP
SCP
STP STP STP
Local Switch STP
Local Switch
Trunking Gateway Signaling
(SS7) Gateway
Media Gateway Controller
Trunking Gateway Signaling
(SS7) Gateway
Routing Directory
ISUP IAM ISUP IAM
1
2
3
4
7
8 9
10
11 12
13 SIGTRAN
MGCP/MEGACO
Voice Voice
RTP 5
INAP/TCAP
16 6
14 ISUP ACM 15 ISUP
ANM ISUP ACM
ISUP ANM
Introduction
n
Voice over IP
n Lower cost of network implementation
n Integration of voice and data applications
n New service features
n Reduced bandwidth
n
Replacing all traditional circuit-switched networks is not feasible.
n
VoIP and circuit-switching networks coexist
n Interoperation
n Seamless interworking
Separation of Media and Call Control
n
Gateways
n Interworking
n To make the VoIP network appear to the circuit switched network as a native circuit-switched system and vice versa
n
Signaling path and media path are different in VoIP systems.
n Media – directly (end-to-end)
n Signaling – through H.323 gatekeepers (or SIP proxies)
n
SS7, Signaling System 7
n The logical separation of signaling and media
Separation of Media and Call Control
n A network gateway has two related but separate functions.
n Signaling conversion
n The call-control entities use signaling to communicate.
n Media conversion
n A slave function (mastered by call-control entities)
n Figure 6-1 illustrates the separation of call control and signaling from the media path.
Separation of Media and Call Control
n
Advantages of Separation
n Media conversion close to the traffic source and sink
n The call-handling functions is centralized.
n A call agent (media gateway controller - MGC) can control multiple gateways.
n New features can be added more quickly.
n
MGCP, Media Gateway Control Protocol
n IETF
n
MEGACO/H.248
n IETF and ITU-T Study Group 16
Requirements for Media Gateway Control [1/2]
n
RFC 2895
n Media Gateway Control Protocol Architecture and Requirements
n
Requirement
n The creation, modification and deletion of media streams
n Including the capability to negotiate the media formats
n The specification of the transformations applied to media streams
n Request the MG to report the occurrence of
specified events within the media streams, and the corresponding actions
Requirements for Media Gateway Control [2/2]
n Request the MG to apply tones or announcements
n The establishment of media streams according to certain QoS requirements
n Reporting QoS and billing/accounting statistics from an MG to an MGC
n The management of associations between an MG and an MGC
n In the case of failure of a primary MGC
n A flexible and scalable architecture in which an MGC can control different MGs
n Facilitate the independent upgrade of MGs and MGCs
Protocols for Media Gateway Control
n The first protocol is MGCP
n RFC 2705, informational
n To be succeeded by MEGACO/H.248
n Has be included in several product developments
n MEGACO/H.248
n A standards-track protocol
n RFC 3015 is now the official version.
IPDC SGCP
MGCP
MEGACO
Telcodia (Bellcore)
Level 3 Communication
Lucent (by ITU-T)
IETF RFC 3015 ITU-T H.248 November 2000 IETF RFC 2705
October 1999
MGCP 1.0
IETF RFC 3435 January 2003
Relation with H.323/SIP Standards
MGCP/
MEGACO Phones Trunking
Gateway Signaling
Gateway
MGC
SIGTRAN SSA/SCTP
RTP
MGCP/MEGACO
SS7 TCAP
ISUP/TCAP
Concept of MGCP/MEGACO
CO Switch
STP SCP
PhonesPSTN
Media Gateway
MGC Connection
Create Delete Modify
Event Notification Request
Status Query
Response Success Failure Event
Notify Status
Report Dumb Client
Stateless
Intelligent Server
MGCP
n A master-slave protocol (A protocol for controlling media gateways)
n Call agents (MGCs) control the operation of MGs
n Call-control intelligence
n Related call signaling
n MGs
n Do what the CA instructs
n A line or trunk on circuit-switched side to an RTP port on the IP side
n Types of Media Gateway
n Trunking Gateway to CO/Switches
n Residential Gateway to PSTN Phones
n Access Gateway to analog/digital PBX
n Communication between call agents
n Likely to be the SIP
The MGCP Model
n
Endpoints
n Sources or sinks of media
n Trunk interfaces
n POTS line interfaces
n Announcement endpoint
n
Connections
n Allocation of IP resources to an endpoint
n An ad hoc relationship is established from a
circuited-switched line and an RTP port on the IP side.
n A single endpoint can have several connections
MGCP Endpoints [1/3]
n
DS0 channel
n A digital channel operates at 64kbps.
n Multiplexed within a larger transmission facility such as DS1 (1.544 Mbps) or E1 (2.048 Mbps)
n G.711 (u-law or A-law)
n
Analog line
n To a standard telephone line
n An analog voice stream
n Could also be audio-encoded data from a modem
n The gateway shall be required to extract the data and forward it as IP packets.
n
Announcement server access point
n Provide access to a single announcement
n One-way
n No external circuit-switched channels
n
Interactive voice response (IVR) access point
n Provide access to an IVR system
n
Conference bridge access point
n Media streams from multiple callers can be mixed
n
Packet relay
n A firewall between an open and a protected networks
MGCP Endpoints [2/3]
MGCP Endpoints [3/3]
n
Wiretap access point
n For listening to the media transmitted
n One way
n
ATM trunk-side interface
n The termination of an ATM trunk
n May be an ATM virtual circuit
n GW’s Domain Name + Local Name
n Local Name
n A hierarchical form: X/Y/Z
n trunk4/12/7@gateway.somenetwork.net
n To identify DS0 number 7 within DS1 number 12 on DS3 number 4 at gateway.somenetwork.net
n Wild-cards
n $, any; *, all
n e.g., trunk1/5/$@gateway.somenetwork.net
n CA wants to create a connection on an endpoint in a gateway and does not really care which endpoint is used.
n e.g., trunk1/5/*@gateway.somenetwork.net
n CA requests statistical information related to all endpoints on
Endpoint Identifier
MGCP Calls and Connections
n A connection
n Relationship established between a given endpoint and an RTP/IP session
n A call
n A group of connections
n The primary function of MGCP is to enable
n The connections to be created
n The session descriptions to be exchanged between the connections
123 456 789
*8#
123 456 789
*8#
n
Call Identifier (Call ID)
n Created by CA
n Unique within CA Scope
n
Connection ID
n Created by GW
n Unique under Its GW
n
CA Identifier (its domain name)
n Redundant CAs with a domain name: reliability
Calls, Connections and Call Agents
Endpoint Endpoint
1. CRCX CA
3. MDCX 2. CRCX
IP, Port, Packetization
RTP
n
9 commands to handle Connection/Endpoints
n EndpointConfiguration (coding characteristics)
n NotificationRequest (requested events)
n Notify (GW: detected events)
n CreateConnection
n ModifyConnection
n DeleteConnection
n AuditEndpoint
n AuditConnection
n RestartInProgress (GW : taken in/out of service)
n
All commands are acknowledged.
EPCF RQNT NTFY CRCX MDCX DLCX AUEP AUCX RSIP
MGCP Commands
MGCP Command Format
n A command line
n Request verb (the name of the command)
n Transaction id
n Endpoint id (for which the command applies)
n Protocol version
n A number of parameter lines
n An optional session description (SDP)
n Separated by a single empty line
n Command Encapsulation
n One command can be included within another
n Only one level of encapsulation
n E.g., when instructing a gateway to create a connection, CA can simultaneously instruct the gateway to notify the CA of
MGCP Parameters [1/6]
n
BearInformation (B)
n The line-side encoding
n B:e:mu
n
CallId (C)
n Comprised of hexadecimal digits
n
Capabilities (A)
n In response to an audit
n
ConnectionId (I)
n Comprised of hexadecimal digits
n
ConnectionMode (M)
n Send only, receive only and send-receive
MGCP Parameters [2/6]
n ConnectionParameters (P)
n Connection-related statistical information
n Average latency, jitter, packets sent/received/lost
n GW -> CA
n DetectEvents (T)
n That an endpoint should detect during quarantine period
n E.g., off-hook, on-hook, hook-flash, DTMF digits…
n LocalConnectionDescripter (LC)
n An SDP session description
n LocalConnectionOptions (L)
n Bandwidth, packetization period, silence suppression, gain control, echo cancellation…
n L: e:off, s:on
n To turn echo cancellation off and to turn silence suppression on
MGCP Parameters [3/6]
n EventStates (ES)
n In response to an audit command
n A list of events associated with the current state
n MaxMGCPDatagram (MD)
n To indicate the maximum size MGCP packet supported by an MG
n Included in the response to an AUEP command
n NotifiedEntity (N)
n An address for the CA
n ObservedEvents (O)
n Detected by an endpoint
n PackageList (PL)
n Supported by an endpoint
n Events and signals are grouped into packages
n Analog line endpoint
n Events & Signals
n package name(o)/event or signal name (insensitive)
n L/hu = Hu (if L is the default package for the endpoint)
n packages: grouping of events & signals for a particular type of endpoints
n Generic Media (G)
n DTMF (D)
n MF (M)
n Trunk (T)
n Line (L)
n Handset (H)
n RTP (R)
n Script
n Network Access Server (N)
n Announcement Server (A)
n The experimental packages have names beginning
MGCP Packages
Gateway Supported packages Trunk GW (ISUP)
Trunk GW (MF)
Network Access Server Combined NAS/VOIP GW Access GW (VOIP)
Access GW (VOIP + NAS) Residential GW
Announcement GW
G, D, T, R G, M, D, T, R G, M, T, N
G, M, D, T, N, R G, M, D, R
G, M, D, N, R G, D, L, R A, R
MGCP Parameters [4/6]
n QuarantineHandling (Q)
n Events that occur during the
period in which the GW is waiting for a response to a Notify
command
n Process the events or discard them
n ReasonCode (E)
n When a GW deletes/restarts a connection
n RemoteConnectionDescripter (RC)
n An SDP session description
Q: process/discard step/loop (notify) T: events to detect
during quarantine Q: process/discard
step/loop (notify) T: events to detect
during quarantine
Request Response
Time
Quarantine Period
Notify
MGCP Parameters [5/6]
n RequestEvents (R)
n A list of events that an endpoint is to watch for
n Associated with each event, the endpoint can be instructed to perform actions
n E.g., collect digits, or apply a signal
n RequestInfo (F)
n In response to audit requests
n The current values of RequestEvents, DigitMap, NotifiedEntity
n RequestIdentifier (X)
n To correlate a given notification from a GW
n RestartDelay (RD)
n A number of seconds indicating when an endpoint will be brought back into service
MGCP Parameters [6/6]
n
RestartMethod (RM)
n Graceful or Forced
n
SecondConnectionId (I2)
n The connection on a second endpoint
n
SecondEndpointID (Z2)
n A connection between two endpoints on the same GW
n
SignalRequests (S)
n Signals to be applied by an endpoint
n
SpecificEndpointID (Z)
n Used to indicate a single endpoint
Inter-digit Timer n
CA ask GW to collect user dialed digits
n Created by CA
n
Usage
n Gateways detect a set of digits.
n e.g., (11x|080xxxxxx|03xxxxxxx|002x.T)
n Match accumulated digits
n under-qualified, do nothing further
n matched, send the collected digits to CA
n over-qualified, send the digits to CA
Digit Map
MGCP Response
n
Header
n A response line
n Return code + TransID + Commentary
n A set of parameter lines (optional)
n E.g., I: A3C47F21456789F0 (ConnectionId)
n
Session Description
n Session Description Protocol
n separated from header by an empty line
Return Code
n
100~199: provisional response
n current being executed
n
200~299: successful completion
n executed normally
n
400~499: transient error
n could not be executed because of no sufficient resources at this time
n phone already off/on hook
n
500~599: permanent error
n endpoint unknown
n protocol error
Protocol Description [1/2]
n
Transactions (simple text format)
n command
n header
n a command line (case insensitive)
n Action + TransId + Endpoint + Version
n a set of parameter lines
n parameter name (upper case): value
n Example
n RQNT 1201 endpoint/1@rgw.net MGCP 1.0
n X: 0123456789B1 (RequestIdentifier)
n R: hd (requestedEvent: hang down)
n S: rg (signalRequest: ring tone)
n session description
Protocol Description [2/2]
n
Transactions
n response
n header
n a response line
n Response code + TransId + Commentary
n a set of parameter lines (optional)
n Example
n 200 1201 OK
n after CRCX(/MDCX/DLCX/Audit/Restart)
n I: A3C47F21456789F0 (ConnectionId)
n session description
n Session Description Protocol (RFC 2327)
n separated from header by an empty line
Call Setup Using MGCP
i Ma c
i Mac