偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

兩個SIP路由實(shí)例分析

網(wǎng)絡(luò) 網(wǎng)絡(luò)管理
下面我們來對SIP路由機(jī)制的兩個實(shí)際應(yīng)用案例進(jìn)行一下分析。以便幫助大家把相關(guān)定義和概念融會貫通一下。望對大家有用。

前面我們通過《闡述SIP路由機(jī)制的概念》一文,了解了關(guān)于SIP路由機(jī)制的有關(guān)定義和概念。那么接下來,對于這些抽象概念的解析,就讓實(shí)例來幫助大家理解吧。接下來,我們利用兩個SIP路由實(shí)例幫助大家把這些概念來融會貫通一下。

SIP路由示例1:

場景:兩個UE間有兩個Proxy,U1 -> P1 -> P2 -> U2,并且兩個Proxy都樂意添加Record-Route頭域。

消息流:

【說明】由于我們在此只關(guān)心SIP路由機(jī)制,因此下面消息中跟路由機(jī)制無關(guān)的頭域都省略了。

U1發(fā)出一個INVITE請求給P1(P1是U1的外撥代理服務(wù)器):

  1. INVITE sip:callee@domain.com SIP/2.0  
  2. Contact: sip:caller@u1.example.com  

P1不負(fù)責(zé)域domain.com,消息中也沒有Route頭域,因此通過DNS查詢得到負(fù)責(zé)該域的Proxy的地址并且把消息轉(zhuǎn)發(fā)過去。這里P1在轉(zhuǎn)發(fā)前就添加了一個Record-Route頭域,里面有一個lr參數(shù),說明P1是一個松散路由器,遵循RFC3261中的路由機(jī)制。

  1. INVITE sip:callee@domain.com SIP/2.0  
  2. Contact: sip:caller@u1.example.com  
  3. Record-Route: <sip:p1.example.com;lr> 

P2負(fù)責(zé)域domain.com,因此它通過定位服務(wù)得到callee@domain.com

對應(yīng)的設(shè)備地址是callee@u2.domain.com ,在SIP路由機(jī)制中,因此用新的URI重寫request-URI。消息中沒有Route頭域,因此它就把該消息轉(zhuǎn)發(fā)給request-URI中的URI,轉(zhuǎn)發(fā)前它也增加了一個Record-Route頭域,并且也有l(wèi)r參數(shù)。

  1. INVITE sip:callee@u2.domain.com SIP/2.0  
  2. Contact: sip:caller@u1.example.com  
  3. Record-Route: <sip:p2.domain.com;lr>  
  4. Record-Route: <sip:p1.example.com;lr> 

位于u2.domain.com的被叫收到了該INVITE消息,并且返回一個200OK響應(yīng)。其中就包括了INVITE中的Record-Route頭域。

  1. SIP/2.0 200 OK  
  2. Contact: sip:callee@u2.domain.com  
  3. Record-Route: <sip:p2.domain.com;lr>  
  4. Record-Route: <sip:p1.example.com;lr> 

被叫此時也就有了自己的路由集:

  1. (<sip:p2.domain.com;lr>,<sip:p1.example.com;lr>)  

并且它本次會話的遠(yuǎn)端目的地址設(shè)置為INVITE中Contact中的URI:caller@u1.example.com,此后被叫在該會話中的請求消息就發(fā)到這個URI。同樣,被叫在200 OK響應(yīng)中也攜帶了自己的聯(lián)系地址,主叫收到該響應(yīng)消息后也會把本次會話的遠(yuǎn)端目的地址設(shè)置為:callee@u2.domain.com,此后主機(jī)在該會話中的請求消息就發(fā)到這個URI。同樣,主叫也有了自己的路由集,只是跟被叫的是反序的:

  1. (<sip:p1.example.com;lr>,<sip:p2.domain.com;lr>)   

通話完畢后,我們架設(shè)主叫先掛機(jī),則主叫發(fā)出BYE請求:

  1. BYE sip:callee@u2.domain.com SIP/2.0  
  2. Route: <sip:p1.example.com;lr>,<sip:p2.domain.com;lr> 

可以看到,BYE的Route頭域正是主機(jī)的路由集構(gòu)造來的。由于p1在***個Route中,因此BYE首先發(fā)給P1。

P1收到該消息后,發(fā)現(xiàn)request-URI中的URI不屬于自己負(fù)責(zé)的域,而消息有Route頭域,并且***個Route頭域中的URI正是自己,因此刪除之,并且把消息轉(zhuǎn)發(fā)給新的***個Route頭域中的URI,也就是P2:

  1. BYE sip:callee@u2.domain.com SIP/2.0  
  2. Route: <sip:p2.domain.com;lr> 

P2收到該消息后,發(fā)現(xiàn)request-URI中的URI不屬于自己負(fù)責(zé)的域(P2負(fù)責(zé)的是domain.com,而不是u2.domain.com),***個Route頭域中的URI正是自己,因此刪除之,此時已經(jīng)沒有Route頭域了,因此就轉(zhuǎn)發(fā)給了request-URI中的URI。

被叫就會收到BYE消息:

  1. BYE sip:callee@u2.domain.com SIP/2.0 

 #P#

SIP路由示例2:

如果說上面的示例主要關(guān)注的是SIP路由流程,那么本示例關(guān)注的則是嚴(yán)格路由與松散路由的區(qū)別。

場景:U1->P1->P2->P3->P4->U2其中,P3是嚴(yán)格路由的,其余Proxy都是松散路由的,并且4個Proxy都很樂意增加Record-Route頭域。

消息流:我們直接給出了到達(dá)被叫的INVITE消息:

  1. INVITE sip:callee@u2.domain.com SIP/2.0  
  2. Contact: sip:caller@u1.example.com  
  3. Record-Route: <sip:p4.domain.com;lr>  
  4. Record-Route: <sip:p3.middle.com>  
  5. Record-Route: <sip:p2.example.com;lr>  
  6. Record-Route: <sip:p1.example.com;lr> 

這中間的其他消息我們就不過問了,直接看一下被叫***發(fā)出的BYE消息大概是什么樣子:

  1. BYE sip:caller@u1.example.com SIP/2.0  
  2. Route: <sip:p4.domain.com;lr>  
  3. Route: <sip:p3.middle.com>  
  4. Route: <sip:p2.example.com;lr>  
  5. Route: <sip:p1.example.com;lr>  

因?yàn)镻4在***個Route里,因此被叫將BYE消息發(fā)給了P4。

P4收到該消息后,發(fā)現(xiàn)自己不負(fù)責(zé)域u1.example.com,但是***個Route頭域中的URI正是自己,因此刪除之。在SIP路由機(jī)制中,P4還發(fā)現(xiàn)新的***個Route頭域中的URI是一個嚴(yán)格路由器,因此它把request-URI中的URI添加到***一個Route的位置,并且將***個Route“彈出”并且覆蓋原來的request-URI。然后將消息轉(zhuǎn)發(fā)給當(dāng)前的request-URI,也就是P3。

  1. BYE sip:p3.middle.com SIP/2.0  
  2. Route: <sip:p2.example.com;lr>  
  3. Route: <sip:p1.example.com;lr>  
  4. Route: <sip:caller@u1.example.com> 

P3收到該消息后,直接把消息作出如下變換并且發(fā)給P2:

  1. BYE sip:p2.example.com;lr SIP/2.0  
  2. Route: <sip:p1.example.com;lr>  
  3. Route: <sip:caller@u1.example.com> 

P2收到該消息后,發(fā)現(xiàn)消息中的request-URI是自己的,因此在進(jìn)一步處理先首先對消息做如下變換:

  1. BYE sip:caller@u1.example.com SIP/2.0  
  2. Route: <sip:p1.example.com;lr>  

然后,P2發(fā)現(xiàn)自己不負(fù)責(zé)域u1.example.com 。***個Route中的URI也不是自己的,因此將消息轉(zhuǎn)發(fā)給該URI,也就是P1。

P1收到該消息后,發(fā)現(xiàn)自己不負(fù)責(zé)域u1.example.com,但是***個Route頭域中的URI正是自己,因此刪除之。

消息變成下面的樣子:

  1. BYE sip:caller@u1.example.com SIP/2.0 

既然Route頭域已經(jīng)是空,因此P1把消息發(fā)給u1.example.com。

到這里,兩個SIP路由實(shí)例已經(jīng)講解完了,不知道大家對這部分知識是否了解了,希望本文的總結(jié),能夠讓給大家一些參考。

責(zé)任編輯:佟健 來源: hi.baidu.com
相關(guān)推薦

2009-07-15 18:29:22

Jython應(yīng)用

2011-07-05 16:13:18

2010-09-17 10:24:55

SIP INVITE

2012-12-17 09:52:18

路由器連接路由器設(shè)置

2011-08-29 14:38:10

路由器ADSL貓雙路由連接

2009-11-03 17:24:01

VB.NET特殊形狀窗

2019-10-31 08:22:39

shell腳本Linux

2009-11-26 10:14:37

路由器連接

2022-07-29 12:56:19

寬帶路由器設(shè)置

2010-09-26 14:42:58

路由器DHCP設(shè)置

2010-08-06 11:28:33

RIP分組格式

2020-10-12 09:39:34

漏洞

2010-08-19 11:22:19

marginpadding

2022-06-17 09:46:51

Chrome 102Chrome瀏覽器

2012-11-05 10:15:24

路由器VLAN

2009-11-25 15:50:16

路由器調(diào)試

2010-09-17 09:34:00

SIP路由機(jī)制

2020-11-13 07:16:09

線程互斥鎖死循環(huán)

2010-07-30 13:16:52

路由器

2019-08-08 09:09:20

MySQL硬件Linux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號