那里有任何trixbox / asterisk专家?
我有一个trixbox安装,拒绝接受来自某个VoIP提供商的IAX2来电。 起初,我认为这是一个防火墙的问题,但我认为我现在已经确定,情况并非如此。 我尝试了所有我能想到的(而且我不是这个领域的专家),没有成功。 以下是我所build立的:
另一个站点上的另一个TrixBox 可以 (通过IAX2)与此安装进行通信。 这是我知道这不是一个防火墙问题的一种方式,这似乎表明VoIP提供商的问题,但…
VoIP提供商能够成功地使用SwitchVox安装,这表明这个问题并不完全在VoIP提供商那里。 但…
同样的SwitchVox安装也可以与我的“问题”Trixbox进行通信 – 再次表明Trixbox没有任何内在的错误。
面对相互冲突的结果,我转向了星号debugging,打开IAX2debugging表明正在接收连接尝试 – 这是一个来自提供者的新消息的例子:
Rx帧重试[否] - 操作系统:000 ISeqno:000types:IAX子类:新
时间戳:00004ms SCall:00043 DCall:00000 [xxxx:4569]
版本:2
被叫号码:0845 [obfuscated]
CODEC_PREFS:()
电话号码:匿名
电话预告:0
呼叫types:0
呼叫转移:0
来电姓名:
LANGUAGE:en
USERNAME:[模糊]
格式:8
能力:65407
ADSICPE:2
date时间:2010-12-03 12:18:58
这是差异发生的地方。 在成功的通话中,我接下来会看到一个authentication握手,一个AUTHREQ被发送,之后是一个AUTHREP回复。 对于不能正常工作的连接, 我从来没有看到这个authentication握手 (既不是AUTHREQ也不是AUTHREP)。
NEW消息通过防火墙并被Trixbox正确接收的事实证实了我的想法,即这不是防火墙问题。 所以我认为问题的关键在于,出于某种原因,我的Trixbox正在决定它不喜欢来电, 甚至不要求远程盒子进行身份validation 。 这会导致什么? 我怎样才能进一步解决这个问题? 在这一点上,我感激地收到了任何build议,因为我碰到了一堵砖墙。
好的,我刚刚在一个较旧的PiaF(1.4)盒子和一个运行星号1.6的新盒子之间发生了这种情况。
结果更新的星号增加了一些需要closures的安全function,以便兼容。 事实上,消息是在星号日志文件,虽然我浪费了2个小时才看到它们:
[2011-01-18 02:39:01]错误[15257] chan_iax2.c:呼叫被拒,需要CallToken支持。 如果意外,请将地址XXXXXXX放入calltoken选项列表或设置用户XYZ requirecalltoken = no
所以我把requirecalltoken = no添加到了星号1.6服务器上的用户详情部分,并且全部修复了。 嗯,我看到我在对方的Outgoing部分有一个requirecalltoken = auto,但我不认为这是必要的。 我将不得不安排停机时间来看看。
有关于此的一个pdf在: http : //downloads.asterisk.org/pub/security/IAX2-security.pdf