我已经与Asterisk合作多年,但是我对OpenSIPS还是很陌生。我需要的是让呼叫从我们的DID提供者打入OpenSIPS服务器,然后将其重定向到另一个SIP URI。
类似这样的东西:
DID原始提供程序-> OpenSIPS->下一个SIP服务器
基本上,我需要OpenSIPS服务器位于我的DID提供程序和Plivo之间,而Plivo基本上是Twilio类型的服务。
我已经安装了OpenSIPS和控制面板GUI。使用GUI,我已经成功设置了从DID提供程序到我注册到OpenSIPS的任何SIP电话的呼叫,呼叫可以正常工作。
我需要花费大量时间来学习我愿意做的OpenSIPS之类的路由逻辑,但是目前,我正试图解决问题,并希望有使用OpenSIPS CP的解决方案。如果没有,我希望在配置文件中找到一个示例。
我们非常感谢您的帮助,我已经在这里工作了几天,已经搜索了Google和Youtube,浏览了教程,观看了视频,花了点时间看书,等等。这显然是一条学习曲线,但我希望能有所帮助,以便早日完成此特定任务。
再次感谢您的帮助。如果有必要,请在Debian 8上使用最新的2.4版本的OpenSIPS。
答案 0 :(得分:1)
首先:无法通过CP进行此操作。 OpenSIPS CP旨在在较低级别上工作,从而帮助您管理数据(用户,路由规则,路由目标,拨号计划规则,TLS证书等)。将这些数据链接在一起的任何自定义高级逻辑都需要在opensips.cfg
中编写脚本。
幸运的是,默认opensips.cfg
已经满足了我们这里90%的需求。因此,您应该删除此部分,而不是将呼叫路由给用户并直接转到Plivo:
if (lookup("location")) {
...
}
...然后选择:
t_relay()
时使消息路由到Plivo:$du = "sip:your_plivo_ip:5060"; # set a "destination URI"
t_relay()
时它将转到Plivo:$ru = "sip:your_plivo_ip:5060"; # rewrite the "Request-URI"
就是这样!默认脚本已经执行record_route()
,以确保代理位于所有通话中请求的路径之内。