Страница 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()) звук идет в обе стороны, но, понятное дело, получаем тарификацию КПВ

Вот из консоли логи звонков:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
без 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
Блин, картинка обрезалась...
вот недостающий кусок
Изображение