当前位置: 首页 > 系统与网络 > 正文

[分享]SIP电话机拨出挂断后重拨无声音的问题

以下内容若转载请注明出处,谢绝无引用原址的转帖方式!

 

出现地区:

该问题仅出现在部分省市。并不是所有省份都会出现此问题。现问题出现省份 四川。

 

故障描述:

SIP电话机 已经注册上,并且拨通电话后挂断,15分钟(大概)二次或者多次重拨,会出现能拨通但双方均无法通话的情况。双方话机均无声音,类似静音状态。无论拨打任何电话,首次均能正常通话,过15分钟后再重拨,也能正常通话。

 

故障解决:

登陆SIP电话机,选择已配置对应的SIP线路,点开 SIP高级设置 。

 

找到 开启PRACK 勾选,之后保存配置。

 

之后问题解决。

 

什么是PRACK?

PRACK:the Provisional Response ACKnowledgement
 
SIP中的最终响应被理解是会可靠传输的,例如对应INVITE的200OK响应,UAC会给一个ACK,告诉UAS已经收到了200OK。200与ACK间的可靠性是end-to-end的。PRACK是SIP消息中保证临时消息(101-199)可靠传输的机制。PRACK就是仿照200OK的可靠性响应,对除100以外的1xx临时响应(100是hop-to-hop的),进行可靠性传输。PRACK一般是对收到183 call in progress/180 ringing的确认。
PRACK的实现
  UAC与UAS对是否支持该扩展的协商,就是通过一个option tag — 100rel。
为达到该目的,UAC有两种选择,在INVITE消息中加入Require:100rel或者Supported:100rel。UAS在接受到上述消息中,也存在选择的问题。
  当INVITE中含有Supported:100rel,UAS在发送临时消息中,可以根据UAS中是否支持PRACK决定发送临时消息中的参数。如果支持则临时消息中加入Require:100rel和Rseq字段,接到该消息UAC发送PRACK;否则不加上述参数,UAC不发PRACK。
  当INVITE中含有Require:100rel。UAS如果不支持PRACK需要使用420(不正确的扩展)来拒绝呼叫。否则临时消息中加入Require:100rel和Rseq字段,接到该消息UAC发送PRACK。
  例如:UAC发起的INVITE中含有Supported:100 rel,而UAS也支持该扩展并且在183响应中有Require:100rel,说明接下来会话中,对所有100以外的1xx响应,均要有PRACK回应。
 
PRACK被定义在RFC3262中。

摘自:http://blog.chinaunix.net/uid-790245-id-2037585.html

本文固定链接: http://blog.ich8.com/post/6461 | 霸王硬上弓's Blog

avatar
该日志由 霸王硬上弓 于2017年08月09日发表在 系统与网络 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: [分享]SIP电话机拨出挂断后重拨无声音的问题 | 霸王硬上弓's Blog

[分享]SIP电话机拨出挂断后重拨无声音的问题:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!