您当前的位置是:  首页 > 新闻 > 国内 >
 首页 > 新闻 > 国内 >

Asterisk课堂-SIP介绍

2016-12-19 10:49:45   作者:james.zhu   来源:asterisk   评论:0  点击:


\    

  本章节主要介绍asterisk中经常使用的SIP协议,包括SIP协议的基本概念,SIP协议所支持的设备终端,SIP的存在的问题,Asterisk在SIP实现中扮演的角色,SIP技术细节(SIP,SDP,RTP)。视频中我们简单介绍了以上几个方面的要点:
  现在我们简单介绍一下这几个方面的内容:
  SIP协议是标准通信协议,当初设计的目的不仅仅是实现对语音通信的支持,更多是为了一般标准通信协议所设计,支持的媒体类型包括了文本,语音和视频。
\
  SIP在Asterisk中或者其他的软交换中扮演着非常重要的角色,支持很多设备类型,基本上在目前市场上主流软交换都支持了SIP协议。支持SIP协议的周边终端设备包括了物理SIP话机,基于PC的软电话,手机APP,电话会议系统,对讲系统,物理服务器,语音网关,当然还有Asterisk本身。通过不同类型的设备互相通信,把整个Asterisk周边接口都连接在了一起。
\
  SIP 在OSI 模型中的使用和存在的问题,因为SIP设计采用了应用层和网络层来控制整个呼叫流程,所以在实际使用过程中需要借助很多第三方来实现完整的语音验证,端口转发,媒体通信。用户在公网实现中可能需要考虑很多专业的设备或者软件来解决SIP NAT问题,例如SBC。SBC不仅仅支持了拓扑隐藏,防攻击,编码转换,同时支持了PSTN逃生功能,支持了模拟和数字接口。
\

\
  Asterisk是一个SIP的背靠背代理,不是一个proxy。这一点大家要非常注意。这也是很多人通常犯的最基本的错误。简单来说,就是通过背靠背的方式,把两个SIP终端连接到了一起,并且通过Asterisk实现一些对呼叫的业务控制。为了实现对呼叫复杂的业务控制,Asterisk必须分别创建两个通道来响应两个不同的SIP终端。所以Asterisk可以对SIP终端实现号码变换,实现呼叫录音或者通过应用模块来终止这个呼叫流程(例如简单播放IVR,直接hangup)。这样,asterisk就会实现非常复杂的业务功能。相对Proxy来说,它基本上不会对终端进行处理,仅仅是简单的转发功能。这里关于背靠背代理和proxy,我们不做更加深入的解释,用户可以从互联网获得很多资料。
\
  SIP技术细节包括了SIP控制协议本身,SDP协议,和RTP协议。它们分别控制着呼叫发起,呼叫描述和语音传输的功能。在这三个协议中,经常可能需要检查SIP端口,RTP端口,语音编码类型。这些因素影响语音的正常通话。另外,注意的是,Asterisk-12以上版本,用户会切换到PJSIP协议,所以端口配置文件发生了变化。另外,如果要解决公网注册的问题,路由器需要开启的RTP端口范围。
\
  在以上的内容中,我们简单描述了SIP的基本概念,SIP在使用环境中的问题,还有所支持的SIP设备,Asterisk是一个SIP背靠背代理,在业务处理方面发挥的作用,最后介绍了三个基本协议SIP本身,SDP,RTP所各自负责的工作和端口设置。

专题