| 1 | [[PageOutline(2-5,Содержание:)]] |
| 2 | [[span(style=color: #FF0000, Статья находится в стадии создания! Представленная информация может быть неполной и/или неточной.)]] |
| 3 | |
| 4 | = Канальное окончание SL (2100 Гц / 2600 Гц / 600+750 Гц) = |
| 5 | |
| 6 | Канальное окончание SL предназначено для работы с системами сигнализации тональными частотами, передаваемыми в речевом канале без использования выделенных сигнальных каналов, используемыми в ведомственных телефонных сетях. |
| 7 | |
| 8 | == Описание работы канального окончания == |
| 9 | |
| 10 | Канальное окончание SL реализует три варианта сигнализации, различающиеся используемыми частотами и временными параметрами: |
| 11 | |
| 12 | "2100 Гц":: для сигнализации используется частота 2100 Гц; |
| 13 | |
| 14 | "2600 Гц":: для сигнализации используется частота 2600 Гц; |
| 15 | |
| 16 | "600+750 Гц":: для сигнализации используется комбинация частот 600 Гц и 75- Гц. |
| 17 | |
| 18 | Выбор используемого варианта сигнализации осуществляется конфигурационным параметром "Вариант сигнализации". |
| 19 | |
| 20 | === Прием вызова со стороны сети IP === |
| 21 | |
| 22 | При получении сообщения INVITE со стороны сети IP канальное окончание SL передает в канал TDM сигнал "занятие" длительностью 100 мс (для вариантов "2100 Гц" и "2600 Гц") или 50 мс (для варианта "600+750 Гц") и переходит в состояние `Dialing`. |
| 23 | |
| 24 | После окончания передачи сигнала "Занятие" канальное окончание передает в канал TDM номер вызываемого абонента декадными сериями испульсов. Длительность каждого импульса составляет 50 мс, длительность паузы - 50 мс. Передача каждой серии импульсов начинается с межсерийного интервала, составляющего 800 мс для вариантов "2100 Гц" и "2600 Гц" и 600 мс для варианта "600+750 Гц". |
| 25 | |
| 26 | Номер вызываемого абонента формируется из имени пользователя (username) вызываемого SIP URI. Номер передается посимвольно слева направо, при этом все нецифровые символы игнорируются. |
| 27 | |
| 28 | После передачи всех цифр номера канальное окончание SL передает вызывающему абоненту ответ "183 Session progress", активирует медиапоток, переходит в состояние `Dialed` и ожидает ответ вызываемого абонента. |
| 29 | |
| 30 | При получении из канала TDM сигнала "Ответ", представляющего собой кроткий импульс (от 50 до 250 мс для вариантов "2100 Гц" и "2600 Гц" и от 20 до 160 мс для варианта "600+750 Гц") канальное окончание SL передает вызывающему абоненту ответ "200 OK" и переходит в состояние `Connected`. |
| 31 | |
| 32 | Пример сценария вызова со стороны сети IP: |
| 33 | |
| 34 | {{{#!PlantUml |
| 35 | @startuml |
| 36 | title Cценарий вызова со стороны сети IP |
| 37 | skinparam ParticipantPadding 80 |
| 38 | skinparam sequenceMessageAlign center |
| 39 | participant "Абонент А (IP)" as A |
| 40 | participant "окончание SL" as B |
| 41 | participant "Абонент Б (TDM)" as C |
| 42 | |
| 43 | A --> B: INVITE |
| 44 | B --> A: 100 Trying |
| 45 | B -> C: "Занятие" |
| 46 | B -> C: набор номера |
| 47 | |
| 48 | B --> A: 183 Session Progress |
| 49 | A <-[#0000ff]-> B: <font color=blue>медиапоток</font> |
| 50 | note right of C: вызываемый абонент слышит звонок |
| 51 | C o-[#gray]> A: <font color=gray>// КПВ// |
| 52 | ... |
| 53 | note over C: абонент ответил на вызов |
| 54 | C -> B: "Ответ" |
| 55 | B --> A: 200 OK |
| 56 | A --> B: ACK |
| 57 | note over A, C: абоненты А и Б ведут разговор |
| 58 | @enduml |
| 59 | }}} |
| 60 | |
| 61 | === Прием вызова со стороны сети TDM === |
| 62 | |
| 63 | При получении из канала TDM сигнала "Занятие", представляющего собой кроткий импульс (от 50 до 250 мс для вариантов "2100 Гц" и "2600 Гц" и от 20 до 160 мс для варианта "600+750 Гц") канальное окончание SL переходит в состояние `NumRecv` и ожидает от удаленной стороны номер вызываемого абонента. |
| 64 | |
| 65 | Окончание набора номера определяется по таймауту, устанавливаемому конфигурационным параметром "Таймаут набора". Кроме этого, если конфигурационный параметр "Рег. выражение набора" не пуст, после приема каждой цифры номера выполняется проверка набранного номера на совпадение с регулярным выражением. При совпадении номера с регулярным выражением принимается решение об окончании набора номера. После окончания набора номера канальное окончание SL отправляет в сторону сети IP сообщение INVITE и переходит в состояние `Calling`. |
| 66 | |
| 67 | В состоянии `Calling` канальное окончание SL находится до ответа вызываемого абонента или отмены вызова (отклонения вызова вызываемой стороной или снятия вызова вызывающей стороной). При получении от вызываемой стороны ответа "180 Ringing" окончание SL передает в канал TDM акустический сигнал "Контроль посылки вызова" (КПВ). |
| 68 | |
| 69 | При ответе вызываемого абонента канальное окончание SL передает в канал TDM сигнал "Ответ" длительностью 100 мс (для вариантов "2100 Гц" и "2600 Гц") или 50 мс (для варианта "600+750 Гц"), подключает медиапоток к каналу TDM (если это не было сделано ранее) и переходит в состояние `Connected`. |
| 70 | |
| 71 | {{{#!PlantUml |
| 72 | @startuml |
| 73 | title Cценарий вызова со стороны сети TDM |
| 74 | skinparam ParticipantPadding 80 |
| 75 | skinparam sequenceMessageAlign center |
| 76 | participant "Абонент А (TDM)" as A |
| 77 | participant "окончание SL" as B |
| 78 | participant "Абонент Б (IP)" as C |
| 79 | |
| 80 | A -> B: "Занятие" |
| 81 | A -> B: набор номера |
| 82 | B --> C: INVITE |
| 83 | C --> B: 100 Trying |
| 84 | C --> B: 180 Ringing |
| 85 | B o-[#blue]> A: <font color=blue>КПВ |
| 86 | note right of C: вызываемый абонент слышит звонок |
| 87 | ... |
| 88 | note right of C: вызываемый абонент ответил на вызов |
| 89 | C --> B: 200 OK |
| 90 | B --> C: ACK |
| 91 | B -> A: "Ответ" |
| 92 | B <-[#0000ff]-> C: <font color=blue>медиапоток</font> |
| 93 | note over A, C: абоненты А и Б ведут разговор |
| 94 | @enduml |
| 95 | }}} |
| 96 | |
| 97 | При получении от вызываемой стороны медиапотока до ответа вызываемого абонента (например ответ "183 Session Progress") медиапоток подключается к каналу TDM, и дальнейшая передача акустических сигналов вызывающему абоненту возлагается на оборудование вызываемого абонента. Пример сценария местного вызова с получением медиапотока до ответа вызываемого абонента: |
| 98 | |
| 99 | {{{#!PlantUml |
| 100 | @startuml |
| 101 | title Cценарий вызова со стороны сети TDM с early media |
| 102 | skinparam ParticipantPadding 80 |
| 103 | skinparam sequenceMessageAlign center |
| 104 | participant "Абонент А (TDM)" as A |
| 105 | participant "окончание SL" as B |
| 106 | participant "Абонент Б (IP)" as C |
| 107 | |
| 108 | A -> B: "Занятие" |
| 109 | A -> B: набор номера |
| 110 | B --> C: INVITE |
| 111 | C --> B: 100 Trying |
| 112 | C --> B: 183 Session Progress |
| 113 | B <-[#0000ff]-> C: <font color=blue>медиапоток</font> |
| 114 | C o-[#gray]> A: <font color=gray> КПВ |
| 115 | note right of C: вызываемый абонент слышит звонок |
| 116 | ... |
| 117 | note right of C: вызываемый абонент ответил на вызов |
| 118 | C --> B: 200 OK |
| 119 | B --> C: ACK |
| 120 | B -> A: "Ответ" |
| 121 | note over A, C: абоненты А и Б ведут разговор |
| 122 | @enduml |
| 123 | }}} |
| 124 | |
| 125 | === Отбой === |
| 126 | |
| 127 | Отбой соединения возможен на любом этапе любой стороной и осуществляется передачей длинного (более 250 мс для вариантов "2100 Гц" и "2600 Гц" и более 350 мс для варианта "600+750 Гц") сигнала. |
| 128 | |
| 129 | При получении из канала TDM сигнала "Отбой" канальное окончание SL транслирует отбой в сторону сети IP, передавая BYE, CANCEL или "486 Busy Here" в зависимости от текущего состояния и направления соединения, и переходит в исходное состояние (`Idle`). |
| 130 | |
| 131 | При получении со стороны сети IP неуспешного ответа на отправленный INVITE или запросов BYE/CANCEL канальное окончание SL переходит в состояние `Blocked`, передает в канал TDM сигнал "Отбой" длительностью 800 мс (для вариантов "2100 Гц" и "2600 Гц") или 600 мс (для варианта "600+750 Гц") и переходит в исходное состояние (`Idle`). |
| 132 | |