Q.931 — рекомендация ITU-T и основанная на нём реализация протокола управления соединениями для цифровой телефонии ISDN. Q.931 условно сопоставим по назначению с TCP в стеке протоколов TCP/IP (но не на том же уровне модели OSI). Протокол Q.931 не обеспечивает управление потоком передачи данных или выполнение повторной передачи блоков данных, поскольку это реализуют более низкие уровни. Сеть ISDN предоставляет полосу пропускания с фиксированным шагом в 64 кбит/с, а Q.931 определяет процедуры установки соединения и его разъединения. Подобно TCP, Q.931 одновременно является и документом и протоколом состояния машины. Недавно Q.931 был использован в качестве составной части VoIP стека протоколов H.323 и в передающих системах некоторых мобильных телефонов.
Q.931 — это протокол третьего уровня, в основном используемый для установления вызовов ISDN, технического обслуживания и высвобождения сетевых соединений между двумя DTE на D-канале. Структура Q.931 содержит следующие элементы:
- Дискриминатор протокола (PD), служит для того, что бы отличить сигнальный протокол, используемый для соединения (например, PD=08HEX для DSS1) от блоков данных других протоколов.
- Метка соединения (CR) — уникальный номер соединения, к которому относится сообщение. Это значение действительно только на время активности соединения.
- Тип сообщения (MT) — указывает имя сообщения 3-го уровня из определённых Q.931 для управления вызовом (например, SETUP). Есть сообщения, определённые для установки соединения, завершения соединения и управления функциями соединения.
- Информационные элементы (IE) — определяют дальнейшую информацию, которая связана с фактическим сообщением. IE содержит имя IE (например, запрашиваемая услуга), их длину и изменяемое поле содержимого.
Примеры сообщений:
- SETUP — запрашивает установление соединения.
- CALL PROCEEDING — указывает, что вызов обрабатывается, никакой дополнительной информации для установления соединения не требуется.
- ALERTING — указывает вызывающей стороне, что вызываемый терминал готов принять вызов и пользователю подается сигнал о вызове.
- CONNECT — сообщает вызывающей стороне, что вызываемая сторона ответила на вызов.
- DISCONNECT — передаёт запрос на разрыв соединения, желание завершить соединение и прервать связь, обозначается определённым стандартным цифровым кодом причины.
- RELEASE — отправляется в ответ на запрос разъединения, указывая, что задействованные ресурсы должны быть освобождены.
- RELEASE COMPLETE — отправляется получателем сообщения RELEASE, указывая, что ресурсы освобождены, связь завершена полностью.
Литература
https://ru.wikipedia.org/wiki/Q.931
https://en.wikipedia.org/wiki/Q.931