[[span(style=color: #FF0000, Статья находится в стадии создания! Представленная информация может быть неполной и/или неточной.)]] = Канальное окончание DS (диспетчерская конференция) = Канальное окончание DS предназначено для подключения абонентов (операторов), использующих телефонные аппараты с сигнализацией SIP, к диспетчерской конференции, используя при этом для передачи речи групповой канал TDM вместо сети IP. Данная схема подключения может применяться в случаях, когда пропускной способности сети IP достаточно для подключения к конференции одного абонента (оператора), но недостаточно для пропуска медиапотоков нескольких абонентов (операторов) к серверу диспетчерской связи. В данной схеме подключения вместо того чтобы непосредственно регистрировать на сервере телефонные аппараты операторов, на сервере регистрируются канальные окончания DS. Аппарат же оператора регистрируется на местной плате VE-01. == Описание работы канального окончания == Одно канальное окончание DS обслуживает подключение одного абонента (оператора) к групповому каналу диспетчерской связи. При подключении абонента к групповому каналу TDM канальное окончание DS также создает подключение абонента к диспетчерской конференции по протоколу SIP, при этом медиапоток между канальным окончанием и конференцией отсутствует (неактивен благодаря указанию в сообщениях SDP атрибута a=inactive и адреса IP 0.0.0.0). Таким образом, сервер диспетчерской конференции уведомляется о подключении абонента к конференции, но медиапоток RTP этого абонента отсутствует. Аналогично, при отключении абонента от группового канала сессия SIP завершается. Групповой канал в данной схеме подключается к диспетчерской конференции в одной точке. === Вызов диспетчером всех абонентов группового канала === Вызов всех абонентом группового канала в конференцию выполняется путем подключения к конференции "диспетчерского" канального окончания DS. Получив INVITE, канальное окончание DS передает в групповой канал TDM тональный сигнал "Подключение", после чего передает в сторону конференции ответ "200 OK". Канальное окончание DS оператора, приняв из группового канала сигнал "Подключение", передает INVITE телефонному аппарату оператора. При ответе оператора канальному окончанию DS приходит ответ "200 OK", при получении которого активируется медиапоток между аппаратом оператора и групповым каналом. После этого канальное окончание DS передает INVITE диспетчерской конференции (с неактивным медиапотоком), в результате чего диспетчер может видеть факт подключения оператора к конференции. Аналогичным образом устанавливают соединения все остальные канальные окончания DS операторов, подключенные к тому же групповому каналу TDM. {{{#!PlantUml @startuml title Вызов диспетчером всех абонентов группового канала skinparam ParticipantPadding 40 skinparam sequenceMessageAlign center participant "Сервер\nконференции\n'0'" as A participant "Окончание DS\nдиспетчера\n'ds'" as B participant "Окончание DS\nоператора\n'201'" as C participant "Абонент\n(оператор)\n'op1'" as D A --> B: INVITE '0' --> 'ds' B --> A: 100 Trying B -> C: сигнал "Подключение" B --> A: 200 OK A <-[#0000ff]-> B: медиапоток A --> B: ACK C --> D: INVITE '0' --> 'op1' D --> C: 100 Trying D --> C: 180 Ringing note right of D: оператор слышит звонок ... note right of D: оператор ответил на вызов D --> C: 200 OK D <-[#0000ff]-> C: медиапоток C --> D: ACK C --> A: INVITE '0' <-- '201' (inactive) A --> C: 100 Trying A --> C: 200 OK C --> A: ACK note over A, D: оператор ведет разговор с диспетчером @enduml }}} === Вызов абонентом (оператором) конференции === === Индивидуальный вызов диспетчером абонента (оператора) === При получении канальным окончанием DS оператора прямого вызова от диспетчерской конференции канальное окончание выполняет переадресацию вызова (call forward) на URI телефонного аппарата оператора, передавая ответ "302 Moved Temporarily". Получив ответ 302, сервер конференции выполняет новый вызов указанного в ответе URI и устанавливает соединение с аппаратом оператора: {{{#!PlantUml @startuml title Вызов диспетчером одного оператора skinparam ParticipantPadding 80 skinparam sequenceMessageAlign center participant "Сервер\nконференции\n'0'" as A participant "Окончание DS\nоператора\n'201'" as C participant "Абонент\n(оператор)\n'op1'" as D A --> C: INVITE '0' --> '201' C --> A: 100 Trying C --> A: 302 Moved Temporarily (op1) A --> C: ACK A --> D: INVITE '0' --> 'op1' D --> A: 100 Trying D --> A: 180 Ringing note right of D: оператор слышит звонок ... note right of D: оператор ответил на вызов D --> A: 200 OK D <-[#0000ff]-> A: медиапоток A --> D: ACK note over A, D: оператор ведет разговор с диспетчером @enduml }}} === Отбой === == Параметры конфигурации канального окончания == == Состояния канального окончания == == См. также == [EndpointParameters сводная таблица параметров], [wiki:EndpointFXS окончание FXS], [wiki:EndpointFXO окончание FXO]