久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: SIP協(xié)議的結(jié)構(gòu) [打印本頁]

作者: 51黑tt    時間: 2016-3-6 00:00
標(biāo)題: SIP協(xié)議的結(jié)構(gòu)
SIP是一個分層的協(xié)議,意思是說SIP協(xié)議由一組相當(dāng)無關(guān)的處理層次組成,這些層次之間只有松散的關(guān)系。協(xié)議分成不同層次來描述是為了能夠更清晰的表達(dá),在同一個小節(jié)里有功能的公共要素的交叉描述。本協(xié)議并沒有規(guī)定一個具體的實現(xiàn)。當(dāng)我們說一個要素包含某一個層,我們的意思是這個要素復(fù)核這個層定義的規(guī)則。
不是SIP每一個要素都一定包含每一個層。此外,SIP定義的要素是邏輯上的要素,不是物理要素。一個物理的實現(xiàn)可以實現(xiàn)不同的邏輯要素,或許甚至是基于串行事務(wù)處理原理。SIP最底層的是它的語法和編碼層。編碼方式是采用擴展的Backus-Naur Form grammar(BNF范式)。完整的BNF描述在25節(jié);第7節(jié)有簡要的SIP消息結(jié)構(gòu)描述。
第二層是傳輸層。它定義了一個客戶端如何發(fā)送請求和接收應(yīng)答,以及一個服務(wù)器如何接收請求和發(fā)送應(yīng)答。所有的SIP要素都包含一個通訊層。第18節(jié)有通訊層的描述。
第三層是事務(wù)層。事務(wù)是SIP的基本組成部分。一個事務(wù)是客戶發(fā)送的一個請求事務(wù)(通過通訊層)發(fā)送到一個服務(wù)器事務(wù),連同服務(wù)器事務(wù)的所有的該請求的應(yīng)答發(fā)送回客戶端事務(wù)。事務(wù)層處理應(yīng)用服務(wù)層的重發(fā),匹配請求的應(yīng)答,以及應(yīng)用服務(wù)層的超時。任何一個用戶代理客戶端(user agent client UAC)完成的事情都是由一組事務(wù)構(gòu)成的。有關(guān)事務(wù)的討論在第17節(jié)有描述。用戶代理包含一個事務(wù)層,來實現(xiàn)有狀態(tài)的代理服務(wù)器。無狀態(tài)的代理服務(wù)器并不包含事務(wù)層。事務(wù)層包含一個客戶元素(可以認(rèn)為是一個客戶事務(wù))和一個服務(wù)器元素(可以認(rèn)為是一個服務(wù)器事務(wù)),他們都可以用一個有限狀態(tài)機來處理特定的請求。
在事務(wù)層之上是事務(wù)用戶(TU)。每一個SIP實體,除了無狀態(tài)代理,都是一個事務(wù)用戶。當(dāng)一個TU發(fā)出一個請求,它首先創(chuàng)建一個客戶事務(wù)實例(client transaction instance)并且和請求一起發(fā)送,這包括了目標(biāo)IP地址、端口號、以及發(fā)送請求的設(shè)備。TU可以創(chuàng)建客戶事務(wù),也可以取消客戶事務(wù)。當(dāng)客戶取消一個事務(wù),它請求服務(wù)器終止正在處理的事務(wù),并且回滾狀態(tài)到該事務(wù)開始前的狀態(tài),并且產(chǎn)生指定的該事務(wù)的錯誤報告。這是由CANCEL請求完成的,這個請求有自己的事務(wù),并且包含一個被取消的事務(wù)(第9節(jié))。
SIP要素,包含,用戶代理客戶端和服務(wù)器,無狀態(tài)和有狀態(tài)代理服務(wù)器和注冊服務(wù)器,包含一個可以互相區(qū)別的核心(Cores)。Cores,除了無狀態(tài)代理服務(wù)器,都是事務(wù)用戶。UAC(用戶代理客戶端)和UAS(用戶代理服務(wù)端)的cores的行為依賴于實現(xiàn),對所有的實現(xiàn)來說,有幾個公共的原則(第8節(jié))。對UAC來說,這些規(guī)則約束請求的建立;對UAS來說,這些規(guī)則約束請求的處理和應(yīng)答。由于注冊服務(wù)在SIP中是一個重要的角色,所以UAS處理REGISTER請求有一個特別的名字:登記員(registrar,登記服務(wù)器)。第10節(jié)描述了UAC和UAS的對REGISTER實現(xiàn)的core(核心)行為。第11節(jié)描述了OPTIONS的UAC和UAS的core實現(xiàn),這個OPTIONS用來檢測UA的處理能力的(UA-user agent)。
在對話中,有其他的相關(guān)會被發(fā)送。一個對話是一個持續(xù)一定時間的兩個用戶之間的端到端的SIP關(guān)系。對話過程要求兩個用戶代理之間的信息是有序的而且請求被正確路由傳輸?shù)。在這個規(guī)范中,只有INVITE請求可以用來建立會話。當(dāng)一個UAC在一個對話中發(fā)出請求的時候,它不僅遵循第8節(jié)描述的一般UAC規(guī)則而且也遵循對話中的請求規(guī)則。第12節(jié)講述了對話并且討論了對話的創(chuàng)建和維持,以及在對話中創(chuàng)建一個請求。
SIP中最重要的方法就是INVITE方法,它用來在不同的參與者中創(chuàng)建會話使用。一個會話由一組參與者,他們之間用于交流的媒體流組成。第13節(jié)講述了這些會話的創(chuàng)建初始化過程,以及創(chuàng)建一個或一組對話。第14節(jié)講述了在對話中使用INVITE請求來改變會話的屬性。最后,第15節(jié),講述了如何終止會話。
第8、10、11、12、13、14、15節(jié)講述了完整的UA核心(第9節(jié)描述了取消,在UA核心和代理核心中使用)。第16節(jié)講數(shù)了代理服務(wù)器,代理服務(wù)器用于在兩個UA之間做消息路由使用。
6、協(xié)議的定義
以下講述的名次對SIP有著額外的意義:
Address-of-Record: 記錄地址。一個address-of-record(AOR)是一個SIP或者SIPS URI它指向了一個具有定位服務(wù)的主機,這個主機可以把URI映射成為用戶真正物理位置的URI。通常情況下,定位服務(wù)器是通過登記服務(wù)來建立的。一個AOR經(jīng)常被認(rèn)為是一個用戶的”公共地址”
Back-to-Back UserAgent:背對背的用戶代理(B2BUA)是一個邏輯實體,它就像用戶代理服務(wù)器(UAS)一樣接收和處理請求。為了決定該如何應(yīng)答一個請求,B2BUA就像UAC一樣工作,并且發(fā)出請求。但是它不像代理服務(wù)器(proxy),它維持對話狀態(tài),并且參與已經(jīng)建立的對話中的每一個請求。由于它是直接的UAC和UAS的串連,所以,不需要對他有額外的定義。
Call:呼叫,一個呼叫是一個非正式的術(shù)語,它是指在端點之間一個一些通訊行為,通常用于建立多媒體對話。
Call Leg: 對話的別名;在本規(guī)范中沒有使用。
Call Stateful: 如果一個代理服務(wù)器(proxy)保存一個對話的狀態(tài)(從最開始的INVITE到對話終結(jié)的BYE),那么這個代理服務(wù)器就是請求有狀態(tài)的。一個請求有狀態(tài)(call stateful)的代理服務(wù)器也一定是事務(wù)有狀態(tài)的,但是事務(wù)有狀態(tài)的不一定是請求有狀態(tài)的。
Client:客戶端。一個客戶端是一個任意的網(wǎng)絡(luò)元素,它發(fā)出SIP請求和接收SIP應(yīng)答?蛻舳丝赡軙部赡懿粫腿私换。用戶代理客戶端(UAC)和代理服務(wù)器都是客戶端。
Conference: 一個包含多個參與方的多媒體會話(見后)。
Core:核心。核心定義了SIP實體的特定類別。比如定義了一個有狀態(tài)和無狀態(tài)的代理服務(wù)器,一個用戶代理或者注冊服務(wù)器(registrar)。所有的核心,除了無狀態(tài)代理服務(wù)器,都是事務(wù)用戶。
Dialog:對話,一個對話是持續(xù)一段時間的兩個UA之間的端到端的SIP關(guān)系。一個對話由SIP消息建立,就像用2xx響應(yīng)INVITE請求。我們用Call identifier,local tag(本地tag),remote tag(對方tag)來標(biāo)志一個對話,一個對話在RFC 2543中被正式叫做CALL LEG.
Downstream: 它是事務(wù)中的消息傳遞方向。它特指從UAC到UAS的請求流的方向,
Final Response:終結(jié)響應(yīng)。一個響應(yīng)終端SIP事務(wù)的應(yīng)答,和事務(wù)中間的臨時響應(yīng)相反。所有的2xx,3xx,4xx,5xx,6xx響應(yīng)都是終結(jié)響應(yīng)。
Header:頭。頭域是在SIP消息頭部用來描述這個SIP消息信息的部分。它由一堆頭域字段組成。
Header Field:頭域字段。頭域字段是在SIP消息頭域的字段。一個頭域字段可以由多個頭域字段行組成。一個頭域字段由一個頭域名和(零個或多個)頭域值組成。多個頭域值用’,’分割。某些頭域字段只能有單個值,比如結(jié)果域(result)就只能有一個值。
Header Field Value:頭域值。一個頭域值是一個單個的值,一個頭域字段可以有0個或者多個頭域值。
Home Domain:宿主機。一個提供SIP服務(wù)的主機。一般指的是在登記服務(wù)中指明的記錄地址中的URI的主機。
Informational Response:提示應(yīng)答。和臨時應(yīng)答一樣。
Initiator, Calling Party, Caller: 用INVITE初始一個會話(和對話)的那方。一個caller從發(fā)出INVITE請求建立對話開始,到對話終止都一直是這個角色。
Invitation: 一個INVITE請求。
Invitee,Invited User,Called Party, Callee:被叫方。收到INVITE請求并且建立會話的那方。一個被叫方從收到INVITE請求起,到終止INVITE建立的對話結(jié)束,都稱作被叫方。
Location Service: 定位服務(wù)。定位服務(wù)是用來給SIP轉(zhuǎn)發(fā)或者代理服務(wù)器確定被叫方可能的位置使用的。它包含一張綁定了address-of-record的表,被叫方可能有0到多個記錄。綁定的記錄可以通過多種渠道添加和刪除;本規(guī)范定義了REGISTER方法來更新綁定表。
Loop:環(huán)路。當(dāng)請求抵達(dá)一個代理服務(wù)器,代理服務(wù)器轉(zhuǎn)發(fā)這個請求,當(dāng)這個請求再次來到同一個代理服務(wù)器,就稱之為環(huán)路。當(dāng)?shù)诙蔚诌_(dá)的時候,Request-URI中包含了上次抵達(dá)的資料,并且由于并沒有什么東西可以改變轉(zhuǎn)發(fā)的策略,這樣就導(dǎo)致這個請求還會再次被轉(zhuǎn)發(fā)回來。環(huán)路請求是錯誤的,所以,處理程序需要檢測和防止協(xié)議中出現(xiàn)的環(huán)路請求。
Loose Routing:松散路由(多謝hoxden 的解釋。一個代理服務(wù)器被稱為松散路由的解釋如下(大概的意思是說這個代理服務(wù)器只要符合路由的一些機制就可以稱作松散路由,這個機制主要是說需要遵守能夠解析負(fù)責(zé)分發(fā)請求(Request-URI)的路由頭的這個流程):A proxy is said to be loose routing if it follows the procedures defined in this specification for processing of the Route header field. These procedures separate the destination of the request (present in the Request-URI) from  the set of proxies that need to be visited along the way (present in the Route header field). A proxy compliant to these mechanisms is also known as a loose router.
Message:消息。SIP元素之間傳送的協(xié)議數(shù)據(jù)就是消息。SIP消息既可以是請求也可以是應(yīng)答。
Method:方法。方法是在服務(wù)器請求處理的主要功能。方法是請求消息自身攜帶的。典型的方法就是INVITE和BYE。
Outbound Proxy:對外代理服務(wù)器。一個代理服務(wù)器接收到客戶的請求,即使它不是由Request_URI所決定的服務(wù)器。通常一個UA會手工配置一個對外的代理服務(wù)器,或者可以通過一個自動配置的協(xié)議自動配置一個。
Parallel Search: 并行搜索。并行搜索情況下,代理服務(wù)器會向多個用戶可能存在的地方發(fā)起請求,并且等待應(yīng)答。同串行搜索不同的地方是,并行搜索不會等待上一個請求應(yīng)答回來之后再發(fā)起下一個搜索,而是一個接一個的發(fā)起搜索請求。
Provisional Response: 臨時應(yīng)答。服務(wù)器用來標(biāo)志自己正在處理的應(yīng)答,但是本應(yīng)答并不結(jié)束一個SIP事務(wù)。1xx應(yīng)答就是臨時的,其他應(yīng)答標(biāo)志著事務(wù)的結(jié)束。
Proxy,Proxy Server:代理、代理服務(wù)器。一個中間的實體。它本身即作為客戶端也作為服務(wù)端,為其他客戶端提供請求的轉(zhuǎn)發(fā)服務(wù)。一個代理服務(wù)器首先提供的是路由服務(wù),也就是說保證請求被發(fā)到更加”靠近”目標(biāo)用戶的地方。代理服務(wù)器對某些強制政策有用(比如,確認(rèn)一個用戶是否允許建立一個呼叫等)。一個代理服務(wù)器翻譯,并且,如果有需要的話,再轉(zhuǎn)發(fā)前會重寫請求消息。
Recursion:回路、遞歸。一個客戶端,在響應(yīng)請求的時候產(chǎn)生新的到Contract包頭域的URI請求的時候,會在3xx響應(yīng)中陷入遞歸。A client recurses on a 3xx response when it generates a new request to one or more of the URIs in the Contact header field in the response.
Redirect Server:重定向服務(wù)器。一個重定向服務(wù)器是一個產(chǎn)生3xx應(yīng)答的UAS服務(wù)器,指示客戶端連接別的URI。
Registrar: 登記員。一個登記員(登記服務(wù)器)是一個接收REGISTER請求得服務(wù)器。他把請求得信息放到定位服務(wù)器中,這樣可以讓定位服務(wù)器很方便得查找位置信息。
Regular Transaction:常規(guī)事務(wù)。凡不包含INVITE,ACK,或者CANCEL方法得事務(wù)就是常規(guī)事務(wù)。
Request: 請求。 一個由客戶端發(fā)到服務(wù)端得SIP信息,用于執(zhí)行特定得功能。
Response:應(yīng)答。一個由服務(wù)端發(fā)到客戶端得SIP信息。用來標(biāo)志從客戶端發(fā)往服務(wù)端得請求處理得情況得。
Ringback: 回鈴音。回鈴音是一個信號音。是給呼叫方得一個信號表示被叫方正在振鈴(Ringing)。
Route Set: 路由集。路由集合是一個順序得SIP或者SIPS URI。這些URI描述了傳遞一個請求所必須經(jīng)歷得代理列表。一個路由集可以是自適應(yīng)得,因為包頭中包含了Record-Route(記錄路由),也可以是依賴配置得到得。
Server:服務(wù)器。一個server是一個網(wǎng)絡(luò)元素接收請求并且處理請求并且發(fā)送回應(yīng)給請求方。典型得服務(wù)器就是代理服務(wù)器(proxies),用戶代理服務(wù)器(user agent servers),重定向服務(wù)器,登記服務(wù)器。
Sequential Search:順序查找。在順序查找中,代理服務(wù)器順序嘗試聯(lián)系地址,在處理下一個之前必須等待上一個請求已經(jīng)有一個結(jié)束應(yīng)答。一個2xx或者6xx系列得最終應(yīng)答總是結(jié)束一個順序查找。
Session:會話。根據(jù)SDP得描述:”一個多媒體會話是一個由多媒體發(fā)送方和接受方組成得集合,并且包括在發(fā)送方和接受方之間得數(shù)據(jù)流。一個多媒體會議是一個典型得多媒體會話。”(RFC 2327[1])(一個session在SDP訂一下可以是一個或者多個RTP sessino)。在定義中,一個被叫方可以被多次邀請,被不同得呼叫方邀請,到同一個會話。在SDP中,一個會話可以被SDP用戶名,session id,網(wǎng)絡(luò)類型,地址類型,地址元素得一個集合串所規(guī)定。
SIP 事務(wù):一個SIP事務(wù)是在客戶端和服務(wù)端得事件,包括了從第一個由客戶端發(fā)送到服務(wù)端得請求,到最后一個(非1xx)服務(wù)端向客戶端發(fā)出得終結(jié)應(yīng)答。如果請求是一個INVITE請求,并且終結(jié)應(yīng)答是一個非2xx得應(yīng)答,那么事務(wù)還包括一個ACK給服務(wù)器做應(yīng)答。給INVITE請求的2xx應(yīng)答的ACK回應(yīng),是一個獨立的事務(wù)。
Spiral:回溯。一個回溯是指一個SIP請求,路由給一個proxy,并且轉(zhuǎn)發(fā),但是又被路由回這個proxy,但是不同于回路(遞歸)的是,這次路由回來的請求包的包頭中,包含了不同于原請求的請求包部分,使得本次proxy決定的路由轉(zhuǎn)發(fā)與上次不同。通常,這是說,請求的Request-URI不同于上次的Request_URI。一個回溯不是一個錯誤,不同于回路(環(huán)路loop)。通常導(dǎo)致這樣的現(xiàn)象是呼叫轉(zhuǎn)發(fā)(call forwarding)。一個用戶呼叫joe@example.com。example.com代理服務(wù)器轉(zhuǎn)發(fā)請求到Joe的PC,并且Joe的pc呼叫轉(zhuǎn)移到bob@example.com。這個請求被轉(zhuǎn)發(fā)回example.com代理服務(wù)器?墒沁@個并不是一個環(huán)路(loop)。因為請求的目的地址變成了另一個用戶,這就是回溯,是一個合法的情況。
Stateful Proxy:有狀態(tài)的代理服務(wù)器。在邏輯上,有狀態(tài)的代理服務(wù)器就是處理一個請求的過程中,維持的一個本規(guī)范所定義的客戶端和服務(wù)端的事務(wù)狀態(tài)機。也是一個事務(wù)又狀態(tài)代理服務(wù)器(transaction stateful proxy)。具體的stateful proxy在第16節(jié)定義。一個(事務(wù))有狀態(tài)代理服務(wù)器和一個call stateful proxy不是一回事。
Stateless Proxy:無狀態(tài)的代理服務(wù)器。在邏輯上,無狀態(tài)代理服務(wù)器在處理請求中,并不維持客戶和服務(wù)端的事務(wù)狀態(tài)機。一個無狀態(tài)的代理服務(wù)器直接轉(zhuǎn)發(fā)每一個接收到的請求和每一個接收到的響應(yīng)。
Strict Routing:嚴(yán)格路由。路由處理規(guī)則如果復(fù)核RFC2543協(xié)議(and many prior work in progress versions of this RFC) 就是一個嚴(yán)格路由。在這個規(guī)則下,如果在包頭中包含Route域,那么代理服務(wù)器就會刪除Request_URI域內(nèi)容。本文檔并不要求一定要有嚴(yán)格路由,本文檔只要求松散路由就可以了。支持嚴(yán)格路由的代理服務(wù)器也叫嚴(yán)格路由器。
Target Refresh Request: 目標(biāo)刷新請求。一個Target Refresh Request是一個在對話中發(fā)出的請求,用來更改對話目標(biāo)的請求。
Transaction User(TU):事務(wù)用戶。在transaction 層之上的協(xié)議層。TU包括了UAC 核心,UAS core,和proxy core。
Upstream:上行流。一個在事務(wù)中的消息流向方向。它是指由用戶代理服務(wù)器(UAS)發(fā)出應(yīng)答到用戶代理客戶端(UAC)的消息流向方向。
URL-encoded:一串根據(jù)RFC2396-2.4節(jié)編碼的字符。
User Agent Client(UAC):用戶代理客戶端。用戶代理客戶端是一個邏輯的概念,他創(chuàng)建一個新請求,并且用客戶事務(wù)狀態(tài)機發(fā)送這個請求。UAC角色只在事務(wù)中存在。換句話說,UAC就是一小段代碼初始化一個請求,并且在事務(wù)中遵循UAC的規(guī)則。如果它接下來收到一個請求,那么在那個事務(wù)中,它就是作為UAS來處理請求。
UAC Core:UAC核心。在transaction和transport層之上得UAC實現(xiàn)的功能集合。
User Agent Server(UAS): 用戶代理服務(wù)器.UAS是一個邏輯的實體,對SIP請求做響應(yīng)的。應(yīng)答接受、拒絕、或者轉(zhuǎn)發(fā)對應(yīng)的請求。UAS角色在事務(wù)中存在。換句話說,是響應(yīng)請求的一小段軟件,在事務(wù)中作為UAS存在。如果他發(fā)出請求,那么他就在事務(wù)中作為UAC存在。
UAS Core:UAS核心。在transaction和transport層智商的UAS實現(xiàn)的功能集合。
User Agent(UA)。一個邏輯實體的概念,包含UAC和UAS。
UAC和UAS,就像代理服務(wù)器和轉(zhuǎn)發(fā)服務(wù)器,是在事務(wù)by事務(wù)的原理(串行事務(wù)處理)上定義的。例如,當(dāng)發(fā)出一個初始化INVITE請求的時候,UA作為UAC初始化一個呼叫動作,當(dāng)從被叫方接收到一個BYE請求的時候,UA作為UAS響應(yīng)。類似的,同樣的代碼可以對一個請求做為proxy服務(wù)器處理,對另一個請求作為重定向服務(wù)器。
proxy,location,registrar服務(wù)器都是邏輯實體,在它們的實現(xiàn)中,可能是作為單個應(yīng)用實現(xiàn)的。






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 日本不卡一区二区三区 | 成人免费共享视频 | 国产视频欧美 | 色就是色欧美 | 91欧美激情一区二区三区成人 | 国产成人免费观看 | 高清视频一区二区三区 | 狠狠色狠狠色综合日日92 | 国产成人黄色 | 亚洲综合成人网 | 国产高潮好爽受不了了夜色 | 日韩一区二区三区在线观看视频 | 日韩一区二区免费视频 | 日韩二区三区 | 日韩成人免费av | 午夜视频一区二区 | 在线国产视频 | 日韩成人在线视频 | 99re免费 | 国产精品久久 | 91社区视频 | 日本不卡免费新一二三区 | 仙人掌旅馆在线观看 | 亚洲国产精品一区二区久久 | 欧美日韩一区在线播放 | 国产欧美日韩一区二区三区 | 国产成人综合一区二区三区 | 久久成人免费视频 | 日本欧美在线 | 欧美一级片在线看 | 亚洲欧美中文日韩在线v日本 | 国产91在线播放精品91 | 国产精品久久久99 | 欧美一级淫片免费视频黄 | www.97国产 | 精品一二区 | 中文成人在线 | 成年免费大片黄在线观看岛国 | 日本三级电影免费观看 | 特级生活片 |