售前電話
135-3656-7657
售前電話 : 135-3656-7657
在SIP中實現(xiàn)RSVP功能
在SIP中實現(xiàn)RSVP的步驟如圖3-9所示。
圖3-9中實線的部分是SIP命令,虛線部分是RSVP消息。首先創(chuàng)建一個RSVP的會話萸 例,如果成功則返回一個非零的數(shù)值用于表示建立的會話ID號,創(chuàng)建會話是為了發(fā)送RSVP PATH或者是發(fā)送RSVP RESVo接下來的流程如下:
(1)主叫部分發(fā)送INVITE命令,命令中包含有主叫的會話描述(這里稱為Remote SDP )。
(2)被叫部分此時處于OpRing的狀態(tài)中接收到主叫的INVITE消息以后,根據(jù)主叫的 INVITE消息和主叫的SDP,得到主叫的地址和主叫的RSVP端口(主叫的RTP端口);被叫 發(fā)送包含有數(shù)據(jù)流標(biāo)識和數(shù)據(jù)業(yè)務(wù)流特征的PATH消息到主叫。
(3)在完成了一系列SIP命令和狀態(tài)的交換(RING, OK過程)以后,主叫方開始準(zhǔn)備 發(fā)送ACK消息了,主叫在下一個過程(收到ACK消息后,打開RTP通道之前)的時候,已 經(jīng)保證了所有的主叫到被叫之間的路由器都已經(jīng)收到了 PATH預(yù)留消息。
(4)5和6兩個消息是主叫端點向被叫端點發(fā)送PATH消息,并且接收對端的RESV消息 的過程。
SIP COMET
只有當(dāng)所有條件滿足時,才會發(fā)送COMET。
1.SDP擴展
擴展SDP的BNF描述如下:
qos-attribute="a=qos:" strength-tag SP direction-tag[SP confirmation-tag];服務(wù)質(zhì)量屬性 strength-tag= ("mandatory" I "optional" I "success" l"failure")
direction-tag= ("send" I "recv" I "sendrecv") confirmation-tag = "confirm" security-attribute="a=secure:"SP strength-tag SP direction-tag[SP confirmation-tag]
2. SDP實例
以下為從A到B的SIP INVITE中的SDP描述。
v=0
o=mhandley 2890844526 2890842807 IN IP4 126.16.64.4
s=SDP Seminar
i=A Seminar on the session description protocol
u=http://www.cs.ucl.ac.uk/staff/M.Handley/sd p.03.ps
e=mjh@isi.edu (Mark Handley)
c=INIP4 224.2.17.12/127
t=2873397496 2873404696
m=audio 49170 RTP/AVP 0;媒體類型 a=qos:mandatory recv confirm
"m=video 51372 RTP/AVP 31;媒體類型 a=secure:mandatory sendrecv m=application 32416 udp wb a=orient:portrait
a=qos:optional sendrecv a=secure:optional sendrecv
1.SIP流程
SIP的工作流程如圖3.10所示。
策略服務(wù)
1.模型
策略服務(wù)模型如圖3-11所示,其中,issll 為 Intergrated Services over Specific Lower Layers , APS為應(yīng)用策略服務(wù)器。
2.OSP (Open Settlements Protocol)OSP流程如圖3?12所示。
1)SIP消息
消息如下:
INVITE sip:+1-972-555-5555 @sip.domain2.com;user=phone SIP/2.0
Via: SIP/2.0/UDP phone 1.domain 1.com:5060
From: Henry Sinnreich henry.sinnreich@phone 1 .domain].com; 發(fā)端
To: <sip:+1972-555-5555@sip.domain2.com;user=phone>;收端
Callid: 123456 @ domain 1 .com
Cseq: 1 INVITE
Contact: phone 1 .domain 1 .com
SDP
QoS required
2)COPS消息
消息如下:.
REQ OSP =
(Common Header, Client Handle, Context, ClientSI: OSP)
Client Handle = "123456@domainl.com"
Context = "Incoming & Outgoing", "OSP"
ClientSI: OSP = (Called Number, Calling Number)
Called Number = "To: <sip:+1972-555-5555@sip.domain2.com;user=phone>";收端
Calling Number = "From: Henry Sinnreich;發(fā)端
henry.sinnreich @phone 1 .domain l.comn
3)OSP消息
消息如下:
<AuthReq>
<?xml version=1.0?>
<Message messageld=" 123454321" random=n12345678">
<AuthorizationRequest componentId="9876567890M>
<Timestamp>
1999-10-24T17:03:00Z
</Timestamp>
<CallId encoding="base64"> YT64VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756t
</CallId>
<SourceInfo type=Hhenry.sinnreich @phone 1 .domain 1 ,com">
</SourceInfb>
<DestinationInfo type="el64">
1-972-555-5555
</DestinationInfb>
<Service/>
<MaximumDestinations>
5
</MaximumDestinations>
</AuthorizationRequest>
</Message> <AuthReq/>
4)OSP消息
消息如下:
<AuthRsp>
<?xml version=1.0?>
<Message messageld=" 123454321" random="l 2345678 ">
<AuthorizationResponse componentId=H9876567890"> <Timestamp>
1999-10-24T17:03:01Z
</Timestamp>
<Status>、
<Code>
200
</Code>
<Description>
success
</Description>
</Status>
<TransactionId>
67890987
</TransactionId>
<Destination>
<DestinationSignalAddress>
[172.16.1.2]:112
</DestinationSignalAddress>
<Token encoding="base64">
YT64VqpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756t
HGTrfvbnjn8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfH
6ghyHhHUujpfyF47GhIGfHfYT64VQbnj
</Token>
<ValidAfter>
1999-04-24T17:01:01Z
</ValidAfter>
<ValidUntil>
1998-04-24T17:ll:01Z
</ValidUntil>
<CallId encoding="base64">
YT64VqpfyF467GhIGfHfYT6jH 力 n8HHGghyHhHUujhJh756t </CalUd>
<UsageDetail>
<Service/>
<Amount>
24
</Amount>
<Increment>
3600
</Increment>
<Unit>
s
</Unit>
</UsageDetail>
</Destination>
</AuthorizationResponse>
</Message>
<AuthRsp>
5)COPS消息
消息如下:
DEC = (Common Header, Client Handle, Context,
Decision Flag,Decision: ClientSI Data: OSP)
Client Handle = "123456@domainl.com"
Context = "Incoming & Outgoing"
Decision Flag = "Install"
Decision: ClientSI Data: OSP = (Called Number, Authorization Token)
Called Number = "To: <sip:+1972-555-5555@sip.domain2.com;user=phone>" Authorization Token = "<Token encoding=nbase64n>
YT64VQpfyF467GhIGfHfYT6jH77n8HHGghyHhHUujhJh756t HGTrfvbnjn8HHGTrfvhJhjH776tbB9HG4VQbnj7567GhIGfH 6ghyHhHUujpfyF47GhIGfHfYT64VQbnj
</Token>"
Opt. SIP
SIP/2.0 100 Trying
Via: SIP/2.0/UDP phone 1 .domain 1 .com:5060
From: Henry Sinnreich <henry.sinnreich@phone 1 .domain 1 .com>
To: <sip:+l972-555-5555@sip.domain2.com;user=phone>
Callid: 123456 @ domain 1 .com
Cseq: 1 INVITE
6)SIP消息
消息如下:
INVITE sip:+l-972-555-5555 @sip.domain2.com;user=phone SIP/2.0
Via: SIP/2.0/UDP sip.domain 1 .com:5060
Via: SIP/2.0/UDP phone 1 .domainl .com:5060
From: Henry Sinnreich <henry.sinnreich@phone 1 .domain 1 .com>
To: <sip:+1972-555-5555@sip.domain2.com;user=phone>
Callid: 123456@ domain 1 .com
Cseq: 1 INVITE
Contact: phonel.domainl.com
Record-Route: sip.domainl.com
SDP
QOS required
7)SIP消息
消息如下:
INVITE sip:+l-972-555-5555@sip.domain2.com;user=phone SIP/2.0
Via: SIP/2.0/UDP sip.domain2.com:5060
Via: SIP/2.0/UDP sip.domain 1 .com:5060
Via: SIP/2.0/UDP phone 1 .domain 1 .com:5060
From: Henry Sinnreich <henry.sinnreich @ phone 1 .domain 1 .com>
To: <sip:+l972-555-5555@sip.domain2.com;user=phone>
Callid: 123456@domain 1 .com
Cseq: 1 INVITE
Contact: phone 1 .domain 1 .com
Record-Route: sip.domainl.com
SDP
QOS required '
8)SIP消息
消息如下:"
SIP/2.0 183 Session Progress
Wa: SIP/2.0/UDP sip.domain2.com:5060
Via: SIP/2.0/UDP sip.domainl.com:5060
Via: SIP/2.0/UDP phone 1 .domain 1 .com:5060
From: Henry Sinnreich <henry.sinnreich @phone 1 .domain 1 .com>
To: <sip:+1972-555-5555@sip.domain2.com;user=phone>;tag=134159
Callid: 123456@domain 1 .com
Cseq: 1 INVITE
SDP
QoS required
9)COPS消息
消息如下:
REQ AssuredLDP=
(Common Header, Client Handle, Context, ClientSI: ConfigLocalPolicy)
Client Handle = " 123456 @ domain 1 .com"
Context = "Configuration Request" ,nConfigLocalDecisionPolicy"
ClientSI: ConfigLocalDecisionPolicy = ( Caller Media Address, Caller Media
Port, Caller SDP info, Callee Media Address, Callee Media Port, Callee SDP
info)
10)COPS 消息
消息如下:
DEC =
(Common Header, Client Handle) (Decision) I (Error)
Client Handle = nR1001"
Decision = (Context, Decision Flag, Named Decision Data: Config Local DecisionPolicy)
Context = "Configuration Request", "ConfigLocalDecisionPolicy"
Decision Flag = "Install"
Named Decision Data: (Binding Count, PRID, BPD)
Binding Count = 1
PRID = "1.2.3.4"