[[PageOutline(2-5,Содержание:)]] [[span(style=color: #FF0000, Внимание! Статья находится в стадии создания. Информация может быть неполной и/или неточной. )]] = Канальное окончание 1ВСК индуктивный код (1IND) = Канальное окончание 1IND предназначено для подключения к АТС и/или абонентским концентраторам через соединительную линию, использующую сигнализацию по одному выделенному сигнальному каналу индуктивным кодом. Передача линейной сигнализации и номера вызываемого абонента производится по выделенному сигнальному каналу (СУВ A), передача номера вызывающего абонента выполняется частотным способом (безинтервальный пакет АОН). == Линейные сигналы канального окончания 1IND == || '''Сигнал''' || '''Параметры передачи''' || '''Параметры приема (детектирования)''' || || Короткий сигнал (КС) || импульс длительностью 20 мс || импульс длительностью 10-35 мс || || Длинный сигнал (ДС) || импульс длительностью 88 мс || импульс длительностью 65-115 мс || || Набор номера || импульсы длительностью 48 мс || импульсы длительностью 35-65 мс || || Межсерийный интервал набора || пауза 500 мс || пауза более 200 мс || || Сигнал отбоя (ОС) || импульс длительностью 400 мс || импульс длительностью более 115 мс || == Описание работы канального окончания == === Вызов со стороны TDM === ==== Базовый сценарий вызова ==== При получении сигнала "Занятие" из соединительной линии канальное окончание 1IND переходит в состояние `NumRecv` и ожидает номер вызываемого абонента. Номер вызываемого абонента передается декадными сериями импульсов в сигнальном канале. Окончание набора номера определяется по таймауту, устанавливаемому конфигурационным параметром "Таймаут набора". Кроме этого, если конфигурационный параметр "Рег. выражение набора" не пуст, после приема каждой цифры номера выполняется проверка набранного номера на совпадение с регулярным выражением. При совпадении номера с регулярным выражением принимается решение об окончании набора номера. После окончания набора номера канальное окончание 1IND отправляет в сторону сети IP сообщение INVITE и переходит в состояние `Outgoing`. В состоянии `Outgoing` канальное окончание 1IND находится до ответа вызываемого абонента или отмены вызова (отклонения вызова вызываемой стороной или снятия вызова вызывающей стороной). При получении от вызываемой стороны ответа "180 Ringing" окончание 1IND передает в соединительную линию акустический сигнал "Контроль посылки вызова" (КПВ). При ответе вызываемого абонента канальное окончание 1IND подключает медиапоток к каналу TDM (если это не было сделано ранее), передает вызывающему абоненту сигнал "Ответ" и переходит в состояние `Connected`. {{{#!plantuml @startuml title Местный входящий вызов skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание 1IND" as 1IND participant "Вызываемый абонент" as A АТС -> 1IND: Занятие (ДС) АТС -> 1IND: набор номера note over 1IND: прием номера завершен 1IND --> A: INVITE A --> 1IND: 100 Trying A --> 1IND: 180 Ringing note right: Вызываемый абонент слышит звонок 1IND o-[#blue]> АТС: КПВ ... note over A: абонент ответил на вызов A --> 1IND: 200 OK A <-[#blue]-> 1IND: //медиапоток// АТС <-[#blue]> 1IND: //разговорное состояние// 1IND --> A: ACK 1IND -> АТС: Ответ (ДС) note over АТС, A: абоненты ведут разговор @enduml }}} В случае междугородного вызова (входящее занятие коротким сигналом КС) сценарий установки соединения дополняется передачей в канал сигнала "Абонент свободен" при получении ответа "180 Ringing" со стороны IP: {{{#!plantuml @startuml title Междугородный входящий вызов skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание 1IND" as 1IND participant "Вызываемый абонент" as A АТС -> 1IND: Занятие (КС) АТС -> 1IND: набор номера note over 1IND: прием номера завершен 1IND --> A: INVITE A --> 1IND: 100 Trying A --> 1IND: 180 Ringing note right: Вызываемый абонент слышит звонок 1IND -> АТС: Абонент Б свободен (ДС) 1IND o-[#blue]> АТС: КПВ ... note over A: абонент ответил на вызов A --> 1IND: 200 OK A <-[#blue]-> 1IND: //медиапоток// АТС <-[#blue]> 1IND: //разговорное состояние// 1IND --> A: ACK 1IND -> АТС: Ответ (ДС) note over АТС, A: абоненты ведут разговор @enduml }}} При получении от вызываемой стороны медиапотока до ответа вызываемого абонента (ответ "183 Session Progress") медиапоток подключается к каналу TDM, и дальнейшая передача акустических сигналов вызывающему абоненту возлагается на оборудование вызываемого абонента. Пример сценария местного вызова с получением медиапотока до ответа вызываемого абонента: {{{#!plantuml @startuml title Местный входящий вызов (с early media) skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание 1IND" as 1IND participant "Вызываемый абонент" as A АТС -> 1IND: Занятие (ДС) АТС -> 1IND: набор номера note over 1IND: прием номера завершен 1IND --> A: INVITE A --> 1IND: 100 Trying A --> 1IND: 183 Session Progress A <-[#blue]-> 1IND: //медиапоток// АТС <-[#blue]> 1IND: //разговорное состояние// A o-[#gray]> АТС: //КПВ// ... note over A: абонент ответил на вызов A --> 1IND: 200 OK 1IND --> A: ACK 1IND -> АТС: Ответ (ДС) note over АТС, A: абоненты ведут разговор @enduml }}} ==== Определение номера вызывающего абонента ==== Если конфигурационный параметр "Макс. число запросов АОН" не равен нулю, описанный выше процесс входящего вызова дополняется функцией определения номера вызывающего абонента. Определение номера состоит в посылке запроса и получении ответа. Запрос АОН выполняется передачей в канал TDM линейного сигнала "Ответ" (ДС) с одновременной передачей тонального сигнала 500 Гц. В течение 500 мс канальное окончание ожидает получения безинтервального пакета АОН, содержащего категорию и 7 цифр номера вызывающего абонента. Если безинтервальный пакет принят и успешно декодирован, канальное окончание переходит к передаче вызова в направление сети IP. Если пакет АОН не принят или не может быть декодирован, в зависимости от значений конфигурационного параметра "Макс. число запросов АОН" процесс запроса и приема ответа может быть повторен заданное число раз. {{{#!plantuml @startuml title Местный входящий вызов с запросом номера вызывающего абонента skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant АТС participant "Окончание 1IND" as 1IND participant "Вызываемый абонент" as A АТС -> 1IND: Занятие (ДС) АТС -> 1IND: набор номера note over 1IND: прием номера завершен 1IND -> АТС: "Ответ" (ДС) 1IND o-[#blue]> АТС: Запрос АОН (500 Гц) АТС -[#blue]> 1IND: безинтервальный пакет АОН note over 1IND: Ошибка декодирования посылки АОН\nПовтор запроса... 1IND -> АТС: "Ответ" (ДС) 1IND o-[#blue]> АТС: Запрос АОН (500 Гц) АТС -[#blue]> 1IND: безинтервальный пакет АОН note over 1IND: ответ принят успешно,\nномер 1234567 кат. 1\nвыполняется вызов... 1IND --> A: INVITE From: A --> 1IND: 100 Trying A --> 1IND: 180 Ringing note right: Вызываемый абонент слышит звонок 1IND o-[#blue]> АТС: КПВ ... note over A: абонент ответил на вызов A --> 1IND: 200 OK A <-[#blue]-> 1IND: //медиапоток// АТС <-[#blue]> 1IND: //разговорное состояние// 1IND --> A: ACK 1IND -> АТС: Ответ (ДС) note over АТС, A: абоненты ведут разговор @enduml }}} В случае успешного определения категории и номера вызывающего абонента в поле `From:` передаваемого в направлении сети IP сообщения INVITE имя пользователя (username) формируется из номера вызывающего абонента. Так как в ответе АОН передается только 7 1ифр номера вызывающего абонента, канальное окончание 1IND позволяет выполнять модификацию номера вызывающего абонента с помощью регулярного выражения, задаваемого конфигурационным параметром "Преобразование АОН". Например, при установке параметра "Преобразование АОН" в значение `/^(.*)$/7342\1` и получении в безинтервальном пакете АОН номера 1234567 полученный номер будет дополнен справа комбинацией "7342", в результате чего будет сформирован номер вызывающего абонента "73421234567". Категория вызывающего абонента передается в виде значения параметра `cpc` (calling-party-category) URI. Так, если в приведенном примере категория вызывающего абонента равна 1, в поле `From:` сообщения INVITE будет помещен URI `sip:73421234567@domain.org;cpc=1`. === Вызов со стороны IP === При получении вызова со стороны сети IP канальное окончание 1IND === Отбой === == Параметры конфигурации канального окончания == == Состояния канального окончания == Далее описаны состояния, в которых может находиться канальное окончание 1IND, и их описание. Idle:: Исходное состояние канального окончания. Канальное окончание свободно: способно принимать вызовы со стороны сети IP и ожидает сигнал "Занятие" со стороны канала TDM. Seizure:: Выполняется исходящее занятие соединительной линии. Dialing:: Dialed:: Blocked:: передается линейный сигнал "Отбой" (ОС). !NumRecv:: Outgoing:: Answered:: Connected:: !DiscWait:: AONrequest:: передается запрос АОН (линейный сигнал "Ответ" + тональный сигнал 500 Гц). AONrequested:: прием кодограммы АОН RBlocked:: блокировка удаленной стороной {{{#!plantuml @startuml title Упрощенная диаграмма состояний канального окончания 1IND Idle: исходное состояние Seizure: исходящее занятие Dialing: Blocked: передается "Отбой" NumRecv: прием номера\nвызываемого абонента Outgoing: отправлен INVITE,\nожидается ответ Answered: Connected: соединение установлено,\nведется разговор DiscWait: ожидается отбой от\nудаленной стороны AONrequest: запрос АОН,\nожидание ответа AONrequested: прием кодограммы АОН RBlocked: блокировка уда-\nленной стороной Idle --> NumRecv: принято "Занятие"\n(ДС или КС) NumRecv --> AONrequest: набор номера\nзакончен NumRecv --> Outgoing: набор номера\nзакончен AONrequest --> AONrequested: 500 мс AONrequested --> Outgoing: прием успешен или\nисчерпано число попыток AONrequested --> AONrequest: ошибка NumRecv --> Idle: принят "Отбой" Outgoing --> Connected: получено "200 OK" Outgoing --> Blocked: принят "Отбой" Connected --> Blocked: получен BYE Connected --> Blocked: получен "Отбой" Blocked --> Idle: 400 мс @enduml }}}