3CX上使用无需注册-基于IP的SIP中继时需要注意的事项

3CX SIP 中继身份验证类型

在说注意事项前我们先来了解下3CX SIP中继身份验证类型。3CX 中的 SIP 中继可以配置以下 4 种类型的身份验证:

  • “无需验证 – 基于 IP”:设置此选项后,3CX 不会使用 SIP 中继进行身份验证。但在某些情况下,可能会发送质疑请求。如果 3CX 不知道传入 INVITE 必须与哪个 SIP 中继关联,则可能会发生这种情况。
  • “呼入 – 仅呼入”:此选项已弃用
  • “呼出-仅呼出”:此选项已弃用
  • “基于注册/帐户”:3CX 使用用户填写的凭据发送 REGISTER 消息。

注意事项

首先我们要注意的是呼叫源识别问题,我们如果是用的是注册方式,3CX 电话系统会使用rinstance这个参数进行呼叫源识别,为 SIP Trunk 匹配来电呼叫。这只适用于基于注册的 SIP Trunk,因为基于 IP 的线路不采用注册。这就会使用其他参数来匹配,具体可以参考文档3CX 怎么处理来电呼叫及呼叫路由

当我们需要建立多条SIP中继并且IP地址是一样的,这个时候我们就需要注意设置呼叫源识别,否则会出现所有号码被同一条SIP中继给接管,导致呼入规则无法生效。最好是将对方的IP加入到3CX的白名单了。具体设置可参考文档如何设置多帐户的SIP中继(同一VoIP提供商)呼入参数。

另外一方面是安全方面的问题,无需验证的方式还会出现另外一个问题,我们在使用基于IP方式对接另外一套PBX系统,因为要分机互拨,我们的DID就用的是分机号。我们的系统就受到了黑客的骚扰,如下图所示。

通过抓包分析,黑客拨打尾号为000的号码到我们的3CX系统。刚好匹配到我们的SIP中继中的DID号码,这就导致会有骚扰呼叫一直送到我们的分机上。所以我们能使用注册方式就不要使用基于IP的方式。另外如果只是内网使用,那么就无需开放相关端口。如果有基于IP的外网SIP中继,那么就在防火墙上允许该SIP中继的IP的数据进入。