比较详细的介绍请见sip协议官方文件https://www.rfc-editor.org/rfc/rfc3261.html 国内有一篇文章写得比较好适合新手查看https://blog.csdn.net/huangyifei_1111/article/details/122865544 这里简单介绍一下
协议基本介绍
Internet的许多应用都需要建立和管理一个会话,会话在这里的含义是在参与者之间的数据的交换。由于考虑到参与者的实际情况,这些应用的实现往往是很复杂的:参与者可能是在代理间移动,他们可能可以有多个名字,他们中间的通讯可能是基于不同的媒介(比如文本,多媒体,视频,音频等)-有时候是多种媒介一起交互。人们创造了无数种通讯协议应用于实时的多媒体会话数据比如声音,影像,或者文本。SIP(会话初始协议)和这些协议一样,同样允许使用Internet端点(用户代理)来寻找参与者并且允许建立一个可共享的会话描述。为了能够定位精确的会话参与者,并且也为了其他的目的,SIP允许创建基础的network hosts(叫做代理服务器),并且允许终端用户注册上去,发出会话邀请,或者发出其他请求。SIP是一个轻形的,多用途的工具,可以用来创建,修改和终止会话,它独立运作于通讯协议之下,并且不依赖建立的会话类型。
功能介绍
SIP是一个应用层的控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)例如Internet 电话。SIP也可以邀请参与者参加已经存在的会话,比如多方会议。媒体可以在一个已经存在的会话中方便的增加(或者删除)。SIP显示的支持名字映射和重定向服务,这个用于支持个人移动业务-用户可以使用一个唯一的外部标志而不用关系他们的实际网络地点。SIP在建立和维持终止多媒体会话协议上,支持5个方面: 1) 用户定位: 检查终端用户的位置,用于通讯。 2) 用户有效性:检查用户参与会话的意愿程度。 3) 用户能力:检查媒体和媒体的参数。 4) 建立会话:”ringing”,建立会话参数在呼叫方和被叫方。 5) 会话管理:包括发送和终止会话,修改会话参数,激活服务等等。
协议格式
SIP消息体结构与Http协议结构相似,均由三部分组成:
•请求行(request-line) or 状态行(status-line) •消息头(header) •正文(body)