多个SIP PBX与3CX对接的注意事项

3CX IP PBX在实际的使用过程中,可能会有与不同的SIP PBX进行对接需求,实现多个系统之间的分机互通。这样的对接需求都可以通过SIP Trunk实现。但是在实际的对接测试,可能会遇到各种各样的问题。今天我将讲到3CX IP PBX与别的 SIP PBX对接过程中遇到的2个问题及解决方法。

这里以3CX与Skype for business 2015为例

1、3CX与Skype for business 2015已做好SIP Trunk连接,测试过程中,发现Skype for business 2015的分机呼不到3CX的分机,而3CX的分机能够呼到Skype for business 2015的分机。对此我们进行了wireshare抓包分析

从抓包来看,只知道呼叫未建立成功,却没有查到任何报错。但是在测试过程中,我们发现,在SIP中继设置的呼叫分配的分机是可以接收到SFB分机的呼叫的,此时,我们已知道问题的解决方法。给3CX每个分机绑定DID号,在刚才创建的SIP中继里添加DID号,尽量与分机号一样(这样操作最方便),然后做呼入规则,将每个DID号绑定到相应的分机。这样设定后,SFB的分机只要拨DID号就会送到相应的3CX分机(DID号做到与分机一样,方便操作)。如下图

在SIP中继里添加DID,尽量做到与分机号一样,有多少个分机就添加多少个DID。

DID添加完后,然后做呼入规则绑定DID。每个DID绑定到对应的分机号。

这样设置后,3CX与SFB的分机就可以实现互通。

上面的例子是单个SIP PBX对接到3CX,那多个SIP PBX对接到3CX会遇到什么样的问题呢?

前面我们创建了3CX与SFB的SIP中继对接,接下来我们创建3CX与思科的SIP中继对接,参照上面的步骤做好设置,然后进行测试,我们发现3CX分机可以呼到思科分机,但思科分机呼到3CX分机失败,被3CX系统拒绝。从wireshark抓包看,3CX回了“404 not found”

在抓包日志也找到了一个错误原因:Warning: 499 3CX01 “Caller is not identified”

通过在3CX论坛里搜索得知,3CX里的2个及以上SIP Trunk中不能使用相同的DID,如果使用了相同的DID,就会出现上面的错误。那我就对3CX与思科的这条SIP中继的DID进行修改。之前我们在3CX与SFB的SIP中继里将DID设置成与分机一样,那在3CX与思科的这条SIP中继里,我们可以设置成这样:8(任意数字)+6xxxx(3CX分机),在3CX IP PBX分机前加一位数字,这样就将3CX与SFB的SIP中继的DID区分开了,这样也就需要对端的SIP PBX送号时多加一位数送到3CX(对端分机还是直拨3CX分机号)。

如果将来还有更多的SIP PBX对接到3CX,也就是参考以上设置,基本上就可以实现两端分机的互通。

注:

1、通过SIP Trunk与3CX对接,能否从各自外线外呼?

答:3CX分机可以从对端外线外呼,但对端分机不能从3CX外线外呼,从上面的SIPTrunk对接的例子我们就可以看到。

2、分机太多,在SIP中继里添加DID效率太慢,有别的方法?

答:有。在呼入规则里批量导入,DID会自动同步到SIP 中继里。