简介
本文档介绍如何在BW AS上配置代理策略,以代理未知SIP标头或要求/支持的参数。
先决条件
- 基本会话发起协议(SIP)知识
- 应用服务器(AS)基础知识
- 基本Broadworks(BW)bwcli知识
要求
Cisco 建议您了解以下主题:
- 能够将AS bwcli用作管理员用户
- 能够查看AS XSLogs
- 生成一个INVITE(通过客户端或模拟器),允许配置Headers和Require/Supported参数。
使用的组件
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
作为背靠背用户代理(B2BUA),如果认为需要(Require)和受支持(Supported)报头中的SIP报头或参数未知,则AS通常不会代理。
例如,如果AS收到此SIP INVITE,则会丢弃Supported报头中的整个报头MyUnknownHeader和参数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中配置的报头或参数完全匹配(不区分大小写)。
- 检查已配置的规则是否允许代理报头或参数。