Signaling protocols- MGCP - PowerPoint PPT Presentation

1 / 46
About This Presentation
Title:

Signaling protocols- MGCP

Description:

Distributed Call Control (a.k.a. Intelligent endpoint model) ... Intelligent endpoint model. Routing decisions made in conjunction with server in cloud ... – PowerPoint PPT presentation

Number of Views:371
Avg rating:3.0/5.0
Slides: 47
Provided by: cisc9
Category:

less

Transcript and Presenter's Notes

Title: Signaling protocols- MGCP


1
Signaling protocols- MGCP
2
Signaling architectures
  • Distributed Call Control (a.k.a. Intelligent
    endpoint model)
  • Centralized Call Control (a.k.a. Call Agent,
    Softswitch model)
  • Dumb endpoint
  • Decomposed gateway (physically separate signaling
    and media)
  • media conversion close to the traffic source or
    sink
  • smaller number of controller
  • easy to roll out new applications

3
Call Agent model
  • Intelligence concentrated at Call Agent
  • Routing decisions
  • Policy decisions
  • Call state kept at Call Agent
  • Call agent is the master, gateway or endpoint is
    the slave
  • Examples
  • MGCP (Media Gateway Control Protocol)
  • SCCP (Simple Client Control Protocol, Cisco)

4
Intelligent endpoint model
  • Routing decisions made in conjunction with server
    in cloud
  • Policy decisions usually made by a policy server
  • Call state kept at endpoint
  • Examples SIP (Session Initiation Protocol), ITU
    H.323

5
Media Gateway Control Protocol (MGCP)
  • IETF RFC 3435
  • Text based protocol, easily readable
  • Master slave protocol
  • Two main entities
  • Call Agent(CA), a.k.a. Media Gateway Controller
  • Media Gateway (MG)
  • One end is circuit switch, the other is RTP port
  • Trunking gateway(TGW)
  • Residential gateway(RGW)
  • Signaling Gateway

6
MGC Requirements
  • establish media stream and negotiate format
  • tones and announcement
  • QoS conditioning
  • network monitoring
  • billing and accounting
  • non-stop, incremental equipment / subsystem
    upgrade

7
Key MGCP terms
  • Endpoints
  • Basically physical circuits/resources that reside
    on the gateway
  • Single endpoint can have multiple connections
  • Connections
  • A data path between an endpoint and a peer
    (address, port) on the IP network
  • Calls
  • Digit maps
  • Events/Signals

8
Endpoints
  • Analog endpoints
  • Named aaln/
  • follows slot/port hardware hierarchy
  • Digital endpoints (ds0 channel)
  • Named ds/
  • Specifically ds/ltunit-type1gt-ltunit
    gt/ltunit-type2gt-ltunit gt/.../ltchannel gt
  • Example ds/ds1/1
  • Virtual endpoints
  • An audio source like an IVR server, Announcement
    server
  • Conference bridge
  • Packet relay (e.g. Firewall)
  • Wire-tap access point
  • Named virtual-endpoint-type/channel
  • Example ann/, for announcement resources

9
Endpoint Identifier
  • GWs Domain Name Local Name
  • Local Name
  • A hierarchical form X/Y/Z
  • trunk4/12/7_at_gateway.somenetwork.net
  • To identify DS0 number 7 within DS1 number 12 on
    DS3 number 4 at gateway.somenetwork.net
  • Wild-cards
  • , any , all
  • e.g., trunk1/5/_at_gateway.somenetwork.net
  • CA wants to create a connection on an endpoint in
    a gateway and does not really care which endpoint
    is used.
  • e.g., trunk1/5/_at_gateway.somenetwork.net
  • CA requests statistical information related to
    all endpoints on a gateway.

10
Connection
  • Between an endpoint, and a peer on the IP network
  • Connection ID created by gateway, and is unique
    in its scope
  • Connection has a session description, defining
  • Remote address, port
  • Types of media
  • Codec type

11
Call
  • Notion of Call, and corresponding Call-ID owned
    by the Call Agent(CA)
  • Commonly, a Call comprises a set of two
    Connections created by the CA on one or two
    Gateways
  • A conference call typically have many connections.

12
Digit Maps
  • Most calls require the collection of DTMF digits,
    and their lookup in a route database by the CA
  • It is inefficient to be sending up each digit
    from the Gateway to the CA, one at a time
  • A digit map is a pattern provided by the CA to
    the Gateway to collect digits
  • Egrep based
  • Digits are collected by the Gateway until the
    pattern is matched.
  • At that point, the collected digits are sent up
    to the CA
  • Example 408xxxxxxx(408 followed by 7 digits)

13
Events/Signals
  • There are telephony signals other than DTMF
    digits
  • Example line states offhook/onhook etc
  • Trunk signaling
  • These are communicated using Event/signal
    packages
  • Packages are defined by companion RFCs, like RFC
    3660(Basic MGCP packages)
  • Generic media
  • Line
  • Trunk
  • Dtmf
  • Media
  • Announcement

14
Basic MGCP call components
CA (Call)
Connection 1
Connection 2
IP Network
GW1
GW2
endpoint
endpoint
15
Protocol structure
  • Request/Response
  • Each request acknowledged by a response
  • There is a set of response codes that convey the
    status of the request
  • Can be run over UDP

16
MGCP Command Format
MGCP 1.0
17
MGCP Request
  • Text format
  • ACTION TRANS-ID ENDPOINT VERSION
  • Parameter line
  • Parameter line
  • ..
  • Parameter line NAME Value
  • Example
  • rqnt 4 aaln/1_at_rgw2.whatever.net mgcp 1.0
  • r l/hd(n)
  • x 234567892

18
MGCP Response
  • RESP-CODE TRANS-ID RESP-STRING
  • Parameter line
  • Parameter line
  • ..
  • Parameter line NAME Value
  • Example
  • 200 0 ok
  • z aaln/1_at_rgw1.whatever.net
  • z aaln/2_at_rgw1.whatever.net

19
MGCP Requests Actions
  • RQNT (Request notification)
  • Sent from CA to MGW to request notification on
    change of endpoint status
  • NTFY (Notify)
  • Sent from MGW to CA in response to RQNT
  • CRCX (Create Connection)
  • Sent from CA to MGW
  • MDCX (Modify Connection)
  • Sent from CA to MGW, e.g. provide far end info
  • i.e. update info about the connection
  • DLCX (Delete Connection)
  • Sent from CA to MGW typically. Additionally from
    MGW to CA in error conditions

20
MGCP Requests
  • AUCX (Audit Connection)
  • Sent from CA to MGW to get status of a
    connection.(Useful in CA redundancy/failover)
  • AUEP (Audit Endpoint)
  • Sent from CA to MGW to get status of an
    endpoint.(Useful in CA redundancy/failover)
  • RSIP (Restart in progress)
  • Sent from MGW to CA to inform the CA that it is
    rebooting
  • EPCF (Endpoint configuration)
  • Sent by the CA to MGW to alert configuration of
    the endpoint(things like gain level, codec, etc

21
Key parameter types
  • X Request id, RQNT/NTFY correlator
  • C Callid, String
  • N Notified entity (addr of call agent to be
    notified)
  • I Connection id
  • S Signal request(dialtone, ringback etc)
  • M Connection mode (sendonly, recvonly,
    sendrecv)
  • T Events to be detected (on/off hook, DTMF)
  • O Events detected
  • R Events requested
  • D Digit map
  • B Bearer Information (A-law, mu-law)

during a call?
22
MGCP Response codes
  • 100-199
  • Provisional, in process
  • 200-299
  • Successful
  • 400-499
  • Unsuccessful, transient error
  • 500-5xx
  • Unsuccessful, permanent error
  • 800-8xx
  • Package specific errors
  • 000
  • Response acknowledgement

23
Reason codes
  • The reason for a certain request or response
  • As opposed to the Response code which is the
    status of executing that request
  • 000 (normal state, used for audit)
  • 900-9xx(Package specific)

24
transactionID 1111 endpoint1_at_MGA CallID
1234567 Mode reconly
transactionID 1111 connectionID AAAA
RTP format 0 G711mu
25
Setup for call flow
Route server/DB
CA1 port 5678
Connection 1
Connection 2
IP Network
Rgw2567 128.96.41.1
Rgw124 128.96.63.25
endpoint
endpoint
Joe
Alice 14083238155
26
Call flow sequence
Route server/DB
CA1 port 5678
1(NTFY)
5(RQNT)
0(RQNT)
3(CRCX))
4(MDCX)
2(CRCX)
6(NTFY)
IP Network
7(MDCX)
Rgw2567 128.96.41.1
Rgw124 128.96.63.25
endpoint
endpoint
Joe
Alice 14083238155
27
MGCP call flow (0)
  • RQNT 1202 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • N ca_at_ca1.whatever.net5678 Notified Entity CA
    address
  • X 0123456789AC Request ID
  • R L/hd(A, E(S(L/dl),R(L/oc, L/hu,
    D/0-9T(D)))) Requested Event
  • D (0T00Txxxxxxx1xxxxxxxxxx91xxxxxxxxxx9011x
    .T) DigitMap
  • S Signal request
  • Q process
  • T G/ft DetectEvents
  • 200 1202 OK

28
Call flow (1)
  • NTFY 2002 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • N ca_at_ca1.whatever.net5678
  • X 0123456789AC
  • O L/hd,D/1,D/4,D/0,D/8,D/3,D/2,D/3,D/8,D/1,D/5,D/
    5 ObservedEvents
  • 200 2002 OK

29
Call flow(2)
  • CRCX 1204 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • C A3C47F21456789F0 CallID
  • L p10, aPCMU LocalConnectionOptions
  • M recvonly
  • 200 1204 OK
  • I FDE234C8
  • v0
  • o- 25678 753849 IN IP4 128.96.41.1
  • s-
  • cIN IP4 128.96.41.1 t0 0
  • maudio 3456 RTP/AVP 0

30
Call flow(3)
  • CRCX 1205 aaln/1_at_rgw-124.whatever.net MGCP 1.0
  • C A3C47F21456789F0
  • L p10, aPCMU
  • M sendrecv
  • X 0123456789AD
  • R L/hd
  • S L/rg
  • v0
  • o- 25678 753849 IN IP4 128.96.41.1
  • s-
  • cIN IP4 128.96.41.1
  • t0 0
  • maudio 3456 RTP/AVP 0

31
Call flow(3)
  • 200 1205 OK
  • K
  • I DFE233D1
  • v0
  • o- 4723891 7428910 IN IP4 128.96.63.25
  • s-
  • cIN IP4 128.96.63.25
  • t0 0
  • maudio 3456 RTP/AVP 0

32
Call flow(4)
  • MDCX 1210 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • C A3C47F21456789F0
  • I FDE234C8
  • M recvonly
  • X 0123456789AE
  • v0
  • o- 4723891 7428910 IN IP4 128.96.63.25
  • s-
  • cIN IP4 128.96.63.25
  • t0 0
  • maudio 3456 RTP/AVP 0
  • 200 1206 OK

33
Call flow(5)
  • RQNT 1201 aaln/1_at_rgw-124.whatever.net MGCP 1.0
  • N ca_at_ca1.whatever.net5678
  • X 0123456789AC
  • R l/hd(N)
  • S l/rg
  • 200 1201 OK

34
Call flow(6)
  • NTFY 2002 aaln/1_at_rgw-124.whatever.net MGCP 1.0
  • N ca_at_ca1.whatever.net5678
  • X 0123456789AC
  • O L/hd
  • 200 2002 OK

35
Call flow(7)
  • MDCX 1210 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • C A3C47F21456789F0
  • I FDE234C8
  • M sendrecv
  • X 0123456789AE
  • v0
  • o- 4723891 7428910 IN IP4 128.96.63.25
  • s-
  • cIN IP4 128.96.63.25
  • t0 0
  • maudio 3456 RTP/AVP 0
  • 200 1206 OK

36
Teardown(on hook, alice)
  • NTFY 2002 aaln/1_at_rgw-124.whatever.net MGCP 1.0
  • N ca_at_ca1.whatever.net5678
  • X 0123456789AC
  • O L/hd
  • 200 2002 OK

37
Teardown(Joe)
  • DLCX 1210 aaln/1_at_rgw-2567.whatever.net MGCP 1.0
  • C A3C47F21456789F0
  • I FDE234C8
  • 200 1210 OK
  • P PS1245, OS62345, PR780, OR45123, PL10,
    JI27, LA48

38
Teardown(Alice)
  • DLCX 1210 aaln/1_at_rgw-124.whatever.net MGCP 1.0
  • C A3C47F21456789F0
  • I FDE234C8
  • 250 1210 OK
  • P PS1245, OS62345, PR780, OR45123, PL10,
    JI27, LA48

39
Provisional responses/ acknowledgements
  • 1xx class responses to requests are allowed
  • Eventually must be followed by a final response
  • Final response 2/4/5xx
  • In this case, requestor ACKs the final response
    that is what the 000 code is for

40
Thoughts on MGCP
  • MGCP is a protocol that provides low level
    primitives for a master(CA) to control a
    slave(MGW)
  • Usually more than one way to implement a certain
    call flow/feature
  • Feature implementation is in the CA and CAs are
    usually very complex

41
Variations
  • Callee busy
  • Wrong number
  • Etc.
  • Two/Multiple Call Agents
  • Call Agent to Call Agent signaling is usually an
    intelligent endpoint model protocol, such as
    SIP.

42
A typical PSTN usage scenario
Signaling Controller (Signaling plane)
TDM Switch
TDM Switch
Data plane(TDM)
43
Typical MGCP usage scenario
MGCP CA (Signaling plane)
SCP STP
SS7 GW
IP NetworkData Plane
Switch
Switch
MGW
MGW
44
Reading exercise
  • Read RFC 3435, Sections 1 to 2.1.7, and the
    example in G.2.1, G.3.1

45
SCCP(Cisco)
  • Another example of the call agent model
  • Skinny Client Control Protocol
  • Binary, not text
  • Even simpler than MGCP(no digit maps, for
    example)
  • Applicable to IP-PBX, low RTT between phones and
    CA
  • Features implemented on the CA, not on the phone

46
Wrapping up the CA model
  • Sometimes the CA is also termed the MGC(Media
    gateway controller)
  • H.248(also known as MEGACO) is an ITU alternative
    to MGCP, and operates on the same principles
Write a Comment
User Comments (0)
About PowerShow.com