本檔案介紹如何在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之間建立Diameter連線以啟用消息流。OCS可能傳送否定消息、PCEF和OCS之間的傳輸連線可能失敗、或者消息可能超時,這可能導致建立使用者會話失敗。這可防止使用者使用服務。
可以使用以下兩種機制來解決此問題:
本節介紹支援FH和SU機制所需的配置。
本檔案中的資訊使用以下拓撲:
這是可在diameter credit-control設定中配置的DCCA的應用級計時器。該值範圍為1到300秒。
以下是範例:
[local]host_name(config-dcca)# diameter pending-timeout
這是資料庫超時,可在Diameter Endpoint設定中配置。該值範圍為1到300秒。
以下是範例:
[context_name]host_name(config-ctx-diameter)# response-timeout
此功能用於啟用或禁用diameter credit control session failover(當主伺服器不可訪問時,允許系統使用輔助伺服器)。可在diameter credit-control設定中進行配置。
以下是範例:
local]host_name(config-dcca)# diameter session failover
FH機制僅在存在diameter會話故障切換時運行。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)期間啟用,除非配置了Terminate操作。
如果從伺服器收到Credit-Control-Failure-Handling Attribute Value Pair(AVP),則應用接收的設定。
以下是一些範例:
本節介紹FH機制的詳細呼叫流程以及所有可能的選項。
Initial-Request
CCFH設定 | CLI指令 | Tx行為 | RT行為 | 輔助裝置已啟動 | 輔助裝置已關閉 |
---|---|---|---|---|---|
繼續 |
initial-request |
不適用 |
繼續 |
次要 |
另一個RT後離線。 |
initial-request |
離線 |
不適用 |
Tx離線 |
Tx離線 |
|
initial-request |
繼續 |
不適用 |
次要 |
另一個Tx後離線 |
|
重試和終止 |
initial-request |
不適用 |
重試 |
次要 |
在另一個RT之後終止 |
initial-request |
重試 |
不適用 |
次要 |
在另一個Tx之後終止 |
|
終止 |
initial-request |
終止 |
不適用 |
在Tx之後終止 |
在Tx之後終止 |
Update-Request
CCFH設定 | CLI指令 | Tx行為 | RT行為 | 輔助裝置已啟動 | 輔助裝置已關閉 |
---|---|---|---|---|---|
繼續 |
update-request |
不適用 |
繼續 |
次要 |
另一個RT後離線 |
update-request |
離線 |
不適用 |
Tx離線 |
Tx離線 |
|
update-request |
繼續 |
不適用 |
次要 |
另一個Tx後離線 |
|
重試和終止 |
update-request |
不適用 |
重試 |
次要 |
在另一個RT之後傳送CCR-T |
update-request |
重試 |
不適用 |
次要 |
在另一個Tx之後傳送CCR-T |
|
終止 |
update-request |
終止 |
不適用 |
傳送後傳送CCR-T |
傳送後傳送CCR-T |
Terminate-Request
CCFH設定 | CLI指令 | Tx行為 | RT行為 | 輔助裝置已啟動 | 輔助裝置已關閉 |
---|---|---|---|---|---|
繼續 |
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機構可在diameter credit-control設定中配置。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機制可以執行以下操作:
這些選項可與Continue或Terminate操作一起使用:
以下是需要記住的重要資訊:
SU機制可能由CCR-I或CCR-U故障觸發,原因可能是錯誤代碼、傳輸故障、Tx-expiry或RT。該操作可以是分配臨時配額(時間和/或卷)、伺服器重試計數、計時器值(使會話在指定時間內離線並僅終止),或配額過期(僅用於CCR-U和終止),然後會話離線或終止。
在多服務信用控制(MSCC)方案中,臨時配額是按會話提供的,而不是按評級組(RG)提供。
主伺服器可能會觸發傳輸故障,輔助伺服器可能會觸發Tx-expiry或response-timeout。在此案例中,最新的錯誤被認為是故障的觸發器。
如果SU機制未配置為任何故障觸發,則觸發FH機制。
Initial-Request without Session Disconnect
以下是該情景的消息流:
Initial-Request with Session Disconnect
以下是該情景的消息流:
Update-Request without Session Disconnect
以下是該情景的消息流:
Update-Request with Session Disconnect
以下是該情景的消息流:
具有未知會話的Update-Request
以下是該情景的消息流:
使用多個RG的Update-Request(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 |
初始版本 |