本文档介绍如何在Gy接口上配置故障处理(FH)和服务器不可达(SU)机制,以解决在线计费系统(OCS)上或与策略和计费实施功能(PCEF)与OCS之间的连接相关的问题。本文档中介绍的信息适用于在Cisco 5000系列聚合服务路由器(ASR5K)上运行的家庭代理(HA)、网关通用分组无线业务(GPRS)支持节点(GGSN)和分组数据网络网关(PGW)功能。
思科建议您的系统满足以下要求,以便使用FH和SU机制:
本文档中的信息基于ASR5K的所有版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
PCEF通过Gy接口连接到OCS,该接口使用Diameter作为基本协议和DCCA。以下是PCEF和OCS之间的消息流:
在PCEF和OCS之间建立直径连接以启用消息流。OCS可能会发送负消息,PCEF和OCS之间的传输连接可能会失败,或者消息可能超时,这可能导致用户会话建立失败。这会阻止用户使用服务。
以下两种机制可用于解决此问题:
本节介绍支持FH和SU机制所需的配置。
本文档中的信息使用以下拓扑:
这是DCCA的应用级计时器,可在直径信用控制设置中配置。该值的范围为1到300秒。
示例如下:
[local]host_name(config-dcca)# diameter pending-timeout
这是禁用超时,可在“直径终端”设置中配置。该值的范围为1到300秒。
示例如下:
[context_name]host_name(config-ctx-diameter)# response-timeout
此功能用于启用或禁用直径信用控制会话故障切换,允许系统在主服务器无法访问时使用辅助服务器。这可在直径信用控制设置中配置。
示例如下:
local]host_name(config-dcca)# diameter session failover
FH机制仅在存在直径会话故障切换时运行。FH允许系统选择是继续会话并转换为脱机,还是在发生连接或消息级错误时终止会话。
FH机制可以在直径信用控制设置中配置。以下是FH配置中使用的语法:
failure-handling { initial-request | terminate-request | update-request } { continue
[ go-offline-after-tx-expiry | retry-after-tx-expiry ] | retry-and-terminate,
[ retry-after-tx-expiry ] | terminate }
第一部分指定请求类型:初始(CCR-I)、更新(CCR-U)和终止(CCR-T)。
第二部分指定激活FH机制时应执行的操作。FH机制可以执行以下三种操作:
本节介绍当没有配置时的FH默认行为。默认情况下,FH机制在响应超时(RT)期间激活,除非配置了终止操作。
如果从服务器接收信用控制故障处理属性值对(AVP),则应用接收的设置。
例如:
本节介绍FH机制的详细呼叫流程以及所有可能的选项。
初始请求
CCFH设置 | CLI命令 | Tx的行为 | RT的行为 | 辅助为Up | 辅助关闭 |
---|---|---|---|---|---|
继续 |
初始请求 |
不适用 |
继续 |
辅助 |
在另一个RT后脱机。 |
初始请求 |
离线 |
不适用 |
在Tx处脱机 |
在Tx处脱机 |
|
初始请求 |
继续 |
不适用 |
辅助 |
在另一个Tx后脱机 |
|
重试并终止 |
初始请求 |
不适用 |
重试 |
辅助 |
在另一个RT后终止 |
初始请求 |
重试 |
不适用 |
辅助 |
在另一Tx后终止 |
|
终止 |
初始请求 |
终止 |
不适用 |
Tx后终止 |
Tx后终止 |
更新请求
CCFH设置 | CLI命令 | Tx的行为 | RT的行为 | 辅助为Up | 辅助关闭 |
---|---|---|---|---|---|
继续 |
更新请求 |
不适用 |
继续 |
辅助 |
在另一个RT后脱机 |
更新请求 |
离线 |
不适用 |
在Tx处脱机 |
在Tx处脱机 |
|
更新请求 |
继续 |
不适用 |
辅助 |
在另一个Tx后脱机 |
|
重试并终止 |
更新请求 |
不适用 |
重试 |
辅助 |
在另一个RT后发送CCR-T |
更新请求 |
重试 |
不适用 |
辅助 |
在另一个Tx之后发送CCR-T |
|
终止 |
更新请求 |
终止 |
不适用 |
在Tx之后发送CCR-T |
在Tx之后发送CCR-T |
Terminate-Request
CCFH设置 | CLI命令 | Tx的行为 | RT的行为 | 辅助为Up | 辅助关闭 |
---|---|---|---|---|---|
继续 |
terminate-request |
不适用 |
重试 |
CCR-T已发送 |
在另一个RT后终止 |
terminate-request |
重试 |
不适用 |
CCR-T已发送 |
在另一Tx后终止 |
|
terminate-request |
重试 |
不适用 |
CCR-T已发送 |
在另一Tx后终止 |
|
重试并终止 |
terminate-request |
不适用 |
重试 |
CCR-T已发送 |
在另一个RT后终止 |
terminate-request |
重试 |
不适用 |
CCR-T已发送 |
在另一Tx后终止 |
|
终止 |
terminate-request |
终止 |
不适用 |
终止于 |
Tx后终止 |
SU机制与FH机制相似,但它对故障过程提供更精细的控制。除了消息和连接级别(传输)故障后会话继续,当OCS的响应速度慢时,还可以使用此机制。它还提供以下选项:在终止之前继续会话一段时间持续时间/配额耗尽,或在会话转换为脱机或终止之前使用可配置的临时配额(卷和时间)和可配置服务器重试。
SU机制可在直径信用控制设置中配置。SU配置中使用的语法因使用的版本而异。
对于版本12.1及更低版本,以下是用于SU机制配置的语法:
servers-unreachable { initial-request { continue | terminate [ after-timer-expiry
<timeout_period> ] } | update-request { continue | terminate [ after-quota-expiry
| aftertimer-expiry <timeout_period> ] } }
对于版本12.2及更高版本,以下是用于SU机制配置的语法:
servers-unreachable { behavior-triggers { initial-request | update-request }
result-code { any-error | <result-code> [ to <end-result-code> ] }
| transport-failure [ response-timeout | tx-expiry ] | initial-request
{ continue [ { [ after-interim-time <timeout_period> ] [ after-interim-volume
<quota_value> ] } server-retries <retry_count> ] | terminate [ {
[ after-interim-time <timeout_period> ] [ after-interim-volume <quota_value> ]
} server-retries <retry_count> | after-timer-expiry <timeout_period> ] }
| update-request { continue [ { [ after-interim-time <timeout_period> ]
[ after-interim-volume <quota_value> ] } server-retries <retry_count> ]
| terminate [ { [ after-interim-time <timeout_period> ] [ after-interim-volume
<quota_value> ] } server-retries <retry_count> ] | after-quota-expiry |
after-timer-expiry <timeout_period> ] } }
如果服务器返回CC-FH AVP,并且SU机制配置为一组行为触发器,则应用SU配置;否则,应用CC-FH AVP值。默认情况下,结果代码(如3002、3004和3005)处于传递失败状态,并被视为RT。
SU机制可以执行以下操作:
这些选项可与“继续”或“终止”操作一起使用:
以下是一些需要记住的重要信息:
SU机制可能由CCR-I或CCR-U的故障触发,原因可能是错误代码、传输故障、Tx-expiry或RT。该操作可以是临时配额(时间和/或卷)分配、服务器重试次数、计时器值(导致会话在指定时间内脱机并仅终止)或配额到期(仅用于CCR-U和终止),然后会话离线或终止。
在多服务信用控制(MSCC)方案中,临时配额按会话提供,而不是按评级组(RG)提供。
主服务器可能触发传输失败,而辅助服务器可能触发Tx-expiry或response-timeout。在此场景中,最新错误被视为故障的触发因素。
如果SU机制未配置任何故障触发,则触发FH机制。
不断开会话的初始请求
以下是此场景的消息流:
会话断开时的初始请求
以下是此场景的消息流:
更新请求,不断开会话
以下是此场景的消息流:
会话断开时的更新请求
以下是此场景的消息流:
具有未知会话的更新请求
以下是此场景的消息流:
使用多个RG的更新请求(MSCC方案)
以下是此场景的消息流:
Terminate-Request
以下是此场景的消息流:
CCR错误代码处理
以下是此场景的消息流:
本节提供FH和SU机制的配置示例。同时配置FH和SU机制时,SU优先于FH,因为相同的行为触发器。
示例如下:
credit-control group test
diameter origin endpoint test
diameter peer-select peer test
quota volume-threshold percent 10
diameter pending-timeout 80 deciseconds msg-type any
diameter session failover
trigger type rat lac
apn-name-to-be-included virtual
quota request-trigger exclude-packet-causing-trigger
failure-handling initial-request continue retry-after-tx-expiry
servers-unreachable initial-request terminate after-interim-volume 200
after-interim-time 3600 server-retries 0
servers-unreachable behavior-triggers initial-request transport-failure
tx-expiry
servers-unreachable update-request continue after-interim-volume 200
after-interim-time 3600 server-retries 50
servers-unreachable behavior-triggers update-request transport-failure
tx-expiry
要验证配置是否正常工作,请输入show active-charging service <service name>命令:
# show active-charging service name test
Service name: test
TCP Flow Idle Timeout : 300 (secs)
UDP Flow Idle Timeout : 300 (secs)
ICMP Flow Idle Timeout : 300 (secs)
ICMP Flow Idle Timeout : 300 (secs)
ALG Media Idle Timeout : 120 (secs)
TCP Flow-Mapping Idle Timeout : 300 (secs)
UDP Flow-Mapping Idle Timeout : Not Configured
Deep Packet Inspection: Enabled
Passive Mode : Disabled
CDR Flow Control : Enabled
CDR Flow Control Unsent Queue Size: 75
Unsent Queue high watermark: 56
Unsent Queue low watermark: 18
Content Filtering: Disabled
Dynamic Content Filtering: Disabled
URL-Blacklisting: Disabled
URL-Blacklisting Match-method: Exact
Content Filtering Match-method: Generic
Interpretation of Charging-rule-base-name: active-charging-group-of-ruledefs
Selection of Charging-rule-base AVP : Last
Credit Control:
Group : test
Mode : diameter
APN-name-to-be-included: gn
Trigger-Type : N/A
Failure-Handling:
Initial-Request : continue retry-after-tx-expiry
Update-Request : retry-and-terminate
Terminate-Request: retry-and-terminate
Server Unreachable Failure-Handling:
Initial-Request : terminate
Update-Request : continue
输入show active-charging credit-control statistics命令,以查看与SU和FH机制相关的统计信息。以下为示例输出:
#show active-charging credit-control statistics
...
OCS Unreachable Stats:
Tx-Expiry: 2291985 Response-TimeOut: 615
Connection-Failure: 2 Action-Continue: 0
Action-Terminated: 0 Server Retries: 2023700
Assumed-Positive Sessions:
Current: 2 Cumulative: 2196851
以下是有关此示例输出的一些重要说明:
输入show active-charging sessions full all命令以查看与会话的SU状态相关的信息。以下为示例输出:
#show active-charging sessions full all
..
..
Current Server Unreachable State: CCR-I
Interim Volume in Bytes (used / allotted): 84/ 200
Interim Time in Seconds (used / allotted): 80/ 3600
Server Retries (attempted / configured): 1/ 50
以下是有关此示例输出的一些重要说明:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
02-Jun-2015 |
初始版本 |