이 문서에서는 OCS(Online Charging System)에서 발생한 문제를 해결하거나 PCEF(Policy and Charging Enforcement Function)와 OCS 간의 연결과 관련하여 Gy 인터페이스에서 FH(Failure-Handling) 및 SU(Server-Unreachable) 메커니즘을 구성하는 방법에 대해 설명합니다.이 문서에 설명된 정보는 Cisco 5000 Series ASR5K(Aggregated Services Router)에서 실행되는 HA(Home Agent), GPRS(Gateway General Packet Radio Service) GSN(Support Node) 및 PGW(Packet Data Network Gateway) 기능에 적용됩니다.
Cisco에서는 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(Response Timeout) 중에 활성화되며, Terminate 작업이 구성된 경우를 제외합니다.
서버에서 AVP(Credit-Control-Failure-Handling Attribute Value Pair)를 수신하면 수신된 설정이 적용됩니다.
다음은 몇 가지 예입니다.
이 섹션에서는 가능한 모든 옵션이 포함된 FH 메커니즘의 자세한 통화 흐름에 대해 설명합니다.
초기 요청
CCFH 설정 | CLI 명령 | Tx의 동작 | RT에서의 동작 | 보조가 작동 중입니다. | 보조가 다운되었습니다. |
---|---|---|---|---|---|
계속 |
초기 요청 |
해당 없음 |
계속 |
보조 |
다른 RT 이후에 오프라인. |
초기 요청 |
오프라인 |
해당 없음 |
Tx에서 오프라인 |
Tx에서 오프라인 |
|
초기 요청 |
계속 |
해당 없음 |
보조 |
다른 Tx 이후 오프라인 |
|
다시 시도 및 종료 |
초기 요청 |
해당 없음 |
다시 시도 |
보조 |
다른 RT 이후 종료 |
초기 요청 |
다시 시도 |
해당 없음 |
보조 |
다른 Tx 이후 종료 |
|
종료 |
초기 요청 |
종료 |
해당 없음 |
Tx 이후 종료 |
Tx 이후 종료 |
업데이트 요청
CCFH 설정 | CLI 명령 | Tx의 동작 | RT에서의 동작 | 보조가 작동 중입니다. | 보조가 다운되었습니다. |
---|---|---|---|---|---|
계속 |
업데이트 요청 |
해당 없음 |
계속 |
보조 |
다른 RT 이후 오프라인 |
업데이트 요청 |
오프라인 |
해당 없음 |
Tx에서 오프라인 |
Tx에서 오프라인 |
|
업데이트 요청 |
계속 |
해당 없음 |
보조 |
다른 Tx 이후 오프라인 |
|
다시 시도 및 종료 |
업데이트 요청 |
해당 없음 |
다시 시도 |
보조 |
다른 RT 다음에 CCR-T 전송 |
업데이트 요청 |
다시 시도 |
해당 없음 |
보조 |
다른 Tx 다음에 CCR-T 전송 |
|
종료 |
업데이트 요청 |
종료 |
해당 없음 |
Tx 뒤에 CCR-T 전송 |
Tx 뒤에 CCR-T 전송 |
종료-요청
CCFH 설정 | CLI 명령 | Tx의 동작 | RT에서의 동작 | 보조가 작동 중입니다. | 보조가 다운되었습니다. |
---|---|---|---|---|---|
계속 |
종료 요청 |
해당 없음 |
다시 시도 |
CCR-T가 전송됨 |
다른 RT 이후 종료 |
종료 요청 |
다시 시도 |
해당 없음 |
CCR-T가 전송됨 |
다른 Tx 이후 종료 |
|
종료 요청 |
다시 시도 |
해당 없음 |
CCR-T가 전송됨 |
다른 Tx 이후 종료 |
|
다시 시도 및 종료 |
종료 요청 |
해당 없음 |
다시 시도 |
CCR-T가 전송됨 |
다른 RT 이후 종료 |
종료 요청 |
다시 시도 |
해당 없음 |
CCR-T가 전송됨 |
다른 Tx 이후 종료 |
|
종료 |
종료 요청 |
종료 |
해당 없음 |
다음 이후 종료 |
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(Multiple Services Credit Control) 시나리오에서 RG(Per-Rating Group) 기준이 아니라 세션별로 제공됩니다.
기본 서버가 전송 실패를 트리거하고 보조 서버가 Tx-expiry 또는 response-timeout을 트리거할 수 있습니다.이 시나리오에서는 최신 오류가 실패의 트리거로 간주됩니다.
SU 메커니즘이 장애 트리거에 대해 구성되지 않은 경우 FH 메커니즘이 트리거됩니다.
세션 연결 해제 없이 초기 요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
세션 연결이 끊긴 초기 요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
세션 연결 해제 없이 업데이트 요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
세션 연결 해제 시 업데이트 요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
알 수 없는 세션이 있는 업데이트 요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
여러 RG로 업데이트 요청(MSCC 시나리오)
이 시나리오의 메시지 흐름은 다음과 같습니다.
종료-요청
이 시나리오의 메시지 흐름은 다음과 같습니다.
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
SU 및 FH 메커니즘과 관련된 통계를 보려면 show active-charging credit-control statistics 명령을 입력합니다.다음은 샘플 출력입니다.
#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
다음은 이 예제 출력에 대한 몇 가지 중요한 참고 사항입니다.
세션의 SU 상태와 관련된 정보를 보려면 show active-charging sessions full all 명령을 입력합니다.다음은 샘플 출력입니다.
#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
다음은 이 예제 출력에 대한 몇 가지 중요한 참고 사항입니다.