a级片网址,www.一级毛片,日批国产,中文字幕日韩精品有码视频,黄色毛片免费网站,久久久精品午夜免费不卡,天堂福利视频

您當(dāng)前的位置是:  首頁 > 資訊 > 國內(nèi) >
 首頁 > 資訊 > 國內(nèi) >

SIP協(xié)議規(guī)范RFC3261中文分享-12

2019-11-26 15:37:13   作者:james.zhu    來源:Asterisk開源派   評論:0  點擊:


  接前面章節(jié)。
  8.2.4 Applying Extensions
  當(dāng)生成響應(yīng)消息時,UAS不能直接期望使用拓展功能,除非在請求中的頭Supported頭中已經(jīng)表示支持了這個拓展。如果所希望的拓展不能被支持的話,服務(wù)器應(yīng)該僅依賴基本的SIP和其他客戶端所支持的拓展來處理。在極少情況下,服務(wù)器沒有拓展的話就不能處理請求,這個服務(wù)器可以發(fā)送一個421(Extension Required)響應(yīng)消息。這個響應(yīng)消息表示,如果沒有具體的拓展功能,服務(wù)器端不能生成一個規(guī)范的響應(yīng)。這些服務(wù)器端所需要支持的拓展必須包括在響應(yīng)消息中的Require頭中。規(guī)范不推薦這種操作方式,因為,一般情況下,因為它會破壞流程的兼容性處理。
  任何在non-421響應(yīng)中列出的拓展功能必須包含在響應(yīng)消息的Require頭列表中。
  當(dāng)然,服務(wù)器端也不能使用沒有在請求的Supported頭中列出的拓展。因此,響應(yīng)消息中的 Require 頭就會只能包含在標(biāo)準(zhǔn)RFCs中多定義的可選標(biāo)簽。
  8.2.5 Processing the Request
  假設(shè)前面討論的所有子章節(jié)都通過的話,UAS的處理就會進(jìn)入到和method相關(guān)的處理流程。Section 10 涵蓋REGISTER 請求,Section 11 涵蓋OPTIONS 請求,Section 13 涵蓋INVITE 請求,最后,Section 15 涵蓋BYE請求。
  8.2.6 Generating the Response
  當(dāng)UAS希望對請求構(gòu)建一個響應(yīng)時,UAS必須遵守一般的處理流程。這些處理流程會在下面的子章節(jié)中進(jìn)行說明。另外,對于一些非常具體的響應(yīng)碼的處理問題,這里沒有規(guī)范具體的細(xì)節(jié),也可不做要求。
  一旦所有和創(chuàng)建響應(yīng)消息所關(guān)聯(lián)的流程完成以后,UAS負(fù)責(zé)返回到服務(wù)器事務(wù)層,這里是它收到請求的地址。
  8.2.6.1 Sending a Provisional Response
  對生成響應(yīng)來說,一個主要的不具體到某個method的原則是,UASs對非INVITE不應(yīng)該發(fā)送臨時響應(yīng)消息。相反,UASs應(yīng)該盡快對非INVITE請求生成一個最終響應(yīng)消息。
  當(dāng)生成100 (Trying)響應(yīng)時,重新在在請求中的任何Timestamp頭必須拷貝到這個 100 (Trying)響應(yīng)中。如果在生成響應(yīng)時有延遲,UAS應(yīng)該在Timestamp頭中添加一個延遲數(shù)值。這個延遲數(shù)值必須包含響應(yīng)發(fā)送時間值和接收請求時間值,此值以秒為單位。
  8.2.6.2 Headers and Tags
  響應(yīng)消息中的From必須和請求中的From頭相同。響應(yīng)中的Call-ID頭必須和請求中的Call-ID相同。響應(yīng)中的CSeq必須和請求中的CSeq相同。響應(yīng)中的Via頭必須和請求中的Via頭相同,而且保持相同的順序。
  如果在請求中包含了一個To tag標(biāo)簽,響應(yīng)中的To必須和請求中的To頭相同。但是,如果在請求中沒有包含To頭值,在響應(yīng)中回復(fù)中,To頭中的URL必須和請求中To頭的URL相同;另外,在響應(yīng)回復(fù)中,UAS必須在To標(biāo)簽中增加一個標(biāo)簽(支持100(trying)異常響應(yīng))。這樣處理的目的是確認(rèn)UAS正在響應(yīng)處理,也可能因為這個異常響應(yīng)會生成一個dialog ID組件。同樣的標(biāo)簽使用在此請求的所有響應(yīng)中,包括最終響應(yīng)和臨時響應(yīng)(除了100(trying以外))。對此標(biāo)簽生成的流程在中Section 19.3定義。
  8.2.7 Stateless UAS Behavior
  無狀態(tài)UAS是一種不保存事務(wù)狀態(tài)的UAS。它通常會轉(zhuǎn)發(fā)請求,而且協(xié)議發(fā)送后會丟棄UAS的狀態(tài)消息。 如果一個無狀態(tài)UAS收到請求重發(fā),此UAS會重新生成響應(yīng),重新發(fā)送響應(yīng),就像它對第一個請求回復(fù)一樣。一個UAS不能是無狀態(tài)模式,除非這個method的請求處理總導(dǎo)致同樣的響應(yīng)(如果請求是確認(rèn)的)。無狀態(tài)注冊不遵守此規(guī)則。無狀態(tài)UASs不涉及事務(wù)層;UASs直接收到傳輸層請求后,直接對傳輸層返回響應(yīng)。
  無狀態(tài)UAS的基本功能是處理無需驗證的請求,這些請求面對響應(yīng)問題。如果無驗證請求是通過有狀態(tài)UAS來處理的話,那么就會導(dǎo)致這些無驗證請求產(chǎn)生大量的事務(wù)狀態(tài),這些事務(wù)狀態(tài)數(shù)據(jù)會導(dǎo)致在UAS端呼叫處理速度放慢,影響UAS處理性能,可能立刻生成了拒絕攻擊服務(wù)的條件。更多關(guān)于拒絕攻擊服務(wù)的內(nèi)容,查閱Section 26.1.5。
  無狀態(tài)UAS的最重要處理方式包括以下幾個方面:
  • 無狀態(tài)UAS一定不能發(fā)送臨時響應(yīng)(1xx)。
  • 無狀態(tài)UAS一定不能重回響應(yīng)消息。
  • 無狀態(tài)UAS必須忽略ACK請求。
  • 無狀態(tài)UAS必須忽略CANCEL請求。
  • 響應(yīng)中的To頭域值必須以一種無狀態(tài)的方式生成,這種生成方式對同樣的請求生成同樣的標(biāo)簽,此方式的目的是保持標(biāo)簽的一致性。更多關(guān)于標(biāo)簽構(gòu)成,參考Section 19.3。
  關(guān)于其他方面的處理規(guī)范,無狀態(tài)UAS和有狀態(tài)UAS是一樣的。對每個新請求來說,UAS可以以有狀態(tài)方式或無狀態(tài)方式操作。
  8.3 Redirect Servers
  在一些技術(shù)架構(gòu)中,代理服務(wù)器的目的是為了降低處理負(fù)載,這些代理服務(wù)器可能是負(fù)責(zé)處理路由請求和優(yōu)化信令路徑的強健性,都是通過重定向方式進(jìn)行轉(zhuǎn)發(fā)處理。
  重定向處理允許服務(wù)器端對請求在響應(yīng)中推送路由消息,返回給客戶端,因此,重定向會把自己踢出此環(huán)路的事務(wù)處理中,定位到請求的目標(biāo)地址。當(dāng)請求發(fā)起方收到了重新定位響應(yīng)以后,發(fā)起方會基于收到的URL地址重新發(fā)送一個新的請求。通過從網(wǎng)絡(luò)核心傳輸URLs到其網(wǎng)絡(luò)邊界,重定向允許相關(guān)網(wǎng)絡(luò)拓展性。
  重定向服務(wù)器邏輯上由一個服務(wù)器事務(wù)層和一個事務(wù)用戶構(gòu)成。事務(wù)用戶可以訪問某些定位服務(wù)(參考Section 10 獲得更多注冊和定位服務(wù)詳情)。定位服務(wù)實際上是一個數(shù)據(jù)庫,數(shù)據(jù)庫映射單個URL地址和一個或多個可選地址,這些地址是URL的目標(biāo)地址。
  重定向服務(wù)器自己不能發(fā)起任何屬于自己的SIP請求。收到了一個請求以后(除了CANCEL請求以外),服務(wù)器可以拒絕此請求或從定位服務(wù)收集可選地址,然后返回一個最終響應(yīng)3xx。
  對于格式非常規(guī)范的CANCEL請求,重定位服務(wù)器應(yīng)該返回一個2xx響應(yīng)。這個響應(yīng)表示結(jié)束SIP事務(wù)處理。重定位服務(wù)器保持一個完整SIP事務(wù)的狀態(tài)。這是客戶端的責(zé)任,用來檢測介于重定向服務(wù)器之間的前轉(zhuǎn)環(huán)路。
  當(dāng)重定向服務(wù)器對請求返回一個3xx響應(yīng)時,定向服務(wù)器會在Contact頭中插入查詢到的定位地址列表。 同時,在Contact頭中增加一個“expires”參數(shù)值,此值表示Contact數(shù)據(jù)中地址的生命周期。
  Contact頭中包含URLs,并且提供新的地址和用戶名來嘗試,或者簡單提供指定的額外傳輸參數(shù)。301 (Moved Permanently)或302 (Moved Temporarily)響應(yīng)可能也提供同樣地址和用戶名,這個用戶名是初始請求的目標(biāo)地址,但是設(shè)定了額外的傳輸參數(shù)值,例如嘗試不同的服務(wù)器或組播地址,或者傳輸方式的相關(guān),例如從UDP傳輸修改為TCP傳輸,或者相反處理。
  不管怎樣,重定位服務(wù)器一定不能重定位一個請求到一個URL,這個URL和一個在Request-URI 的URL相同;相反,服務(wù)器可以代理轉(zhuǎn)發(fā)這個請求到目的地URL,或者拒絕此請求,返回一個404響應(yīng)。
  如果客戶端正在使用一個outbound proxy,并且重新定位此請求,這里可能產(chǎn)生一個潛在的無限重定位環(huán)路。
  注意,一個 Contact頭可能涉及不同的源地址,而不是初始呼叫的源地址。例如,一個SIP呼叫連接到PSTN網(wǎng)關(guān),網(wǎng)關(guān)可能需要提供一個特別的語音說明(例如,您撥打的號碼已經(jīng)被修改)。
  一個Contact響應(yīng)消息頭可以包含任何恰當(dāng)?shù)腢RL值,這個值表示被呼叫方已經(jīng)被連接,也不僅局限于SIP URLs地址。例如,它可以包含電話的URLs地址,傳真或irc(如果有定義的話)或一個mailto: (RFC 2368 [32]) 郵件地址。Section 26.4.4 討論了 重定位處理中SIPs URL到一個non-SIPS URI的影響和局限性。
  Contact頭中的“expires”參數(shù)表示URL的生命周期。此值以秒為單位計算。如果沒有提供此參數(shù)的話,以Expires頭中的數(shù)值決定URL的生命周期。如果出現(xiàn)異常值的話,此值應(yīng)該視為等同于3600。
  這種方式提供了一種最大程度的可能,保證了和RFC2534向后兼容,這也支持了一個在這個頭中的絕對時間值。如果收到了一個絕對時間的話,它將會被視為異常值,默認(rèn)的時間為3600。
  重定位服務(wù)器一定要忽略某些功能(包括無法識別的頭域格式,任何在Require中的未知可選標(biāo)簽,甚至于未知的method名稱),和某些存在問題的重定位請求。
  未完繼續(xù)……
 
   
  關(guān)注微信公眾號:asterisk-cn,獲得有價值的Asterisk行業(yè)分享
  Asterisk freepbx,F(xiàn)reeSBC技術(shù)文檔:www.freepbx.org.cn
  融合通信商業(yè)解決方案,協(xié)同解決方案首選產(chǎn)品:www.hiastar.com
  Asterisk / FreePBX / FreeSBC中國合作伙伴,官方qq技術(shù)分享群(3000人):589995817
 
【免責(zé)聲明】本文僅代表作者本人觀點,與CTI論壇無關(guān)。CTI論壇對文中陳述、觀點判斷保持中立,不對所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔(dān)全部責(zé)任。

相關(guān)熱詞搜索: SIP協(xié)議

上一篇:SIP協(xié)議規(guī)范RFC3261中文分享-11

下一篇:最后一頁

專題

CTI論壇會員企業(yè)

襄城县| 璧山县| 通辽市| 旬邑县| 武义县| 仪征市| 土默特左旗| 沧州市| 上高县| 通海县| 中阳县| 鄂州市| 阜平县| 桓台县| 衡阳县| 新昌县| 霍林郭勒市| 许昌县| 卫辉市| 建昌县| 涞源县| 溆浦县| 东光县| 高州市| 江永县| 乐陵市| 水城县| 景德镇市| 新丰县| 湖口县| 凤凰县| 青川县| 台湾省| 铜川市| 大城县| 宣恩县| 沐川县| 榆树市| 正阳县| 托克逊县| 柯坪县|