簡介
本檔案介紹如何在BW AS上將代理策略配置為代理未知SIP標頭或需要/支援的引數。
必要條件
- 基本作業階段啟始通訊協定(SIP)知識
- 應用伺服器(AS)基礎知識
- 基本Broadworks(BW)bwcli知識
需求
思科建議您瞭解以下主題:
- 能夠將AS bwcli用作管理員使用者
- 能夠檢視AS XSLogs
- 生成一個INVITE(通過客戶端或模擬器),允許配置Headers和Require/Supported引數。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
背景資訊
作為背對背使用者代理(B2BUA),AS通常不會代理Require和Supported報頭中的SIP報頭或引數(如果它們被視為未知)。
例如,如果AS收到此SIP INVITE,則會丟棄整個報頭MyUnknownHeader和Supported報頭中的引數MyUnknownParameter。
INVITE sip:+1555123456@cisco.com;user=phone SIP/2.0
Via: SIP/2.0/TCP 10.1.2.3:5060;branch=z9hG4bKva8in830cgv4i2mj6m20.1
Max-Forwards: 69
To: <sip:+1555123456@cisco.com;user=phone>
From: <sip:+1555654321@cisco.com;user=phone>;tag=SDq4k7b01-1
Contact: <sip:+155565432@172.16.0.1:5060;transport=tcp>
Call-ID: Testcall-456000001
CSeq: 101 INVITE
Supported: 100rel,MyUnknownParameter
MyUnknownHeader: MyStuff
Allow: INVITE, OPTIONS, BYE, CANCEL, ACK, PRACK, UPDATE, REFER, SUBSCRIBE, NOTIFY, INFO, REGISTER
Content-Length: 0
AS上的ProxyPolicy設定允許您配置未知標頭和引數,以由AS透明代理。
Cisco BroadWorks SIP訪問介面互通指南包含已知報頭和引數的清單,在AS處理這些報頭和引數時,這些報頭和引數永遠不會被透明代理。
已知報頭和引數將被處理,可以或不能被代理(取決於AS處理的結果),並且不能用本文中介紹的配置進行控制。
設定
ProxyPolicy所需的所有設定可在bwcli中找到,地址為AS_CLI/Interface/SIP/ProxyPolicy>。
為了允許AS代理報頭MyUnknownHeader,請首先從AS bwcli導航到AS_CLI/Interface/SIP/ProxyPolicy/Rule>並新增新規則:
AS_CLI> cd /Interface/SIP/ProxyPolicy/Rule
AS_CLI/Interface/SIP/ProxyPolicy/Rule> add MyUnknownHeaderRule true true true true true true true true
...Done
執行get命令以顯示目前組態。
現在的配置如下所示(由於有許多選項,此命令的輸出寬度非常大;水準滾動以完整檢視它):
AS_CLI/Interface/SIP/ProxyPolicy/Rule> get
Rule Name Keep On Redirection Keep On Egress Access Keep On Egress Network On-net Keep On Egress Network Off-net Keep On Egress Access Shared Call Appearance Keep On Egress Network BroadWorks Anywhere On-net Keep On Egress Network BroadWorks Anywhere Off-net Accept From Redirect-to URI
============================================================================================================================================================================================================================================================================================================
MyUnknownHeaderRule true true true true true true true true
完成此操作後,必須建立HeaderPolicy。導覽至AS_CLI/Interface/SIP/ProxyPolicy/HeaderPolicy>,然後運行此命令:
AS_CLI/Interface/SIP/ProxyPolicy/HeaderPolicy> add MyUnknownHeader MyUnknownHeaderRule
...Done
在本例中,規則配置為在所有方向、所有服務和重定向uri中保留報頭,但此設定取決於您的實際案例。
可用選項在以下清單中說明:
- keepOn重定向:此引數確定在重新導向的情況下是否保留報頭。
- keepOnEgressAccess:此引數確定是否為訪問端的傳出消息保留報頭。
- keepOnEgressNetworkOnNet:此引數確定是否為繫結到網路的傳出網內消息傳播報頭。
- keepOnEgressNetworkOffNet:此引數確定是否為繫結到網路的傳出網外消息傳播報頭。
- keepOnEgressAccessSharedCallAppearance:此引數確定是否為傳送到共用呼叫外觀輔助位置的傳出消息保留報頭。
- keepOnEgressNetworkBroadWorksAnywhereOnNet:此引數確定是否為發往BroadWorks Anywhere位置的網內消息保留報頭。
- keepOnEgressNetworkBroadWorksAnywhereOffNet:此引數確定是否為發往BroadWorks Anywhere位置的網外消息保留報頭。
- acceptFromRedirectToURI:此引數確定是否可以接受嵌入重定向目標URI中的未知標頭以插入到出站消息中。
未知引數可以相同方式配置,但該引數在AS_CLI/Interface/SIP/ProxyPolicy/OptionTagPolicy>中配置。
首先,建立規則。
AS_CLI/Interface/SIP/ProxyPolicy/Rule> add MyUnknownParameterRule false true true true true true true true
這是生成的規則,將Keep On Redirection設定為false,因此,在進行重定向時,不會將MyUnknownHeader新增到傳出INVITE。
AS_CLI/Interface/SIP/ProxyPolicy/Rule> get
Rule Name Keep On Redirection Keep On Egress Access Keep On Egress Network On-net Keep On Egress Network Off-net Keep On Egress Access Shared Call Appearance Keep On Egress Network BroadWorks Anywhere On-net Keep On Egress Network BroadWorks Anywhere Off-net Accept From Redirect-to URI
===================================================================================================================================================================================================================================================================================================================
MyUnknownHeaderRule true true true true true true true true
MyUnknownParameterRule false true true true true true true true
要完成配置,請新增OptionTagPolicy。
AS_CLI/Interface/SIP/ProxyPolicy/OptionTagPolicy> add MyUnknownParameter MyUnknownParameterRule
AS現在代理未知標頭MyUnknownHeader和未知引數MyUnknownParameter。
附註:AS不理解語義,也不以任何方式處理未知的報頭和引數。
驗證
根據規則配置,將包含您在代理策略中配置的未知SIP標頭和選項標籤的INVITE傳送到AS,並確保傳出INVITE保留未知標頭。
疑難排解
如果傳出INVITE未按預期包含標題或選項標籤,您可以檢查以下清單:
- 請確保已配置的標頭或引數未包含在已知標頭/引數的清單中。
- 檢查INVITE中的標頭或引數是否與bwcli中配置的標頭或引數完全匹配(不區分大小寫)。
- 檢查已配置的規則是否允許代理報頭或引數。