I.1 Struktur Model MGCP
Media Gateway Control Protocol terdiri dari enpoint dan connection,
Endpoint adalah sumber data dapat berbentuk fisik atau virtual. Contoh dari virtual endpoint adalah sumber data audio dari audio-content server. Pembangunan physical endpoints membutuhkan instalasi perangkat keras, sedangkan penciptaan virtual endpoints dapat dilakukan dengan perangkat lunak [2].
Tipe-tipe dari endpoint ditentukan berdasarkan fungsinya, dari beberapa analisa ditentukan ada beberapa endpoint yaitu [1]:
1. Digital Channel (DS0),
2. Analog Line,
3. Announcement Server Access Point,
4. Interactive Voice Response Access Point,
5. Conference Bridge Access Point,
6. Packet Relay,
7. ATM “trunk side” interface.
Penamaan endpoint untuk pengidentifikasian memiliki dua komponen yang keduanya case-insensitive:
Nama domain dari Gateway yang mengelola endpoint,
Local name pada Gateway tersebut.
Bentuk penamaan endpoint : local-endpoint-name@domain-name.
dimana domain-name adalah absolute domain-name yang mencangkup informasi host, contoh domain-name : mygateway.whatever.net.
Domain-name juga bisa berupa alamat IP, contoh domain-name dengan alamat IP : [192.168.1.2]. Alamat IP bisa menggunakan IPv4 ataupun IPv6.
Connection adalah hubungan antar endpoints melalui media dimana data ditransmisikan. Bisa berupa koneksi Point-to-point atau Multi Point melalui jaringan IP, jaringan ATM, atau koneksi internal seperti TDM backplanes atau Gateway backplanes. Untuk Point-to-point koneksi, koneksi endpoint bisa berada di Gateway yang terpisah atau dalam satu Gateway [2].
Gambar III.1 MGCP Endpoint dan Connection
Pada Gambar III.1 yang menjadi endpoint adalah A, B, C dan D. MGC mengenal empat objek yaitu: A@MG1, B@MG1, C@MG2 dan D@MG2. Setiap MG mengenal 2 objek: MG1 mengenali A dan B, dan MG2 mengenali C dan D.
Ketika muncul kejadian pada physical telephone, objek endpoint pada MG mengenali bahwa suatu kejadian terjadi. MG memberitahukan endpoint tersebut ke MGC. Kemudian MGC bekerjas sesuai aturan dan merubah status.
I.2 Cara Kerja MGCP Call Setup
Ketika endpoint di kenali dan diketahui lokasinya dalam suatu Gateway yang dikelola oleh Call Agent yang sama, penciptaan koneksinya dilakukan melalui tahapan-tahapan berikut:
Call Agent akan meminta (MG1) untuk menciptakan koneksi pada endpoint yang pertama. Gateway mengalokasikan pada sumber daya koneksi tersebut, dan merespon pada perintah (command) dengan menyediakan session description yang mengandung IP address, UDP port dan sebagainya.
Call Agent meminta Gateway kedua untuk menciptakan komunikasi pada endpoint ke dua. Perintah (command) membawa juga informasi session description yang disediakan Gateway pertama. Kemudian Gateway kedua mengalokasikan pada sumber daya koneksi yang diminta, dan merespon pada perintah (command) dengan menyediakan session description-nya sendiri.
Call Agent menggunakan perintah ModifyConnection untuk menyediakan session description yang kedua pada endpoint pertama. Setelah hal ini selesai, komunikasi dapat berproses pada kedua arah.
Bila proses komunikasi telah selesai Call Agent menghilangkan koneksi dengan mengirimkan Gateway perintah DeleteConnection. Gateway juga dalam keadaan tertentu dapat menginformasikans bahwa koneksi Gateway tidak dapat dibangun [2].
Gambar III.2 MGCP Call Setup [2].
I.3 Struktur Protokol, Perintah dan Paket-paket MGCP
Bentuk Struktur Protokol dari MGCP bisa dilihat pada Gambar III.3 di bawah.
Gambar III.3 Struktur Protokol MGCP [4].
Ketika Media Gateway Control mengelola dan mengontrol koneksi antar Media Gateway melalui MGCP menggunakan beberapa perintah untuk melakukan penciptaan koneksi, pengontrolan dan pemusnahan koneksi, beberapa perintah dari MGCP yang digunakan oleh MGC atau Call Agent terdapat pada Tabel III.1 di bawah.
Tabel III.1 MGCP Command [4]
| Code | Verb |
| AUCX | AuditConnection |
| AUEP | AuditEndpoint |
| CRCX | CreateConnection |
| DLCX | DeleteConnection |
| EPCF | EndpointConfiguration |
| MDCX | ModifyConnection |
| RQNT | NotificationRequest |
| NTFY | Notify |
| RSIP | RestartInProgress |
Kemudian kode yang diberikan dari hasil perintah yang dikirim dari MGC atau Call Agent ke Media Gateway dapat di lihat pada Tabel III.2 Return Code di bawah.
Tabel III.2 Return Code [4]
| Code | Description |
| (0xx) Response acknowledgements | |
| 0 | Transaksi sedang dijalankan. Pesan untuk pengakhiran pesan akan dikirim kemudian. |
| (1xx) Provisional Response | |
| 100 | Transaksi sedang berjalan. Pesan untuk pengakhiran akan dikirimkan kemudian. |
| 101 | Transaksi sedang diantrikan untuk dijalankan. Pesan untuk pengakhiran akan dikirimkan kemudian. |
| (2xx) Sucessful Completion | |
| 200 | Transaksi yang diminta telah selesai normal dijalankan. |
| 250 | Koneksi telah dihapus. |
| (4xx) Transient error | |
| 400 | Transaksi tidak bisa dijalankan, dikarenakan adanya kesalahan transisi |
| 401 | Telepon telah off hook. |
| 402 | Telepon telah on hook. |
| 403 | Transaksi tidak bisa dijalankan, karena endpoint tidak memiliki sumber daya yang cukup pada saat ini. |
| 404 | Kekurangan Bandwidth pada saat ini. |
| 405 | Transaksi tidak bisa dijalankan, karena endpoint sedang melakukan proses restart. |
| 406 | Transaksi time-out. Transaksi tidak selesai dikarenakan alasan periode waktu dan telah dibatalkan. |
| 407 | Transaksi dibatalkan. Transaksi dibatalkan karena external action, misalkan perintah ModifyCommand dibatalkan oleh perintah DeleteConnection. |
| 409 | Transaksi tidak bisa dijalankan dikarenakan ada internal overload. |
| 410 | Tidak ada endpoint yang tersedia. |
| (5xx) Permanent Error | |
| 500 | Transaksi tidak bisa dijalankan, karena endpoint tidak diketahui. |
| 501 | Transaksi tidak bisa dijalankan, karena endpoint belum siap. |
| 502 | Transaksi tidak bisa dijalankan, karena endpoint tidak memiliki cukup sumberdaya. |
| 503 | “All of” wildcard terlalu rumit. |
| 504 | Perintah tidak diketahui atau tidak didukung. |
| 505 | RemoteConnectionDescriptor yang tidak mendukung. |
| 506 | Tidak bisa memenuhi LocalConnectionOptions dan RemoteConnectionDescriptor. |
| 507 | Fungsi yang tidak didukung. |
| 508 | Penanganan karantina yang tidak diketahui atau tidak didukung. |
| 509 | Error pada RemoteConnectionDescriptor. |
| 510 | Transaksi tidak bisa dijalankan, karena terdeteksi error pada protokol. |
| 511 | Transaksi tidak bisa dijalankan, karena perintah mengandung karakter yang tidak dikenal. |
| 512 | Transaksi tidak bisa dijalankan, karena Gateway tidak dilengkapi dengan perlengkapan untuk mendeteksi permintaan. |
| 513 | Transaksi tidak bisa dijalankan, karena Gateway tidak dilengkapi dengan salah satu penghasil sinyal permintaan. |
| 514 | Transaksi tidak bisa dijalankan, karena Gateway tidak bisa mengirimkan pengumuman tertentu. |
| 515 | Transaksi tertuju pada identitas koneksi yang salah (ada kemungkinan telah dihapus). |
| 516 | Transaksi merujuk pada call-id yang tidak diketahui. |
| 517 | Mode yang tidak didukung atau tidak valid. |
| 518 | Paket yang tidak diketahui atau tidak didukung. |
| 519 | Endpoint tidak memiliki digit map. |
| 520 | Transaksi tidak bisa dijalankan karena endpoint dalam proses restart. |
| 521 | Endpoint diteruskan ke Call Agent yang lain. |
| 522 | Tidak ada kejadian atau sinyal yang dimaksud. |
| 523 | Aksi yang tidak diketahui atau kombinasi aksi ilegal. |
| 524 | Internal Inconsistency pada LocalConnectionOptions. |
| 525 | Ekstensi tidak diketahui pada LocalConnectionOptions. |
| 526 | Bandwidth yang tidak mencukupi. |
| 527 | Kehilangan RemoteConnectionDescriptor. |
| 528 | Versi protokol yang tidak cocok. |
| 529 | Kegagalan internal perangkat keras. |
| 530 | CAS signaling protocol error. |
| 531 | Kegagalan dalam penggrupan dari trunk (mis. Kegagalan fasilitas). |
| 533 | Respon terlalu besar. |
| 534 | Kegagalan Codec Negotiation. |
| 535 | Packetization period tidak didukung. |
| 536 | RestartMethod yang tidak dikenal atau tidak didukung. |
| 537 | Digit map extensión yang tidak dikenal atau tidak didukung. |
| 538 | Error parameter kejadian/sinyal. |
| 539 | Parameter perintah yang tidak valid atau tidak didukung. |
| 540 | Per Endpoint connection limit exceded. |
| 541 | LocalConnectionOptions yang tidak valid atau tidak didukung. |
| (8xx) Package specific response codes | |
| 800 | NextEndPointName yang tidak valid. |
| 801 | StartEndPointName yang tidak valid. |
| 802 | Parameter BulkRequestInfo yang tidak valid atau tidak didukung. |
| 803 | State Type yang tidak valida tau tidak didukung. |
| 804 | Tidak didukung Bulk Audit Type. |
| 805 | Kesalahan menentukan ruang dari endpoint. |
| 806 | Permintaan StartEndpoint yang tidak diketahui atau tidak tersedia. |
Ketika Gateway melakukan proses penghapusan koneksi, Gateway akan mengirimkan reason code kepada Call Agen untuk memberitahukan alasan kenapa dilakukan proses penghapusan koneksi. Kode pesan ini juga digunakan ketika Gateway dalam proses perintah restart.
Tabel III.3 Reason Code [4]
| Code | Description |
| 0 | Status endpoint adalah nominal. (kode ini digunakan hanya untuk merespon permintaan audit). |
| 900 | Endpoint tidak berfungsi normal. |
| 901 | Endpoint dalam kondisi tidak melayani. |
| 902 | Kehilangan konektifitas low layer (mis. Downstream sync). |
Tabel III.4 MGCP Packages
| Package | Name | Version | References |
| Advanced Audio | AAU | 0 | [PKT-SP-ASP-I02-010620] |
| Advanced Audio | AU | 0 | [RFC2897] |
| Announcment | A | 1 | [RFC3660] |
| ATM | ATM | 0 | [RFC3441] |
| Basic | B | 0 | [RFC3435] |
| Basic Audio | BAU | 0 | [PKT-SP-ASP-I02-010620] |
| Basic Line | BL | 0 | [RFC3064] |
| Basic MF CAS | MS | 0 | [RFC3064] |
| Bulk Audit | BA | 0 | [RFC3624] |
| Business Phone | BP | 0 | [RFC3149] |
| Digit Map Extension | DM1 | 0 | [RFC3660] |
| DTMF | D | 1 | [RFC3660] |
| DTMF CAS | DT | 0 | [RFC3064] |
| Fax | FXR | 0 | [RFC5347] |
| Feature Group D CAS | MD | 0 | [RFC3064] |
| Feature Key | KY | 0 | [RFC3149] |
| FXO CAS | DO | 0 | [RFC3064] |
| Generic | G | 0 | [RFC3435] |
| Generic Media | G | 1 | [RFC3660] |
| Handset | H | 0 | [RFC3435] |
| Handset Emulation | H | 1 | [RFC3660] |
| ISUP Trunk | IT | 0 | [PKT-SP-TGCP-I02-011221] |
| Line | L | 0 | [RFC3435] |
| Line | L | 1 | [RFC3360] |
| Line Control Signaling | LCS | 0 | [PKT-TR-MGCP-PKG-V01-020315] |
| Lockstep | LCK | 0 | [RFC3992] |
| Media Format Parameter | FM | 0 | [RFC3360] |
| MF | M | 0 | [RFC3435] |
| MF Terminating CAS | MT | 0 | [PKT-SP-TGCP-I02-011221] |
| Network Access Server | N | 0 | [RFC3435] |
| Operator Services CAS | MO | 0 | [RFC3064] |
| Redirect and Reset | RED | 0 | [RFC3991] |
| Resource Reservation | RES | 0 | [RFC3660] |
| RTP | R | 0 | [RFC3435] |
| RTP | R | 1 | [RFC3660] |
| Script | SCRIPT | 1 | [RFC3360] |
| Signal List | SL | 0 | [RFC3660] |
| Simple Data Tone | TFM | 0 | [PKT-TR-MGCP-PKG-V01-020315] |
| Sumplementary Services Tones | SST | 0 | [RFC3360] |
| Trunk | T | 0 | [RFC3435] |
| Trunk | T | 1 | [RFC3360] |
| XML Display | XML | 0 | [RFC3149] |
Reference
[1] Andreasen F. and B. Foster, “Media Gateway Control Protocol (MGCP) Version 1.0”, RFC3435, January 2003.
[2] Ixia, Technology Guide Media Gateway Control Protocol (MGCP) Technology, Calabas, CA: Ixia, 2004.
[3] Javvin, “MGCP: Media Gateway Control Protocol”, javvin.com, [Online]. Available: http://www.javvin.com/protocolMGCP.html. [Accessed: Oct. 18,2011].
[4] Network Sorcery, Inc., “MGCP, Multimedia Gateway Control Protocol”, networksocery.com, [Online]. Available: http://www.networksocery.com/enp/protocol/mgcp.htm., [Accessed: Oct. 22, 2011].
[5] Protocols.com, “MGCP”, Voice over IP,[Online]. Available: http://92.61.226.39/pbook/VoIPFamily.htm#mgcp., [Accessed: Oct. 18,2011].
[6] Radvision, Implementing Media Gateway Control Protocols A RADVISION White Paper, Radvision, Jan. 27, 2002.
[7] Salina, Jingming Li, Next Generation Network, Chicester, West Sussex: John Willey & Sons Ltd, 2007.
[8] TechTarget, “Definition Media Gateway Control Protocol”, searchnetworking.com, April 2002. [Online]. Available: http://searchnetworking.techtarget.com/definition/Media-Gateway-Control-Protocol., [Accessed: Oct. 18, 2011].
[9] VoIP Facts, “The Media Gateway Control Protocol”, voip-fact.net, 2011.[Online], Available: http://www.voip-facts.net/media-gateway-control-protocol/. [Accessed: Oct. 18, 2011].




Tidak ada komentar:
Posting Komentar