Страница 1 из 2
При исходящем звонке не открывается RTP канал
Добавлено: 17 ноя 2014, 08:37
Sanek
Всем привет.
При подключении астера к белорусской услуге "Максифона" столкнулся с такой проблемой: при исходящем звонке (на максифон) после поднятия трубки вызываемым абонентом не открывается RTP.
При установке перед командой dial() команды ansver() - RTP открывается и голос идёт нормально... но происходит тарификация КПВ. Подскажите, плиз, как это можно вылечить.
Re: При исходящем звонке не открывается RTP канал
Добавлено: 17 ноя 2014, 08:42
Vlad1983
directmedia=no
Re: При исходящем звонке не открывается RTP канал
Добавлено: 17 ноя 2014, 17:01
Sanek
Попробовал - не помогло...
Вот конфиг входящего пира:
Код: Выделить всё
[aster100]
type=friend
qualify=200
host=62.75.ХХХ.ХХХ
directmedia=no
nat=force_rport,comedia
trustrpid = yes
sendrpid = yes
canreinvite = yes
insecure = port,invite
context=out_maksifon
и исходящий пир:
Код: Выделить всё
[fon01]
username=+375249ХХХХХХ
fromuser=+375249ХХХХХХ
secret=Secret
type=peer
host=93.85.255.188
defaultip=93.85.255.188
outboundproxy=93.85.255.188
nat=force_rport,comedia
directmedia=no
fromdomain=ims.beltel.by
context=default
disallow=all
allow=g729,alaw,ulaw
dtmfmode=rfc2833
trustrpid = yes
sendrpid = yes
canreinvite = no
insecure = port,invite
qualify=yes
диалплан
Код: Выделить всё
exten => _X.,1,Verbose(2,Performing ISN lookup for ${EXTEN})
;same => n,Answer(10)
same => n,Set(prefixp=${CUT(EXTEN,#,1)})
same => n,Set(lenprefixp=$[${LEN(${prefixp})}+1])
same => n(dial),Dial(SIP/fon${prefixp}/${EXTEN:${lenprefixp}},120,tTg)
same => n,HangUp()
Так вот, если в диалплане раскоментить строку same => n,Answer(10) (пробовал и просто Answer()) звук идет в обе стороны, но, понятное дело, получаем тарификацию КПВ
Вот из консоли логи звонков:
без Answer (голоса нет)
Код: Выделить всё
-- Executing [01#+37525ХХХХХХ@out_maksifon:1] Verbose("SIP/aster100-0000004b", "2,Performing ISN lookup for 01#+37525ХХХХХХ") in new stack
== Performing ISN lookup for 01#+375259263416
-- Executing [01#+37525ХХХХХХ@out_maksifon:2] Set("SIP/aster100-0000004b", "prefixp=01") in new stack
-- Executing [01#+37525ХХХХХХ@out_maksifon:3] Set("SIP/aster100-0000004b", "lenprefixp=3") in new stack
-- Executing [01#+37525ХХХХХХ@out_maksifon:4] Dial("SIP/aster100-0000004b", "SIP/fon01/+37525ХХХХХХ,120,tTg") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/fon04/+37525ХХХХХХ
-- SIP/fon04-0000004c is ringing
-- SIP/fon04-0000004c is making progress passing it to SIP/aster100-0000004b
-- SIP/fon04-0000004c answered SIP/aster100-0000004b
== Spawn extension (out_maksifon, 01#+37525ХХХХХХХ, 4) exited non-zero on 'SIP/aster100-0000004b'
с Answer (голос идет)
Код: Выделить всё
-- Executing [01#+37525ХХХХХХ@out_maksifon:1] Verbose("SIP/aster100-0000004d", "2,Performing ISN lookup for 01#+37525ХХХХХХ") in new stack
== Performing ISN lookup for 01#+375259263416
-- Executing [01#+37525ХХХХХХ@out_maksifon:2] Answer("SIP/aster100-0000004d", "") in new stack
-- Executing [01#+37525ХХХХХХ@out_maksifon:3] Set("SIP/aster100-0000004d", "prefixp=01") in new stack
-- Executing [01#+37525ХХХХХХ@out_maksifon:4] Set("SIP/aster100-0000004d", "lenprefixp=3") in new stack
-- Executing [01#+37525ХХХХХХ@out_maksifon:5] Dial("SIP/aster100-0000004d", "SIP/fon01/+37525ХХХХХХ,120,tTg") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/fon01/+37525ХХХХХХ
-- SIP/fon05-0000004e is ringing
-- SIP/fon05-0000004e is making progress passing it to SIP/aster100-0000004d
> 0x7f2e2002fd10 -- Probation passed - setting RTP source address to 62.75.ХХХ.ХХХ:17988
> 0x7f2e1800fc50 -- Probation passed - setting RTP source address to 93.85.255.185:29526
-- SIP/fon05-0000004e answered SIP/aster100-0000004d
> 0x7f2e1800fc50 -- Probation passed - setting RTP source address to 93.85.255.185:29526
== Spawn extension (out_maksifon, 01#+37525ХХХХХХ, 5) exited non-zero on 'SIP/aster100-0000004d'
Re: При исходящем звонке не открывается RTP канал
Добавлено: 17 ноя 2014, 17:23
ded
А почему у вас RTP source address назначается на разные ИП адреса?
Код: Выделить всё
> 0x7f2e2002fd10 -- Probation passed - setting RTP source address to 62.75.ХХХ.ХХХ:17988
> 0x7f2e1800fc50 -- Probation passed - setting RTP source address to 93.85.255.185:29526
В любом случае: зацепите полный sip dump и анализируйте оба диалога, неуспешный и успешный - в Wireshark.
Re: При исходящем звонке не открывается RTP канал
Добавлено: 17 ноя 2014, 18:11
Vlad1983
снимать дамп вместе с RTP
Re: При исходящем звонке не открывается RTP канал
Добавлено: 18 ноя 2014, 10:57
Sanek
И так, снял дампы:
- без команды Ansver(), т.е. нет RTP
- с командой Ansver()
Как-бы в обоих случаях сервера "оговаривают" RTP маршрут и кодеки...
Для более детального разбора полетов по запросу могу отправить архив с дампами.
Re: При исходящем звонке не открывается RTP канал
Добавлено: 18 ноя 2014, 11:03
ded
Как-бы в обоих случаях у вас разные ИП адреса. В одном случае
setting RTP source address to 93.85.255.185:29526
а в ваших дампах сигнализация через 93.85.255.188
Вам надо стараться изучать дампы самостоятельно, никуда посылать их не надо. в Wireshark есть опции VoIP Call flow - исследовать именно SIP диалог.
Приведу пример: "у нас тут с соседом возник спор - это его ребёнок или мой! Взяли соскобы с языка, у меня и у него, чтобы провести генетическую экспертизу. Куда посылать?"
Кроме того, подозреваю, что белорусская услуга "Максифон" - платная, и предполагает техническую поддержку. Вот их и домогайтесь.
Re: При исходящем звонке не открывается RTP канал
Добавлено: 18 ноя 2014, 11:09
Vlad1983
Re: При исходящем звонке не открывается RTP канал
Добавлено: 18 ноя 2014, 12:07
Sanek
ded писал(а):Как-бы в обоих случаях у вас разные ИП адреса. В одном случае
setting RTP source address to 93.85.255.185:29526
а в ваших дампах сигнализация через 93.85.255.188
Да, получается что у них сигнализация идет через один сервер, а голос через другой...
ded писал(а):Вам надо стараться изучать дампы самостоятельно, никуда посылать их не надо. в Wireshark есть опции VoIP Call flow - исследовать именно SIP диалог.
Полностью с Вами согласен, но с Wireshark только начинаю работать...
ded писал(а):Приведу пример: "у нас тут с соседом возник спор - это его ребёнок или мой! Взяли соскобы с языка, у меня и у него, чтобы провести генетическую экспертизу. Куда посылать?"
Понятное дело, посылать к специалистам в центр генетики... Вот и я на форуме обратился к специалистам "Астерисковедам"
ded писал(а):Кроме того, подозреваю, что белорусская услуга "Максифон" - платная, и предполагает техническую поддержку. Вот их и домогайтесь.
Спасибо за подсказку... но именно отсюда я и начинал. И получил ответ: "Работу нашей услуги мы гарантируем только на программной платформе "Максифон" и некоторых "хардовых" телефонах (список прилагается). Другое оборудование и ПО у нас не тестировалось и тех. поддержка не предоставляется"... В общем меня культурно послали
Спасибо за ссылку - на много легче разбирать детализацию звонка... но к сожалению опять в тупике:
Получается, что когда на астере я командой Ansver() принудительно открываю RTP канал, то сервера согласовываются, а если без принудительного отрытия, то астер не понимает что от него хотят...
Re: При исходящем звонке не открывается RTP канал
Добавлено: 18 ноя 2014, 12:11
Sanek
Блин, картинка обрезалась...
вот недостающий кусок