SIP协议是一个基于文本的协议,其消息包括请求和响应。
消息格式
开始行(请求行、状态行) // 请求行(方法 Request-URI 版本)/响应行(版本 状态码 信息)
消息头域空行
(CRLF) //”\r\n”
[消息体]
消息体包含媒体信息,采用SDP协议描述
SIP请求主要方法:
INVITE: 表示请求用户或服务加入一个会话
ACK:用来确认客户已经收到了一个对INVITE请求的最终响应
仅和INVITE请求配套
证实已收到对于INVITE请求的最终响应
成功响应:UAC证实不成功响应:PS或UAC证实
三次握手过程:INVITE-响应-ACK
ACK可含消息体,给出被叫使用的最终会话描述
OPTIONS:用于查询对方用户代理的能力
BYE:用于结束一个会话
CANCEL:用于撤销一个正在等待的请求
REGISTER:用于将自己的地址信息注册到服务器上
其他方法:
INFO, REFER, PRACK, COMET, SUBSCRIBE, UNSUBSCRIBE, NOTIFY, MESSAGE等
SIP响应响应类型:
1XX 进展报告,请求已收到,正在处理.
100:Trying
180:Ringing
181:Call is being forwarded
182:Queued
2XX 请求成功
3XX 重定向,还需进一步操作才能完成请求
Contact: 指示重定向地址
300:Multiple Choices
301:Mov