[[PageOutline(2-5,Содержание:)]] [[span(style=color: #FF0000, Внимание! Статья находится в стадии создания. Содержащаяся в статье информация может быть неполной и/или неточной. )]] = Канальное окончание R2DTMF = Канальное окончание R2DTMF предназначено для подключения к соединительным линиям АТС с использованием варианта системы сигнализации R2, известного как "R2-DTMF". == Линейные сигналы канального окончания MFC R2 == Для передачи линейных сигналов "Занятие", "Подтверждение занятия", "Ответ", "Разъединение", "Блокировка", "Контроль исходного" канальное окончание R2DTMF использует два выделенных сигнальных канала (СУВ a и b). || '''Комбинация СУВ ab''' || '''Значение сигнала''' || || 00 || Занятие || || 01 || Ответ || || 10 || Разъединение / контроль исходного || || 11 || Подтверждение занятия / Clear Back / блокировка || == Сигналы межрегистровой сигнализации == Для передачи адресной информации между регистрами канальное окончание R2DTMF использует двухчастотные тональные сигналы DTMF. В прямом направлении передаются цифры номера вызываемого абонента в виде последовательности тональных сигналов длительностью 80 мс и паузами 80 мс. В обратном направлении никакие сигналы не передаются. == Описание работы канального окончания == === Входящий вызов === Входящий (со стороны канала TDM) вызов начинается с приема из канала линейного сигнала "Занятие". В ответ на получении сигнала "Занятие" канальное окончание R2DTMF передает в канал линейный сигнал "Подтверждение занятия", переходит в состояние `NumRecv` и ожидает номер вызываемого абонента. В состоянии `NumRecv` при получении каждой новой цифры номера вызываемого абонента эта цифра добавляется к ранее принятым цифрам, формируя номер вызываемого абонента. После получения каждой новой цифры производится проверка принятого номера на совпадение с регулярным выражением, установленным конфигурационным параметром "Рег. выражение набора", а также на достижение максимальной длины номера, установленной конфигурационным параметром "Макс. длина номера". Система сигнализации R2-DTMF предполагает, что принимающая вызов сторона заранее "знает", какое количество цифр должно быть в номере вызываемого абонента. Если обнаружено совпадение номера с регулярным выражением или достижение максимальной длины номера, канальное окончание R2DTMF формирует и передает сообщение INVITE в сеть IP и переходит в состояние `Outgoing`. При получении от вызываемого абонента ответа "180 Ringing" и отсутствии медиапотока канальное окончание R2 формирует и передает в канал TDM акустический сигнал "Контроль посылки вызова" (КПВ). При получении от вызываемого абонента неуспешного ответа (4xx/5xx/6xx) канальное окончание R2DTMF передает линейный сигнал "Контроль исходного" и переходит в состояние `Blocked`, ожидая линейного сигнала "Контроль исходного" от вызывающей стороны. После получения линейного сигнала "Контроль исходного" канальное окончание R2DTMF переходит в исходное состояние (`Idle`). При получении от вызываемого абонента ответа "200 OK" канальное окончание R2DTMF передает линейный сигнал "Ответ" и переходит в состояние `Connected`. Пример приема входящего вызова: {{{#!plantuml @startuml skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание R2DTMF" as R2 participant "Вызываемый абонент" as A АТС <-[#red]> R2: исходное состояние (10) ... АТС -[#red]> R2: Занятие (00) R2 -[#red]> АТС: Подтверждение занятия (11) АТС -> R2: DTMF "1" АТС -> R2: DTMF "2" АТС -> R2: DTMF "3" АТС -> R2: DTMF "4" АТС -> R2: DTMF "5" R2 --> A: INVITE\nTo: A --> R2: 100 Trying A --> R2: 180 Ringing note right: Вызываемый абонент слышит звонок R2 o-[#blue]> АТС: КПВ ... note over A: абонент ответил на вызов A --> R2: 200 OK R2 --> A: ACK A <-[#blue]-> R2: //медиапоток// R2 -[#red]> АТС: Ответ (01) АТС <-[#blue]> R2: //разговорное состояние// note over АТС, A: абоненты ведут разговор @enduml }}} Если в ответ на запрос INVITE канальное окончание R2DTMF получает ответ "180 Ringing" или "183 Session progress", содержащий ответ SDP (early media), канальное окончание активирует медиапоток, давая возможность вызывающему абоненту прослушивать анонсы и другие акустические сигналы, формируемые оборудованием вызываемого абонента. За передачу сигнала КПВ в таком сценарии отвечает оборудование вызываемой стороны. Пример входящего вызова с early media: {{{#!plantuml @startuml skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание R2DTMF" as R2 participant "Вызываемый абонент" as A АТС <-[#red]> R2: исходное состояние (10) ... АТС -[#red]> R2: Занятие (00) R2 -[#red]> АТС: Подтверждение занятия (11) АТС -> R2: DTMF "1" АТС -> R2: DTMF "2" АТС -> R2: DTMF "3" АТС -> R2: DTMF "4" АТС -> R2: DTMF "5" R2 --> A: INVITE\nTo: A --> R2: 100 Trying A --> R2: 183 Session Progress + SDP A <-[#blue]-> R2: //медиапоток// АТС <-[#blue]> R2: //разговорное состояние// A o-[#gray]> АТС: КПВ note right: Вызываемый абонент слышит звонок ... note over A: абонент ответил на вызов A --> R2: 200 OK R2 --> A: ACK R2 -[#red]> АТС: Ответ (01) note over АТС, A: абоненты ведут разговор @enduml }}} === Исходящий вызов === === Отбой соединения === ==== Отбой со стороны IP ==== == Параметры конфигурации канального окончания == == Состояния канального окончания == == См. также ==