OpenSIPS 和 Twilio 弹性 SIP 中继

OpenSIPS and Twilio Elastic Sip Trunking

我对 VoIP 的世界非常陌生,所以请原谅我的术语不准确。

我刚刚安装(在远程服务器上)OpenSIPS 软件。

我已经配置了一个 Twilio Elastic SIP Trunk,它的 Origination SIP URI 设置为 OpenSIPS 服务器的 IP 地址(但它以协议 'sip:' 开头)

我有两部带有一些 VoIP 应用程序的 iPhone,它们允许我指定授权名称、授权密码、用户名、显示名称、域和 SIP 代理。

在 OpenSIPS 中,我创建了一个域(使用我服务器的 IP) 另外,我创建了两个用户(在那个域上)并给了他们别名 100 和 101。

iPhone 上的软件声称它具有 'registered' OpenSIPS 服务器,所以我必须接受它。

我相信我的 Twilio SIP 中继配置是正确的,在 基本没有太多设置可以设置,而且它们看起来都是正确的, 并具有某种逻辑意义。

我无法从这里弄清楚,而不是因为缺乏搜索网络, 观看数小时的网络研讨会等,我如何让 OpenSIPS 发送出站 呼叫 Twilio Trunk,并让手机响铃 来电,Twilio 的 SIP 中继有一个 xxxxxx.pstn.twilio.com 的终止 SIP URI,这是(我猜)应该在 OpenSIPS 的某个地方输入,但我看不到如何配置它。

我正在寻找有关如何 'connect' OpenSIPS 到 Twilio Elastic Sip Trunking 服务的指南。

感谢任何帮助...

所以,我猜您想通过简单地将所有传出流量转发到 Twilio SIP 中继来设置一个既充当 SIP 注册器又充当基本 SBC 的 OpenSIPS 实例。

SIP 注册器

看起来您已经处理了 OpenSIPS 脚本的注册器部分。您始终可以生成处理用户注册的基本配置:

make menuconfig
    "Generate OpenSIPS script"
    "Residential script"

列出当前注册的 OpenSIPS 用户:

opensipsctl ul show

SIP 会话边界控制器(基本路由)

- 管理传出流量

这里有一些有用的脚本机制:

  • $ru / $rU / $rd 变量(management of Entire SIP Request URI / 只是 R-URI 的用户名 / 只是 R-URI 的域)- 做所有必要的改变(即强制 R-URI 为 xxxxxx.pstn.twilio.com...)
  • $du 变量 - (management of Outbound Proxy) - this will help us route to the Twilio SIP trunk. Setting a destination URI, then doing t_relay() will simply proxy the current request to the specified destination. For a more advanced routing mechanism (i.e. you need to route to a bunch of trunks), consider using the dispatcher 模块,支持使用缓存 SQL table 填充 SIP 目的地。

- 管理传入流量

  • 注册器模块功能应该足够了(使用 lookup() or registered(), then just do t_relay() 测试)。他们将验证您的 iPhone 当前是否已在 OpenSIPS 服务器上注册。