目录

简介

先决条件

要求

使用的组件

背景信息

配置

验证

故障排除

简介

本文档介绍如何配置enableDelayQuickReinvite，以防止应用服务器(AS)在ACK后过快发送重新INVITE。

先决条件

- 基本会话初始协议(SIP)知识

- 基本AS知识

- BroadWorks bwcli基础知识

要求

- 可以使用AS bwcli和管理员用户

- 能够查看AS XSLogs

使用的组件

- 思科BW AS

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您的网络处于活动状态，请确保您了解所有命令的潜在影响。

背景信息

在某些呼叫方案中，AS需要启动重新连接，为此，AS会向两端发送重新邀请。通常情况下，会发生这种情况的是对“呼叫中心”、“寻线组”的呼叫，或者涉及“单击拨号”或“呼叫记录”的呼叫；一般情况下，AS需要在建立会话后触发重新连接。

当AS需要发送re-INVITE后ACK在同一对话框中发送后，AS通常在发送re-INVITE的同一时刻发送re-INVITE，这可能导致远程设备无法按顺序接收ACK和re-INVITE。

发生这种情况时，在挂起ACK之前收到re-INVITE的设备可以拒绝重新INVITE，通常错误代码为500（但这可能因远程设备实施而异）。

配置

有两个用于配置此功能的参数，它们都位于bwcli的AS_CLI/Interface/SIP>。

- enableDelayQuickReInvite是打开或关闭功能的主开关。接受的值为真和假

- delayQuickReInviteMilliseconds是在ACK之后添加的延迟的值(以毫秒(ms)为单位)。值范围为100ms到10000ms。

要配置此功能，请打开AS bwcli，以管理员用户身份登录，然后导航到AS_CLI/Interface/SIP>:

AS_CLI> cd /Interface/SIP

AS_CLI/Interface/SIP>

首先运行get命令检查两个参数的当前值。默认情况下，enableDelayQuickReInvite被禁用(false),delayQuickReInviteMilliseconds的默认值为1000（1000ms或1秒）。

为了增强可读性，将省略部分get命令输出。

AS_CLI/Interface/SIP> get

...

enableDelayQuickReInvite = false

delayQuickReInviteMilliseconds = 1000

...

然后配置delayQuickReInviteMilliseconds参数。您可以接受默认值，也可以使用最适合您环境的默认值。建议使用尽可能低的值，因此建议从100ms的值开始，仅在不足以解决问题时增加该值。

AS_CLI/Interface/SIP> set delayQuickReInviteMilliseconds 100

...Done

一旦配置了delayQuickReInviteMilliseconds的值，就可以启用enableDelayQuickReInvite。

AS_CLI/Interface/SIP> set enableDelayQuickReInvite true

...Done

验证

配置完成后，再次运行呼叫方案，以确定AS会增加ACK与重新INVITE之间的延迟。例如，如果AS已配置为添加100ms，您可以预计延迟至少为100ms，但可能比延迟高几毫秒。

100毫秒通常足以防止ACK和re-INVITE接收顺序混乱，但根据网络环境和信令路径中涉及的SIP实体，该值可能更高。

故障排除

如果设备仍然以500错误代码做出响应，且ACK和re-INVITE已按正确顺序传送，则需要对设备进行进一步调查。

在AS上使用XSLogs验证AS是否按配置添加了延迟，并使用数据包捕获或设备日志确保延迟足够让消息按正确顺序传送。

请注意，这仅当AS在发送ACK之后发送re-INVITE时有效，但在AS收到ACK且导致AS发送重新INVITE时无效。