| 44 | |
| 45 | === Входящий вызов === |
| 46 | |
| 47 | Входящий (со стороны канала TDM) вызов начинается с приема из канала линейного сигнала "Занятие". В ответ на получении сигнала "Занятие" канальное окончание R2 передает в канал линейный сигнал "Подтверждение занятия", переходит в состояние `NumRecv` и ожидает номер вызываемого абонента. |
| 48 | |
| 49 | Если конфигурационный параметр "Не запрашивать ANI" не отмечен, после получения первой цифры номера вызывающей стороне передается запрос категории и номера вызывающего абонента (A-5), после приема которых продолжается прием номера вызываемого абонента. Если чекбокс "Не запрашивать ANI" отмечен, ANI канальным окончанием R2 не запрашивается, принимается только номер вызываемого абонента. |
| 50 | |
| 51 | При получении каждой цифры номера вызываемого абонента производится проверка принятого номера на совпадение с регулярным выражением, установленным конфигурационным параметром "Рег. выражение набора", а также на достижение максимальной длины номера, установленной конфигурационным параметром "Макс. длина номера". Если обнаружено совпадение номера с регулярным выражением или достижение максимальной длины номера, канальное окончание R2 передает сигнал "!AddressCompleted" (A-3) и переходит в состояние `AddrCplt` и ожидает сигнал группы II (категория вызова). То же самое происходит в случае таймаута ожидания очередной цифры номера. После получении сигнала группы II канальное окончание R2 формирует и передает сообщение INVITE в сеть IP и переходит в состояние `Outgoing`. |
| 52 | |
| 53 | При получении от вызываемого абонента ответа "180 Ringign" или "183 Session Progress" канальное окончание R2 передает в канал сигнал "Subscriber line free, charge" (B-6). При получении "180 Ringing" и отсутствии медиапотока канальное окончание R2 формирует и передает в канал акустический сигнал "Контроль посылки вызова" (КПВ). |
| 54 | |
| 55 | При получении от вызываемого абонента ответа "200 OK" канальное окончание R2 передает линейный сигнал "Ответ" и переходит в состояние `Connected`. |
| 56 | |
| 57 | Пример приема входящего вызова номера 567 от абонента 234 категории 1: |
| 58 | |
| 59 | {{{#!plantuml |
| 60 | @startuml |
| 61 | skinparam ParticipantPadding 80 |
| 62 | skinparam sequenceMessageAlign center |
| 63 | |
| 64 | participant АТС |
| 65 | participant "Окончание R2" as R2 |
| 66 | participant "Вызываемый абонент" as A |
| 67 | |
| 68 | АТС <-[#red]> R2: <font color=red>исходное состояние (10) |
| 69 | ... |
| 70 | АТС -[#red]> R2: <font color=red>Занятие (00) |
| 71 | R2 -[#red]> АТС: <font color=red>Подтверждение занятия (11) |
| 72 | АТС -> R2: "5" (I-5) |
| 73 | R2 -> АТС: "Передать категорию/ANI" (A-5) |
| 74 | АТС -> R2: "1" (I-1) |
| 75 | R2 -> АТС: "Передать категорию/ANI" (A-5) |
| 76 | АТС -> R2: "2" (I-2) |
| 77 | R2 -> АТС: "Передать категорию/ANI" (A-5) |
| 78 | АТС -> R2: "3" (I-3) |
| 79 | R2 -> АТС: "Передать категорию/ANI" (A-5) |
| 80 | АТС -> R2: "4" (I-4) |
| 81 | R2 -> АТС: "Передать категорию/ANI" (A-5) |
| 82 | АТС -> R2: "Номер завершен" (I-15) |
| 83 | R2 -> АТС: "Следующая цифра" (A-1) |
| 84 | АТС -> R2: "6" (I-6) |
| 85 | R2 -> АТС: "Следующая цифра" (A-1) |
| 86 | АТС -> R2: "7" (I-7) |
| 87 | R2 -> АТС: "Address Completed,\nswitch to group B" (A-3) |
| 88 | АТС -> R2: "Категория 1:\nSubscriber without priority" (II-1) |
| 89 | R2 --> A: INVITE sip:567@domain\nFrom: <sip:234@domain;cpc=1> |
| 90 | A --> R2: 100 Trying |
| 91 | A --> R2: 180 Ringing |
| 92 | note right: Вызываемый абонент слышит звонок |
| 93 | R2 -> АТС: "Абонент свободен" (B-6) |
| 94 | R2 o-[#blue]> АТС: <font color=blue>КПВ |
| 95 | ... |
| 96 | note over A: абонент ответил на вызов |
| 97 | A --> R2: 200 OK |
| 98 | R2 --> A: ACK |
| 99 | A <-[#blue]-> R2: <font color=blue>//медиапоток// |
| 100 | R2 -[#red]> АТС: <font color=red>Ответ (01) |
| 101 | АТС <-[#blue]> R2: <font color=blue>//разговорное состояние// |
| 102 | note over АТС, A: абоненты ведут разговор |
| 103 | |
| 104 | @enduml |
| 105 | }}} |
| 106 | |