10.2.2 Removing Bindings
注冊綁定是一種軟狀態(tài),除非此狀態(tài)被刷新,否則,它會終止注冊狀態(tài),但是也可以直接解除綁定關系。 客戶端可以嘗試去設置超時周期來解除綁定,超時周期有注冊服務來設置,具體的描述在Section 10.2.1中介紹。一個UA可以通過在注冊請求中的Contact地址中設置超時周期為0來立即解除綁定。在超時周期超時之前,UAs應該支持綁定解除的機制。
REGISTER-specific Contact 頭域"*"的值應用在所有的注冊中,但是它一定不能被使用,除非Expires以設置為“0”的方式出現(xiàn)。 使用Contact頭的“*”允許一個正在注冊的UA移除所有和address-of-record綁定的關系,無需知道其準確數(shù)值。
10.2.3 Fetching Bindings
無論請求是否包含一個Contact頭,對任何注冊請求來說,一個成功的協(xié)議包含完整的存在的綁定列表。如果沒有Contact頭出現(xiàn)在當前的注冊請求中,綁定列表不會修改。
10.2.4 Refreshing Bindings
每個UA負責對已創(chuàng)建的綁定進行刷新。一個UA的綁定不應該由其他的UA執(zhí)行綁定刷新。 從注冊服務獲得的200(OK)響應碼包含了一個Contact域的列表,這個列表模擬當前的綁定狀態(tài)。如果UA通過Section 19.1.4中的對比規(guī)則,已經(jīng)創(chuàng)建了這個contact 地址, UA會對比每個contact地址來對照檢查。如果是這樣的話,這個UA會根據(jù)超時參數(shù)更新超時周期設置,或者,如果缺省了這個參數(shù)的話,則根據(jù)這個Expires域來設置超時設置。 此UA在超時周期時間到期之前,然后對它的每個綁定執(zhí)行一個REGISTER請求。它可能在一個REGISTER請求中合并幾個更新。
在單個啟動循環(huán)中,一個UA應該使用同一Call-ID支持所有的注冊。除非是一個轉發(fā)服務,作為初始注冊,注冊刷新應該被發(fā)送到同樣的網(wǎng)絡地址中。
10.2.5 Setting the Internal Clock
如果注冊請求中的響應包含一個Date 頭,客戶端可以使用這個日期頭來獲悉當前的時間,以便使用此時間設置任何內(nèi)部時鐘。
10.2.6 Discovering a Registrar
UA能夠使用三種方式來決定注冊的地址:通過配置的方式,使用address-of-record地址,使用multicast廣播方式。通過注冊服務地址,UA能夠被設置。如果沒有設置注冊服務的地址的話,UA應該使用address-of-record的主機地址作為Request-URI,并且使用正常的SIP定位服務機制[4]對此地址發(fā)送請求。例如,對于這個UA的用戶 sip:carol@chicago.com來說,其注冊地址請求應該發(fā)送到sip:chicago.com。
最后,一個UA可以使用廣播的方式來進行設置。廣播注冊被稱之為"all SIP servers" 廣播地址 "sip.mcast.net" (224.0.1.75 是IPv4地址)。沒有分配到?jīng)]有非常熟知的IPv6廣播地址;這種廣播地址分配目前沒有獨立說明。SIP UA可以監(jiān)聽那個地址,使用此地址,并且讓其他當?shù)赜脩粢部梢垣@悉本UA的地址狀態(tài)(參考 [33]);但是,本地用戶不會對此請求回復響應消息。
廣播注冊方式可能不適合使用在某些環(huán)境中,例如,多個業(yè)務共享同一內(nèi)網(wǎng)。
10.2.7 Transmitting a Request
一旦REGISTER method構建成功以后,并且消息目的地確認以后,UACs會根據(jù)在 Section 8.1.2 中所描述的流程讓傳輸層來進行下一步處理。 因為REGISTER無響應生成,如果傳輸層返回超時錯誤,UAC不應該馬上重新注冊到同樣的注冊服務。 一個馬上重新注冊的處理流程也可能和超時一樣。在一個合理的時間周期范圍內(nèi)等待網(wǎng)絡環(huán)境的修正,降低網(wǎng)絡負載,排查網(wǎng)絡設備故障。這里,無特別具體的時間周期設置。
10.2.8 Error Responses
如果一個UA收到了423響應碼(Interval Too Brief),它可以重新注冊。但是,這里有一個必要條件-注冊請求中的超時周期后才能重新注冊。具體來說,注冊流程中需要耗費一定的時間,使得在注冊請求中所有contact地址中的超時周期等于或大于423響應中的Min-Expires頭中的超時周期,它才可以重新注冊。
繼續(xù)發(fā)布。。。
關注微信公眾號:asterisk-cn,獲得有價值的Asterisk行業(yè)分享
Asterisk freepbx FreeSBC技術文檔: www.freepbx.org.cn
融合通信/IPPBX商業(yè)解決方案:www.hiastar.com
如何使用FreeSBC,qq技術分享群:334023047