sip消息及格式说明

一、简介

SIP消息采用文本方式编码,分为两类:请求消息和响应消息。
 
请求消息:客户端为了激活按特定操作而发给服务器的SIP消息。
响应消息:用于对请求消息进行响应,指示呼叫的成功或失败状态。
请求消息和响应消息都包括SIP头字段和SIP消息字段。
 

二、请求消息详解

请求消息包括6条请求命令,非常简洁。
请求消息
消息含义
INVITE
发起会话请求,邀请用户加入一个会话,会话描述含于消息体中。对于两方呼叫来说,主叫方在会话描述中指示其能够接受的媒体类型及其参数。被叫方必需在成功响应消息的消息体中指明其希望接受哪些媒体,还可以指示其行将发送的媒体。
如果收到的是关于参加会议的邀请,被叫方可以根据Call-ID或者会话描述中的标识确定用户已经加入该会议,并返回成功响应消息。
ACK
证实已收到对于INVITE请求的最终响应。该消息仅和INVITE消息配套使用。
BYE
结束会话
CANCEL
取消尚未完成的请求,对于已完成的请求(即已收到最终响应的请求)则没有影响
REGISTER
注册
OPTIONS
查询服务器的能力
 

三、响应消息详解

响应消息是从100 - 699的返回码,分别表示不同的意义。
序号
状态码
消息功能
1xx
临时响应
表示已经接收到请求消息,正在对其进行处理
2xx
成功响应
表示请求已经被成功接受、处理
3xx
重定向响应
表示需要采取进一步动作,以完成该请求
4xx
客户端出错
表示请求消息中包含语法错误或者SIP服务器不能完成对该请求消息的处理
5xx
服务器端出错
表示SIP服务器故障不能完成对正确消息的处理
6xx
全局错误
表示请求不能在任何SIP服务器上实现
 
 

四、请求消息格式

 
/*按行排列*/
命令名称+目标URI+sip协议版本
call-id : xxx
via : xxx
from : xxx
to : xxx
contact : xxx
cseq : xxx
content-length : xxx
max-forward : xxx
content-type : xxx
/*空行*/
SDP
 

五、响应消息格式

/*按行排列*/
sip协议版本+响应返回码
call-id : xxx
via : xxx
from : xxx
to : xxx
contact : xxx
cseq : xxx
content-length : xxx
max-forward : xxx
content-type : xxx
/*空行*/
SDP
 

六、sip消息示例

 
1.请求消息示例:
INVITE sip:[email protected];user=phone SIP/2.0                            
Via: SIP/2.0/UDP 100.1.0.1                                                 
From:  <sip:[email protected];user=phone>;tag=1981486230                   
To:  <sip:[email protected];user=phone>                                    
Call-ID: [email protected]                                              
CSeq: 1 INVITE                                                               
Contact:  <sip:[email protected];user=phone;transport=udp>                
User-Agent: Cisco ATA  v2.11 ata186 (0803a)                                  
Expires: 300                                                                 
Content-Length: 245                                                          
Content-Type: application/sdp                                                
                                                                             
v=0                                                                          
o=02120001 573 573 IN IP4 100.1.0.252                                        
s=ATA186 Call                                                                
c=IN IP4 100.1.0.252                                                         
t=0 0                                                                        
m=audio 10000 RTP/AVP 0 4 8 101                                              
a=rtpmap:0 PCMU/8000/1                                                       
a=rtpmap:4 G723/8000/1                                                       
a=rtpmap:8 PCMA/8000/1                                                       
a=rtpmap:101 telephone-event/8000                                            
a=fmtp:101 0-15 
 
2.响应消息示例1:
SIP/2.0 180 Ringing 
From: <sip:[email protected]>;tag=1c12674 
To: <sip:[email protected]>;tag=e110e016 
CSeq: 2 INVITE 
Call-ID: [email protected] 
Via: SIP/2.0/UDP 191.169.150.101 
Contact: <sip:[email protected]:5061;transport=udp> 
Content-Length: 0 
 
3.响应消息示例2:
SIP/2.0 200 OK 
From: <sip:[email protected]>;tag=1c12674 
To: <sip:[email protected]>;tag=e110e016 
CSeq: 2 INVITE 
Call-ID: [email protected] 
Via: SIP/2.0/UDP 191.169.150.101 
Contact: <sip:[email protected]:5061;transport=udp> 
Content-Length: 183 
Content-Type: application/sdp 
 
v=0 
o=HuaweiSoftX3000 1073741834 1073741834 IN IP4 191.169.200.61 
s=Sip Call 
c=IN IP4 191.169.150.100 
t=0 0 
m=audio 8766 RTP/AVP 0 8 
a=rtpmap:0 PCMU/8000 
a=rtpmap:8 PCMA/8000 
 

你可能感兴趣的:(sip消息及格式说明)