Changes between Version 3 and Version 4 of EndpointEM


Ignore:
Timestamp:
Oct 18, 2019, 3:18:10 PM (5 years ago)
Author:
alx
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • EndpointEM

    v3 v4  
    2929participant "Абонент Б (TDM)" as C
    3030
    31 A -> B: INVITE
    32 B -> A: 100 Trying
     31A --> B: INVITE
     32B --> A: 100 Trying
    3333B -> C: off-hook
    3434B -> C: набор номера
    3535
    36 B -> A: 183 Session Progress
     36B --> A: 183 Session Progress
    3737A <-[#0000ff]-> B: <font color=blue>медиапоток</font>
    3838note right of C: вызываемый абонент слышит звонок
     
    4141note over C: абонент ответил на вызов
    4242C -> B: off-hook
    43 B -> A: 200 OK
    44 A -> B: ACK
     43B --> A: 200 OK
     44A --> B: ACK
    4545note over A, C: абоненты А и Б ведут разговор
    4646@enduml
     
    6262participant "Абонент Б (TDM)" as C
    6363
    64 A -> B: INVITE
    65 B -> A: 100 Trying
     64A --> B: INVITE
     65B --> A: 100 Trying
    6666B -> C: off-hook
    6767C -> B: wink
    6868B -> C: набор номера
    6969
    70 B -> A: 183 Session Progress
     70B --> A: 183 Session Progress
    7171A <-[#0000ff]-> B: <font color=blue>медиапоток</font>
    7272note right of C: вызываемый абонент слышит звонок
     
    7575note over C: абонент ответил на вызов
    7676C -> B: off-hook
    77 B -> A: 200 OK
    78 A -> B: ACK
     77B --> A: 200 OK
     78A --> B: ACK
    7979note over A, C: абоненты А и Б ведут разговор
    8080@enduml
     
    102102participant "Абонент Б (TDM)" as C
    103103
    104 A -> B: INVITE
    105 B -> A: 100 Trying
     104A --> B: INVITE
     105B --> A: 100 Trying
    106106B -> C: off-hook
    107107note right of C: станция не готова к приему номера
     
    112112B -> C: набор номера
    113113
    114 B -> A: 183 Session Progress
     114B --> A: 183 Session Progress
    115115A <-[#0000ff]-> B: <font color=blue>медиапоток</font>
    116116note right of C: вызываемый абонент слышит звонок
     
    119119note over C: абонент ответил на вызов
    120120C -> B: off-hook
    121 B -> A: 200 OK
    122 A -> B: ACK
     121B --> A: 200 OK
     122A --> B: ACK
    123123note over A, C: абоненты А и Б ведут разговор
    124124@enduml
     
    133133После получения сигнала занятия канала (перехода сигнального канала от удаленной стороны в состояние "off-hook") канальное окончание EM переходит в состояние `NumRecv` и ожидает набор номера. Номер вызываемого абонента может передаваться как декадными сериями импульсов в сигнальном канале, так и двухчастотными посылками DTMF в разговорном канале. Окончание набора номера определяется по таймауту, устанавливаемому конфигурационным параметром "Таймаут набора". Кроме этого, если конфигурационный параметр "Рег. выражение набора" не пуст, после приема каждой цифры номера выполняется проверка набранного номера на совпадение с регулярным выражением. При совпадении номера с регулярным выражением принимается решение об окончании набора номера. После окончания набора номера канальное окончание EM отправляет в сторону сети IP сообщение INVITE и переходит в состояние `Calling`.
    134134
     135В состоянии `Calling` канальное окончание EM находится до ответа вызываемого абонента или отмены вызова (отклонения вызова вызываемой стороной или снятия вызова вызывающей стороной). При получении от вызываемой стороны ответа "180 Ringing" окончание EM передает в канал TDM акустический сигнал "Контроль посылки вызова" (КПВ).
     136
     137При ответе вызываемого абонента канальное окончание EM подключает медиапоток к каналу TDM (если это не было сделано ранее), переводит сигнальный канал в состояние "off-hook" и переходит в состояние `Connected`.
     138
     139{{{#!PlantUml
     140@startuml
     141title Cценарий вызова со стороны сети TDM
     142skinparam ParticipantPadding 80
     143skinparam sequenceMessageAlign center
     144participant "Абонент А (TDM)" as A
     145participant "окончание EM" as B
     146participant "Абонент Б (IP)" as C
     147
     148A -> B: off-hook
     149A -> B: набор номера
     150B --> C: INVITE
     151C --> B: 100 Trying
     152C --> B: 180 Ringing
     153B o-[#blue]> A: <font color=blue>КПВ
     154note right of C: вызываемый абонент слышит звонок
     155...
     156note right of C: вызываемый абонент ответил на вызов
     157C --> B: 200 OK
     158B --> C: ACK
     159B <-[#0000ff]-> C: <font color=blue>медиапоток</font>
     160B -> A: off-hook
     161note over A, C: абоненты А и Б ведут разговор
     162@enduml
     163}}}
     164
     165При получении от вызываемой стороны медиапотока до ответа вызываемого абонента (например ответ "183 Session Progress") медиапоток подключается к каналу TDM, и дальнейшая передача акустических сигналов вызывающему абоненту возлагается на оборудование вызываемого абонента. Пример сценария местного вызова с получением медиапотока до ответа вызываемого абонента:
     166
     167{{{#!PlantUml
     168@startuml
     169title Cценарий вызова со стороны сети TDM с early media
     170skinparam ParticipantPadding 80
     171skinparam sequenceMessageAlign center
     172participant "Абонент А (TDM)" as A
     173participant "окончание EM" as B
     174participant "Абонент Б (IP)" as C
     175
     176A -> B: off-hook
     177A -> B: набор номера
     178B --> C: INVITE
     179C --> B: 100 Trying
     180C --> B: 183 Session Progress
     181B <-[#0000ff]-> C: <font color=blue>медиапоток</font>
     182C o-[#gray]> A: <font color=gray>            КПВ
     183note right of C: вызываемый абонент слышит звонок
     184...
     185note right of C: вызываемый абонент ответил на вызов
     186C --> B: 200 OK
     187B --> C: ACK
     188B -> A: off-hook
     189note over A, C: абоненты А и Б ведут разговор
     190@enduml
     191}}}
     192
     193==== Варианты "wink" ====
     194
     195В варианте сигнализации "wink" при получении занятия канала удаленной стороной канальное окончание EM передает в сигнальный канал сигнал "wink" длительностью 120 мс, после чего сценарий установки соединений ничем не отличается от вариантов "немедленный старт" и "задержка старта":
     196
     197{{{#!PlantUml
     198@startuml
     199title Cценарий вызова "wink" со стороны сети TDM
     200skinparam ParticipantPadding 80
     201skinparam sequenceMessageAlign center
     202participant "Абонент А (TDM)" as A
     203participant "окончание EM" as B
     204participant "Абонент Б (IP)" as C
     205
     206A -> B: off-hook
     207B -> A: wink
     208A -> B: набор номера
     209B --> C: INVITE
     210C --> B: 100 Trying
     211C --> B: 180 Ringing
     212B o-[#blue]> A: <font color=blue>КПВ
     213note right of C: вызываемый абонент слышит звонок
     214...
     215note right of C: вызываемый абонент ответил на вызов
     216C --> B: 200 OK
     217B --> C: ACK
     218B <-[#0000ff]-> C: <font color=blue>медиапоток</font>
     219B -> A: off-hook
     220note over A, C: абоненты А и Б ведут разговор
     221@enduml
     222}}}
     223
     224=== Отбой ===
     225
     226Отбой соединения, находящегося в разговорном состоянии, может быть инициирован любой из сторон соединения. При отбое со стороны сети IP (получение BYE) канальное окончание EM переводит сигнальный канал в состояние "on-hook" и переходит в исходное состояние (`Idle`). При получении состояния "ob-hook" сигнального канала со стороны TDM канальное окончание EM отправляет сообщение BYE в сторону сети IP и переходит в исходное состояние (`Idle`).
     227
     228До ответа вызываемого абонента отбой (снятие вызова) возможны только по инициативе вызывающей стороны. При снятии вызова со стороны сети IP (прием CANCEL) канальное окончание EM переводит сигнальный канал в состояние "on-hook" и переходит в исходное состояние (`Idle`). При обнаружении состояния входного сигнального канала "on-hook" более 400 мс в процессе приема вызова со стороны канала TDM канальное окончание EM передает в сеть IP сообщение CANCEL (если уже было отправлено сообщение INVITE) и переходит в исходное состояние (`Idle`).
     229
     230Если при выполнении вызове в сторону сети IP канальное окончание EM получает неуспешный ответ на INVITE (например вызов занятого абонента), анальное окончание передает в канал акустический сигнал "Занято", переходит в состояние `Busy` и ожидает снятие вызова (перевод сигнального канала в состояние "on-hook") от удаленной стороны.