IETF draft: http://www.ietf.org/internet-drafts/draft-huitema-mgcp-test1-00.txt Протокол
MGCP (Media Gateway Control Protocol - протокол управления шлюзом между
средами) используется для управления телефонными шлюзами с помощью
внешних элементов управления вызовами, называемых контроллерами шлюза
сред (media gateway controller) или агентами вызовов (call agent).
Телефонный шлюз является элементом сети, обеспечивающим преобразование
звуковых сигналов, переносимых по телефонным каналам, в пакеты данных,
передаваемые через Internet, и обратное преобразование. MGCP
использует архитектуру управления, в которой интеллектуальные элементы
управления вызовами располагаются за пределами шлюза и обслуживаются
внешними элементами управления вызовами. MGCP предполагает, что все
элементы управления вызовами или агенты вызовов (Call Agent)
синхронизированы между собой для передачи согласованных (coherent)
команд шлюзам, находящимся под их управлением. Важно отметить, что
протокол MGCP использует отношения ведущий-ведомый (master/slave) -
шлюзы выполняют команды, передаваемые агентами вызовов. Протокол
MGCP реализует интерфейс управления шлюзом между средами как набор
транзакций. Транзакции состоят из команд и обязательных (mandatory)
откликов. Существует восемь типов команд: CreateConnection (организовать соединение) ModifyConnection (изменить соединение) DeleteConnection (удалить соединение) NotificationRequest (запрос уведомления) Notify (уведомление) AuditEndpoint (аудит оконечной точки) AuditConnection (аудит соединения) RestartInProgress (едет процесс перезапуска). Первые
четыре команды передаются шлюзу агентом вызовов. Команда Notify
передается шлюзом агенту. Шлюз может также передавать команды удаления
соединений (DeleteConnection). Call Agent может передавать шлюзу
команды аудита (Audit). Шлюз может передавать команды RestartInProgress
агенту вызовов. Все
команды содержат заголовок, за которым может следовать описание сессии.
Все отклики содержат заголовок, за которым также может следовать
описание сессии. Заголовки и описания сессий представляются наборами
текстовых строк, разделенными символами возврата каретки и перевода
строки или одним символом перевода строки. Между заголовком и описанием
сессии помещается пустая строка. MGCP
использует идентификаторы транзакций для того, чтобы можно было связать
запрос с откликом на него. Значения идентификаторов транзакций могут
находиться в диапазоне от 1 до 999999999. Объект MGCP не может повторно
использовать идентификатор транзакции раньше, чем через три минуты
после завершения предыдущей транзакции с таким же номером. Заголовок команды содержит: Командную
строку, идентифицирующую запрашиваемую операцию, идентификатор
транзакции, имя оконечной точки, для которой должна выполняться
запрошенная операция, и номер версии протокола MGCP. Набор строк параметров, содержащих имя и значение параметра. Командная строка содержит: Имя запрашиваемой команды. Идентификатор
транзакции (1 и 999999999), используемый для сопоставления команд и
откликов. Объект MGCP не может повторно использовать идентификатор
транзакции раньше, чем через три минуты после завершения предыдущей
транзакции с таким же номером. Имя
оконечной точки, для которой должна выполняться запрошенная операция (в
уведомлениях - имя оконечной точки, для которой передается
уведомление). Номер версии протокола. Все
четыре элемента команд передаются в виде текстовых строк ASCII с
разделением слов пробелами (ASCII - 0x20) или символами табуляции
(0x09). Предпочтительно использовать в качестве разделителя символ
пробела.
|