sip协议

sip协议的理解
Session Initiation Protocol 是一种信令协议,用于初始、管理和终止网络中的语音和视频会话,具体地说就是用来生成、修改和终结一个或多个参与者之间的会话。它是一个文本协议。
sip协议往往多用于复杂的大的信令会话系统(如电话电信系统)。
代理服务器本身具有—客户端元素(客户机UAC)和—服务器元素(服务器UAS)。
每一个sip节点大多都具有双重元素(UAC和UAS)。
sip协议与许多其他协议(rtp,rtsp等)可以协同工作。

sip协议是一个复杂的信令会话协议,主要支出5个方面:
用户定位: 检查终端用户的位置,用于通讯。
用户有效性:检查用户参与会话的意愿程度。
用户能力: 检查媒体和媒体的参数。
建立会话:”ringing”,建立会话参数在呼叫方和被叫方。
会话管理:包括发送和终止会话,修改会话参数,激活服务等等。
SIP是基于一个类似HTTP协议(不同的是,sip是长连接)的请求应答的通讯模式。

SIP业务的网络结构
sip协议_第1张图片

SIP的基本实现示例:
Alice在她的PC上使用一个SIP的应用程序(比如说一个软的电话),呼叫Bob在Internet上的一个SIP电话。
Alice 通过Bob的SIP标志“呼叫” Bob,这个SIP标志是统一分配的资源(Uniform Resource Identifier URI)称作SIP URI。

关于SIP URI,指的是sip系统统一分配的资源,是唯一的。
例如:
Alice有一个SIP URI == sip:[email protected]
Bob的SIP URI == sip:[email protected]

Alice的软电话发送一个含有Bbo的SIP URI抵制的INVITE通讯请求。
这个INVTE请求包含一系列的包头域(Header fields)。包头中包含很多属性。
在INVITE中有如下的字段:呼叫的唯一标志,目的抵制,Alice的地址,Alice和Bob建立会话的类型。

下面就是具体的INVITE信息:
INVITE sip:[email protected] SIP/2.0
Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds
Max-Forwards: 70
To: Bob sip:[email protected]
From: Alice sip:[email protected];tag=1928301774
Call-ID: [email protected]
CSeq: 314159 INVITE
Contact: sip:[email protected]
Content-Type: application/sdp
Content-Length: 142
(Alice’s SDP not shown)

Bob的回复:
SIP/2.0 200 OK
Via: SIP/2.0/UDP server10.biloxi.com
;branch=z9hG4bKnashds8;received=192.0.2.3
Via: SIP/2.0/UDP bigbox3.site3.atlanta.com
;branch=z9hG4bK77ef4c2312983.1;received=192.0.2.2
Via: SIP/2.0/UDP pc33.atlanta.com
;branch=z9hG4bK776asdhds ;received=192.0.2.1
To: Bob sip:[email protected];tag=a6c85cf
From: Alice sip:[email protected];tag=1928301774
Call-ID: [email protected]
CSeq: 314159 INVITE
Contact: sip:[email protected]
Content-Type: application/sdp
Content-Length: 131
(Bob’s SDP not shown)

http://www.cnblogs.com/gnuhpc/archive/2012/12/10/2812095.html
http://www.cnblogs.com/4rock/archive/2007/04/19/2380177.html
http://blog.csdn.net/zljjava/article/details/7889234

你可能感兴趣的:(综合)