SIP协议栈添加 PRACK 支持

  csdn lidp  http://blog.csdn.net/perfectpdl


对 INVITE 请求的 SIP 响应可能是最终的或临时的。最终响应始终可靠地发送,而临时响应通常并非这样。对于需要可靠地发送临时响应的情况,可以使用 PRACK(临时响应确认)方法。

为了能够开发支持 PRACK 的应用程序,必须符合下列条件:
  • 发送 INVITE 请求的客户机必须将一个 100rel 标记放入到 Supported 或 Require 头中以指示此客户机支持 PRACK。
PRACK 按下列标准进行了描述:
  • RFC 3262(“Reliability of Provisional Responses in the Session Initiation Protocol (SIP)”),它通过添加 PRACK 和选项标记 100rel 扩展了 RFC 3261(“SIP: Session Initiation Protocol”)。
过程
  • 对于充当代理的应用程序,执行此操作:
    • 使应用程序生成并发送一个可靠的临时响应给在“至”字段中任何没有标记的 INVITE 请求。
  • 对于充当用户代理客户机(UAC)的应用程序,执行此操作:
    • 使应用程序将 100rel 标记添加至出局 INVITE 请求。此选项标记必须出现在 Supported 头或 Require 头中。
    • 根据 RFC 3262 小节 7.2(“RAck”)设置 RAck 头。
    • UAC 发送 INVITE 并接收可靠的响应。当 UAC 接收此可靠响应时,它发送 PRACK 请求给 UAS 并在 PRACK 上接收到一个 200 OK,所以紧接着应实现 接收此 200 OK。
    • 准备好应用程序以便为入局的 PRACK 请求生成并发送最终的响应。
  • 对于充当用户代服务器(UAS)的应用程序,执行此操作:
    • 当可靠的临时响应没有在 64*T1 秒内应答时(其中 T1 是一个 SIP 计时器)
    • 使该应用程序至多有一个未完成、未应答的可靠临时响应。在第一个应答导致出现异常之前尝试发送另一个。
    • 确保该应用程序强制 RFC 3262 提供/应答语义周围的 PRACK 请求包含会话描述。具体来说,如果任何未应答的临时响应包含会话描述,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值