В данном параграфе будет показано, каким образом при помощи протокола MGCP устанавливаются, изменяются и завершаются речевые соединения в сетях с маршрутизацией пакетов IP. Пример охватывает взаимодействие протокола MGCP с протоколом ОКС7 (рис. 8.6).
От телефонной станции АТС1 к шлюзу сигнализации SG1 по общему каналу сигнализации поступает запрос соединения - сообщение IAM. Шлюз SG1 передает сообщение IAM устройству управления шлюзами Call Agent, которое обрабатывает запрос и определяет, что вызов должен быть направлен к телефонной станции АТС2 посредством шлюза TGW2.
Далее Call Agent резервирует порт шлюза TGW1 (разговорный канал). С этой целью Call Agent передает шлюзу команду CreateConnec-tion. Отметим, что порт шлюза TGW1 может только принимать информацию (режим «recvonly»), так как он еще не осведомлен о том, на какой адрес и каким образом ему следует передавать информацию.
CRCX 1204 trunk-group-l/17@tgwl.whatever.net MGCP 0.1
С: A3C47F21456789FO
L: p:10, a:G.711
M: recvonly
В ответе на принятую команду шлюз TGW1 возвращает описание сеанса связи.
200 1204 OK
I:FDE234C8
v=0
C=IN IP4 128.96.41.1
m=audio 3456 RTP/AVP 0
Рис. 8.6 Установление и разрушение соединения с использованием протокола MGCP
После приема от шлюза TGW1 подтверждения Call Agent передает команду CRCX второму шлюзу TGW2 с целью зарезервировать в нем порт:
CRCX 1205 trunk-group-2/$@tgw2.whatever.net MGCP 0.1
С: A3C47F21456789FO
M: sendrecv
v0
C=IN IP4 128.96.41.1
m=audio 3456 RTP/AVP 0
Шлюз TGW 2 выбирает порт, который будет участвовать в связи, и подтверждает прием команды CRCX.
200 1205 OK
I:abc0
v=0
C-IN IP4 128.96.63.25
m=audio 1296 RTP/AVP 0
При помощи двух команд CRCX создается однонаправленный разговорный канал для передачи вызываемому абоненту акустических сигналов или речевых подсказок и извещений. В то же время, порт шлюза TGW 2 уже может не только принимать, но и передавать информацию, так как он получил описание сеанса связи от встречного шлюза. Далее Call Agent передает сообщение 1АМ к телефонной станции АТС2. На сообщение 1АМ станция АТС2 отвечает сообщением АСМ, которое немедленно пересылается к станции АТС1.
После того как вызываемый абонент примет вызов, телефонная станция АТС2 передает к Call Agent сообщение ANM. Далее Call Agent меняет режим соединения «recvonly» в шлюзе TGW1 на полнодуплексный режим:
MDCX 1206 trunk-group-I/17@tgwl.whatever.net MGCP 0.1
С: A3C47F21456789FO
I: FDE234C8
M: sendrecv
v=0
C=IN IP4 128.96.63.25
m=audio 1296 RTP/AVP 0
Шлюз TGW1 выполняет и подтверждает изменение режима соединения:
200 1206 OK
Call Agent передает сообщение ANM к телефонной станции АТС1, после чего наступает разговорная фаза соединения.
Завершение разговорной фазы происходит следующим образом. В нашем случае вызвавший абонент дает отбой первым, телефонная станция АТС1 через шлюз сигнализации передает к Call Agent сообщение REL. На основании этого сообщения Call Agent завершает соединение с вызвавшим абонентом:
DLCX 1207 trunk-group-I/17&tgwl.whatever.net MOCP 0.1
С: A3C47F21456789FO I:FDE234C8
Шлюз подтверждает завершение соединения и передаетк CallAgent собранные за время соединения статистические данные:
250 1217 OK
Р: PS-1245, OS-62345, PR-780, OR'45123, PL-10, JI-27,LA=48
Далее Call Agent передает к АТС1 сообщение RLC с целью подтвердить разрушение соединения.
Параллельно Call Agent завершает соединение с вызванной стороной:
DLCX 1208 trunk-group-2/13@tgw2.whatever.net MGCP 0.1
С: A3C47F21456789FO
I:abc0
Шлюз TGW2 подтверждает завершение соединения и передает к Call Agent собранные за время соединения статистические данные
250 1218 OK
Р: PS=790, 08=45700, PR=1230, OR=61875, PL=15, JI=27,IA=48
После приема ответа на команду DLCX Call Agent может начинать процедуру завершения соединения с АТС2, которая должна подтвердить разъединение, после чего соединение считается разрушенным.