97成人免费视频,97视频免费公开成人福利,免费视频99,99婷婷,国产伊人久久,亚洲视频欧美,国产精品福利久久

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

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

2020-09-22 09:44:56   作者: james.zhu   來(lái)源:Asterisk開(kāi)源派   評(píng)論:0  點(diǎn)擊:


  接分享21內(nèi)容,繼續(xù)分享關(guān)于關(guān)于UAC處理的部分內(nèi)容和UAS的處理流程。
  12.2.1.2 Processing the Responses
  UAC將會(huì)從事務(wù)層收到一個(gè)請(qǐng)求的響應(yīng)消息。如果客戶端事務(wù)返回一個(gè)超時(shí)的話,此錯(cuò)誤看作是一個(gè)408(請(qǐng)求超時(shí))響應(yīng)。
  UAC處理方式需要注意。如果此UAC收到了一個(gè)針對(duì)一個(gè)請(qǐng)求返回的3xx響應(yīng),此請(qǐng)求是在一個(gè)dialog中發(fā)送到請(qǐng)求,那么,此UAC處理方式和dialog外部發(fā)送到請(qǐng)求處理方式相同。具體的討論參考Section 8.1.3.4。
  注意,但是,當(dāng)UAC嘗試可選地址時(shí),它仍然使用路由組支持此dialog創(chuàng)建請(qǐng)求的 Route頭。
  當(dāng)UAC收到一個(gè)針對(duì)目的地刷新請(qǐng)求的2xx響應(yīng)時(shí),如果出現(xiàn)了遠(yuǎn)端目的地URL的話,UAC必須用此響應(yīng)中的Contact頭的URL替換dialog的遠(yuǎn)端目的地( remote target URI)。
  如果在dialog中的請(qǐng)求響應(yīng)是一個(gè)481錯(cuò)誤(Call/Transaction Does Not Exist) 或者一個(gè)408 (Request Timeout)的話,UAC應(yīng)該結(jié)束此dialog。UAC也應(yīng)該結(jié)束完全無(wú)請(qǐng)求響應(yīng)回復(fù)的dialog(此客戶端事務(wù)層將會(huì)通知TU超時(shí)的結(jié)果)。
  對(duì)于以INVITE發(fā)起的dialogs,通過(guò)發(fā)送一個(gè)BYE消息來(lái)結(jié)束dialog。
  12.2.2 UAS Behavior
  在dialog中發(fā)送的請(qǐng)求就像其他請(qǐng)求一樣,它是一個(gè)原子的核心請(qǐng)求。如果UAS接受了一個(gè)特別的請(qǐng)求,所有和它關(guān)聯(lián)的狀態(tài)修改都要被執(zhí)行。如果此請(qǐng)求被拒絕的話,不執(zhí)行任何狀態(tài)修改的流程。
  注意,一些請(qǐng)求,例如,INVITE請(qǐng)求,它們會(huì)影響一些狀態(tài)改變。
  UAS將會(huì)從事務(wù)層收到此請(qǐng)求。如果此請(qǐng)求在To頭中包含一個(gè)tag標(biāo)簽,UAS core會(huì)處理dialog身份確認(rèn),和此請(qǐng)求保持一致,然后通過(guò)現(xiàn)有的dialogs和此dialog進(jìn)行對(duì)比。如果對(duì)比匹配的話,那將確認(rèn)這是一個(gè)mid-dialog 請(qǐng)求。在此情況下,UAS首先使用同樣的針對(duì)外部dialog請(qǐng)求的處理規(guī)則來(lái)執(zhí)行處理流程,具體的討論在Section 8.2中。
  如果此請(qǐng)求的To頭中包含了一個(gè)并且tag,但是,dialog身份確認(rèn)不能匹配當(dāng)前存在的任何dialog時(shí),UAS可能已經(jīng)出現(xiàn)系統(tǒng)崩潰然后重新啟動(dòng),或者維持現(xiàn)有狀態(tài),這里,此UAS可能已經(jīng)收到一個(gè)請(qǐng)求,這個(gè)請(qǐng)求可能是支持了不同的(失敗的)UAS(這些UAS有能力構(gòu)建To標(biāo)簽,因此那個(gè)UAS可以通過(guò)此tag標(biāo)簽來(lái)確認(rèn)請(qǐng)求,這些標(biāo)簽是用來(lái)支持UAS提供失敗恢復(fù)狀態(tài)的標(biāo)簽)。另外一種可能是,收到的請(qǐng)求可能已經(jīng)執(zhí)行了錯(cuò)誤路由。基于To tag標(biāo)簽,UAS可能接受或者拒絕此請(qǐng)求。接受此請(qǐng)求可以為T(mén)o tag標(biāo)簽提供健壯性,因此dialog可以維持持續(xù)性,甚至UAS崩潰。希望支持這種能力的UA必須考慮前面的這一點(diǎn)。在處理過(guò)程中可能出現(xiàn)一些問(wèn)題,例如UA重啟時(shí)選擇了嚴(yán)格遞增CSeq 序列號(hào),重構(gòu)路由組和接受超出范圍的RTP時(shí)間戳和序列號(hào)碼。
  如果UAS想解決此請(qǐng)求的,因?yàn)閁AS不想重新創(chuàng)建此dialog,UAS必須針對(duì)其請(qǐng)求回復(fù)一個(gè)481響應(yīng)(Call/Transaction Does Not Exist)狀態(tài)響應(yīng)碼,并且發(fā)送此響應(yīng)到服務(wù)器事務(wù)層。
  如果此請(qǐng)求沒(méi)有通過(guò)任何方式修改dialog狀態(tài)的話,此請(qǐng)求可能就會(huì)在dialog中收到(例如,OPTIONS請(qǐng)求)。對(duì)它們的處理方式就像外部dialog中收到的請(qǐng)求一樣。
  如果遠(yuǎn)端序列號(hào)為空,此序列號(hào)必須設(shè)置為在請(qǐng)求中CSeq頭的序列號(hào)值。如果遠(yuǎn)端序列號(hào)不為空,但是請(qǐng)求中的序列號(hào)值低于遠(yuǎn)端序列號(hào)的話,此請(qǐng)求已經(jīng)排序異常,必須返回一個(gè)500(Server Internal Error)錯(cuò)誤響應(yīng)碼。如果遠(yuǎn)端序列號(hào)不為空,并且請(qǐng)求的序列號(hào)大于遠(yuǎn)端的序列號(hào)值,此請(qǐng)求是按續(xù)處理的。本地CSeq序列號(hào)大于遠(yuǎn)端CSeq序列號(hào)一位數(shù)是可能存在的。這本身不是一個(gè)錯(cuò)誤狀態(tài),UAS應(yīng)該準(zhǔn)備好接收處理類似的請(qǐng)求,這樣的請(qǐng)求中攜帶的CSeq值會(huì)高于前一個(gè)接收的請(qǐng)求的CSeq值。
  如果代理對(duì)一個(gè)由UAC生成的請(qǐng)求進(jìn)行驗(yàn)證的話,此UAC需要重新提交攜帶安全消息的請(qǐng)求。重新提交請(qǐng)求將會(huì)生成一個(gè)新的CSeq序列號(hào)。因?yàn)閁AS從來(lái)沒(méi)有看到過(guò)第一個(gè)請(qǐng)求,因此,UA會(huì)在CSeq序列號(hào)位置提示間斷,這樣的間斷不代表任何錯(cuò)誤狀態(tài)消息。
  當(dāng)UAS收到一個(gè)目的地刷新請(qǐng)求時(shí),它必須使用此請(qǐng)求中Contact頭中的URL替換dialog中的遠(yuǎn)端目的地URL地址(如果存在的話)。
【免責(zé)聲明】本文僅代表作者本人觀點(diǎn),與CTI論壇無(wú)關(guān)。CTI論壇對(duì)文中陳述、觀點(diǎn)判斷保持中立,不對(duì)所包含內(nèi)容的準(zhǔn)確性、可靠性或完整性提供任何明示或暗示的保證。請(qǐng)讀者僅作參考,并請(qǐng)自行承擔(dān)全部責(zé)任。

專題

CTI論壇會(huì)員企業(yè)

鄱阳县| 泰州市| 高陵县| 武冈市| 东台市| 大田县| 介休市| 安泽县| 双牌县| 浙江省| 体育| 山阳县| 昂仁县| 南丰县| 兴城市| 贵定县| 樟树市| 桃园县| 滨州市| 莲花县| 宾阳县| 友谊县| 虹口区| 林口县| 乐陵市| 城口县| 黄陵县| 万全县| 麟游县| 绵阳市| 隆昌县| 浑源县| 河间市| 鹤山市| 镇平县| 三门县| 福鼎市| 曲沃县| 砀山县| 丰顺县| 扬中市|