1

我已将我的 sip 提供商 ip 更改为 MY.SIP.PROV.IP 并将他们的域更改为 MYSIPPROVIDER.COM 并将我的电话号码更改为 XXXXXXXXXX....

这是 CLI 日志。我可以拨出,但我无法使入站路由正常工作...感谢您提供任何帮助。

我不明白的主要部分:

2016-03-09 22:59:50.981898 [DEBUG] sofia.c:9124 IP MY.SIP.PROV.IP Rejected by acl "domains". Falling back to Digest auth.

第二部分....

2016-03-09 22:59:50.981898 [WARNING] sofia_reg.c:2852 Can't find user [@MYSIPPROVIDER.COM] from MY.SIP.PROV.IP
You must define a domain called 'MYSIPPROVIDER.COM' in your directory and add a user with the id="" attribute
and you must configure your device to use the proper domain in it's authentication credentials.
2016-03-09 22:59:50.981898 [WARNING] sofia_reg.c:1703 SIP auth failure (INVITE) on sofia profile 'internal' for [XXXXXXXXXX@MYSIPPROVIDER.COM] from ip MY.SIP.PROV.IP
4

1 回答 1

3

如果您查看 vars.xml 文件(如果您从 FreeSWITCH 软件包安装,则位于 /etc/freeswitch/vars.xml),您将看到两个相关设置。

<X-PRE-PROCESS cmd="set" data="internal_sip_port=5060"/>
<X-PRE-PROCESS cmd="set" data="external_sip_port=5080"/>

简而言之,如果一个 SIP 数据包通过端口 5080 发送到您的 FreeSWITCH 盒子,它会被路由到 /etc/freeswitch/dialplan/public.xml 文件。其中,如果您从包安装,还包括 /etc/freeswitch/dialplan/public/ 中的任何 .xml 使用该行..

<X-PRE-PROCESS cmd="include" data="public/*.xml"/>

否则,如果您在 FreeSWITCH 机器的端口 5060 上收到一个数据包,它将被视为“内部”调用。这些得到的处理略有不同。如果您使用默认/示例配置,其中一个区别是 FreeSWITCH ACL 或“访问控制列表”。

基本上,任何对 5060 的调用都会被 ACL 解析。您可以将其视为一种防火墙。如果它与那里的规则不匹配,FreeSWITCH 会以错误拒绝它。

2016-03-09 22:59:50.981898 [DEBUG] sofia.c:9124 IP MY.SIP.PROV.IP Rejected by acl "domains". Falling back to Digest auth.

而这部分...

2016-03-09 22:59:50.981898 [WARNING] sofia_reg.c:2852 Can't find user [@MYSIPPROVIDER.COM] from MY.SIP.PROV.IP
You must define a domain called 'MYSIPPROVIDER.COM' in your directory and     add a user with the id="" attribute
and you must configure your device to use the proper domain in it's     authentication credentials.

...正在由 ACL 配置的这一部分生成...

<list name="domains" default="deny">
  <node type="allow" domain="$${domain}"/>
</list>

...不要考虑“允许任何 SIP 数据包,其中“域”(例如 SIP URI 的@mysipprovider.com 部分)是“FreeSWITCH 目录”中定义的用户的一部分。

简而言之,在 FreeSWITCH 用作“内部 PBX”的情况下,ACL 被用作验证内部设备的附加措施。

你有两个选择..

  1. 让 mysipprovider 将入站 SIP 数据包路由到端口 5080,然后查看通过默认 /etc/freeswitch/dialplan/public/00_inbound_did.xml 文件管理入站呼叫
  2. 在 ACL 中添加特定行以批准来自 mysipprovider 的调用。也许像..

..然后输入..

fs_cli -x 'reloadacl'

..应用它。

于 2016-03-16T08:30:46.200 回答