asterisk 终于要替换SIP协议栈了

来源:互联网 发布:服务器租赁 知乎 编辑:程序博客网 时间:2024/05/24 05:44

本文 来自 csdn ucser http://blog.csdn.net/perfectpdl, 转载注明出处,谢谢。


Asterisk社区还真够活跃,刚刚在Asterisk 增加了 webrtc, ICE等新技术的支持,这不,又要在Asterik 12中替换其原有的SIP

协议栈,对Asterisk 内部了解的人都知道,其现有SIP协议栈有诸多弊端,导致其已经很难维护,以下是其现有SIP协议栈的缺点:

1. 整个SIP协议的实现代码不是一个以协议栈方式组织的,全部代码在一个文件 chan_sip.c中,没有SIP协议分层的概念,导致添加一个传输层的支持

要在整个源码里面各种找。

2. 改一个bug往往导致新的bug出现,原因是其代码抽象很差,一个标志位可能用在多个地方来标识某个特性,稍有疏忽,就会导致一个新的BUG。



终于 asterisk向第三方SIP协议栈招手,在流行的SIP协议栈 pjsip, reprocate, sofia-sip中选择了 pjsip. asterisk-scf也是用的这个协议栈,但遗憾的是asterisk-scf项目

中途夭折了。。


采用新SIP协议栈将实现如下功能:

  • Transports (all IPv4 and IPv6)
    • UDP
    • TCP
    • TLS
    • Websocket
  • Digest authentication
  • Media sessions
    • Basic phone calls
    • Call transfer
    • Audio/video capability negotiation (to include T.38 negotiation)
    • Direct media
    • Session timers
    • Party Identity
  • Registration
    • Registrar for incoming registrations
    • Client registration (i.e. outgoing registration)
  • Subscriptions
    • Presence
    • Dialog-info
    • Message-summary
    • Call-completion
  • Messaging
    • Out-of-call messaging