Session 1352 VoIP and Circuit-to-Packet

OPNET Implementation of the Megaco/H.248 Protocol: Multi-Call and Multi-Connection Scenarios
Edlic Yiu, Edwood Yiu, and Ljiljana Trajković {enyiu, eyiu, ljilja}@cs.sfu.ca Presenter: Kun (Karen) Wu Communication Networks Laboratory Simon Fraser University Vancouver, British Columbia, Canada
Copyright © 2004 OPNET Technologies, Inc. Confidential, not for distribution to third parties.

Roadmap
Introduction Megaco/H.248 and VoIP Design architecture Design considerations OPNET implementation Call flow scenarios Simulation results Conclusion

Copyright © 2004 OPNET Technologies, Inc. Confidential, not for distribution to third parties.

2

Introduction
Voice over IP (VoIP) is getting popular in both commercial and residential markets. It enables a telecommunication company to cut costs by allowing a single network to transmit both data and voice traffic. Offers inexpensive rate for long distance calls. Voice quality resulting from packets transmitted over the IP network is comparable to the voice quality in Public Switched Telephone Network (PSTN). To control and manage the voice traffic, Megaco/H.248 signaling protocol was introduced by Internet Engineering Task Force (IETF) and International Telecommunication Union (ITU).

Copyright © 2004 OPNET Technologies, Inc. Confidential, not for distribution to third parties.

3

not for distribution to third parties. Inc.Megaco/H.248 protocol: history Copyright © 2004 OPNET Technologies. Confidential. 4 .

Inc.Gateway architecture Employs the master/slave architecture Copyright © 2004 OPNET Technologies. 5 . Confidential. not for distribution to third parties.

Inc. not for distribution to third parties. 6 .Gateway architecture Media Gateway Controller (MGC): central point of intelligence for call signaling maintains the state of each MG and responds appropriately to any event notification Media Gateway (MG): a dumb terminal waits for the command from the MGC for its next action streams voice packets over the IP network de/compresses RTP packets Copyright © 2004 OPNET Technologies. Confidential.

248 command set [MGC ↔ MG] ServiceChange [MGC → MG] AuditValue AuditCapabilities Add Modify Subtract Move [MG → MGC] Notify Notify the responder of the new service state Determine the characteristics of an endpoint Determine the capabilities of an endpoint Add a connection Change a connection characteristic Tear down a connection Move an endpoint from one connection to another connection (call-waiting) Notify the responder of an event (on-hook) Copyright © 2004 OPNET Technologies. 7 . Confidential. not for distribution to third parties.Megaco/H. Inc.

Inc. not for distribution to third parties.Design architecture: MGC Copyright © 2004 OPNET Technologies. 8 . Confidential.

MGC component responsibilities Component Message Receiver Responsibility Receive MEGACO messages from the MGs Extract parameters from MEGACO messages Redirect message parameters to MP Receive message parameters from MR Read statuses of the related MGs Determine actions for the related MGs Request MS to compose response messages if necessary Receive requests from MP Compose MEGACO messages Send MEGACO messages to the MGs Message Processor Message Sender Copyright © 2004 OPNET Technologies. 9 . Inc. Confidential. not for distribution to third parties.

Inc.Design architecture: MG Copyright © 2004 OPNET Technologies. Confidential. not for distribution to third parties. 10 .

Confidential. 11 .MG component responsibilities Component Message Receiver Responsibility Receive MEGACO messages from the MGC Extract parameters from MEGACO messages Redirect message parameters to the MP Receive message parameters from the MR Respond according to the command set Request the MS to compose response messages if necessary Receive requests from the MP Compose MEGACO message Send MEGACO messages to the MGC Receive user request via the object attribute Request the MS to compose transaction message Generate voice packets Encapsulate voice packet into RTP payloads Send RTP messages to other MGs Message Processor Message Sender User Interface Voice Generator Copyright © 2004 OPNET Technologies. Inc. not for distribution to third parties.

Copyright © 2004 OPNET Technologies. Control intelligence in MG We consider three cases for the Subtract command to illustrate the complexity in the multi-call and multiconnection scenarios. 12 . Confidential. Inc. not for distribution to third parties. MG architecture needs to support an unlimited number of MGs.Design considerations Unlimited number of MGs In order to support the multi-call and multi-connection scenario.

13 . Scenario 1 MG1 MG2 Hang Up Subtract Subtract Copyright © 2004 OPNET Technologies. not for distribution to third parties. Confidential. Inc.Control intelligence in MGC Three scenarios are used to validate the control intelligence in MGC.

not for distribution to third parties. 14 . Confidential. Inc.Control intelligence in MGC Scenario 2 MG1 Switch back Move(SendReceive) Waiting Talking MG2 MG3 Hang Up Subtract Scenario 3 Talking Waiting Talking MG1 MG2 Switch back MG3 MG4 Hang Up Subtract Move(ReceiveOnly) Copyright © 2004 OPNET Technologies.

MG object attributes Copyright © 2004 OPNET Technologies. Confidential. not for distribution to third parties. Inc. 15 .

not for distribution to third parties. 16 . Inc. Confidential.OPNET implementation: router node model Copyright © 2004 OPNET Technologies.

not for distribution to third parties. 17 . Confidential.OPNET implementation: router process model Copyright © 2004 OPNET Technologies. Inc.

248 messages determining necessary actions for the MGs composing the MEGACO/H.248 messages. not for distribution to third parties. Copyright © 2004 OPNET Technologies. Inc. 18 . Confidential.OPNET implementation: Media Gateway Controller MGC Node Model The MGC processor is responsible for: parsing MEGACO/H.

19 . Confidential.OPNET implementation: Media Gateway Controller MGC Process Model Copyright © 2004 OPNET Technologies. Inc. not for distribution to third parties.

not for distribution to third parties. 20 .248 commands sent from the MGC detecting events initiated by the user generating Real-Time Transport Protocol (RTP) packets for voice transmission. Copyright © 2004 OPNET Technologies. Inc. Confidential.OPNET implementation: Media Gateway MG Node Model The MG processor is responsible for: handling MEGACO/H.

Confidential. not for distribution to third parties. Inc. 21 .OPNET implementation: Media Gateway MG Process Model Copyright © 2004 OPNET Technologies.

Confidential. not for distribution to third parties.Call flow scenario: MG registration procedure MG MGC ServiceChange ServiceChange Reply Modify (key/kd) Modify Reply Copyright © 2004 OPNET Technologies. 22 . Inc.

cg/rt) Modify (Media. cg/rt) Copyright © 2004 OPNET Technologies. Inc. Confidential.Call flow scenario: call setup procedure MG 1 MGC MG 2 Notify Modify (key/ku. 23 . cg/dt) Notify (dd/ce) Add (Media) Add (Media. not for distribution to third parties.

…) Modify (signal {}. not for distribution to third parties. Confidential.Call flow scenario: call setup procedure (cont. Inc.) MG 1 MGC MG 2 Notify (key/kd) Modify (signal {}. 24 . …) Conversation Copyright © 2004 OPNET Technologies.

Inc. not for distribution to third parties. 25 . cg/dt ) Notify (dd/ce) Add (Media) Modify (cg/rt) Modify (Media. Confidential.Call flow scenario: call waiting procedure MG 1 MGC MG 2 MG 3 Notify (key/kd) Modify (key/ku. cg/rt) Copyright © 2004 OPNET Technologies.

Call flow scenario: call waiting procedure (cont. Confidential. Inc. not for distribution to third parties. SendReceive) Conversation Copyright © 2004 OPNET Technologies.) MG 1 MGC MG 2 MG 3 Notify (key/kf) Modify (ReceiveOnly) Move (Media) Modify (Signal{}. 26 .

Confidential. 27 .Call flow scenario: call release procedure MG 1 MGC MG 2 Notify (key/ku) Subtract Modify (key/kd) Subtract Modify (key/kd) Copyright © 2004 OPNET Technologies. not for distribution to third parties. Inc.

and MG3 register with MGC MG1 connects to MG2 MG3 calls MG2 MG2 switches to MG3. 4. MG1. and MG2 switches to MG1 MG2 hangs up 28 Copyright © 2004 OPNET Technologies.Simulation scenario: simple call-waiting 1. MG2. Confidential. not for distribution to third parties. 3. 2. while MG1 is on hold MG3 hangs up. . 6. 5. Inc.

16. rtp/pr=34.{ Modify = ui { Events = 11 {key/kd} }. not for distribution to third parties.16.16.0.2]:5555 Reply = 26 { Context = . Modify = at/hf}} 29 .{ Notify = ui { ObservedEvents = 5 { 20030414T145870:key/ku}}}} [2] MGC just sent message to MG: MEGACO/1 [172.2]:5555 Reply = 25 { Context = 1 { Copyright © 2004 OPNET Technologies.0.16. rtp/jit=0}}}} [5] MGC just sent message to MG: MEGACO/1 [172.0.16.16. Inc.3]:5555 Transaction = 2003 { Context = .1]:2944 Transaction = 25 { Context = 1 { Subtract = at/hf.{ Modify = ui. Subtract = tr { Statistics { rtp/ps=38. Subtract = at/hf.0.1]:2944 Transaction = 26 { Context = .0.0. Subtract = tr}} [4] MGC received the following message: MEGACO/1 [172. Confidential.{ Notify = ui}} [3] MGC just sent message to MG: MEGACO/1 [172.1]:2944 Reply = 2003 { Context = . rtp/pl=3. Modify = at/hf { Signal = {}}}} [6] MGC received the following message: MEGACO/1 [172.Subset of call-waiting scenario: call release [1] MGC received the following message: MEGACO/1 [172.

while MG3 switches to MG4 MG2 and MG3 switches back. and MG4 calls MG3 MG2 switches to MG1. 9. 5. 3. 2. Confidential. All MGs register with MGC MG2 connects to MG3 MG1 calls MG2. 7. 8.Simulation scenario: complex call-waiting 1. . 4. 6. while MG1 and MG4 are put on hold MG3 hangs up MG4 gets removed from the inactive connection MG2 switches back to MG1 MG2 hangs up 30 Copyright © 2004 OPNET Technologies. not for distribution to third parties. Inc.

4. not for distribution to third parties.Simulation scenario: multi-call and multi-connection 1. 2. while MG1 is put on hold MG3 hangs up. 6. 5. 3. Inc. while MG4 connects to MG5 MG3 calls MG2 MG2 switches to MG3. 31 Copyright © 2004 OPNET Technologies. . and MG2 switches back to MG1 MG2 and MG4 hang up. Confidential. All MGs register with MGC MG1 connects to MG2.

248 signaling protocol. Several call flow scenarios between the MGC and MGs were simulated to verify the implementation.Conclusion and future work We described the OPNET implementation of Megaco/H. Inc. Copyright © 2004 OPNET Technologies. 32 . not for distribution to third parties.248 protocol supports an unlimited number of MG interconnections. Confidential.248 protocol over the IP network. Future work: implementation of the Megaco/H. The OPNET implementation of Megaco/H.

R.txt (accessed in February 2003).” Alcatel Executive Briefing. “Megaco/H. A. and K. S. Segers. Taylor. Greene. January 2001: http://www.org/rfc/rfc3054.org/rfc/rfc3015.” OPNETWORK 2002. “RTP: a transport protocol for real-time applications. not for distribution to third parties.ietf. and J. Schulzrinne. Inc.” October 2002: http://www. Huitema. Blatherwick.ietf. Viswanadham. Cuervo. Greene.txt (accessed in August 2002).” IEEE Communications Magazine. 2002. [4] N. M. November 2000: http://www. 124-132. Alcatel Internetworking.248 call flow examples.ietf.org/internet-drafts/draft-ietf-megaco-callflows01. and Lj. Rosen.ietf.txt (accessed in February 2003).org/rfc/rfc1889. Bell.txt (accessed in February 2003). “OPNET implementation of the Megaco/H. P. Frederick. Riyadh. Trajković. Ramalho. Washington. April 1999: http://www.” RFC 3054. and P. [6] P. pp. and B. Holland.0. October 2000. Mannan. [2] T.” RFC 1889. Casner.txt (accessed in February 2003). [5] F. B. “Megaco protocol version 1. Confidential. Copyright © 2004 OPNET Technologies.org/rfc/rfc2805. N. “Megaco/H. “Media Gateway Control Protocol architecture and requirements. Aug. [3] “Media Gateway Control (Megaco). R. January 1996: http://www. December 2001. Rayhan.248 protocol. and R. Brahmanapally. M.References [1] S. DC. [8] H. Rosen. C. Jacobson. “Megaco IP phone media gateway application profile. Wu.” RFC 3015.ietf. and V. 33 .” RFC 2805. [7] M. Gundamaraj.248: a new standard for media gateway control.