Asterisk 1.8 Dialplan里获取SIP响应编码

网友投稿 795 2022-10-03

Asterisk 1.8 Dialplan里获取SIP响应编码

Asterisk 1.8  Dialplan里获取SIP响应编码

Asterisk里调试SIP确实挺麻烦的,一般使用另外的网络协议分析工具。从1.8版本开始,可以直接在Dialplan里拿到详细的SIP交互信息,从而更加准确地获取拨号状态、网络状态、用户状态(UA)等。 gxmc|          以前版本里,拨号后的状态DIALSTATUS一般返回值有ANSWER、BUSY、NOANSWER、CANCEL、CONGESTION、CHANUNAVAIL、DONTCALL、TORTURE、INVALIDARGS。 # X/Q          我们都经常被CONGESTION这个返回值困扰。几乎每个呼叫故障都返回CONGESTION。这是因为Dial()函数适用很多种协议,SS7,Zap,SIP,IAX等等,因此不能返回某个协议指定的信息,比如SIP 404 响应。 G),db%,X2          Asterisk 1.8 增加了一个功能,可以从Dialplan里面调用 {HASH(SIP_CAUSE,)}来获取具体的SIP响应信息,不仅是拨号状态,也可以是挂机原因(${HANGUPCAUSE})。 sRq U]i8l          Asterisk 1.8还新增了一个'use_q850_reason' 配置选项来生成和分析Q.850协议信息。"Reason: Q.850;cause=" 可以更好地通过SIP来传递 PRI/SS7原因编码。 Rd%0/ B  具体应用在哪些场合呢? kcS6_l          * 比如你有一些中继网关(SIP <-> ISDN或者SIP <-> SS7),当然希望能够监测真正的“congestion”信令,以便路由到其它的中继网关上。但是如果每个呼叫失败的消息都反馈成“CONGESTION“,就不可能实现这个功能。 +< KNY          * 你的电话听筒不能给用户显示SIP错误响应信息,所以你需要使用信号音。比如Cisco 7960 SIP总是无用地响着重拨信号音 "boop, boop, boop, boop",无论对任何SIP呼叫建立故障都一样。美国的"Reorder"信号音并不是手机上的惯例,听起来很像英国的忙音。这让用户无法判断到底哪里出了问题。 2xTT)9Tq*          * 如果你不想依赖电话听筒,而是通过SIP错误代码来提供更加一致的用户体验。在调用Dial()之前先调用Answer()让Asterisk摘机,然后使用Playtones() Wait() 来播放地区特定的呼叫进展信号音。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:微信小程序调用接口写在哪里(微信小程序怎么调用接口)
下一篇:微信小程序网络请求失败怎么解决(微信小程序网络异常怎么办)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~