Страница 1 из 2

Не происходит reinvite

Добавлено: 12 мар 2014, 22:27
drug591
Всем привет. Есть две машины, на одной из них установлен X-Lite, на второй X-Lite и в VirtualBox'е Asterisk+FreePBX. В настройках сети VirtualBox установлен хост-онли адаптер, который соединен мостом с физической сетевой картой. Все это дело находится в одной локальной сети и никакого NAT нет в помине. По умолчанию весь RTP трафик идет через Asterisk. Хочу соединять клиентов напрямую, делаю все по инструкции: в настройках каждого экстеншена включаю canreinvite = yes, в extensions_custom.conf создаю вот такой контекст:

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

[test-context]
exten => 101,1,Answer()
exten => 101,n,Dial(SIP/101)
exten => 102,1,Answer()
exten => 102,n,Playback(hello)
Присваиваю экстеншенам данный контекст. Запускаю Wireshark на машине с Asterisk'ом, в адаптерах выбираю VirtualBox Host-Only Network, в итоге получаю, что RTP трафик опять идет через Asterisk.

Устанавливал в глобальных настройках для SIP Reinvite = yes/nonat/update, не помогло.

Re: Не происходит reinvite

Добавлено: 12 мар 2014, 23:17
MIKS
директмедиа еще приставь. И на хлайтах оставь по одному кодеку (про видео кстати забудь сразу...)

Re: Не происходит reinvite

Добавлено: 13 мар 2014, 00:49
drug591
MIKS писал(а):директмедиа еще приставь
я использую AsteriskNOW c FreePBX и поэтому все настраиваю через веб-интерфейс, в нем есть только пункт canreinvite, a directmedia нету. Попробую в sip_custom.conf прописать его для экстеншенов. Может получится.

Re: Не происходит reinvite

Добавлено: 13 мар 2014, 09:18
MIKS
Там это прописывается как доп поля в общих настройках сип

Re: Не происходит reinvite

Добавлено: 13 мар 2014, 11:39
ded
True!

Re: Не происходит reinvite

Добавлено: 14 мар 2014, 12:23
drug591
Прописал в доп полях directmedia=nonat, оставил один кодек ulaw в X-Lite'ах и даже в глобальных настройках SIP, но трафик как шел так и идет через сервер.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
sip_settings_0.png
sip_settings_1.png
sip_settings_2.png

Re: Не происходит reinvite

Добавлено: 14 мар 2014, 15:07
MIKS
directmedia=yes - в самом низу странички поставить религия не позволяет?

Re: Не происходит reinvite

Добавлено: 14 мар 2014, 22:42
drug591
Прописывал и yes, никакого толку. А nonat на скриншоте из-за того что уже все возможные варианты перепробовал.
192.168.56.132 - ip Asterisk'a
192.168.56.101 - ip моста между VirtualBox HostOnly Network и физической сетевой картой
192.168.56.3 - ip второго компа
Wireshark выдает вот это:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
rtp.png
sip.png
Собственно то же tcpdump, запущенный внутри AsteriskNOW:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
tcpdump.png

Re: Не происходит reinvite

Добавлено: 14 мар 2014, 23:34
ded
Вам надо исследовать sip dialog при вызове Xlite, пакет Invite и ответ на него, смотреть в командную строку Астериск при core set verbose 10
где будет видно почему выбирается проксирование RTP через Астериск а не напрямую. Причины - там, а не в RTP debug. По контексту:

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

[test-context]
exten => 101,1,Answer()
exten => 101,n,Dial(SIP/101)
exten => 102,1,Answer()
exten => 102,n,Playback(hello)
это чушь. Надеюсь хоть исполнялся этот контекст? Видно было в CLI? Вам шаг Answer будет всё время проксировать голос чеоез Астериск.
Переделайте на
[test-context]
exten => _1XX,1,Dial(SIP/${EXTEN})

Re: Не происходит reinvite

Добавлено: 17 мар 2014, 20:37
drug591
Да, контекст выполнялся, исправил на ваш вариант. Установил как вы и сказали core set verbose 10, в CLI при звонке со 101 на 102 пишет следующее:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
2.png
Wireshark показывает вот что:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
sip dialog.png
В логах Asterisk пишет:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
log_asterisk.png
Меня смущает то, что в настройках каждого номера у меня стоит галочка Override напротив опций вызова и пустая строка, а в файле extensions_additional.conf в [globals] DIAL_OPTIONS указано Ttr.