SIP理解

概念

SIP是应用层的信令控制协议。

应用层:在网络通信中最上层,实现业务的具体功能。

信令:信息指令,表示协议的传输的内容是指令而非业务数据。

控制:执行什么样的操作。

功能

用于创建、修改和释放一个或者多个参与者的会话。

重要特点

1)不定义要建立的会话类型,只定义如何管理会话。 SIP不是一个垂直集成的通讯系统,可能叫做是一个部件更合适。

2)SIP本身并不提供服务。但是,SIP提供了一个基础,可以用来实现不同的服务。

那么SIP协议是如何实现了创建、修改、释放会话的功能?

先看SIP通信流程图

简单的SIP通信由3个组件组成。

1)用户代理(User Agent Client),即终端。比如SIP电话。

2)代理服务器(User Agent Server),负责连接用户代理和查询终端定位。

3)注册服务器。是一个保存了用户代理(终端)信息服务器。可以理解为一个通讯录。

应用示例,终端A拨打终端B电话:

1)终端A先联系代理服务器,把B给到proxy,告诉它我是联系B。

2)proxy它自己不知道,就去翻通讯录(即注册服务器),找到B对应的IP地址,并拨打B。

3)B接听电话后,proxy就把A和B联通。

总结,SIP就是一个控制协议,上例中具体的音频数据的传输都是通过RTP协议完成。在使用代码实现的话,不仅需要实现SIP几个模块,比如RTP也是需要实现。

SIP协议中SDP和RTP协作音视频通话的流程

SIP中SDP及其RTP的工作过程_百度文库