Để đơn giản ta lấy ví dụ sử dụng một MGC điều khiển cả hai Gateway (Gateway cục bộ và Gateway ở xa). Mục đích của ví dụ này là trình bày 3 trạm thiết lập một Context và một Termination nh− thế nào. Các bản tin ACK ngoài việc xác nhận cho bản tin đã nhận mà còn chứa các thông tin cộng thêm nh− kết quả của việc thiết lập cổng RTP mới, đặt tên cho một Context rỗng, … MGC cũng sử dụng bộ mô tả cục bộ (LocalDesc) và bộ mô tả xa (RemoteDesc) để dành riêng và giao nguồn tài nguyên MG cho bộ mã hóa và giải mã media đối với các luồng media cho tr−ớc và Termination mà chúng áp dụng. Quá trình hoạt động của luồng giao thức Megaco nh− sau:
Hình 3.10 Hoạt động của Megaco
• B−ớc 1: MGC gửi bản tin Modify đến Gateway cục bộ để yêu cầu
Termination 1 (T1) phát hiện nhắc máy. Khi sự nhắc máy đ−ợc phát
hiện, Gateway cục bộ thu thập các chữ số. Context thì rỗng (CTX=Null) do nó ch−a có liên hệ với một kết nối.
• B−ớc 3: Gateway cục bộ phát hiện sự nhắc máy.
• B−ớc 4: nó thông báo cho MGC bằng bản tin Notify.
• B−ớc 5: MGC ghi nhận lại sự kiện này. • B−ớc 6: MGC công nhận bản tin Notify.
• B−ớc 7: Gateway cục bộ tích lũy các chữ số đ−ợc quay từ ng−ời dùng theo kế hoạch đánh số đ−ợc tải từ MGC, th−ờng trong lệnh Modify. Kế
hoạch đánh số đơn giản là một biểu đồ đ−ợc gửi đến Gateway để thông
báo và giải thích cho nó biết các chữ số đ−ợc quay nh− thế nào. • B−ớc 8: các chữ số đ−ợc gửi đến MGC trong lệnh Notify.
• B−ớc 9: MGC công nhận việc nhận các chữ số.
• B−ớc 10: MGC quyết định chuỗi số đúng và tạo cuộc gọi. Nó gửi lệnh Add đến Gateway cục bộ để tạo Context chứa T1. Chú ý là CTX=* nghĩa là Context ch−a đ−ợc đặt tên. Gateway cục bộ sẽ cung cấp một
tên cho Context trong b−ớc 11. Trong bản tin này cũng định gói
Termination không tên RTP/*. Trong bản tin Add có tr−ờng LocalDesc
có thể chỉ định bộ mã hóa cho cuộc gọi.
• B−ớc 11: Gateway cục bộ trả lời MGC với ACK và Context đ−ợc đặt tên là C1. Nó cũng xác định bộ nhận dạng Termination RTP (RTP/ID).
LocalDesc của Gateway cục bộ chỉ định bộ mã hóa đ−ợc hỗ trợ trên
cổng RTP.
• B−ớc 12: dựa vào thông tin nhận đ−ợc từ Gateway cục bộ, MGC có thể
thông báo cho Gateway ở xa thêm Termination (T1r) t−ơng ứng với
chuỗi số quay mà MGC nhận đ−ợc từ Gateway cục bộ. Nhiệm vụ của
MGC là ánh xạ T1r và T1 vào một Context. Nó cũng gửi tr−ờng cổng
của T1 đ−ợc đ−a đến Gateway ở xa trong tr−ờng RemoteDesc, thông tin
này chỉ định bộ mã hóa cho T1r từ Gateway cục bộ. Tr−ờng LocalDesc
trong bản tin này có thể rỗng hoặc có thể chứa đựng các thông số mà
MGC mong muốn Gateway ở xa sử dụng cho cuộc gọi này, nh− kích
th−ớc gói cho các mẫu VoIP.
• B−ớc 13: Gateway ở xa trả lời lại lệnh Add với Context đ−ợc đặt tên
C1r, Termination RTP đ−ợc đặt tên RTP/IDr và LocalDesc của Gateway
xa chỉ định bộ mã hóa đ−ợc hỗ trợ trên cổng RTP nhận của nó. Giá trị LocalDesc đ−ợc gửi đến Gateway này trong b−ớc 12 có thể đ−ợc thay đổi trong b−ớc này.
• B−ớc 14: bây giờ, MGC sử dụng lệnh Modify để yêu cầu rung chuông (Ring) trên T1r. Bản tin cũng yêu cầu Gateway này tìm kiếm sự nhắc máy.
• B−ớc 15: Gateway ở xa đ−a tín hiệu chuông lên đ−ờng dây của ng−ời bị gọi.
• B−ớc 16: nó cũng đáp ứng đến MGC với ACK.
• B−ớc 17: MGC gửi lệnh Modify đến Gateway cục bộ (Gateway phía ng−ời gọi). Lệnh này yêu cầu đ−a tín hiệu chuông lên T1 và nhận dạng cổng RTP ở xa trong RemoteDesc trong bản tin.
• B−ớc 18: tín hiệu chuông đ−ợc đ−a lên T1.
• B−ớc 19: Gateway cục bộ trả lời MGC là tín hiệu chuông đã đ−ợc đ−a lên T1 và các thiết lập RTP đ−ợc cập nhật.
• B−ớc 20: ng−ời bị gọi trả lời cuộc gọi (nhắc máy).
• B−ớc 21: Gateway ở xa gửi bản tin Notify chứa thông tin này đến MGC và tín hiệu chuông đ−ợc hủy bỏ.
• B−ớc 22: MGC công nhận bản tin Notify.
• B−ớc 23: MGC phát lệnh Modify để hủy bỏ tín hiệu chuông trên T1 và
thiết lập một đ−ờng hai chiều (TerminationState=sendrcv). Thông tin
trong SignalList đ−ợc dùng để hủy bỏ tín hiệu chuông trên T1.
• B−ớc 24: Gateway cục bộ công nhận bản tin Modify, bỏ tín hiệu chuông và sự thiết lập cuộc gọi đã hoàn tất.