MGCP nebo Media Gateway Control Protocol doslova - protokol ovládání brány médií . Jedná se o komunikační protokol v distribuovaných systémech VoIP voice over IP.
MGCP je popsán v RFC 3435 , který nahradil dnes již zastaralý RFC 2705 , který zase nahradil Simple Gateway Control Protocol ( SGCP ).
Podobný protokol pro stejný účel je Megaco , společný produkt IETF ( RFC 3525 ) a ITU (doporučení H.248-1). Oba protokoly jsou popsány jedinou architekturou MGCP hardwarově-softwarového rozhraní ( API ) a požadavky v RFC 2805 .
Distribuované systémy se skládají z Call Agent (nebo Media Gateway Controller), alespoň jedné Media Gateway (MG) a alespoň jedné Signaling Gateway (SG) připojené k veřejné komutované telefonní síti ( PSTN ). Z hlediska sítě SS-7 je taková symbióza zařízení považována za jeden uzel s jedním společným bodovým kódem .
Standard MGCP, popsaný v RFC 2705 , navrhuje následující klasifikaci telefonních zařízení podle účelu:
Z technického hlediska může být každý typ výše uvedených bran kombinací logických prvků - media gateway a signalizační brány, nebo pouze media gateway, s přenosem řídících signalizačních informací o hovorech prostřednictvím jiných typů zařízení a jiné protokoly.
Signalizační brána (SG)Signalizační brána - zajišťuje doručení signalizační informace přicházející z PSTN do řadiče brány a přenos signalizační informace v opačném směru.
V praxi lze signalizační bránu (SG) a media gateway (MG) připojit ke stejnému fyzickému přepínači, ale není to vůbec nutné. Call Agent nepoužívá MGCP k ovládání signalizační brány (SG), pro tyto účely - zpětná vazba mezi signalizační bránou (SG) a Agentem využívá protokoly SIGTRAN .
Media Gateway (MG)Mediální brána plní funkce převodu hlasových informací přicházejících z PSTN v hlasových kanálech s konstantní přenosovou rychlostí do formy vhodné pro přenos po sítích s IP směrováním paketů (kódování a balení hlasových informací do RTP paketů a poté do UDP a IP ) a také obrácená konverze).
Brána médií používá protokol MGCP k signalizaci událostí, jako jsou informace o zavěšení/vyvěšení nebo vytočené číslice volaného čísla (opakované vytáčení).
Call Agent je řadič brány, který provádí funkce správy bran, který používá protokol MGCP k informování brány médií:
MGCP také umožňuje Call Agent sledovat stav koncových bodů na Media Gateway (MG).
Brána médií je zpravidla nakonfigurována se seznamem volajících agentů, od kterých může přijímat pokyny k požadavku.
V zásadě lze z každého koncového zařízení zasílat upozornění různým Agentům (jak poskytují Call Agents, používá se k tomu parametr NotifiedEntity). V praxi je však žádoucí, aby všechny terminály byly v daném čase řízeny stejným ovladačem brány; ostatní agenti volání jsou k dispozici s vyhrazenými prostředky, aby zajistili redundanci, pokud primární agent selže nebo ztratí kontakt s bránou médií. V případě takové poruchy je řízení brány automaticky převedeno na záložní řadič brány. Pro takový scénář je potřeba se postarat jen o výměnu informací o stavu mezi dvěma Agenty, to však nezaručuje, že se oba nepokusí řídit stejnou bránu. K vyřešení konfliktů se používá možnost dotazování brány k určení, který z agentů má aktuálně kontrolu.
Pakety MGCP se liší od mnoha jiných protokolů. Obvykle si vyhrazuje UDP port 2427, datagramy MGCP mohou obsahovat i prázdné hodnoty, což vůbec není způsob, jakým se pakety obvykle staví v protokolech TCP. Paket MGCP je buď příkaz (požadavek) nebo odpověď. Příkazy (žádosti) začínají čtyřpísmenným kódem, odpovědi začínají třímístným číselným kódem.
V MGCP nese každý příkaz ID transakce a na každý obdrží odpověď.
Seznam dotazů obsahuje pouze osm příkazů: AUEP, AUCX, CRCX, DLCX, MDCX, NTFY, RQNT, RSIP.
Agent používá dva příkazy k odeslání požadavku na bránu médií:
Call Agent používá ke správě RTP připojení na Media Gateway tři příkazy:
Příkaz RQNT (Request for Notification) používá Media Gateway k vyžádání upozornění a používá jej CallAgent k vyžádání upozornění na události na Media Gateway. Zejména jej lze použít k odeslání zprávy o stisknutí klávesy v rámci tónové volby (jako alternativa k RFC 2833 nebo G.711-inband).
Příkaz NTFY (Notify) používá brána médií k upozornění agenta, že byla zjištěna událost, o které si agent dříve vyžádal upozornění (příkazem RQNT). Příklad použití: přechod na jiný typ přenášených dat (z hlasu na fax nebo naopak).
Příkaz EPCF - Endpoint Configuration používá brána médií k upozornění CallAgenta na nutnost změnit očekávané parametry kódování ze strany koncového bodu.
Příkaz RSIP - Restart In Progress používá Media Gateway k tomu, aby agentovi oznámil, že probíhá restart.
První příklad (z RFC 3435 ) ukazuje příkaz CRCX (CreateConnection) vytvářející připojení k určenému koncovému bodu (aaln/[email protected], kde rgw-2567.whatever.net je název domény a aaln/ 1 název koncového bodu). Příkaz byl odeslán v kontextu transakce 1204. Spojení bude mít specifické CallID (A3C47F21456789F0). LocalConnectionOptions určuje, že bude použit kodek mu-law G.711 ( PCM ) a doba paketizace bude 10 ms. Provozní režim připojení bude „pouze příjem“ (pouze příjem):
CRCX 1204 aaln/[email protected] MGCP 1.0 C:A3C47F21456789F0 L: p:10, a:PCMU M: RevolučněKód odezvy 200 OK indikuje, že operace byla úspěšná, a zobrazí se ID transakce (1204) pro nově vytvořené spojení, aby se zjistilo, zda odpověď patří příkazu. Zpráva také obsahuje popis formátu relace ( SDP ) pro nové připojení, před kterým je prázdný řádek:
200 1204 OK I: FDE234C8 v=0 o=- 25678 753849 IN IP4 128.96.41.1 s=- c=IN IP4 128.96.41.1 t=00 m=audio 3456 RTP/AVP 0Druhým příkladem (z RFC 3435 ) je příkaz ModifyConnection, který jednoduše nastaví režim připojení na "odeslat/přijmout" a také informuje, že je nastavena "Notified entity".
MDCX 1209 aaln/[email protected] MGCP 1.0 C:A3C47F21456789F0 I: FDE234C8 N: [email protected] M: sendrecvOdpověď znamená, že transakce byla úspěšná.
200 1209 OKNyní příklad příkazu ModifyConnection, kde je přenášen popis relace přijatého hovoru ( SDP ) a požadavek na upozornění. Koncové zařízení (koncový bod) začne přehrávat ovládání odeslání hovoru účastníkovi (dlouhé pípnutí, čekání na volanou odpověď).
MDCX 1210 aaln/[email protected] MGCP 1.0 C:A3C47F21456789F0 I: FDE234C8 M: Revolučně X: 0123456789AE R:L/hu S: G/rt v=0 o=- 4723891 7428910 IN IP4 128.96.63.25 s=- c=IN IP4 128.96.63.25 t=00 m=audio 3456 RTP/AVP 0Odpověď znamená, že transakce (1210) byla úspěšná.
200 1210 OK