| 142 | | 1. Абонент А поднимает телефонную трубку, слышит сигнал готовности. |
| 143 | | 1. Абонент А набирает номер оператора. |
| 144 | | 1. Оператор слышит звонок, абонент А слышит контроль посылки вызова (КПВ). |
| 145 | | 1. Оператор снимает трубку, абонент А сообщает оператору о желании поговорить с абонентом Б. |
| 146 | | 1. Оператор нажимает клавишу Flash и слышит сигнал готовности. |
| 147 | | 1. Оператор набирает номер абонента Б. |
| 148 | | 1. Абонент Б слышит звонок, оператор слышит КПВ. |
| 149 | | 1. Абонент Б снимает трубку, оператор сообщает ему, что с ним хочет поговорить абонент А. |
| 150 | | 1. Оператор кладет трубку, происходит передача вызова абонента А абоненту Б, абоненты А и Б ведут разговор. |
| 151 | | |
| 152 | | ''Примечание: возможно выполнение передачи вызова не дожидаясь ответа второго абонента (пункт 8 приведенного выше сценария не является обязательным). Если оператор, услышав КПВ, сразу положит трубку, абоненту А будет передано соединение с абонентом Б в предответном состоянии, и абонент А будет слышать КПВ до ответа абонента Б. Успешность передачи вызова в этом случае зависит от корректности реализации такого сценария юзер-агентом абонента Б.'' |
| | 146 | {{{#!PlantUml |
| | 147 | @startuml |
| | 148 | skinparam ParticipantPadding 80 |
| | 149 | skinparam sequenceMessageAlign center |
| | 150 | title Сценарий передачи вызова опусканием трубки |
| | 151 | participant "Абонент А" as A |
| | 152 | participant "Оператор" as O |
| | 153 | participant "Абонент Б" as B |
| | 154 | |
| | 155 | note over A |
| | 156 | Абонент А поднимает трубку, |
| | 157 | слышит сигнал "Готовность" |
| | 158 | end note |
| | 159 | note over A |
| | 160 | Абонент А набирает |
| | 161 | номер оператора |
| | 162 | end note |
| | 163 | A -> O: INVITE |
| | 164 | note right of O: Оператор слышит звонок |
| | 165 | O -> A: 180 Ringing |
| | 166 | note left: Абонент А слышит КПВ |
| | 167 | note over O: Оператор снимает трубку |
| | 168 | O -> A: 200 OK |
| | 169 | A <-[#0000ff]-> O: <font color=blue>//медиапоток// |
| | 170 | A -> O: ACK |
| | 171 | note over A, O: Абонент А просит оператора соединить с абонентом Б |
| | 172 | |
| | 173 | note over O |
| | 174 | Оператор нажимает Flash, |
| | 175 | слышит сигнал готовности |
| | 176 | end note |
| | 177 | O -> A: INVITE <font color=#ff3030>a=inactive |
| | 178 | A <-[#0000ff]-x O: <font color=blue>//нет мадиапотока// |
| | 179 | A -> O: 200 OK <font color=#ff3030>a=inactive |
| | 180 | O -> A: ACK |
| | 181 | note over O |
| | 182 | Оператор набирает |
| | 183 | номер абонента Б |
| | 184 | end note |
| | 185 | O -> B: INVITE |
| | 186 | B -> O: 180 Ringing |
| | 187 | note left of O: Оператор слышит КПВ |
| | 188 | note right: Абонент Б слышит звонок |
| | 189 | note over B: Абонент Б снимает трубку |
| | 190 | B -> O: 200 OK |
| | 191 | O <-[#0000ff]-> B: <font color=blue>//медиапоток// |
| | 192 | O -> B: ACK |
| | 193 | note over O, B: Оператор сообщает абоненту Б, что с ним хочет говорить абонент А |
| | 194 | note over O: Оператор кладет трубку |
| | 195 | O -> B: REFER (to operator) |
| | 196 | B -> O: 202 Accepted |
| | 197 | B -> O: NOTIFY (100 Trying) |
| | 198 | O -> B: 200 OK |
| | 199 | B -> A: INVITE (Replaces: Operator) |
| | 200 | A -> B: 200 OK |
| | 201 | A <-[#0000ff]-> B: <font color=blue>//медиапоток// |
| | 202 | B -> A: ACK |
| | 203 | A -> O: BYE |
| | 204 | O -> A: 200 OK |
| | 205 | B -> O: NOTIFY (200 OK) |
| | 206 | O -> B: 200 OK |
| | 207 | O -> B: BYE |
| | 208 | B -> O: 200 OK |
| | 209 | note over A, B: Абонент А и абонент Б ведут разговор |
| | 210 | @enduml |
| | 211 | }}} |
| | 212 | |
| | 213 | ''Примечание: возможно выполнение передачи вызова не дожидаясь ответа второго абонента. Если оператор, услышав КПВ, сразу положит трубку, абоненту А будет передано соединение с абонентом Б в предответном состоянии, и абонент А будет слышать КПВ до ответа абонента Б. Успешность передачи вызова в этом случае зависит от корректности реализации такого сценария юзер-агентом абонента Б.'' |