請求和響應頭字段

接收

在接受頭字段是用來表示在郵件正文中接受信息的互聯網媒體類型。

  • 頭字段描述了使用的格式類型/子類型在互聯網中通用的媒體類型。

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

  • 媒介類型的列表可以有首選項設定使用q值參數。

Accept-Encoding

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

  • 編碼可以被用來確保SIP消息的大消息主體的單個UDP數據報內配合。

  • 使用q值參數可以設置首選項。如果沒有列出方案可以接受的UAC,則返回406無法接受的響應。如果不包含,假定編碼將成爲 text/plain.

To

To 表示該請求的最終接收者。由UA生成的任何反應將包含與另外一個標籤的這一頭字段。這是一個強制性的頭。

  • 由代理產生的任何迴應必須加入到To頭域的標籤。

  • To頭域包含URI永遠不會用於路由。

From

From頭字段表示請求的發起者。它就是用於標識對話兩個地址中的一個。

  • From頭字段可以包含用來識別特定的呼叫標籤。

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

  • 這是一個強制性的頭。

Call-ID

Call-ID頭字段是強制性的所有SIP請求和響應。它被用來唯一地標識兩個用戶代理之間建立呼叫。

  • Call-ID必須調用是唯一的。

  • 所有註冊的用戶代理應該使用相同的Call-ID。

  • Call-ID 總是由用戶代理創建的,永遠不會被服務器修改。

  • 它就是一個加密的隨機標識符。

Via

通過用於記錄所採取的一個請求,這有助於路由一個響應返回給始發所述SIP路由。

  • 一個UA產生一個請求記錄自己的地址在Via頭域。

  • 代理轉發請求增加了包含它自己的地址Via頭字段列表的頂部Via頭域。

  • 代理或UA產生一個請求副本都是從爲了請求到響應的Via頭域的響應,然後發送響應的Via頭域上指定的地址。

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

  • 如果它不匹配,則響應已被丟棄。

  • Via報頭字段的頂部然後除去,並響應轉發到下一個Via報頭字段指定的地址。

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

  • 接收的標記被添加到Via頭字段如果UA或代理服務器接收從一個不同的地址比Via頭字段頂端指定的請求。

  • 分支參數被添加到由UA和代理,這被計算爲請求URI及To的散列函數的Via報頭字段,To, From, Call-ID, 和 CSeq序列號。

CSeq

Cseq頭域就是在每個請求所需的頭字段。它包含一個十進制數,增加爲每個請求。

  • 一般,它增加了1爲每個新的請求,除CANCEL和ACK請求,這使用INVITE請求中的Cseq數其所引用。

  • Cseq計數用於通過的UAS確定失序的請求或一個新的請求(不同的Cseq)或重發(相同的Cseq)之間進行區分。

  • Cseq頭字段用於通過UAC的匹配它所引用的請求的響應。

  • 例如,UAC發送INVITE請求然後CANCEL請求可通過在200 OK響應中的Cseq的方法告訴如果是邀請或取消請求的響應。

聯繫(Contact)

Contact頭字段用於傳達關於請求的發起者的地址,其他用戶。一旦聯繫頭字段已經被接收到,該URI可以被緩存,並用於在對話中的路由將來的請求。

例如,在對一個INVITE可以允許確認ACK消息,並且此呼叫期間的所有將來的請求繞過代理和直接到被呼叫方200 OK響應聯繫頭字段。

Record-Route

在Record-Route頭字段用於通過兩個UA之間的會話(對話)的所有後續請求代理強制路由。

通常情況下,一個Contact頭域的存在使得用戶代理髮送消息,直接繞過初始請求使用的代理鏈。

  • 代理插入其地址爲一個Record-Route頭字段覆蓋這一點,未來的力量要求包括含有迫使該代理包含在代理的地址路由報頭字段。

  • 代理希望實現這個含插入自己的URI的頭字段,或增加其URI到一個已經存在的Record-Route頭域。

  • URI被構造爲使得該URI解析回代理服務器。UAS複製Record-Route頭字段插入到請求的200 OK響應。

  • 頭字段由代理回UAC轉發不變。在UAC然後存儲記錄 - 路由代理列表加上目前在200在所有後續請求中Route頭字段使用OK了Contact頭字段,如果。

Organization

Organization頭字段用於指示該消息的發起者所屬的組織。

  • 它也可以通過插入代理作爲一個消息從一個組織傳遞到另一個。

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

Retry-After

它被用來表示當一個資源或服務可能再次可用。

  • 在503服務不可用的響應時,表示當服務器將可用。

  • 在404未找到,600忙碌隨處可見,603衰亡的反應,則表示當被叫UA可以再次使用。

  • 它包含一段時間「sec」。

Subject

可選Subject頭字段用來指示媒體會話的主題。

首標字段的內容,也可以發出警報,以幫助用戶決定是否接受呼叫期間顯示。

Example:
Subject: How are you?

Supported

Supported頭字段用於列出由UA或服務器實現的一個或多個選項。

  • 它通常包括在響應於OPTIONS請求。

  • 如果沒有選擇被實現,不包括報頭字段中。

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

  • 如果必須使用或支持的選項,Require頭字段中來代替。

Example:
Supported: rel100

Expires(過期)

Expires頭字段中被用於指示的時間間隔,其中該請求或消息內容是有效的。

  • 當存在於INVITE請求,報頭字段中上完成了INVITE請求的設定時間限制。

  • 即,UAC必須的時間週期內接收一個最終的響應(非1xx)上或INVITE請求與一個408請求超時響應自動取消。

  • 一旦會話被建立,從該值Expires頭字段中在原始INVITE已經不起作用-會話-Expires頭字段中必須被用於此目的。

  • 如果存在於REGISTER請求,報頭字段用於設置在聯繫頭字段中的URI不包含一個過期參數的時間限制。

  • 到期也用於SUBSCRIBE請求,以指示該訂閱的持續時間。

Example:
Expires: 30

User-Agent

此報頭字段中就是用於傳輸關於在UA發起的請求的信息。