自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩個SIP路由實例分析

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

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

SIP路由示例1:

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

消息流:

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

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

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

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

  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負責域domain.com,因此它通過定位服務得到callee@domain.com

對應的設備地址是callee@u2.domain.com ,在SIP路由機制中,因此用新的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響應。其中就包括了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>)  

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

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

通話完畢后,我們架設主叫先掛機,則主叫發(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頭域正是主機的路由集構造來的。由于p1在***個Route中,因此BYE首先發(fā)給P1。

P1收到該消息后,發(fā)現(xiàn)request-URI中的URI不屬于自己負責的域,而消息有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不屬于自己負責的域(P2負責的是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:

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

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

消息流:我們直接給出了到達被叫的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>  

因為P4在***個Route里,因此被叫將BYE消息發(fā)給了P4。

P4收到該消息后,發(fā)現(xiàn)自己不負責域u1.example.com,但是***個Route頭域中的URI正是自己,因此刪除之。在SIP路由機制中,P4還發(fā)現(xiàn)新的***個Route頭域中的URI是一個嚴格路由器,因此它把request-URI中的URI添加到***一個Route的位置,并且將***個Route“彈出”并且覆蓋原來的request-URI。然后將消息轉(zhuǎn)發(fā)給當前的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是自己的,因此在進一步處理先首先對消息做如下變換:

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

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

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

消息變成下面的樣子:

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

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

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

責任編輯:佟健 來源: hi.baidu.com
相關推薦

2009-07-15 18:29:22

Jython應用

2011-07-05 16:13:18

2010-09-17 10:24:55

SIP INVITE

2012-12-17 09:52:18

路由器連接路由器設置

2011-08-29 14:38:10

路由器ADSL貓雙路由連接

2009-11-03 17:24:01

VB.NET特殊形狀窗

2019-10-31 08:22:39

shell腳本Linux

2010-09-26 14:42:58

路由器DHCP設置

2009-11-26 10:14:37

路由器連接

2022-07-29 12:56:19

寬帶路由器設置

2020-10-12 09:39:34

漏洞

2010-08-06 11:28:33

RIP分組格式

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路由機制

2020-11-13 07:16:09

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

2010-07-30 13:16:52

路由器

2011-09-02 09:58:10

路由器當交換機用兩個路由器連接路由器
點贊
收藏

51CTO技術棧公眾號