| 1 | [[PageOutline(2-5,Содержание:)]] |
| 2 | [[span(style=color: #FF0000, Внимание! Статья находится в стадии создания. Информация может быть неполной и/или неточной. )]] |
| 3 | |
| 4 | |
| 5 | = Канальное окончание 1ВСК индуктивный код (1IND) = |
| 6 | |
| 7 | Канальное окончание 1IND предназначено для подключения к АТС и/или абонентским концентраторам через соединительную линию, использующую сигнализацию по одному выделенному сигнальному каналу индуктивным кодом. Передача линейной сигнализации и номера вызываемого абонента производится по выделенному сигнальному каналу (СУВ A), передача номера вызывающего абонента выполняется частотным способом (безинтервальный пакет АОН). |
| 8 | |
| 9 | == Линейные сигналы канального окончания 1IND == |
| 10 | |
| 11 | || '''Сигнал''' || '''Параметры передачи''' || '''Параметры приема (детектирования)''' || |
| 12 | || Короткий сигнал (КС) || импульс длительностью 20 мс || импульс длительностью 10-35 мс || |
| 13 | || Длинный сигнал (ДС) || импульс длительностью 88 мс || импульс длительностью 65-115 мс || |
| 14 | || Набор номера || импульсы длительностью 48 мс || импульсы длительностью 35-65 мс || |
| 15 | || Межсерийный интервал набора || пауза 500 мс || пауза более 200 мс || |
| 16 | || Сигнал отбоя (ОС) || импульс длительностью 400 мс || импульс длительностью более 115 мс || |
| 17 | |
| 18 | == Описание работы канального окончания == |
| 19 | |
| 20 | === Вызов со стороны TDM === |
| 21 | |
| 22 | ==== Базовый сценарий вызова ==== |
| 23 | |
| 24 | При получении сигнала "Занятие" из соединительной линии канальное окончание 1IND переходит в состояние `NumRecv` и ожидает номер вызываемого абонента. Номер вызываемого абонента передается декадными сериями импульсов в сигнальном канале. Окончание набора номера определяется по таймауту, устанавливаемому конфигурационным параметром "Таймаут набора". Кроме этого, если конфигурационный параметр "Рег. выражение набора" не пуст, после приема каждой цифры номера выполняется проверка набранного номера на совпадение с регулярным выражением. При совпадении номера с регулярным выражением принимается решение об окончании набора номера. После окончания набора номера канальное окончание 1IND отправляет в сторону сети IP сообщение INVITE и переходит в состояние `Outgoing`. |
| 25 | |
| 26 | В состоянии `Outgoing` канальное окончание 1IND находится до ответа вызываемого абонента или отмены вызова (отклонения вызова вызываемой стороной или снятия вызова вызывающей стороной). При получении от вызываемой стороны ответа "180 Ringing" окончание 1IND передает в соединительную линию акустический сигнал "Контроль посылки вызова" (КПВ). |
| 27 | |
| 28 | При ответе вызываемого абонента канальное окончание 1IND подключает медиапоток к каналу TDM (если это не было сделано ранее), передает вызывающему абоненту сигнал "Ответ" и переходит в состояние `Connected`. |
| 29 | |
| 30 | {{{#!plantuml |
| 31 | @startuml |
| 32 | title Местный входящий вызов |
| 33 | skinparam ParticipantPadding 80 |
| 34 | skinparam sequenceMessageAlign center |
| 35 | |
| 36 | participant АТС |
| 37 | participant "Окончание 1IND" as 1IND |
| 38 | participant "Вызываемый абонент" as A |
| 39 | |
| 40 | АТС -> 1IND: Занятие (ДС) |
| 41 | АТС -> 1IND: набор номера |
| 42 | note over 1IND: прием номера завершен |
| 43 | 1IND --> A: INVITE |
| 44 | A --> 1IND: 100 Trying |
| 45 | A --> 1IND: 180 Ringing |
| 46 | note right: Вызываемый абонент слышит звонок |
| 47 | 1IND o-[#blue]> АТС: <font color=blue>КПВ |
| 48 | ... |
| 49 | note over A: абонент ответил на вызов |
| 50 | A --> 1IND: 200 OK |
| 51 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 52 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 53 | 1IND --> A: ACK |
| 54 | 1IND -> АТС: Ответ (ДС) |
| 55 | note over АТС, A: абоненты ведут разговор |
| 56 | |
| 57 | @enduml |
| 58 | }}} |
| 59 | |
| 60 | В случае междугородного вызова (входящее занятие коротким сигналом КС) сценарий установки соединения дополняется передачей в канал сигнала "Абонент свободен" при получении ответа "180 Ringing" со стороны IP: |
| 61 | |
| 62 | {{{#!plantuml |
| 63 | @startuml |
| 64 | title Междугородный входящий вызов |
| 65 | skinparam ParticipantPadding 80 |
| 66 | skinparam sequenceMessageAlign center |
| 67 | |
| 68 | participant АТС |
| 69 | participant "Окончание 1IND" as 1IND |
| 70 | participant "Вызываемый абонент" as A |
| 71 | |
| 72 | АТС -> 1IND: Занятие (КС) |
| 73 | АТС -> 1IND: набор номера |
| 74 | note over 1IND: прием номера завершен |
| 75 | 1IND --> A: INVITE |
| 76 | A --> 1IND: 100 Trying |
| 77 | A --> 1IND: 180 Ringing |
| 78 | note right: Вызываемый абонент слышит звонок |
| 79 | 1IND -> АТС: Абонент Б свободен (ДС) |
| 80 | 1IND o-[#blue]> АТС: <font color=blue>КПВ |
| 81 | ... |
| 82 | note over A: абонент ответил на вызов |
| 83 | A --> 1IND: 200 OK |
| 84 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 85 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 86 | 1IND --> A: ACK |
| 87 | 1IND -> АТС: Ответ (ДС) |
| 88 | note over АТС, A: абоненты ведут разговор |
| 89 | |
| 90 | @enduml |
| 91 | }}} |
| 92 | |
| 93 | При получении от вызываемой стороны медиапотока до ответа вызываемого абонента (ответ "183 Session Progress") медиапоток подключается к каналу TDM, и дальнейшая передача акустических сигналов вызывающему абоненту возлагается на оборудование вызываемого абонента. Пример сценария местного вызова с получением медиапотока до ответа вызываемого абонента: |
| 94 | |
| 95 | {{{#!plantuml |
| 96 | @startuml |
| 97 | title Местный входящий вызов (с early media) |
| 98 | skinparam ParticipantPadding 80 |
| 99 | skinparam sequenceMessageAlign center |
| 100 | |
| 101 | participant АТС |
| 102 | participant "Окончание 1IND" as 1IND |
| 103 | participant "Вызываемый абонент" as A |
| 104 | |
| 105 | АТС -> 1IND: Занятие (ДС) |
| 106 | АТС -> 1IND: набор номера |
| 107 | note over 1IND: прием номера завершен |
| 108 | 1IND --> A: INVITE |
| 109 | A --> 1IND: 100 Trying |
| 110 | A --> 1IND: 183 Session Progress |
| 111 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 112 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 113 | A o-[#gray]> АТС: <font color=gray>//КПВ// |
| 114 | ... |
| 115 | note over A: абонент ответил на вызов |
| 116 | A --> 1IND: 200 OK |
| 117 | 1IND --> A: ACK |
| 118 | 1IND -> АТС: Ответ (ДС) |
| 119 | note over АТС, A: абоненты ведут разговор |
| 120 | |
| 121 | @enduml |
| 122 | }}} |
| 123 | |
| 124 | ==== Определение номера вызывающего абонента ==== |
| 125 | |
| 126 | Если конфигурационный параметр "Макс. число запросов АОН" не равен нулю, описанный выше процесс входящего вызова дополняется функцией определения номера вызывающего абонента. Определение номера состоит в посылке запроса и получении ответа. Запрос АОН выполняется передачей в канал TDM линейного сигнала "Ответ" (ДС) с одновременной передачей тонального сигнала 500 Гц. В течение 500 мс канальное окончание ожидает получения безинтервального пакета АОН, содержащего категорию и 7 цифр номера вызывающего абонента. Если безинтервальный пакет принят и успешно декодирован, канальное окончание переходит к передаче вызова в направление сети IP. Если пакет АОН не принят или не может быть декодирован, в зависимости от значений конфигурационного параметра "Макс. число запросов АОН" процесс запроса и приема ответа может быть повторен заданное число раз. |
| 127 | |
| 128 | {{{#!plantuml |
| 129 | @startuml |
| 130 | title Местный входящий вызов с запросом номера вызывающего абонента |
| 131 | skinparam ParticipantPadding 80 |
| 132 | skinparam sequenceMessageAlign center |
| 133 | |
| 134 | participant АТС |
| 135 | participant "Окончание 1IND" as 1IND |
| 136 | participant "Вызываемый абонент" as A |
| 137 | |
| 138 | АТС -> 1IND: Занятие (ДС) |
| 139 | АТС -> 1IND: набор номера |
| 140 | note over 1IND: прием номера завершен |
| 141 | 1IND -> АТС: "Ответ" (ДС) |
| 142 | 1IND o-[#blue]> АТС: <font color=blue>Запрос АОН (500 Гц) |
| 143 | АТС -[#blue]> 1IND: <font color=blue>безинтервальный пакет АОН |
| 144 | note over 1IND: Ошибка декодирования посылки АОН\nПовтор запроса... |
| 145 | 1IND -> АТС: "Ответ" (ДС) |
| 146 | 1IND o-[#blue]> АТС: <font color=blue>Запрос АОН (500 Гц) |
| 147 | АТС -[#blue]> 1IND: <font color=blue>безинтервальный пакет АОН |
| 148 | note over 1IND: ответ принят успешно, выполняется вызов... |
| 149 | 1IND --> A: INVITE |
| 150 | A --> 1IND: 100 Trying |
| 151 | A --> 1IND: 180 Ringing |
| 152 | note right: Вызываемый абонент слышит звонок |
| 153 | 1IND o-[#blue]> АТС: <font color=blue>КПВ |
| 154 | ... |
| 155 | note over A: абонент ответил на вызов |
| 156 | A --> 1IND: 200 OK |
| 157 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 158 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 159 | 1IND --> A: ACK |
| 160 | 1IND -> АТС: Ответ (ДС) |
| 161 | note over АТС, A: абоненты ведут разговор |
| 162 | |
| 163 | @enduml |
| 164 | }}} |
| 165 | |
| 166 | В случае успешного определения категории и номера вызывающего абонента в поле `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`. |
| 167 | |
| 168 | === Вызов со стороны IP === |
| 169 | |
| 170 | При получении вызова со стороны сети IP канальное окончание 1IND |
| 171 | |
| 172 | === Отбой === |
| 173 | |
| 174 | == Параметры конфигурации канального окончания == |
| 175 | |
| 176 | == Состояния канального окончания == |
| 177 | |
| 178 | Далее описаны состояния, в которых может находиться канальное окончание 1IND, и их описание. |
| 179 | |
| 180 | Idle:: Исходное состояние канального окончания. Канальное окончание свободно: способно принимать вызовы со стороны сети IP и ожидает сигнал "Занятие" со стороны канала TDM. |
| 181 | |
| 182 | Seizure:: Выполняется исходящее занятие соединительной линии. |
| 183 | |
| 184 | Dialing:: |
| 185 | |
| 186 | Dialed:: |
| 187 | |
| 188 | Blocked:: передается линейный сигнал "Отбой" (ОС). |
| 189 | |
| 190 | !NumRecv:: |
| 191 | |
| 192 | Outgoing:: |
| 193 | |
| 194 | Answered:: |
| 195 | |
| 196 | Connected:: |
| 197 | |
| 198 | !DiscWait:: |
| 199 | |
| 200 | AONrequest:: передается запрос АОН (линейный сигнал "Ответ" + тональный сигнал 500 Гц). |
| 201 | |
| 202 | AONrequested:: прием кодограммы АОН |
| 203 | |
| 204 | RBlocked:: блокировка удаленной стороной |
| 205 | |
| 206 | {{{#!plantuml |
| 207 | @startuml |
| 208 | title Упрощенная диаграмма состояний канального окончания 1IND |
| 209 | Idle: исходное состояние |
| 210 | Seizure: исходящее занятие |
| 211 | Dialing: |
| 212 | Blocked: передается "Отбой" |
| 213 | NumRecv: прием номера\nвызываемого абонента |
| 214 | Outgoing: отправлен INVITE,\nожидается ответ |
| 215 | Answered: |
| 216 | Connected: соединение установлено,\nведется разговор |
| 217 | DiscWait: ожидается отбой от\nудаленной стороны |
| 218 | AONrequest: запрос АОН,\nожидание ответа |
| 219 | AONrequested: прием кодограммы АОН |
| 220 | RBlocked: блокировка уда-\nленной стороной |
| 221 | |
| 222 | Idle --> NumRecv: принято "Занятие"\n(ДС или КС) |
| 223 | NumRecv --> AONrequest: набор номера\nзакончен |
| 224 | AONrequest --> AONrequested: 500 мс |
| 225 | AONrequested --> Outgoing: прием успешен или\nисчерпано число попыток |
| 226 | AONrequested --> AONrequest: ошибка |
| 227 | NumRecv --> Idle: принят "Отбой" |
| 228 | Outgoing --> Connected: получено "200 OK" |
| 229 | Outgoing --> Blocked: принят "Отбой" |
| 230 | Connected --> Blocked: получен BYE |
| 231 | Connected --> Blocked: получен "Отбой" |
| 232 | Blocked --> Idle: 400 мс |
| 233 | |
| 234 | @enduml |
| 235 | }}} |
| 236 | |