Trixbox将不接受IAX中继线上的来电

那里有任何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