VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Раздел для разработчиков для обсуждения программных и аппаратных продуктов и их реализации.

Модераторы: april22, Zavr2008

tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение tma »

Только из 183 без SDP сделать 183 с SDP врядли получиться - для этого нужно сохранить SDP от 180 и направить аналогичный 183.
Либо 180 с SDP преобразовать в последовательность 180 без SDP + 183 с SDP. Это можно сделать так: При получении 180 с SDP послать вначале 180 без SDP, а затем полученный 180 с SDP преобразовать в 183 с SDP. Осталось проверить можно ли такое сделать на SER'е...
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение tma »

Получилось преобразовать!
В секции onreply_route:

Код: Выделить всё

        if (status == "180") {
                if ( has_body("application/sdp") ) {
                        xlog("L_NOTICE", "==> CONVERT: 180 Ringing -> 180 + 183+SDP: ($Ri)$si:$Rp\n");
                        # Send 180 Ringing
                        t_reply("180","Ringing");
                        # Convert 180+SDP to 183+SDP
                        change_reply_status(183, "Progress");
                }
        }
        # Convert 183 w/o SDP -> 180 w/o
        if (status == "183") {
                if ( ! has_body("application/sdp") ) {
                        xlog("L_NOTICE", "==> CONVERT: 183 Progress -> 180 Ringing: ($Ri)$si:$Rp\n");
                        change_reply_status(180, "Ringing");
                }
        }
Теперь 180+SDP меняется на 180 и 183+SDP. Early media проходит!
Главное, чтобы в логике не напутал...
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение Vlad1983 »

с первого взгляда вроде нормально
ЛС: @rostel
tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение tma »

Да, кроме одного.
180 с SDP преобразовывается в 180 + 183 с SDP.
Но если далее придет 183 без SDP, то он преобразуется в 180.
Т.е. может получиться так:
180 -> 183+SDP -> 180
Вот я и думаю, этот 180 не собъет early media нафиг?
Как сэмулировать - не знаю, разве что sipp заюзать...
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение Vlad1983 »

можно как-то так

Код: Выделить всё

        if (status == "180") {
                if ($avp(i:183)==1) {
                             drop();
                 }
                if ( has_body("application/sdp") ) {
                        xlog("L_NOTICE", "==> CONVERT: 180 Ringing -> 180 + 183+SDP: ($Ri)$si:$Rp\n");
                        # Send 180 Ringing
                        t_reply("180","Ringing");
                        # Convert 180+SDP to 183+SDP
                        change_reply_status(183, "Progress");
                }
        }
        # Convert 183 w/o SDP -> 180 w/o
        if (status == "183") {
          $avp(i:183)=1;
                if ( ! has_body("application/sdp") ) {
                        xlog("L_NOTICE", "==> CONVERT: 183 Progress -> 180 Ringing: ($Ri)$si:$Rp\n");
                        change_reply_status(180, "Ringing");
                }
        }
ЛС: @rostel
tma
Сообщения: 1809
Зарегистрирован: 18 сен 2010, 20:50
Контактная информация:

Re: 183 Session Progress & 180 Ringing (PROGRESS & ALERTING)

Сообщение tma »

Возможно. Проблема в том, что нужно как-то сэмулировать ситуацию, а в голову пока не приходит ничего.
SkyTel OU - облачная АТС, DID, SIP-транк с посекундной тарификаицей, мобильная связь
http://skytel24.com | Эстония: +372.333.55.10 | Россия: +7(495)4019900
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH