SIP 請(qǐng)求和響應(yīng)報(bào)頭字段

2018-12-28 19:28 更新

Accept

Accept頭字段用于在消息正文中指示可接受的消息Internet媒體類型。

  • 標(biāo)題字段描述使用通常在因特網(wǎng)中使用的格式類型/子類型的媒體類型。

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

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

Accept-Encoding

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

  • 編碼可以用于確保具有大消息體的SIP消息適合單個(gè)UDP數(shù)據(jù)報(bào)。

  • 使用 q 值參數(shù)可以設(shè)置首選項(xiàng)。如果所列出的方案都不能被UAC接受,則返回406不可接受的響應(yīng)。如果不包括,則假設(shè)的編碼將是 text / plain 。

To

To 表示請(qǐng)求的最終收件人。UA生成的任何響應(yīng)將包含此標(biāo)頭字段并添加標(biāo)簽。它是必需的頭。

  • 代理生成的任何響應(yīng)必須在 To 頭字段中添加標(biāo)簽。

  • To 頭字段URI從不用于路由。

From

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

  • A From 頭字段可以包含用于標(biāo)識(shí)特定呼叫的標(biāo)簽。

  • 它可以包含顯示名稱,在這種情況下,URI包含在<&gt ;.

  • 它是必需的頭。

Call-ID

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

  • 呼叫ID在呼叫之間必須是唯一的。

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

  • Call-ID始終由用戶代理創(chuàng)建,并且不會(huì)被服務(wù)器修改。

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

Via

Via用于記錄由有助于將響應(yīng)路由回始發(fā)者的請(qǐng)求所采用的SIP路由。

  • 生成請(qǐng)求的UA在Via頭字段中記錄其自己的地址。

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

  • 生成對(duì)請(qǐng)求的響應(yīng)的代理或UA將請(qǐng)求中的所有Via報(bào)頭字段按順序復(fù)制到響應(yīng)中,然后將響應(yīng)發(fā)送到在頂部Via報(bào)頭字段中指定的地址。

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

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

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

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

  • 如果UA或代理從與在頂部Via頭字段中指定的地址不同的地址接收到請(qǐng)求,則將收到的標(biāo)簽添加到Via頭字段。

  • 分支參數(shù)通過UA和代理被添加到Via報(bào)頭字段,其被計(jì)算為Request-URI的哈希函數(shù),以及To,F(xiàn)rom,Call-ID和CSeq數(shù)。

CSeq

CSeq頭字段是每個(gè)請(qǐng)求中所需的頭字段。 它包含對(duì)每個(gè)請(qǐng)求增加的十進(jìn)制數(shù)。

  • 通常,對(duì)于每個(gè)新請(qǐng)求,除了 CANCEL ACK 請(qǐng)求,它使用它所引用的INVITE請(qǐng)求的CSeq號(hào),它增加1。

  • UAS使用CSeq計(jì)數(shù)來確定失序請(qǐng)求或區(qū)分新請(qǐng)求(不同CSeq)或重傳(相同CSeq)。

  • CSeq頭字段由UAC使用以匹配對(duì)其引用的請(qǐng)求的響應(yīng)。

  • 例如,發(fā)送INVITE請(qǐng)求然后發(fā)送CANCEL請(qǐng)求的UAC可以通過CSeq中的方法告知200OK響應(yīng),如果它是對(duì)邀請(qǐng)或取消請(qǐng)求的響應(yīng)。

Contact

Contact頭字段用于向其他用戶傳達(dá)關(guān)于請(qǐng)求發(fā)起者的地址。 一旦接收到聯(lián)系人報(bào)頭字段,URI可以被緩存并且用于在對(duì)話中路由未來的請(qǐng)求。

例如,在對(duì)INVITE的200OK響應(yīng)中的聯(lián)系人報(bào)頭字段可以允許確認(rèn)ACK消息和在該呼叫期間的所有未來請(qǐng)求繞過代理并直接去往被叫方。

Record-Route

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

通常,Contact頭字段的存在允許UA直接繞過初始請(qǐng)求中使用的代理鏈來發(fā)送消息。

  • 將其地址插入到記錄 - 路由頭部字段中的代理覆蓋此并且迫使將來的請(qǐng)求包括包含強(qiáng)制該代理被包括的代理的地址的Route頭字段。

  • 希望實(shí)現(xiàn)此操作的代理將插入包含其自己的URI的頭字段,或?qū)⑵銾RI添加到已經(jīng)存在的Record-Route頭字段。

  • 構(gòu)造URI以便URI解析回代理服務(wù)器。 UAS將Record-Route頭字段復(fù)制到對(duì)請(qǐng)求的200 OK響應(yīng)中。

  • 頭字段由代理不變地轉(zhuǎn)發(fā)回UAC。 然后,UAC存儲(chǔ)記錄 - 路由代理列表加上聯(lián)系人頭字段(如果在200OK中存在),以便在所有后續(xù)請(qǐng)求中的路由頭字段中使用。

Organization

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

  • 它也可以由代理插入,因?yàn)橄囊粋€(gè)組織傳遞到另一個(gè)組織。

  • 與所有SIP報(bào)頭字段一樣,它可以由代理用于做出路由決定,并且由UA用于進(jìn)行呼叫篩選決定。

Retry-After

它用于指示資源或服務(wù)何時(shí)可以再次可用。

  • 在503服務(wù)不可用響應(yīng)中,它指示服務(wù)器何時(shí)可用。

  • 在404未找到,600 Busy Everywhere和603拒絕響應(yīng)中,它指示被叫UA何時(shí)可以再次可用。

  • 它包含以秒為單位的時(shí)間段。

Subject

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

報(bào)頭字段的內(nèi)容也可以在提醒期間顯示,以幫助用戶決定是否接受呼叫。

Example:
Subject: How are you?

Supported

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

  • 它通常包含在對(duì)OPTIONS請(qǐng)求的響應(yīng)中。

  • 如果未實(shí)現(xiàn)任何選項(xiàng),則不包括頭字段。

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

  • 如果必須使用或支持該選項(xiàng),那么將使用Require頭字段。

Example:
Supported: rel100

Expires

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

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

  • 也就是說,UAC必須在該時(shí)間段內(nèi)接收最終響應(yīng)(非1xx),或者INVITE請(qǐng)求被408請(qǐng)求超時(shí)響應(yīng)自動(dòng)取消。

  • 一旦建立會(huì)話,來自原始INVITE中的Expires頭字段的值沒有效果 - 為此目的必須使用Session-Expires頭字段。

  • 如果存在于REGISTER請(qǐng)求中,則頭字段在Contact頭字段中的URI上設(shè)置不包含 expires 參數(shù)的時(shí)間限制。

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

Example:
Expires: 30

User-Agent

該報(bào)頭字段用于傳送關(guān)于發(fā)起請(qǐng)求的UA的信息。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)