| 117 | Прием телефонных вызовов со стороны сети IP выполняют канальные окончания SS7. Прием вызовов выполняется только на втором проходе поиска. Если канальное окончание SS7 свободно (то есть находится в состоянии `Idle`), и SSP, к которому привязано канальное окончание, успешно подключился к сигнальной сети (находится в состоянии Up), канальное окончание SS7 выполняет проверку на совпадение вызванного номера (имени пользователя) с регулярным выражением, установленным конфигурационным параметром "Рег. выражение вызова". Если обнаружено совпадение, проверяется наличие общего поддерживаемого аудиокодека для медиапотока RTP. Если общий поддерживаемый аудиокодек найден, канальное окончание SS7 обслуживает данный вызов (формирует и отправляет в сеть TDM сообщение IAM). |
| 118 | |
| 119 | ==== Базовый сценарий вызова ==== |
| 120 | |
| 121 | Базовый сценарий вызова со стороны IP приведен на следующий диаграмме: |
| 122 | |
| 123 | {{{#!PlantUml |
| 124 | @startuml |
| 125 | title Базовый сценарий вызова со стороны сети IP |
| 126 | skinparam ParticipantPadding 80 |
| 127 | skinparam sequenceMessageAlign center |
| 128 | participant "Абонент А (IP)" as A |
| 129 | participant "окончание SS7" as B |
| 130 | participant "Абонент Б (TDM)" as C |
| 131 | |
| 132 | A -> B: INVITE |
| 133 | B -> A: 100 Trying |
| 134 | B -> C: IAM |
| 135 | C -> B: ACM (вызываемый свободен) |
| 136 | note right: вызываемый абонент слышит звонок |
| 137 | B -> A: 180 Ringing |
| 138 | ... |
| 139 | note over C: абонент ответил на вызов |
| 140 | C -> B: ANM |
| 141 | B -> A: 200 OK |
| 142 | A <-[#0000ff]-> B: <font color=blue>//медиапоток// |
| 143 | A -> B: ACK |
| 144 | note over A, C: абоненты А и Б ведут разговор |
| 145 | @enduml |
| 146 | }}} |
| 147 | |
| 148 | При получении сообщения INVITE канальное окончание SS7 формирует и отправляет в сеть TDM сообщение IAM и переходит в состояние `Proceeding`. |
| 149 | |
| 150 | Удаленная станция (Абонент Б), получив сообщение IAM, передает вызываемому абоненту сигнал вызова и отвечает сообщением ACM, в поле индикатора статуса которого содержится значение "Абонент свободен" (1). |
| 151 | |
| 152 | При получении сообщения ACM канальное окончание SS7 передает в сторону сети IP ответ "180 Ringing". |
| 153 | |
| 154 | После ответа вызываемого абонента канальное окончание SS7 получает сообщение ANM. После этого окончание SS7 передает в сеть IP ответ "200 OK", активирует медиапоток и переходит в состояние `Connected`. |
| 155 | |
| 164 | Idle:: Исходное состояние (канал свободен). |
| 165 | |
| 166 | Proceeding:: Получено INVITE, отправлено IAM, ожидается ответ. |
| 167 | |
| 168 | Dialing:: Получено сообщение IAM с неполным номером, ожидаются сообщения SAM с дополнительными цифрами номера. |
| 169 | |
| 170 | Calling:: Получено IAM, отправлено INVITE, ожидается ответ. |
| 171 | |
| 172 | Connected:: Установлено соединение, ведется разговор. |
| 173 | |
| 174 | Release:: Отправлено REL или RSC, ожидается RLC. |
| 175 | |
| 176 | Loopback:: Выполняется входящий тест разговорной цепи. Получено CCR или IAM с запросом проверки целостности разговорной цепи, подключен шлейф разговорного канала, ожидается COT с результатом теста. |
| 177 | |
| 178 | COT:: Выполняется исходящий тест разговорной цепи. Отправлено CCR или IAM с запросом проверки целостности разговорной цепи, подключен генератор, ожидается прием тестовой частоты. |
| 179 | |
| 180 | COT fail:: Разговорная цепь неисправна: последний тест COT завершился неуспешно. |
| 181 | |
| 182 | RBlocked:: Удаленная блокировка канала. |
| 183 | |
| 186 | {{{#!plantuml |
| 187 | @startuml |
| 188 | title упрощенная диаграмма состояний канального окончания SS7 |
| 189 | Idle: Исходное состояние\n(канал свободен) |
| 190 | Proceeding: Принят INVITE |
| 191 | Dialing: Ожидание цифр номера |
| 192 | Calling: Послан INVITE,\nожидается ответ |
| 193 | Connected: идет разговор |
| 194 | Release: ожидается RLC |
| 195 | Loopback: ожидается COT |
| 196 | COT: ожидается тестовая\nчастота |
| 197 | fail: канал неисправен |
| 198 | fail --> COT: CCR |
| 199 | |
| 200 | Idle --> Dialing: принято IAM с\nнеполным номером |
| 201 | Idle --> Calling: принято IAM с\nполным номером |
| 202 | Idle --> COT: принято IAM |
| 203 | COT --> Proceeding: тест успешен |
| 204 | COT --> Proceeding: повторный тест\nуспешен: REL |
| 205 | COT --> fail: тест неуспешен |
| 206 | Idle --> Loopback: получено CCR или\nIAM с COT |
| 207 | Loopback --> Idle: получено REL |
| 208 | Loopback --> fail: получено COT\nс test failed |
| 209 | Loopback --> Calling: получено COT\nс test success |
| 210 | Loopback --> Dialing: получено COT\nс test success |
| 211 | Dialing --> Dialing: принято SAM |
| 212 | Dialing --> Calling: таймаут набора |
| 213 | Dialing --> Calling: принято SAM с\nполным номером |
| 214 | Calling --> Connected: принято 200 OK |
| 215 | Calling --> Release: принято 486 Busy Here |
| 216 | Calling --> Idle: REL |
| 217 | Connected --> Release: принято BYE |
| 218 | Connected --> Idle: принято REL |
| 219 | Release --> Idle: принято RLC |
| 220 | |
| 221 | Idle --> Proceeding: принято INVITE |
| 222 | Proceeding --> Idle: принято REL |
| 223 | Proceeding --> Connected: принято ANM/CON |
| 224 | |
| 225 | @enduml |
| 226 | }}} |
| 227 | |