📅  最后修改于: 2023-12-03 15:20:08.931000             🧑  作者: Mango
SIP是一种基于文本的通信协议,用于控制实时会话,例如语音和视频通话。它是VoIP(Voice over IP)技术中最常用的协议之一。
SIP使用HTTP类似的请求-响应模型。客户端向服务器发送请求消息,服务器向客户端发送响应消息。
SIP消息分为两种类型:请求消息和响应消息。请求消息通过request-uri
指定一个或多个接收方。响应消息则指定该请求的结果。
SIP请求消息包括以下几部分:
响应消息包括以下几部分:
SIP使用请求-响应模型。请求消息包括以下几种方法:
SIP消息头包含多个头字段,其中要求加入到所有SIP消息中的头是:
头部还可以包含其他可选头,例如User-Agent、Expires、Max-Forwards、Content-Type等等。
SIP INVITE消息示例:
INVITE sip:\[email protected];user=phone SIP/2.0
Via: SIP/2.0/UDP 192.0.2.101:5060;branch=z9hG4bK1a1ad
Max-Forwards: 69
To: Bob <sip:[email protected]>;tag=a6c85cf
From: Alice <sip:[email protected]>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
Content-Length: 142
v=0
o=- 123456 654321 IN IP4 192.0.2.3
s=Talk
c=IN IP4 192.0.2.3
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
SIP 200 OK响应消息示例:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.0.2.101:5060;branch=z9hG4bK1a1ad
To: Bob <sip:[email protected]>;tag=a6c85cf
From: Alice <sip:[email protected]>;tag=1928301774
Call-ID: a84b4c76e66710
CSeq: 314159 INVITE
Contact: <sip:[email protected]:5060>
Content-Type: application/sdp
Content-Length: 142
v=0
o=- 123456 654321 IN IP4 192.0.2.3
s=Talk
c=IN IP4 192.0.2.3
t=0 0
m=audio 49170 RTP/AVP 0
a=rtpmap:0 PCMU/8000
基于SIP的应用程序可以实现各种语音和视频通信功能。一些常见的SIP应用程序包括: