| 173 | Если чекбокс `Использовать сигнал "Снятие ответа"` отмечен, сценарий дополняется передачей линейного сигнала "Снятие ответа" (ДС) от канального окончания 1IND после приема безинтервального пакета АОН: |
| 174 | |
| 175 | {{{#!plantuml |
| 176 | @startuml |
| 177 | title Запрос номера вызывающего абонента со снятием ответа |
| 178 | skinparam ParticipantPadding 80 |
| 179 | skinparam sequenceMessageAlign center |
| 180 | |
| 181 | participant АТС |
| 182 | participant "Окончание 1IND" as 1IND |
| 183 | participant "Вызываемый абонент" as A |
| 184 | |
| 185 | АТС -> 1IND: Занятие (ДС) |
| 186 | АТС -> 1IND: набор номера |
| 187 | note over 1IND: прием номера завершен |
| 188 | 1IND -> АТС: "Ответ" (ДС) |
| 189 | 1IND o-[#blue]> АТС: <font color=blue>Запрос АОН (500 Гц) |
| 190 | АТС -[#blue]> 1IND: <font color=blue>безинтервальный пакет АОН |
| 191 | 1IND -> АТС: "Снятие ответа" (ДС) |
| 192 | note over 1IND: ответ принят успешно,\nномер 1234567 кат. 1\nвыполняется вызов... |
| 193 | 1IND --> A: INVITE <font color=#ff3030>From: <sip:1234567@domain.org;cpc=1> |
| 194 | A --> 1IND: 100 Trying |
| 195 | A --> 1IND: 180 Ringing |
| 196 | note right: Вызываемый абонент слышит звонок |
| 197 | 1IND o-[#blue]> АТС: <font color=blue>КПВ |
| 198 | ... |
| 199 | note over A: абонент ответил на вызов |
| 200 | A --> 1IND: 200 OK |
| 201 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 202 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 203 | 1IND --> A: ACK |
| 204 | 1IND -> АТС: Ответ (ДС) |
| 205 | note over АТС, A: абоненты ведут разговор |
| 206 | |
| 207 | @enduml |
| 208 | }}} |
| 209 | |
208 | | При получении линейного сигнала "Ответ" канальное окончание 1IND переходит в состояние `Answered` и в течение 600 мс ожидает тональный сигнал запроса АОН 500 Гц. Если в течение этих 600 мс тональный сигнал 500 Гц не был детектирован, канальное окончание 1IND считает, что имел место ответ вызываемого абонента - вызывающему абоненту передается ответ "200 OK", и канальное окончание переходит в состояние `Connected`. Если в течение 600 мс тональный сигнал 500 Гц детектирован, канальное окончание 1IND передает в канал безинтервальный пакет АОН, при этом передаваемый номер формируется по следующему алгоритму: |
| 247 | ==== Определение номера вызывающего абонента ==== |
| 248 | |
| 249 | Определение номера вызывающего абонента при исходящем вызове зависит от конфигурационных параметров `Использовать сигнал "Снятие ответа"` и `Воспринимать первый "Ответ" как запрос АОН`. Их возможные комбинации приведены в следующей таблице: |
| 250 | |
| 251 | || № || '''Использовать сигнал "Снятие ответа"''' || '''Воспринимать первый "Ответ" как запрос АОН''' || '''Краткое описание''' || |
| 252 | || 1 || не отмечен || не отмечен || Тональный сигнал 500 Гц канальным окончанием 1IND не детектируется, безинтервальный пакет АОН не передается, любой линейный сигнал "Ответ" воспринимается как ответ вызываемого абонента. || |
| 253 | || 2 || не отмечен || отмечен || Тональный сигнал 500 Гц канальным окончанием 1IND не детектируется. Предполагается, что первый линейный сигнал "Ответ" является запросом АОН. После передачи безинтервального пакет АОН канальное окончание 1IND возвращается в предответное состояние. || |
| 254 | || 3 || отмечен || не отмечен || Тональный сигнал 500 Гц канальным окончанием 1IND детектируется. После передачи безинтервального пакет АОН канальное окончание 1IND ожидает сигнал "Снятие ответа". || |
| 255 | || 4 || отмечен || отмечен || Тональный сигнал 500 Гц канальным окончанием 1IND детектируется, но первый линейный сигнал "Ответ" воспринимается как запрос АОН независимо от наличия или отсутствия сигнала 500 Гц. После передачи безинтервального пакет АОН канальное окончание 1IND ожидает сигнал "Снятие ответа". || |
| 256 | |
| 257 | Если чекбокс `Использовать сигнал "Снятие ответа"` не отмечен, а чекбокс `Воспринимать первый "Ответ" как запрос АОН` отмечен (комбинация №2), предполагается, что вышестоящая АТС всегда передает запрос АОН. В таком режиме первый линейный сигнал "Ответ" трактуется как запрос АОН (независимо от наличия тонального сигнала 500 Гц). Получив первый сигнал "Ответ" канальное окончание 1IND переходит в состояние `Answered` и передает безинтервальный пакет АОН. |
| 258 | |
| 259 | Передаваемый в безинтервальном пакете АОН номер формируется по следующему алгоритму: |
214 | | После передачи кодограммы АОН поведение канального окончания 1IND зависит от конфигурационного параметра «Разрешить использование сигнала "Снятие ответа"». Если параметр не отмечен, канальное окончание возвращается в предответное состояние (`Dialed`) и ожидает ответ абонента: |
215 | | |
216 | | {{{#!plantuml |
217 | | @startuml |
218 | | title Местный исходящий вызов с запросом номера вызывающего абонента\n(без использование сигнала "Снятие ответа") |
| 265 | Категория вызывающего абонента, передаваемая в безинтервальном пакете АОН, формируется следующим образом: |
| 266 | |
| 267 | 1. Если в URI вызывающего абонента присутствует параметр `cpc`, и значением параметра является десятичная цифра (0-9), эта цифра передается в качестве категории вызывающего абонента. |
| 268 | 1. Если параметр `cpc` в URI вызывающего абонента отсутствует, или его значение не является десятичной цифрой, в качестве категории вызывающего абонента используется значение конфигурационного параметра `Категория по умолчанию`. |
| 269 | |
| 270 | После окончания передачи безинтервального пакета канальное окончание 1IND автоматически возвращается в состояние `Dialing` и продолжает набор номера (если передача номера не была закончена), или в состояние `Dialed` (если набор номера был закончен) и ожидает ответ вызываемого абонента. При получении следующего сигнала "Ответ" канальное окончание 1IND передает вызывающему абоненту ответ "200 OK" и переходит в состояние `Connected`. Последующие сигналы "Ответ" (ДС) канальным окончанием 1IND игнорируются. Сценарий такого вызова приведен ниже: |
| 271 | |
| 272 | {{{#!plantuml |
| 273 | @startuml |
| 274 | title Местный исходящий вызов с запросом номера вызывающего абонента\n(без использования сигнала "Снятие ответа") |
249 | | Если конфигурационный параметр «Разрешить использование сигнала "Снятие ответа"» отмечен, после завершения передачи кодограммы АОН канальное окончание 1IND в течение 500 мс ожидает линейного сигнала "Снятие ответа". Если в течение 500 мс сигнал "Снятие ответа" получен, канальное окончание возвращается в состояние `Dialed` и ожидает ответа вызываемого абонента. Если линейный сигнал "Снятие ответа" не получен, канальное окончание 1IND дает вызывающему абоненту ответ "200 OK" и переходит в состояние `Connected`. |
250 | | |
251 | | {{{#!plantuml |
252 | | @startuml |
253 | | title Местный исходящий вызов с запросом номера вызывающего абонента\n(с использованием сигнала "Снятие ответа") |
254 | | skinparam ParticipantPadding 80 |
255 | | skinparam sequenceMessageAlign center |
256 | | |
257 | | participant "Вызывающий абонент" as A |
258 | | participant "Окончание 1IND" as 1IND |
259 | | participant АТС |
260 | | |
261 | | A --> 1IND: INVITE |
262 | | 1IND --> A: 100 Trying |
263 | | 1IND -> АТС: Занятие (ДС) |
264 | | 1IND -> АТС: набор номера |
265 | | 1IND --> A: 183 Session progress |
266 | | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
267 | | АТС -> 1IND: "Ответ" (ДС) |
268 | | АТС o-[#blue]> 1IND: <font color=blue>Запрос АОН (500 Гц) |
269 | | 1IND -[#blue]> АТС: <font color=blue>безинтервальный пакет АОН |
270 | | АТС -> 1IND: "Снятие ответа" (ДС) |
271 | | note over АТС: Вызываемый абонент слышит звонок |
272 | | АТС o-[#blue]> A: <font color=blue>КПВ |
273 | | ... |
274 | | note over АТС: абонент ответил на вызов |
275 | | АТС -> 1IND: Ответ (ДС) |
276 | | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
277 | | 1IND --> A: 200 OK |
278 | | A --> 1IND: ACK |
279 | | note over АТС, A: абоненты ведут разговор |
280 | | |
281 | | @enduml |
282 | | }}} |
283 | | |
284 | | Запрос АОН может поступить в процессе набора номера, например при междугородном исходящем вызове АМТС, как правило, запрашивает номер вызывающего после набора префикса межгорода (например "8"). В этом случае после передачи безинтервального пакета АОН канальное окончание 1IND возвращается в состояние `Dialing` и продолжает передачу оставшихся цифр номера вызываемого абонента. |
| 306 | Как уже было упомянуто выше, запрос АОН может поступить в процессе набора номера, например при междугородном исходящем вызове АМТС, как правило, запрашивает номер вызывающего после набора префикса межгорода (например "8"). В этом случае после передачи безинтервального пакета АОН канальное окончание 1IND возвращается в состояние `Dialing` и продолжает передачу оставшихся цифр номера вызываемого абонента. |
320 | | Канальное окончание 1IND предполагает, что со стороны вызываемого абонента поступит, как минимум, один запрос АОН. Поэтому первый линейный сигнал "Ответ" (ДС), полученный в процессе исходящего вызова, тректуется как запрос АОН даже если он не сопровождался тональным сигналом 500 Гц. Это позволяет передать номер вызывающего абонента даже станциям, имеющим "плохой" тональный сигнал запроса АОН (например искаженный, имеющий слишком высокий или слишком низкий уровень, или имеющий слишком большое отклонение частоты от номинального значения 500 ГЦ, и не может быть обнаружен детектором платы VE-01). Последующие запросы АОН (кроме первого) требуют наличия тонального сигнала 500 Гц. Если в течение 600 мс с момента приема линейного сигнала "Ответ" канальное окончание 1IND не детектирует тональный сигнал 500 Гц, полученный линейный сигнал трактуется как реальный ответ вызываемого абонента: вызывающему абоненту передается ответ "200 OK", и канальное окончание переходит в состояние `Connected`. |
| 342 | Если чекбокс `Использовать сигнал "Снятие ответа"` отмечен, а чекбокс `Воспринимать первый "Ответ" как запрос АОН` не отмечен (комбинация №3), при получении линейного сигнала "Ответ" канальное окончание 1IND переходит в состояние `Answered` и в течение 600 мс ожидает тональный сигнал 500 Гц. Если в течение этих 600 мс тональный сигнал 500 Гц не был детектирован, канальное окончание 1IND считает, что имел место ответ вызываемого абонента - вызывающему абоненту передается ответ "200 OK", и канальное окончание переходит в состояние `Connected`. Если в течение 600 мс тональный сигнал 500 Гц детектирован, канальное окончание 1IND передает в канал безинтервальный пакет АОН, сформированный по описанному выше алгоритму. После завершения передачи кодограммы АОН канальное окончание 1IND в течение 500 мс ожидает линейного сигнала "Снятие ответа". Если в течение 500 мс сигнал "Снятие ответа" получен, канальное окончание возвращается в состояние `Dialing` и продолжает набор номера (если передача номера не была завершена) или в состояние `Dialed` (если передача номера была завершена) и ожидает ответа вызываемого абонента. Если в течение 500 мс после окончания передачи безинтервального пакета АОН линейный сигнал "Снятие ответа" не получен, канальное окончание 1IND дает вызывающему абоненту ответ "200 OK" и переходит в состояние `Connected`. Соответствующий сценарий вызова приведен ниже: |
| 343 | |
| 344 | {{{#!plantuml |
| 345 | @startuml |
| 346 | title Местный исходящий вызов с запросом номера вызывающего абонента\n(с использованием сигнала "Снятие ответа") |
| 347 | skinparam ParticipantPadding 80 |
| 348 | skinparam sequenceMessageAlign center |
| 349 | |
| 350 | participant "Вызывающий абонент" as A |
| 351 | participant "Окончание 1IND" as 1IND |
| 352 | participant АТС |
| 353 | |
| 354 | A --> 1IND: INVITE |
| 355 | 1IND --> A: 100 Trying |
| 356 | 1IND -> АТС: Занятие (ДС) |
| 357 | 1IND -> АТС: набор номера |
| 358 | note over 1IND: набор номера закончен |
| 359 | 1IND --> A: 183 Session progress |
| 360 | A <-[#blue]-> 1IND: <font color=blue>//медиапоток// |
| 361 | АТС -> 1IND: "Ответ" (ДС) |
| 362 | АТС o-[#blue]> 1IND: <font color=blue>Запрос АОН (500 Гц) |
| 363 | 1IND -[#blue]> АТС: <font color=blue>безинтервальный пакет АОН |
| 364 | АТС -> 1IND: "Снятие ответа" (ДС) |
| 365 | note over АТС: Вызываемый абонент слышит звонок |
| 366 | АТС o-[#blue]> A: <font color=blue>КПВ |
| 367 | ... |
| 368 | note over АТС: абонент ответил на вызов |
| 369 | АТС -> 1IND: Ответ (ДС) |
| 370 | АТС <-[#blue]> 1IND: <font color=blue>//разговорное состояние// |
| 371 | 1IND --> A: 200 OK |
| 372 | A --> 1IND: ACK |
| 373 | note over АТС, A: абоненты ведут разговор |
| 374 | |
| 375 | @enduml |
| 376 | }}} |
| 377 | |
| 378 | Если чекбоксы `Использовать сигнал "Снятие ответа"` и `Воспринимать первый "Ответ" как запрос АОН` отмечены (комбинация №4), канальное окончание 1IND предполагает, что со стороны вызываемого абонента поступит, как минимум, один запрос АОН. В этом случае первый линейный сигнал "Ответ" (ДС), полученный в процессе исходящего вызова, трактуется как запрос АОН даже если он не сопровождался тональным сигналом 500 Гц. Это позволяет передать номер вызывающего абонента даже станциям, имеющим "плохой" тональный сигнал запроса АОН (например искаженный, имеющий слишком высокий или слишком низкий уровень, или имеющий слишком большое отклонение частоты от номинального значения 500 ГЦ), который поэтому не может быть обнаружен детектором платы VE-01. Последующие запросы АОН (кроме первого) требуют наличия тонального сигнала 500 Гц. |