Changes between Version 1 and Version 2 of EndpointR2DTMF


Ignore:
Timestamp:
Feb 14, 2019, 5:20:45 PM (6 years ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EndpointR2DTMF

    v1 v2  
    2424=== Входящий вызов ===
    2525
     26Входящий (со стороны канала TDM) вызов начинается с приема из канала линейного сигнала "Занятие". В ответ на получении сигнала "Занятие" канальное окончание R2DTMF передает в канал линейный сигнал "Подтверждение занятия", переходит в состояние `NumRecv` и ожидает номер вызываемого абонента.
     27
     28В состоянии `NumRecv` при получении каждой новой цифры номера вызываемого абонента эта цифра добавляется к ранее принятым цифрам, формируя номер вызываемого абонента. После получения каждой новой цифры производится проверка принятого номера на совпадение с регулярным выражением, установленным конфигурационным параметром "Рег. выражение набора", а также на достижение максимальной длины номера, установленной конфигурационным параметром "Макс. длина номера". Система сигнализации R2-DTMF предполагает, что принимающая вызов сторона заранее "знает", какое количество цифр должно быть в номере вызываемого абонента. Если обнаружено совпадение номера с регулярным выражением или достижение максимальной длины номера, канальное окончание R2DTMF формирует и передает сообщение INVITE в сеть IP и переходит в состояние `Outgoing`.
     29
     30При получении от вызываемого абонента ответа "180 Ringing" и отсутствии медиапотока канальное окончание R2 формирует и передает в канал TDM акустический сигнал "Контроль посылки вызова" (КПВ).
     31
     32При получении от вызываемого абонента неуспешного ответа (4xx/5xx/6xx) канальное окончание R2DTMF передает линейный сигнал "Контроль исходного" и переходит в состояние `Blocked`, ожидая линейного сигнала "Контроль исходного" от вызывающей стороны. После получения линейного сигнала "Контроль исходного" канальное окончание R2DTMF переходит в исходное состояние (`Idle`).
     33
     34При получении от вызываемого абонента ответа "200 OK" канальное окончание R2DTMF передает линейный сигнал "Ответ" и переходит в состояние `Connected`.
     35
     36Пример приема входящего вызова:
     37
     38{{{#!plantuml
     39@startuml
     40skinparam ParticipantPadding 80
     41skinparam sequenceMessageAlign center
     42
     43participant АТС
     44participant "Окончание R2DTMF" as R2
     45participant "Вызываемый абонент" as A
     46
     47АТС <-[#red]> R2: <font color=red>исходное состояние (10)
     48...
     49АТС -[#red]> R2: <font color=red>Занятие (00)
     50R2 -[#red]> АТС: <font color=red>Подтверждение занятия (11)
     51АТС -> R2: DTMF "1"
     52АТС -> R2: DTMF "2"
     53АТС -> R2: DTMF "3"
     54АТС -> R2: DTMF "4"
     55АТС -> R2: DTMF "5"
     56R2 --> A: INVITE\nTo: <sip:12345@domain.tld>
     57A --> R2: 100 Trying
     58A --> R2: 180 Ringing
     59note right: Вызываемый абонент слышит звонок
     60R2 o-[#blue]> АТС: <font color=blue>КПВ
     61...
     62note over A: абонент ответил на вызов
     63A --> R2: 200 OK
     64R2 --> A: ACK
     65A <-[#blue]-> R2: <font color=blue>//медиапоток//
     66R2 -[#red]> АТС: <font color=red>Ответ (01)
     67АТС <-[#blue]> R2: <font color=blue>//разговорное состояние//
     68note over АТС, A: абоненты ведут разговор
     69
     70@enduml
     71}}}
     72
     73
     74
    2675=== Исходящий вызов ===
    2776