我安装了Asterisk 11并收到此错误。我更改了sip.conf并仍然看到星号调试模式的错误日志。
星号日志
[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
但是,我需要使用 nat = yes 选项。有没有办法删除此错误消息?
答案 0 :(得分:6)
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 :(得分:1)