鍍金池/ 教程/ 物聯(lián)網(wǎng)/ 請(qǐng)求和響應(yīng)頭字段
SIP網(wǎng)絡(luò)元素
只回應(yīng)頭字段
只請(qǐng)求頭字段
SIP響應(yīng)代碼
SIP頭
SIP基本呼叫流程
SIP消息
請(qǐng)求和響應(yīng)頭字段
SIP教程

請(qǐng)求和響應(yīng)頭字段

接收

在接受頭字段是用來(lái)表示在郵件正文中接受信息的互聯(lián)網(wǎng)媒體類型。

  • 頭字段描述了使用的格式類型/子類型在互聯(lián)網(wǎng)中通用的媒體類型。

  • 如果不存在,則假定可接受的消息體格式就是application/sdp.

  • 媒介類型的列表可以有首選項(xiàng)設(shè)定使用q值參數(shù)。

Accept-Encoding

在Accept-Encoding頭字段用于指定可接受的消息體編碼模式。

  • 編碼可以被用來(lái)確保SIP消息的大消息主體的單個(gè)UDP數(shù)據(jù)報(bào)內(nèi)配合。

  • 使用q值參數(shù)可以設(shè)置首選項(xiàng)。如果沒(méi)有列出方案可以接受的UAC,則返回406無(wú)法接受的響應(yīng)。如果不包含,假定編碼將成為 text/plain.

To

To 表示該請(qǐng)求的最終接收者。由UA生成的任何反應(yīng)將包含與另外一個(gè)標(biāo)簽的這一頭字段。這是一個(gè)強(qiáng)制性的頭。

  • 由代理產(chǎn)生的任何回應(yīng)必須加入到To頭域的標(biāo)簽。

  • To頭域包含URI永遠(yuǎn)不會(huì)用于路由。

From

From頭字段表示請(qǐng)求的發(fā)起者。它就是用于標(biāo)識(shí)對(duì)話兩個(gè)地址中的一個(gè)。

  • From頭字段可以包含用來(lái)識(shí)別特定的呼叫標(biāo)簽。

  • 它可能包含一個(gè)顯示名稱,在這種情況下,URI被包括在<>。

  • 這是一個(gè)強(qiáng)制性的頭。

Call-ID

Call-ID頭字段是強(qiáng)制性的所有SIP請(qǐng)求和響應(yīng)。它被用來(lái)唯一地標(biāo)識(shí)兩個(gè)用戶代理之間建立呼叫。

  • Call-ID必須調(diào)用是唯一的。

  • 所有注冊(cè)的用戶代理應(yīng)該使用相同的Call-ID。

  • Call-ID 總是由用戶代理創(chuàng)建的,永遠(yuǎn)不會(huì)被服務(wù)器修改。

  • 它就是一個(gè)加密的隨機(jī)標(biāo)識(shí)符。

Via

通過(guò)用于記錄所采取的一個(gè)請(qǐng)求,這有助于路由一個(gè)響應(yīng)返回給始發(fā)所述SIP路由。

  • 一個(gè)UA產(chǎn)生一個(gè)請(qǐng)求記錄自己的地址在Via頭域。

  • 代理轉(zhuǎn)發(fā)請(qǐng)求增加了包含它自己的地址Via頭字段列表的頂部Via頭域。

  • 代理或UA產(chǎn)生一個(gè)請(qǐng)求副本都是從為了請(qǐng)求到響應(yīng)的Via頭域的響應(yīng),然后發(fā)送響應(yīng)的Via頭域上指定的地址。

  • 代理接收響應(yīng)檢查Via頭字段的頂部和匹配其自己的地址。

  • 如果它不匹配,則響應(yīng)已被丟棄。

  • Via報(bào)頭字段的頂部然后除去,并響應(yīng)轉(zhuǎn)發(fā)到下一個(gè)Via報(bào)頭字段指定的地址。

  • Via頭字段包含協(xié)議的名稱,版本號(hào)和傳輸(SIP/ 2.0 / UDP,SIP / 2.0/ TCP等),并且可以包含端口號(hào)和參數(shù),如 received, rport, branch, maddr, 和 ttl.

  • 接收的標(biāo)記被添加到Via頭字段如果UA或代理服務(wù)器接收從一個(gè)不同的地址比Via頭字段頂端指定的請(qǐng)求。

  • 分支參數(shù)被添加到由UA和代理,這被計(jì)算為請(qǐng)求URI及To的散列函數(shù)的Via報(bào)頭字段,To, From, Call-ID, 和 CSeq序列號(hào)。

CSeq

Cseq頭域就是在每個(gè)請(qǐng)求所需的頭字段。它包含一個(gè)十進(jìn)制數(shù),增加為每個(gè)請(qǐng)求。

  • 一般,它增加了1為每個(gè)新的請(qǐng)求,除CANCEL和ACK請(qǐng)求,這使用INVITE請(qǐng)求中的Cseq數(shù)其所引用。

  • Cseq計(jì)數(shù)用于通過(guò)的UAS確定失序的請(qǐng)求或一個(gè)新的請(qǐng)求(不同的Cseq)或重發(fā)(相同的Cseq)之間進(jìn)行區(qū)分。

  • Cseq頭字段用于通過(guò)UAC的匹配它所引用的請(qǐng)求的響應(yīng)。

  • 例如,UAC發(fā)送INVITE請(qǐng)求然后CANCEL請(qǐng)求可通過(guò)在200 OK響應(yīng)中的Cseq的方法告訴如果是邀請(qǐng)或取消請(qǐng)求的響應(yīng)。

聯(lián)系(Contact)

Contact頭字段用于傳達(dá)關(guān)于請(qǐng)求的發(fā)起者的地址,其他用戶。一旦聯(lián)系頭字段已經(jīng)被接收到,該URI可以被緩存,并用于在對(duì)話中的路由將來(lái)的請(qǐng)求。

例如,在對(duì)一個(gè)INVITE可以允許確認(rèn)ACK消息,并且此呼叫期間的所有將來(lái)的請(qǐng)求繞過(guò)代理和直接到被呼叫方200 OK響應(yīng)聯(lián)系頭字段。

Record-Route

在Record-Route頭字段用于通過(guò)兩個(gè)UA之間的會(huì)話(對(duì)話)的所有后續(xù)請(qǐng)求代理強(qiáng)制路由。

通常情況下,一個(gè)Contact頭域的存在使得用戶代理發(fā)送消息,直接繞過(guò)初始請(qǐng)求使用的代理鏈。

  • 代理插入其地址為一個(gè)Record-Route頭字段覆蓋這一點(diǎn),未來(lái)的力量要求包括含有迫使該代理包含在代理的地址路由報(bào)頭字段。

  • 代理希望實(shí)現(xiàn)這個(gè)含插入自己的URI的頭字段,或增加其URI到一個(gè)已經(jīng)存在的Record-Route頭域。

  • URI被構(gòu)造為使得該URI解析回代理服務(wù)器。UAS復(fù)制Record-Route頭字段插入到請(qǐng)求的200 OK響應(yīng)。

  • 頭字段由代理回UAC轉(zhuǎn)發(fā)不變。在UAC然后存儲(chǔ)記錄 - 路由代理列表加上目前在200在所有后續(xù)請(qǐng)求中Route頭字段使用OK了Contact頭字段,如果。

Organization

Organization頭字段用于指示該消息的發(fā)起者所屬的組織。

  • 它也可以通過(guò)插入代理作為一個(gè)消息從一個(gè)組織傳遞到另一個(gè)。

  • 像所有的SIP首部字段,它可用于通過(guò)代理作出路由決定和通過(guò)的UA作出呼叫篩選的決定。

Retry-After

它被用來(lái)表示當(dāng)一個(gè)資源或服務(wù)可能再次可用。

  • 在503服務(wù)不可用的響應(yīng)時(shí),表示當(dāng)服務(wù)器將可用。

  • 在404未找到,600忙碌隨處可見(jiàn),603衰亡的反應(yīng),則表示當(dāng)被叫UA可以再次使用。

  • 它包含一段時(shí)間“sec”。

Subject

可選Subject頭字段用來(lái)指示媒體會(huì)話的主題。

首標(biāo)字段的內(nèi)容,也可以發(fā)出警報(bào),以幫助用戶決定是否接受呼叫期間顯示。

Example:
Subject: How are you?

Supported

Supported頭字段用于列出由UA或服務(wù)器實(shí)現(xiàn)的一個(gè)或多個(gè)選項(xiàng)。

  • 它通常包括在響應(yīng)于OPTIONS請(qǐng)求。

  • 如果沒(méi)有選擇被實(shí)現(xiàn),不包括報(bào)頭字段中。

  • 如果UAC列出支持的報(bào)頭字段的選項(xiàng),代理或UAS可以在通話中使用的選項(xiàng)。

  • 如果必須使用或支持的選項(xiàng),Require頭字段中來(lái)代替。

Example:
Supported: rel100

Expires(過(guò)期)

Expires頭字段中被用于指示的時(shí)間間隔,其中該請(qǐng)求或消息內(nèi)容是有效的。

  • 當(dāng)存在于INVITE請(qǐng)求,報(bào)頭字段中上完成了INVITE請(qǐng)求的設(shè)定時(shí)間限制。

  • 即,UAC必須的時(shí)間周期內(nèi)接收一個(gè)最終的響應(yīng)(非1xx)上或INVITE請(qǐng)求與一個(gè)408請(qǐng)求超時(shí)響應(yīng)自動(dòng)取消。

  • 一旦會(huì)話被建立,從該值Expires頭字段中在原始INVITE已經(jīng)不起作用-會(huì)話-Expires頭字段中必須被用于此目的。

  • 如果存在于REGISTER請(qǐng)求,報(bào)頭字段用于設(shè)置在聯(lián)系頭字段中的URI不包含一個(gè)過(guò)期參數(shù)的時(shí)間限制。

  • 到期也用于SUBSCRIBE請(qǐng)求,以指示該訂閱的持續(xù)時(shí)間。

Example:
Expires: 30

User-Agent

此報(bào)頭字段中就是用于傳輸關(guān)于在UA發(fā)起的請(qǐng)求的信息。