2014-04-16 7 views
3

Я установил Asterisk 11 и получил эту ошибку. Я изменил sip.conf и все еще вижу журналы ошибок в режиме отладки звездочки.Asterisk - sip_parse_nat_option: nat = yes устарели, используйте nat = force_rport, comedia

Звездочка журнал

[Apr 16 20:43:05] WARNING[18538]: sip/config_parser.c:812 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead 
[Apr 16 20:43:11] WARNING[18538]: sip/config_parser.c:812 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead 
[Apr 16 20:43:11] WARNING[18538]: sip/config_parser.c:812 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead 
[Apr 16 20:43:11] WARNING[18538]: sip/config_parser.c:812 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead 
[Apr 16 20:43:11] WARNING[18538]: sip/config_parser.c:812 sip_parse_nat_option: nat=yes is deprecated, use nat=force_rport,comedia instead 

sip.conf

nat=force_rport 

Однако, мне нужно использовать физ = да вариант. Есть ли способ удалить это сообщение об ошибке?

ответ

5

nat = yes работает для звездочки версии 10 или старше. Из звездочки 11 nat = yes лишен. Они сказали, что nat = yes и nat = force_rport, comedia одинаковы. Но я думаю, что оба они разные.

Если мы перейдем на nat = force_rport, comedia, поведение будет прекрасным, за исключением внешних пользователей за NAT. Наш сервер также находится за NAT.

Когда наружный NAT: ed пользователь звонит в сеть, все работает так, как ожидалось, но при вызове внешнего пользователя или когда два внешних пользователя NAT: ed звонят друг другу, звук идет только в одну сторону без каких-либо ошибок в консоли. При смене на nat = yes все работает снова.

Исходя из исходного кода для sip/config_parser.c, кажется, что причиной разницы является то, что при использовании sip = yes auto_force_rport и auto_comedia очищаются. Однако при использовании force_rport, comedia автоэквиваленты не удаляются.

nat = yes устарел в новой Asterisk, поэтому используйте nat = force_rport, comedia. nat = yes или nat = force_rport, comedia одинаковы.

+1

Я изменил его на nat = force_rport, comedia, и он все еще показывает одно и то же сообщение об ошибке. Это очень интересно .. – Jake

+1

просто напишите это в общем разделе файла sip.conf. удалите все другие вхождения. –

+0

Да, я вообще поместил его в sip.conf. [общий] nat = force_rport, comedia – Jake

1

Это, кажется, bug в этой версии звездочки.

Если вы скомпилировали asterisk из источника, то хорошей новостью является patch, который исправляет его.