[[PageOutline(2-5,Содержание:)]]
= Канальное окончание SL (2100 Гц / 2600 Гц / 600+750 Гц) =
Канальное окончание SL предназначено для работы с системами сигнализации тональными частотами, передаваемыми в речевом канале без использования выделенных сигнальных каналов, используемыми в ведомственных телефонных сетях.
== Описание работы канального окончания ==
Канальное окончание SL реализует три варианта сигнализации, различающиеся используемыми частотами и временными параметрами:
"2100 Гц":: для сигнализации используется частота 2100 Гц;
"2600 Гц":: для сигнализации используется частота 2600 Гц;
"600+750 Гц":: для сигнализации используется комбинация частот 600 Гц и 75- Гц.
Выбор используемого варианта сигнализации осуществляется конфигурационным параметром "Вариант сигнализации".
=== Прием вызова со стороны сети IP ===
Канальное окончание SL принимает вызовы со стороны сети IP только на втором проходе поиска.
При получении сообщения INVITE со стороны сети IP канальное окончание SL передает в канал TDM сигнал "занятие" длительностью 100 мс (для вариантов "2100 Гц" и "2600 Гц") или 50 мс (для варианта "600+750 Гц") и переходит в состояние `Dialing`.
После окончания передачи сигнала "Занятие" канальное окончание передает в канал TDM номер вызываемого абонента декадными сериями испульсов. Длительность каждого импульса составляет 50 мс, длительность паузы - 50 мс. Передача каждой серии импульсов начинается с межсерийного интервала, составляющего 800 мс для вариантов "2100 Гц" и "2600 Гц" и 600 мс для варианта "600+750 Гц".
Номер вызываемого абонента формируется из имени пользователя (username) вызываемого SIP URI. Номер передается посимвольно слева направо, при этом все нецифровые символы игнорируются.
После передачи всех цифр номера канальное окончание SL передает вызывающему абоненту ответ "183 Session progress", активирует медиапоток, переходит в состояние `Dialed` и ожидает ответ вызываемого абонента.
При получении из канала TDM сигнала "Ответ", представляющего собой кроткий импульс (от 50 до 250 мс для вариантов "2100 Гц" и "2600 Гц" и от 20 до 160 мс для варианта "600+750 Гц") канальное окончание SL передает вызывающему абоненту ответ "200 OK" и переходит в состояние `Connected`.
Пример сценария вызова со стороны сети IP:
{{{#!PlantUml
@startuml
title Cценарий вызова со стороны сети IP
skinparam ParticipantPadding 80
skinparam sequenceMessageAlign center
participant "Абонент А (IP)" as A
participant "окончание SL" as B
participant "Абонент Б (TDM)" as C
A --> B: INVITE
B --> A: 100 Trying
B -> C: "Занятие"
B -> C: набор номера
B --> A: 183 Session Progress
A <-[#0000ff]-> B: медиапоток
note right of C: вызываемый абонент слышит звонок
C o-[#gray]> A: // КПВ//
...
note over C: абонент ответил на вызов
C -> B: "Ответ"
B --> A: 200 OK
A --> B: ACK
note over A, C: абоненты А и Б ведут разговор
@enduml
}}}
=== Прием вызова со стороны сети TDM ===
При получении из канала TDM сигнала "Занятие", представляющего собой кроткий импульс (от 50 до 250 мс для вариантов "2100 Гц" и "2600 Гц" и от 20 до 160 мс для варианта "600+750 Гц") канальное окончание SL переходит в состояние `NumRecv` и ожидает от удаленной стороны номер вызываемого абонента.
Окончание набора номера определяется по таймауту, устанавливаемому конфигурационным параметром "Таймаут набора". Кроме этого, если конфигурационный параметр "Рег. выражение набора" не пуст, после приема каждой цифры номера выполняется проверка набранного номера на совпадение с регулярным выражением. При совпадении номера с регулярным выражением принимается решение об окончании набора номера. После окончания набора номера канальное окончание SL отправляет в сторону сети IP сообщение INVITE и переходит в состояние `Calling`.
В состоянии `Calling` канальное окончание SL находится до ответа вызываемого абонента или отмены вызова (отклонения вызова вызываемой стороной или снятия вызова вызывающей стороной). При получении от вызываемой стороны ответа "180 Ringing" окончание SL передает в канал TDM акустический сигнал "Контроль посылки вызова" (КПВ).
При ответе вызываемого абонента канальное окончание SL передает в канал TDM сигнал "Ответ" длительностью 100 мс (для вариантов "2100 Гц" и "2600 Гц") или 50 мс (для варианта "600+750 Гц"), подключает медиапоток к каналу TDM (если это не было сделано ранее) и переходит в состояние `Connected`.
{{{#!PlantUml
@startuml
title Cценарий вызова со стороны сети TDM
skinparam ParticipantPadding 80
skinparam sequenceMessageAlign center
participant "Абонент А (TDM)" as A
participant "окончание SL" as B
participant "Абонент Б (IP)" as C
A -> B: "Занятие"
A -> B: набор номера
B --> C: INVITE
C --> B: 100 Trying
C --> B: 180 Ringing
B o-[#blue]> A: КПВ
note right of C: вызываемый абонент слышит звонок
...
note right of C: вызываемый абонент ответил на вызов
C --> B: 200 OK
B --> C: ACK
B -> A: "Ответ"
B <-[#0000ff]-> C: медиапоток
note over A, C: абоненты А и Б ведут разговор
@enduml
}}}
При получении от вызываемой стороны медиапотока до ответа вызываемого абонента (например ответ "183 Session Progress") медиапоток подключается к каналу TDM, и дальнейшая передача акустических сигналов вызывающему абоненту возлагается на оборудование вызываемого абонента. Пример сценария местного вызова с получением медиапотока до ответа вызываемого абонента:
{{{#!PlantUml
@startuml
title Cценарий вызова со стороны сети TDM с early media
skinparam ParticipantPadding 80
skinparam sequenceMessageAlign center
participant "Абонент А (TDM)" as A
participant "окончание SL" as B
participant "Абонент Б (IP)" as C
A -> B: "Занятие"
A -> B: набор номера
B --> C: INVITE
C --> B: 100 Trying
C --> B: 183 Session Progress
B <-[#0000ff]-> C: медиапоток
C o-[#gray]> A: КПВ
note right of C: вызываемый абонент слышит звонок
...
note right of C: вызываемый абонент ответил на вызов
C --> B: 200 OK
B --> C: ACK
B -> A: "Ответ"
note over A, C: абоненты А и Б ведут разговор
@enduml
}}}
=== Отбой ===
Отбой соединения возможен на любом этапе любой стороной и осуществляется передачей длинного (более 250 мс для вариантов "2100 Гц" и "2600 Гц" и более 350 мс для варианта "600+750 Гц") сигнала.
При получении из канала TDM сигнала "Отбой" канальное окончание SL транслирует отбой в сторону сети IP, передавая BYE, CANCEL или "486 Busy Here" в зависимости от текущего состояния и направления соединения, и переходит в исходное состояние (`Idle`).
При получении со стороны сети IP неуспешного ответа на отправленный INVITE или запросов BYE/CANCEL канальное окончание SL переходит в состояние `Blocked`, передает в канал TDM сигнал "Отбой" длительностью 800 мс (для вариантов "2100 Гц" и "2600 Гц") или 600 мс (для варианта "600+750 Гц") и переходит в исходное состояние (`Idle`).
== Параметры конфигурации канального окончания ==
Пример конфигурации канального окончания SL:
[[Image(ss1.jpg)]]
Далее описаны параметры, специфичные для канального окончания SL. Не указанные здесь конфигурационные параметры работают так же, как и во всех прочих существующих канальных окончаниях. См. EndpointParameters.
Вариант сигнализации:: Параметр определяет, какой вариант сигнализации используется канальным окончанием. Возможен выбор одного из вариантов: "2100 Гц", "2600 Гц" или "600+750 Гц". Значение по умолчанию - "2100 Гц".
Уровень передачи сигнализации:: Параметр устанавливает уровень, с которым в канал TDM генерируются сигнальные частоты. Допустимые значения параметра от -30.0 дБм0 до 0.0 дБм0. Значение по умолчанию — -7.0 дБм0. Обратите внимание, что параметр задает уровень генерации сигнала до применения значений параметров "Усиление IP→TDM" и "АРУ IP→TDM". Так, при установке параметра "Уровень передачи сигнализации" в значение -7.0 дБм0 и установке параметра "Усиление IP→TDM" в значение +3.0 дБ уровень сигнальных частот в канале TDM будет -4 дБм0.
Таймаут гудка:: Параметр определяет время, в течение которого канальное окончание ожидает начала набора номера вызываемого абонента. Если в течение заданного времени набор номера не начат, канальное окончание передает в канал TDM сигнал "Отбой" и переходит в состояние `Idle`. Допустимые значения - от 1000 мс до 100000 мс. Значение по умолчанию - 15000 мс.
Таймаут набора:: Параметр определяет максимальное время между двумя соседними цифрами номера, принимаемого из канала TDM в состоянии `NumRecv`. Если в течение заданного параметром времени после приема очередной цифры номера не принята следующая, канальное окончание считает прием номера завершенным, передает в сеть IP вызов принятого номера и переходит в состояние `Calling`. Допустимые значения - от 1000 мс до 100000 мс. Значение по умолчанию - 5000 мс.
== Состояния канального окончания ==
Далее описаны состояния, в которых может находиться канальное окончание SL, и их описание.
Idle:: Исходное состояние канального окончания. Канальное окончание свободно: способно принимать вызовы со стороны сети IP и ожидает занятие канала со стороны TDM.
Dialing:: Передается номер вызываемого абонента.
Dialed:: Номер вызываемого абонента передан. Ожидается ответ.
!NumRecv:: Принимается номер вызываемого абонента.
Calling:: Отправлен INVITE, ожидается ответ.
Connected:: Соединение установлено, идет разговор абонентов.
Blocked:: В канал TDM передается сигнал "Отбой". По окончании передачи сигнала канальное окончание перейдет в исходное состояние (`Idle`).
{{{#!plantuml
@startuml
title Упрощенная диаграмма состояний канального окончания SL
Idle: исходное состояние
Dialing: передается номер\nвызываемого абонента
Dialed: ожидание ответа
NumRecv: прием номера\nвызываемого абонента
Calling: отправлен INVITE,\nожидается ответ
Connected: соединение установлено,\nведется разговор
Blocked: передается "Отбой"
Idle --> Dialing: получено INVITE
Dialing --> Dialed: номер передан
Dialed --> Connected: получен "Ответ"
Idle --> NumRecv: получено "Занятие"
NumRecv --> Calling: прием номера\nзакончен
NumRecv --> Blocked: ошибка приема
Calling --> Connected: принято "200 OK"
Calling --> Blocked: принят ответ\n4xx/5xx/6xx
Blocked --> Idle: "Отбой" передан
Connected --> Idle: принят "Отбой"
Connected --> Blocked: получено BYE
Dialing --> Blocked: получено CANCEL
Dialed --> Blocked: получено CANCEL
@enduml
}}}
== См. также ==
[EndpointParameters сводная таблица параметров], [wiki:EndpointFXS окончание FXS], [wiki:EndpointFXO окончание FXO], [wiki:EndpointEM окончание EM], [wiki:EndpointАДАСЭ окончание АДАСЭ].