有線プロビジョニングとアカウンティングのための3GPPポリシーと課金制御
有線プロビジョニングとアカウンティングのための3GPPポリシーと課金制御の概要
第3世代パートナーシッププロジェクト(3GPP)ポリシーおよび課金管理(PCC)は、お客様に有線プロビジョニングとアカウンティングの統一を提供します。 図1 は、全体的な3GPP PCCアーキテクチャのコンポーネントを示しています。
PCCアーキテクチャの4つの主要コンポーネントは次のとおりです。
-
Policy and Charging Rules Function(PCRF)—ビジネスポリシーと課金ルールを展開してブロードバンドネットワークリソースを割り当て、加入者とサービスのフローベースの課金を管理する一元的なポリシー決定ポイント。PCRFは、3GPP Gxプロトコルとオンラインポリシーインターフェイスを使用して、ルールをポリシーおよび課金施行機能(PCEF)にプッシュします。
-
Policy and Charging Enforcement Function(PCEF)—ゲートウェイでユーザートラフィック処理とQoSを提供し、サービスデータフローを検出し、PCRFから受信したルールを適用する機能。PCEFは、オプションで3GPP Gyプロトコルを使用してオンライン課金システム(OCS)内のオンライン課金機能(OCF)と対話し、ノルマとクレジット管理のポリシーと課金承認を取得します。
-
オンライン課金システム(OCS)—PCEF との対話を担当するコンポーネント。PCEFはオプションで使用状況を報告し、3GPP Gyプロトコルを使用してOCSから追加の認証を受け取ります。ブロードバンドPCEF(BPCEF)とOCSとのやり取りでは、ユニット決定と評価が一元化されたオンラインセッション課金を使用します。
-
オフライン課金システム(OFCS)—ネットワークリソースの使用状況の課金情報が、そのリソースの使用状況と同時に収集されるプロセス。クレジットベースの認証が必要ない場合、PCEFは3GPP Gzプロトコルを使用してポリシーとレポート使用状況をOFCSに適用します。OCSを主要なアカウンティング宛先として使用し、OFCSをバックアップとして使用することもできます。
表1は、PCRFとPCEFの機能の違いを示しています。
| 機能性 |
PCRF |
PCEF |
|---|---|---|
| チャージポリシングの実装 |
さまざまなレベルで関与しています。ホスティングネットワーク内の情報を集約し、PCCアーキテクチャの一部と見なされます。 |
さまざまなレベルで関与しています。ゲートウェイにあります。 |
| 含まれる機能 |
主にポリシー制御決定機能とフローベースの制御機能が含まれます。 |
ポリシー適用とフローベースの課金機能が含まれます。 |
| 事前定義されたPCCルール |
事前定義されたPCCルールの有効化または無効化は、PCRFによってのみ実行できます。 |
PCEFによって事前設定されています。 |
| オンラインおよびオフラインの充電インタラクション |
未対応 |
対応 |
図1のPCCアーキテクチャを構成する他の3つのコンポーネントは次のとおりです。
-
アプリケーション機能(AP)—アプリケーション機能は、動的PCCを必要とするアプリケーションまたはサービスと対話します。アプリケーション機能は、アプリケーションシグナリングからセッション情報を抽出し、Rxプロトコルを使用してアプリケーションセッション関連情報をPCRFに提供します。
-
サブスクリプションプロファイルリポジトリ(SPR)—SPRには、パケットごとのデータネットワーク(PDN)ベースの加入者とサブスクリプション情報が含まれています。Spプロトコルにより、PCRFは加入者のサービスまたはセッションに関連するサブスクリプション情報をリクエストできます。
-
ベアラバインディングおよびイベント報告機能(BBERF)—パケットが適切なQoS処理を受けられるようにするには、PCCルールを特定のIPベアラにマッピングする必要があります。PCCルールとベアラの関連付けは、 ベアラバインディングと呼ばれます。BBERF の場所は、アクセス技術によって異なります。3GPPの場合、BBERFはサービングゲートウェイに配置され、Gxxプロトコルを使用します。
3GPPポリシーと課金制御アーキテクチャのメリット
-
有線加入者のプロビジョニングとアカウンティングのための統一フレームワークを提供します。
ブロードバンド有線加入者向けポリシーおよび課金適用機能の概要
ポリシーおよび課金実施機能(PCEF)は、 図2に示す第3世代パートナーシッププロジェクト(3GPP)ポリシーおよび課金制御(PCC)アーキテクチャの4つの主要コンポーネントのうちの1つです。
PCEFは、ゲートウェイでユーザートラフィック処理とサービス品質(QoS)を提供し、サービスデータフローを検出し、PCRF(Policy Control and Charging Rules Function)から受信したルールを適用します。3GPPは、加入者に対するポリシーとフローベースの料金を制御するために、PCRFとPCEF間のオンラインポリシープロトコルとしてGxを定義しています。PCRFは、ブロードバンドネットワークリソースを割り当てるためのビジネスポリシールールを展開し、加入者とサービスのフローベースの料金を管理する一元的なポリシー決定ポイントです。オプションで、PCEFは3GPP Gyプロトコルを使用してオンライン課金システム(OCS)と対話し、ノルマとクレジット管理に関するポリシーと課金承認を取得します。
PCEFは、以下の環境をサポートします。
有線アクセス環境
モバイル加入者の場合、ユーザー機器はサービスをリクエストします。ブロードバンド有線加入者の場合、PCRF はサービスをリクエストします。有線環境では、PCRFはサービスリクエスターとして機能し、PCEFはサービスレシーバーおよびエンフォーサーとして機能します。
有線環境にPCCモデルを適応させると、次のような利点があります。
利便性
高度なテクノロジー
有線支店よりもはるかに大きなビジネスを提供することが多いキャリアの無線支店ですでに実装されています
PCRFは、課金ルールをプッシュすることでPCEFを制御します。課金ルールは、ポリシーをプッシュするためのサービス(ポリシー)ルールとして再利用されます。課金ルールには、レーティング グループまたは課金キーが関連付けられている場合もあります。その結果、PCEF設定では、課金ルールと、与信管理サービス(ccサービス)と格付けグループ間のマッピングを定義する必要があります。
多くの場合、OCSとオフライン充電システム(OFCS)の3GPPアカウンティングサービスの両方で、加入者識別にモバイルステーション国際加入者ディレクトリ番号(MSISDN)を使用する必要があります。MSISDNはサブスクリプションIDとして渡されます。各モバイルユーザー機器デバイスにはMSISDNが関連付けられていますが、有線加入者はこの情報を利用できません。PCRFがサブスクリプションIDパラメーターを動的に渡し、さまざまな認証、認可、プロビジョニング設定をサポートできるように、 表2 のジュニパー属性値ペア(AVP)は、ジュニパーベンダーIDスペース(2636)のベンダー固有属性(VSA)から割り当てられています。
動的サブスクリプションIDを受信しない場合、OCS通信もOFCS通信も開始されません。
AVP名 |
ベンダーID |
AVPタイプ |
直径タイプ |
直径フラグ |
|---|---|---|---|---|
ジュニパーダインサブスクリプションインジケーター |
2636 |
10001 |
列挙型 |
V |
ジュニパー-dyn-subscription-id |
2636 |
10002 |
グループ化済み |
VM |
ジュニパー-dyn-subscription-id-type |
2636 |
10003 |
整数32 |
VM |
ジュニパー-dyn-subscription-id-data |
2636 |
10004 |
UTF8文字列 |
VM |
クライアントシステム(ルーター)は、サブスクリプションIDの動的割り当てのサポートを示すために、ジュニパー-Dyn-Subscription-Id-Indicator AVPを送信します。ジュニパー-Dyn-Subscription-Id-Indicator属性には、次の2つの値があります。
DYN_SUBSCRIPtION_NOT_SUPPORTED (0)
DYN_SUBSCRIPTION_SUPPORTED (1)
次に、サーバーは、サポートを示したクライアントにジュニパー-Dyn-Subscription-ID AVPを送信します。これは、Subscription-Id-TypeおよびSubscription-Id-Dataとして送信される値を含むグループ化されたAVPです。
PCRFサーバーは、標準のサブスクリプションID AVPを使用して、動的サブスクリプションIDをルーターに伝達できます。
ジュニパー-Dyn-Subscription-IDとSubscription-IDの両方がPCRFによって送信される場合、Subscription-Id値が使用されます。
多くの場合、有線加入者は1つのIPファミリーのみをサポートしますが、これはAAAサービスとPCRFの両方に必要な情報です。この情報を示すために、 表3のジュニパーベンダーIDスペース(2636)VSAからジュニパーネットワークファミリーインジケーターAVPが割り当てられています。
AVP名 |
ベンダーID |
AVPタイプ |
直径タイプ |
直径フラグ |
|---|---|---|---|---|
ジュニパーネットワークファミリーインジケーター |
2636 |
10010 |
列挙型 |
V |
クライアントシステム(ルーター)は、ジュニパーネットワークファミリーインジケーターAVPを送信して、どのネットワークファミリーがサービスリクエストに関連付けられ、加入者によってサポートされているかを示します。関連付けられたネットワークファミリーを示すようにジュニパーネットワークファミリーインジケーターAVPを設定すると、システムは情報をPCRFに送信します。ジュニパーネットワークファミリーインジケーター属性には、4つの値があります。
未指定 (0)
IPV4_FAMILY (1)
IPV6_FAMILY (2)
IPV4_IPV6_FAMILY (3)
有線のお客様は多くの場合、PCRFのみを通じてユーザーサービスを制御し、OCSを適用ユニットとしてではなく、便利なリアルタイムの使用状況監視メカニズムとして使用します。誤ったOCS設定の数を減らすには、[edit access ocs partition partition-name]階層レベルにforce-continueステートメントを含め、ブロードバンドPCEF(BPCEF)がOCSからの否定的な応答とクォータの有効期限からの影響を制限し、影響を受けるレーティンググループに対するOCS通知の送信を防止します。PCEF は、報告されたグループに対して否定的な回答を受け取るたびに、このグループの OCS への報告を停止します。
Junos OS環境
Junos OS環境内の動的プロファイルには、次の3つのカテゴリがあります。
クライアント動的プロファイル
cosサービス動的プロファイル
ファイアウォールサービス動的プロファイル
client-dynamic-profilesとcos-service-dynamic-profilesは、加入者に提供されるサービスの帯域幅およびその他の特性を定義します。firewall-service-profilesは、フィルタリングと使用状況カウントを実行します。すべての動的プロファイルのカテゴリについて、service-dynamic-profile名はCharging-Rule-Name AVPの値として使用されます。
service-dynamic-profileに変数がない場合、またはservice-dynamic-profile定義で指定されたデフォルトが要求された場合、追加の要素は必要ありません。サービス動的プロファイルのカスタム値を提供するには、追加のVSAとともにCharging-Rule-Definition AVPを使用します。
PCRFは、既存のジュニパー置換VSA(ベンダーID 2636およびタイプ2024)を使用して、属性を名前と値のペアとして提供します。PCRFには、ルール名の一部に対する位置表記としてパラメーターを含めることもあります。Redirect-Information AVP(ベンダー ID 10415、タイプ 1085)は、Redirect-URL パラメーターの値を提供します。
お客様から要求されたサービス動的プロファイルパラメータ名ごとに、新しいジュニパーパラメータVSAが定義されます。 表4は 、固定ジュニパーパラメータVSAの初期セットを示しています。
パラメータ |
VSA名 |
ベンダーID |
タイプ |
直径タイプ |
|---|---|---|---|---|
Cos-TCP |
ジュニパー-パラム-cos-tcp |
2636 |
10005 |
UTF8文字列 |
v4ファイアウォール入力フィルター |
ジュニパー-param-v4-firewall-input-filter |
2636 |
10006 |
UTF8文字列 |
v4ファイアウォール出力フィルター |
ジュニパー-パラム-v4-ファイアウォール出力フィルター |
2636 |
10007 |
UTF8文字列 |
v6ファイアウォール入力フィルター |
ジュニパーパラム-v6-ファイアウォール入力フィルター |
2636 |
10008 |
UTF8文字列 |
v6ファイアウォール出力フィルター |
ジュニパー-param-v6-firewall-output-filter |
2636 |
10009 |
UTF8文字列 |
パラメーターまたはサービス識別子とレーティンググループをPCRFで示す必要がある場合は、Charging-Rule-Definition AVPが使用されます。それ以外の場合は、Charging-Rule-Name AVPが使用されます。
Charging-Rule-Definition ::= < AVP Header: 1003 >
{ Charging-Rule-Name }
[ Service-Identifier ]
[ Rating-Group ]
[ Online ]
[ Precedence ]
[ Juniper-Param-VSA ]
[ AVPs ] – standard AVPs used as parameters
たとえば、サービス識別子とレーティンググループの組み合わせがある場合、またはサービス識別子のみまたはレーティンググループのみが指定されている場合、その組み合わせは加入者にインストールされているルール間で一意である必要があります。サービスコンテキストIDは、ルーターで設定します。
ルーターとPCRF間のGx相互作用を理解する
Diameterメッセージのシーケンスは、第3世代パートナーシッププロジェクト(3GPP)Gxプロトコルを介して、ポリシー制御およびルール課金機能(PCRF)とポリシーおよび課金施行機能(PCEF)として機能するルーターの間で交換されます。
Junos OSリリース17.3R1以降、GyおよびGxプロトコルを使用した追加のOCSおよびPCRF機能のサポートが追加されています。新しいステートメントは次のとおりです。
accept-sdrは、階層レベル[edit access pcrf partition partition-name]のPCRFパーティションに追加されます。alternative-partition-nameは、階層レベル[edit access ocs partition partition-name]のOCSパーティションに追加されます。
これらは、次の加入者アクセスタスクを実行するために対話します。
加入者ログイン
ルーターは、必要な情報の固定セットを含むDiameter CCRリクエストをポリシーマネージャー(PCRF)に送信し、ポリシーやその他の情報を含むCCA応答を受信します。Gxプロビジョニングは、[edit access profile profile-name]階層レベルにprovisioning-order pcrfステートメントを含めると、加入者に対して有効になります。アプリケーションが加入者のセッションのアクティブ化をAAAに要求すると、ルーターは、CCR-GX-I(IはINITIAL_REQUESTを表す)メッセージをPCRFに送信して、加入者セッションのプロビジョニング情報の修正セットを要求し、結果コードAVP(AVPコード268)を含むポリシーおよびその他の情報を含むCCA-GX-I応答メッセージを受信します。
アクセスプロファイルで provisioning-order ステートメントを設定すると、クライアントのアクティベーション中に、ブロードバンドPCEF(BPCEF)モジュールがプロビジョニング要求をPCRFに送信します。以下の例は、CCR-GX-IとCCA-GX-Iのパケット交換を示しています。
CCR-GX-Iパケット例
CCR-GX-I ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ CC-Request-Type: INITIAL_REQUEST(1) }
{ CC-Request-Number: 0 }
{ Subscription-Id:
{ Subscription-Id-Type: <configurable-integer> }
{ Subscription-Id-Data: <configurable-string> }
}
}
[ Destination-Host: <configurable-string> ] -- if configured
[ Origin-State-Id: <u32> ] -- if configured to send
[ Framed-IP-Address: <ipv4-address-in-radius-encoding> ] -- if available
[ Framed-IPv6-Prefix: <ipv6-prefix-in-radius-encoding> ] -- if available
{ IP-CAN-Type: <configurable-integer> }
{ Online: ENABLE_ONLINE (1) }
[ User-Name: <string> ]
[ NAS-Port-Id: <string> ] -- if included by config
[ Juniper-Virtual-Router: <virtual-router-name> ] -- if included by config
[ Event-Timestamp: <timestamp> ] -- login timestamp, if included by config
{ Juniper-Dyn-Subscription-Indicator: DYN_SUBSCRIPTION_SUPPORTED(1) }
{ Juniper-Network-Family-Indicator: <subscriber-family> }
CCR-GX-Iが再送信されると、T(潜在的に再送信されたメッセージ)ビットが再計算されます。このフラグは、重複するリクエストを削除するためのリンク フェイルオーバー手順の後に設定されます。
CCA-GX-Iパケットの例
CCA-GX-I ::= <Diameter Header: 272, PXY, 16777238>
{ <Session-Id> }
{ Result-Code: <integer> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <string> } -- should match destination-host if configured
{ Origin-Realm: <string> } -- should match destination-realm
{ Result-Code: <integer> }
{ CC-Request-Type: INITIAL_REQUEST(1) }
{ CC-Request-Number: 0 }
[ Juniper-Dyn-Subscription-Id:
{Juniper-Dyn-Subscription-Id-Type: <value-to-be-used-for-ocs-interactions> }
{Juniper-Dyn-Subscription-Id-Data: <value-to-be-used-for-ocs-interactions> }
]
*[ Supported-Features ] -- ignored
[ Origin-State-Id: <u32> ] -- Indicates restart PCRF side
*[ Downstream data units ]
CCA-GX-IにルールインストールAVPが定義されていない場合、デフォルトルールがインストールされます。
まだ定義されていないものも含め、すべてのイベントトリガーが許容されます。ただし、実装時に実際にイベントを生成するイベントトリガーはごくわずかです。
PCRF は、 表 5 に示した結果カテゴリにマッピングされた結果コード AVP(AVP コード 268)を含む CCA-GX-I メッセージを返します。
結果コードAVP値 |
結果カテゴリ |
|---|---|
SUCCESS(2001)、LIMITED_SUCCSS(2002)、および有効なメッセージ |
付与 |
AUTHENTICATION_REJECTED(4001)、UNKNOWN_SESSION_ID(5002)、AUTHORIZATION_REJECTED(5003)、およびUSER_UNKNOWN(5030) |
拒否 |
UNABLE_TO_DELIVER(3002)、REALM_NOT_SERVED(3003)、TOO_BUSY(3004)、LOOP_DETECTED(3005)、およびREDIRECT_INDICATION(3006) |
失敗 |
その他すべてのDiameter恒久的障害結果コードAVPが5000以上、およびすべてのDiameterプロトコルエラー結果コードAVPが3000以上4000未満 |
永久的な障害 |
無効なメッセージまたは応答なしのその他の結果コードAVP |
失敗 |
表6に示すように、CCA-GX-I応答処理は3つの要因に依存します。
ローカル決定タイムアウトが期限切れになっているかどうか
ローカル決定の設定
結果カテゴリ
表6には 、PCRFローカル決定タイムアウト有効期限アクションも含まれています。
PCRFローカル 決定タイムアウト |
PCRF ローカル決定 |
結果 カテゴリ |
アクション |
|---|---|---|---|
有効期限なし |
– |
付与 |
ローカル決定タイマーをクリアし、CCA-GX-Iからルールを適用し、オンライン課金システム(OCS)に通知してから、加入者のアクティベーションを確認します。 |
有効期限なし |
– |
拒否 |
ローカル決定タイマーをクリアし、加入者のアクティベーションに失敗します。 |
有効期限なし |
– |
失敗 |
ローカル判定がタイムアウトするまで、CCA-GX-Iを再試行してください。 |
有効期限なし |
付与 |
永久的な障害 |
ローカル決定タイマーをクリアし、デフォルトルールを適用し、加入者のアクティブ化を確認してから、CCA-GX-Iを再試行します。 |
有効期限なし |
拒否 |
永久的な障害 |
加入者アクティベーションに失敗し、加入者ログアウトプロセスを開始します。 |
有効期限 |
付与 |
– |
デフォルトのルールを適用し、CCA-GX-Iを無期限に再試行し続け、加入者のアクティベーションを確認します。 |
有効期限 |
拒否 |
– |
加入者アクティベーションに失敗し、加入者ログアウトプロセスを開始します。 |
期限切れ |
付与 |
付与 |
CCA-GX-I にルールが含まれている場合は、デフォルトのルールを削除し、受信したルールをインストールしてから、OCS に通知し、加入者のアクティベーションを確認します。 |
期限切れ |
付与 |
拒否 |
クライアントをログアウトします。 |
期限切れ |
付与 |
失敗 |
CCA-GX-Iを無期限に再試行してください。 |
期限切れ |
付与 |
永久的な障害 |
しばらくしてから、CCA-GX-Iの再試行を再開してください。 |
期限切れ |
拒否 |
拒否 |
加入者がまだログアウトしている場合は、加入者を無視します。それ以外の場合は、アクションは必要ありません。 |
加入者ログインにより、以下の一連のイベントが開始されます。
DHCP、PPP、静的加入者セッションなどのクライアントアプリケーションは、AAAに加入者認証を要求します。
加入者アクセスプロファイルがRADIUS認証を指定すると、認証が開始されます。認証に成功すると、ログインが続行されます。プロファイルの
authentication-orderステートメントに認証RADIUS指定されていないか、認証指定されていない場合、ログインに失敗します。認証に失敗するとログインも失敗します。加入者に対してデフォルトサービスがアクティブになります。認証サーバーが認証許可に含めているすべてのサービスがアクティブになります。さらに、クライアントアプリケーションに対してデフォルトサービスが設定されている可能性があります。
加入者アクセスプロファイルがGxプロビジョニングを指定している場合、ルーターはCCR-GX-IメッセージをPCRFに送信してGxメッセージ交換を開始します。ルーターは、設定不可能なタイムアウト時間内に PCRF が CCA-GX-I メッセージを返すのを待ちます。
PCRF がタイムアウト時間内に応答し、CCA-GX-I メッセージに Charging-Rule-Install AVP が含まれている場合、ルーターがデフォルトサービスを非アクティブ化し、指定されたサービスのアクティブ化を試みる間、加入者ログインが遅延されます。
指定されたすべてのサービスがアクティブ化されている場合、ログインは完了します。
いずれかのサービスをアクティブにできない場合、ルーターはサービスのステータスが記載されたCCR-GX-U(UはUPDATE_REQUESTを表す)メッセージ(ルールレポート)をPCRFに送信します。PCRF は、このメッセージに対して、アクティブ化用の新しいサービス セットを含むことができる CCA-GX-U で応答します。
CCA-GX-Iメッセージにサービスが含まれていない場合でも、ルーターはデフォルトサービスを無視します。この場合、サービスはアクティブ化されません。
PCRFがタイムアウト時間内にCCA-GX-Iを返さない場合、加入者ログインは完了します。
ルーターは、最初に認証サーバーから返されたサービスを検索し、見つかったものをアクティブにします。そのようなサービスが見つからない場合、ルーターはローカルに設定されたデフォルト サービスを有効にします。デフォルトサービスのアクティベーションに成功すると加入者ログインが完了しますが、デフォルトサービスがアクティベートに失敗すると失敗します。デフォルトサービスが存在する必要はないため、デフォルトサービスが見つからない場合にもログインが完了します。
ログインが完了すると(デフォルトサービスの有無にかかわらず)、ルーターはCCR-GX-Iメッセージを定期的にPCRFに再送信します。その後、PCRFがCCA-GX-Iを返した場合、ルーターはデフォルトサービスがあればそれを非アクティブ化し、CCA-GX-Iに含まれるサービスをアクティブ化します。メッセージにサービスが含まれていない場合、サービスはアクティブ化されず、デフォルトのサービスもアクティブ化されません。
CCA-GX-Iに含まれるサービスのいずれかをアクティブにできない場合、ルーターはサービスのステータスが記載されたCCR-GX-Uメッセージ(ルールレポート)をPCRFに送信します。PCRF は、このメッセージに対して、アクティブ化用の新しいサービス セットを含むことができる CCA-GX-U で応答します。
加入者ログインエラーの回復
Junosリリース20.1R1以降、ルーターとPCRFサーバーの状態を再同期することで、加入者セッションを再初期化することで、特定のPCRFサーバーエラーから回復するようにルーターを設定できます。一部の PCRF サーバーは、ルーターに送信した CCA-GX-I メッセージが失われる状況を適切に処理できない場合があります。ルーターが CCR-GX-I を PCRF に送信しようとすると、サーバーはすでに応答を送信しており、ルーターがメッセージを受信していないことに気づかないため、ルーターと同期していません。この状態の不一致は、次のいずれかのエラーにつながる可能性があります。
PCRFサーバーは、値5012(直径が準拠できない)の直径結果コードAVP(コード268)を含むCCA-GX-Iで再試行に応答します。これは永久的な障害と見なされます(表5)。
PCRFサーバーからRARが送信されます。サーバーは、CCA-GX-Iをルーターに送信したため、セッションがアクティブであることを期待していますが、メッセージが受信されていないことを認識していません。サーバーは、以下のいずれかのRARメッセージを送信する場合があります。
RAR-GX-Dは、セッションが不正であると判断したため、セッションを切断します。
不良セッションに関する情報を読み取るためのRAR-GX-A
RAR-GX-Uは、セッションが正常に動作していると見なすため、セッションを更新します。
PCRF local-decision 設定を使用して、これらのエラーのいずれかまたは両方に応答して、加入者 セッションを再初期化できます。
permanent failure errorの
reinit-on-failureオプションを含めます。RARエラーの
reinit-on-rarオプションを含めます。
再初期化操作には、以下の追加設定要件があります。
ローカル決定
grantオプションを設定する必要があります。拡張セッションIDを使用するようにルーターを設定する必要があります。これにより、元のセッションと、同じログインイベントに関連付けられた新しいセッションの状態を維持できます。そのためには、PCRF
use-session-stampオプションを設定します。
再初期化操作は、両方の場合において、以下の手順で構成されます。
ルーターは、セッション終了リクエストCCR-GX-TをPCRFに送信して、セッションを終了します。これは、このセッションでルーターとPCRFサーバーを同じ状態にするために行われます。
ルーターは、CCA-GX-Tを受信するまで再初期化タイムアウト期間を待ちます。
reinit-timeoutオプションを使用して、デフォルトとは異なる期間を指定できます。ルーターがタイムアウト時間内にCCA-GX-Tを受信した場合、またはタイムアウトが終了する前にCCA-GX-Tが到着しない場合、ルーターは新しい拡張セッションIDを使用してCCR-GX-IをPCRFに送信します。拡張セッションIDは、DiameterセッションID AVP(AVPコード263)で伝達されます。
ルーターは、ルーターがCCR-GX-Iを作成するUTC時間で構成されるセッションスタンプを追加することで、拡張セッションIDを形成します。例えば、次のDiameter Session-Id AVPについて考えてみましょう。セッションIDは23で、
use-session-stampは設定されていません。test-host1;0000000000;0000000023;
use-session-stampを設定すると、セッションタイムスタンプがAVP値に追加されます。test-host1;0000000000;0000000023;1557788595;
表7は 、現在のローカルPCRF状態に基づいて、これらのエラーにルーターがどのように対応するかについての詳細を示しています。
ローカルステート |
PCRFエラーが発生した場合の対処 |
|
ルーターは以下を実行します。
|
|
デフォルトのプロビジョニングが完了すると、ルーターは以下を実行します。
|
|
デフォルトサービスが設定されていない場合、ルーターは以下を実行します。
デフォルトサービスが設定されている場合、ルーターは以下を実行します。
デフォルトのプロビジョニングが完了すると、ルーターは以下を実行します。
|
加入者の最新情報
ルーターでトリガーイベントが発生するたびに、更新リクエストがPCRFに送信されます。次の例は、CCR-GX-U(UはUPDATE_REQUESTを表す)とCCA-GX-Uのパケット交換を示しています。
CCR-GX-Uパケットの例
CCR-GX-U ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ CC-Request-Type: UPDATE_REQUEST(2) }
{ CC-Request-Number: <u32> }
[ Destination-Host: <configurable-string> ] -- if configured
[ Origin-State-Id: <u32> ] -- if configured to send
*[ Upstream data units ]
CCR-GX-Uが再送信されると、Tビットが再計算されます。
CCA-GX-Uパケットの例
CCA-GX-U ::= <Diameter Header: 272, PXY, 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <string> } -- should match destination-host if configured
{ Origin-Realm: <string> } -- should match destination-realm
{ Result-Code: <integer> }
{ CC-Request-Type: UPDATE_REQUEST(2) }
{ CC-Request-Number: <u32> }
[ Origin-State-Id: <u32> ] -- Indicates PCRF restart
*[ Downstream data units ]
PCRF は、 表 8 に示す結果カテゴリにマッピングされた結果コード AVP(AVP コード 268)を含む CCA-GX-U メッセージを返します。
結果コードAVP値 |
結果カテゴリ |
|---|---|
SUCCESS(2001)、LIMITED_SUCCSS(2002)、および有効なメッセージ |
成功 |
UNABLE_TO_DELIVER(3002)、REALM_NOT_SERVED(3003)、TOO_BUSY(3004)、LOOP_DETECTED(3005)、およびREDIRECT_INDICATION(3006) |
失敗 |
その他すべてのDiameter恒久的障害結果コードAVPが5000以上、およびすべてのDiameterプロトコルエラー結果コードAVPが3000以上4000未満 |
成功 |
無効なメッセージまたは応答なしのその他の結果コードAVP |
失敗 |
加入者のログアウト
クライアントアプリケーションが加入者ログアウト通知をAAAに送信すると、GxはCCR-GX-T(TはTERMINATION_REQUESTを表す)メッセージを送信して、プロビジョニングされた加入者セッションが終了することをPCRFに通知します。
ルーターでトリガーイベントが発生するたびに、終了リクエストがPCRFに送信されます。次の例は、CCR-GX-T と CCA-GX-T のパケット交換を示しています。
CCR-GX-T パケットの例
CCR-GX-T ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ CC-Request-Type: TERMINATION_REQUEST(3) }
{ CC-Request-Number: <u32> }
[ Destination-Host: <configurable-string> ] -- if configured
{ Termination-Cause: DIAMETER_LOGOUT(1) }
[ Origin-State-Id: <u32> ] -- if configured to send
*[ Upstream data units ]
CCR-GX-Tが再送信されると、Tビットが再計算されます。
CCA-GX-T パケットの例
CCA-GX-T ::= <Diameter Header: 272, PXY, 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <string> } -- should match destination-host if configured
{ Origin-Realm: <string> } -- should match destination-realm
{ Result-Code: <integer> }
{ CC-Request-Type: TERMINATION_REQUEST(3) }
{ CC-Request-Number: <u32> }
[ Origin-State-Id: <u32> ] -- Indicates PCRF restart
*[ Downstream data units ]
PCRFは、 表9に示した結果カテゴリにマッピングされた結果コードAVP(AVPコード268)を含むCCA-GX-Tメッセージを返します。
結果コードAVP値 |
結果カテゴリ |
|---|---|
SUCCESS(2001)、LIMITED_SUCCSS(2002)、および有効なメッセージ |
成功 |
UNABLE_TO_DELIVER(3002)、REALM_NOT_SERVED(3003)、TOO_BUSY(3004)、LOOP_DETECTED(3005)、およびREDIRECT_INDICATION(3006) |
失敗 |
その他すべてのDiameter恒久的障害結果コードAVPが5000以上、およびすべてのDiameterプロトコルエラー結果コードAVPが3000以上4000未満 |
成功 |
無効なメッセージまたは応答なしのその他の結果コードAVP |
失敗 |
結果コードの値が成功の場合、GxはAAAに通知し、AAAはログアウトが完了したことをアプリケーションに通知します。Gx が CCA-GX-T メッセージを受信しない場合、または結果コード AVP に他の値があるか欠落している場合は、CCA-GX-T メッセージが成功と共に返されるまで、終了要求が再試行されます。ルーターは、CCA応答によって確認される別のCCRリクエストを送信することにより、加入者ログアウトについてPCRFに通知します。また、PCRFは、RARリクエストを使用して、加入者に強制的にログアウトさせたり、適用されたサービスを変更したりすることもできます。
Result-Code の値が Failure の場合、要求が再試行されます。
加入者の切断
加入者切断を実行するために、PCRF は RAR-GX-D(D は DISCONNECT を表す)を送信し、BPCEF は RAA-GX-D メッセージを返します。
以下の例は、RAR-GX-D と RAA-GX-D のパケット交換を示しています。
RAR-GX-Dパケット例
RAR-GX-D ::= <Diameter Header: 258, PXY, 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <string> } -- should match destination-host if configured
{ Origin-Realm: <string> } -- should match destination-realm
{ Destination-Realm: <string> } -- should match origin-realm
{ Destination-Host: <string> } -- should match origin-host
{ Re-Auth-Request-Type: AUTHORIZE_ONLY(0) }
[ Origin-State-Id: <u32> ] -- Indicates PCRF restart
{ Session-Release-Cause: <enum> }
*[ Downstream data units ] -- ignored
RAA-GX-Dパケットの例
RAA-GX-D ::= <Diameter Header: 272, REQ, PXY, 16777238>
{ <Session-Id> }
{ Auth-Application-Id: 16777238 }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Result-Code: <integer> }
[ Origin-State-Id: <u32> ]
*[ Upstream data units ]
PCRFは、 表10に示した結果カテゴリにマッピングされた結果コードAVP(AVPコード268)を含むRAA-GX-Tメッセージを返します。
結果コードAVP値 |
結果カテゴリ |
|---|---|
DIAMETER_SUCCESS(2001年) |
加入者の切断が進行中であるか、加入者が見つかりません |
DIAMETER_UNABLE_TO_COMPLY(5012) |
加入者は削除できません |
DIAMETER_TOO_BUSY(3004) |
未解決の切断要求が多すぎます |
BPCEF には、少なくとも 512 個の RAR-GX-D または RAA-GX-D メッセージを格納できるバッファリング領域が含まれています。
接続障害の回復
一部のイベントは接続状態に影響を与えず、デバイス間にDiameterリレーまたはプロキシがある場合には検出されないイベントがあるため、Gxはデバイス間の接続状態に依存してルーターまたはPCRFの停止を検出しません。
PCRFとの接続障害を軽減するために、ルーターは以下の障害回復手順を使用します。
PCRFが利用できない場合、デフォルトサービスをインストールして設定している場合は、それに応じて加入者ログインが続行されます。
未確認のプロビジョニングリクエストは、無期限に、または加入者がログアウトするまで再生されます。
ログアウト要求は、最終的なOCS問い合わせが完了するまで待機し、未確認のログアウト要求は24時間再生されます。
このルーターは、標準のDiameterトランスポート冗長性を使用して、冗長PCRFと通信します。
Gx 耐障害性の重要な側面は、PCRF から満足のいく応答を受信するまで 24 時間、加入者のログインと終了要求が再試行(再生)されることです。 clear network-access pcrf subscribers コマンドを発行すると、すべてのPCRF加入者をクリアできます。
ルーターとOCS間のGy相互作用を理解する
情報や問い合わせは、オンライン課金システム(OCS)と、ポリシーおよび課金施行機能(PCEF)として機能するルーターとの間の第3世代パートナーシッププロジェクト(3GPP)Gyプロトコルを介して交換されます。ブロードバンドPCEF(BPCEF)とOCSとのやり取りでは、ユニット決定と評価が一元化されたオンラインセッション課金を使用します。PCEFはオプションで使用状況を報告し、Gyプロトコルを使用してOCSから追加の認証を受け取ります。
Junos OSリリース17.3R1以降、GyおよびGxプロトコルを使用した追加のOCSおよびPCRF機能のサポートが追加されています。新しいステートメントは次のとおりです。
accept-sdrは、階層レベル[edit access pcrf partition partition-name]のPCRFパーティションに追加されます。alternative-partition-nameは、階層レベル[edit access ocs partition partition-name]のOCSパーティションに追加されます。
Junos OSリリース18.1R1以降、ブロードバンドPCEFは、OCSへのプライマリパスと代替パスの両方が利用できない場合に、OCSデータのファイルバックアップを提供します。CCR-GY-Tフレームは、遠隔地のファイルに保存されます。バックアップは階層 [edit access ocs partition partition-name]でサポートされます。
ポリシー制御およびルール課金機能(PCRF)とPCEFの間で加入者プロビジョニングが完了すると、ルーターはOCSとPCEFの間で以下の問い合わせの送信を開始します。
OCSへの最初の尋問
最初の問い合わせ中に、ルーターは必要な情報の固定セットを含む Diameter CCR リクエストを OCS 充電サーバーに送信します。その後、OCS課金サーバーから有効時間、評価グループ、使用クォータが返されます。
この実装フェーズでは、ルーターはOCSの応答を待たずに加入者のアクセスを許可し、OCSは常に必要なクォータを付与します。
Gyプロトコルを介してOCSと情報を通信するための課金サービスのリストを設定するには、[edit access profile profile-name]階層レベルでcharging-service-list ocsステートメントを設定します。次の例は、CCR-GY-IとCCA-GY-Iのパケット交換を示しています。
CCR-GY-Iが再送信されると、T(潜在的に再送信されたメッセージ)ビットが再計算されます。このフラグは、重複するリクエストの削除を支援するために、リンク フェイルオーバー手順の後に設定されます。
CCR-GY-Iパケット例
CCR-GY-I ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ Auth-Application-Id: 4 }
{ Service-Context-Id: 98924@customer.com }
{ CC-Request-Type: INITIAL_REQUEST(1) }
{ CC-Request-Number: 0 }
[ Destination-Host: <configurable-string> ] -- if configured
[ User-Name: <string> ]
[ Origin-State-Id: <u32> ] -- if configured to send
[ Event-Timestamp: <timestamp> ] -- login timestamp, if included by config
{ Subscription-Id:
{ Subscription-Id-Type: <received-from-pcrf> }
{ Subscription-Id-Data: <received-from-pcrf> }
}
{ Multiple-Services-Indicator: MULTIPLE_SERVICES_SUPPORTED(1) }
{ Multiple-Services-CC:
{ Service-Identifier: 7 }
{ Rating-group: 292 }
}
{ Multiple-Services-CC:
{ Service-Identifier: 7 }
{ Rating-group: 293 }
}
{ Multiple-Services-CC:
{ Service-Identifier: 7 }
{ Rating-group: 292 }
}
{ Multiple-Services-CC:
{ Service-Identifier: 1 }
{ Rating-group: 17 }
}
CCA-GY-Iパケットの例
CCA-GY-I ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Result-Code: DIAMETER_SUCCESS(2001) }
{ Origin-Host: <string> } -- should match dest-host if configured
{ Origin-Realm: <string> } -- should match dest-realm
{ Auth-Application-Id: 4 }
{ CC-Request-Type: INITIAL_REQUEST(1) }
{ CC-Request-Number: 0 }
{ CC-Session-Failover: FAILOVER_NOT_SUPPORTED(0) } -– ignored
}
{ Multiple-Services-CC:
{ Granted-Service-Unit:
{ CC-Time: 123456 }
{ CC-Total-Octets: 123455999000 }
}
{ Service-Identifier: 7 }
{ Rating-group: 292 }
{ Validity-Time: 7200 }
{ Result-Code: DIAMETER_SUCCESS(2001) }
}
{ Multiple-Services-CC:
{ Service-Identifier: 7 }
{ Rating-group: 293 }
{ Result-Code: DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE(4011) }
}
{ Multiple-Services-CC:
{ Service-Identifier: 7 }
{ Rating-group: 292 }
{ Result-Code: DIAMETER_CREDIT_CONTROL_NOT_APPLICABLE(4011) }
}
{ Multiple-Services-CC:
{ Granted-Service-Unit:
{ CC-Time: 123456 }
{ CC-Total-Octets: 123455999000 }
}
{ Service-Identifier: 1 }
{ Rating-group: 17 }
{ Result-Code: DIAMETER_SUCCESS(2001) }
}
{ CC-Failure-Handling: TERMINATE(0) }
OCS への中間問い合わせ
ルーターが必須情報の固定セットをOCS充電サーバーに送信した後、OCS充電サーバーから有効時間、評価グループ、使用クォータが返信されます。有効時間とクォータの有効期限が切れると、中間の問い合わせイベントがトリガーされます。
ルーターでトリガーイベントが発生するたびに、更新リクエストがOCSに送信されます。次の例は、CCR-GY-U(UはUPDATE_REQUESTを表す)とCCA-GY-Uのパケット交換を示しています。
CCR-GY-Uパケット例
CCR-GY-U ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ Auth-Application-Id: 4 }
{ Service-Context-Id: 98924@customer.com }
{ CC-Request-Type: UPDATE_REQUEST(2) }
{ CC-Request-Number: <integer> }
[ Destination-Host: <configurable-string> ] -- if configured
[ User-Name: <string> ]
[ Origin-State-Id: <u32> ] -- if configured to send
[ Event-Timestamp: <timestamp> ] -- change timestamp, if included by config
{ Multiple-Services-Indicator: MULTIPLE_SERVICES_SUPPORTED(1) }
{ Multiple-Services-CC:
{ Used-Service-Unit:
{ Reporting-Reason: VALIDITY_TIME(4) }
{ CC-Time: 7200 }
{ CC-Total-Octets: 12345 }
{ CC-Input-Octets: 10000 }
{ CC-Output-Octets: 2345 }
}
{ Service-Identifier: 7 }
{ Rating-group: 292 }
}
{ Multiple-Services-CC:
{ Used-Service-Unit:
{ Reporting-Reason: FINAL(2) }
{ CC-Time: 334556 }
{ CC-Total-Octets: 12345 }
{ CC-Input-Octets: 10000 }
{ CC-Output-Octets: 2345 }
}
{ Service-Identifier: 1 }
{ Rating-group: 17 }
}
*[ More Multiple-Services-CC]
CCA-GY-Uパケットの例
CCA-GY-U ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Result-Code: DIAMETER_SUCCESS(2001) }
{ Origin-Host: <string> } -- should match dest-host if configured
{ Origin-Realm: <string> } -- should match dest-realm
{ Auth-Application-Id: 4 }
{ CC-Request-Type: UPDATE_REQUEST(1) }
{ CC-Request-Number: <integer> }
{ Multiple-Services-CC:
{ Granted-Service-Unit:
{ CC-Time: 123456 }
{ CC-Total-Octets: 123455999000 }
}
{ Service-Identifier: 7 }
{ Rating-group: 292 }
{ Validity-Time: 7200 }
{ Result-Code: DIAMETER_SUCCESS(2001) }
}
*[ More Multiple-Services-CC]
OCSへの最終尋問
クライアントアプリケーションがAAAに加入者ログアウト通知を送信すると、GyはCCR-GY-T(TはTERMINATION_REQUESTを表す)メッセージを送信して、プロビジョニングされた加入者が終了することをOCSに通知します。
ルーターでトリガーイベントが発生するたびに、終了リクエストがOCSに送信されます。次の例は、CCR-GY-T と CCA-GY-T のパケット交換を示しています。
CCR-GY-T パケットの例
CCR-GY-T ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Origin-Host: <configurable-string> }
{ Origin-Realm: <configurable-string> }
{ Destination-Realm: <configurable-string> }
{ Auth-Application-Id: 4 }
{ Service-Context-Id: 98924@customer.com }
{ CC-Request-Type: TERMINATE_REQUEST(2) }
{ CC-Request-Number: <integer> }
[ Destination-Host: <configurable-string> ] -- if configured
[ User-Name: <string> ]
[ Origin-State-Id: <u32> ] -- if configured to send
[ Event-Timestamp: <timestamp> ] -- logout timestamp, if included by config
{ Termination-Cause: DIAMETER_LOGOUT(1) }
{ Multiple-Services-CC:
{ Used-Service-Unit:
{ Reporting-Reason: FINAL(2) }
{ CC-Total-Octets: 12345 }
{ CC-Input-Octets: 10000 }
{ CC-Output-Octets: 2345 }
}
{ Service-Identifier: 7 }
{ Rating-group: 292 }
}
*[ More Multiple-Services-CC]
CCA-GY-T パケットの例
CCA-GY-T ::= <Diameter Header: 272, REQ, PXY 16777238>
{ <Session-Id> }
{ Result-Code: DIAMETER_SUCCESS(2001) }
{ Origin-Host: <string> } -- should match dest-host if configured
{ Origin-Realm: <string> } -- should match dest-realm
{ Auth-Application-Id: 4 }
{ CC-Request-Type: TERMINATE_REQUEST(1) }
{ CC-Request-Number: <integer> }
接続障害の回復
一部のイベントは接続状態に影響を与えず、デバイス間にDiameterリレーまたはプロキシがある場合には検出されないため、Gyはデバイス間の接続状態に依存してルーターまたはOCSの停止を検出しません。
OCSとの接続障害を軽減するために、ルーターは以下の障害回復手順を使用します。
OCSが利用できない場合は、
[edit access ocs partition partition-name]階層レベルでforce-continueステートメントを設定することで、加入者トラフィックを許可するように設定できます。注:force-continueステートメントは、必須の設定ステートメントです。未確認の最初および中間の尋問は、無期限に、または加入者がログアウトするまで再生されます。
未承認の最終尋問は、最大24時間再生されます。
このルーターは、標準の直径トランスポートの冗長性を使用して、冗長OCSと通信します。
トランスポート冗長性イベントを設定して、アプリケーショントラフィックの障害をトリガーできます。
Gy耐耐障害性の重要な側面は、OCSから満足のいく応答を受信するまで、加入者のログインと終了要求が24時間再試行(再生)されることです。 clear network-access ocs statistics コマンドを発行すると、OCSの統計情報をすべてクリアできます。
セッション要求の中止
OCSは、受信側のMXシリーズルーターが最終データを収集し、最終的な問い合わせを投稿するときに、ASR(Abort-Session-Request)を発行する場合があります。MXシリーズルーターは、応答を受信した後、関連するセッションのOCSの更新を停止します。
Gyファイルバックアップの概要
OCSとも呼ばれるGyプロトコルは、中間データを保持しながら、増分の使用状況レポートに基づいています。そのため、OCSサーバーには、直径トランスポートの冗長性、OCSへの代替パス、ファイルのバックアップなど、複数の障害保護メカニズムが含まれています。Junos OSリリース18.1R1以降、ブロードバンドPCEFは、プライマリパスも代替パスも利用できない場合にファイルのバックアップを提供します。CCR-GY-Tフレームは、遠隔地のファイルに保存されます。
OCSバックアップは、OCSの最終応答タイムアウトの有効期限が切れたときに有効になります。データはバックアップ処理のためにキューに入れられ、加入者はログアウトしてpcrfセッション終了に進みます。いずれの場合も、バックアップ操作は以下の設定パラメーターによって制御されます。
backup-limit—バックアップエントリーの合計数を制限します。制限に達すると、バックアップオーバーフローの設定に応じて、新しい加入者のログインに失敗するか、最も古いバックアップエントリが削除されます。
backup-timeout— バックアップ操作のタイムアウト。
backup-overflow—バックアップエントリーの数がバックアップ制限を超えた場合のアクションを制御します。
OCS SFTP-バックアップ
stfp-backupは、最初に実装されたバックアップメカニズムです。操作は、以下のパラメーターによって制御されます。
累積タイムアウト – ファイルは、最初のCCR-GY-T提出のファイル累積時間の後に書き込まれます。
accumulation-count – ファイルアカウントカウントのリクエスト数が満たされた後にファイルが書き込まれます。
accumulation-size – ファイルのサイズが累積サイズ制限に達した後に書き込まれます。
retry-interval – この間隔が過ぎると、backup-timeout が累積されるまで、失敗したすべての書き込み操作が再試行されます。
response-timeout - 個々のsftpコマンド応答のタイムアウト。
OCS SFTP-Backupサーバーは、アドレス、ログイン、パスワード、ディレクトリ、ファイルプレフィックスによって設定されます。ターゲットディレクトリはデフォルトで存在します。存在しない場合は、ディレクトリが作成されます。同じ名前のターゲットファイルが既に存在する場合は、上書きされます。
Gy ファイル バックアップの利点
内部ネットワークの不安定さに対処するためのさらに別の方法を提供します。
PCRF、PCEF、OCS間の相互作用の理解
ポリシーおよび課金ルール機能(PCRF)、ポリシーおよび課金適用機能(PCEF)、オンライン課金システム(OCS)が相互作用して、加入者サービスの提供と課金を行います。これらのやり取りには、加入者ログイン、既存セッションへのサービス更新、接続と監視、加入者の終了とログアウトが含まれます。
図3 は、第3世代パートナーシッププロジェクト(3GPP)ポリシーおよび充電制御(PCC)アーキテクチャ全体のコンポーネントを示しています。PCRFは、3GPP Gxプロトコルを使用して、MXシリーズルーター上のPCEFにルールをプッシュダウンします。PCEFは、サービスデータフローを検出し、PCRFから受信したルールを適用します。オプションで、PCEFは3GPP Gyプロトコルを使用してOCSと対話し、ノルマとクレジットコントロールのポリシーと課金の承認を取得します。ブロードバンドPCEF(BPCEF)とOCSとのやり取りでは、ユニット決定と評価が一元化されたオンラインセッション課金を使用します。
PCRFは、既存のセッションに適用されているルールへの変更をプッシュすることもできます。ただし、レーティンググループの変更はサポートされていません。また、[edit access ocs partition partition-name] hierarchy levelでforce-continueステートメントを設定する必要があります。
ログイン操作
このログインイベントのシーケンスは、PCEF上のサービスデータフローの検出によってトリガーされます。これは通常、加入者(CPE)から送信されるDHCP DISCOVERまたはPPPoE PADIパケットです。
PCEF は、加入者を特定する情報とともに CCR-GX-I を PCRF に送信します。
PCRF は、CCA-GX-I を PCEF に返信し、加入者に適用するルールについて指示します。
PCEFは、加入者向けに要求されたサービス/ルールをインストールします。
OCS が使用されている場合、PCEF は CCR-GY-I メッセージを使用して最初の問い合わせを OCS に送信し、OCS は CCA-GY-I メッセージを使用して該当するレポートを PCRF に送信します。
設定されている場合、PCEFは、要求されたサービス/ルールが処理された後、CCR-GX-Uメッセージを介してPCRFに通知を送信します。
ルールは、以下の両方に該当する場合、 非アクティブ としてPCRFに報告されます。
service-dynamic-profileのインスタンス化に失敗します。
課金ルールに対して Resource-Allocation-Notification (ENABLE_NOTIFICATION) が設定されています。
ルールが非アクティブとして報告されても、加入者ログインやその他のルールには影響しません。
ルールは、以下のすべてに当てはまる場合、アクティブとしてPCRFに 報告 されます。
service-dynamic-profileのインスタンス化に成功します。
課金ルールに対して Resource-Allocation-Notification (ENABLE_NOTIFICATION) が設定されています。
SUCCESSFUL_RESOURCE_ALLOCATIONイベントトリガーは要求で設定されます。
報告するルールがない場合、レポートは送信されません。
PCRF は、CCA-GX-U メッセージを返信します。
PCEF は、加入者向けのサービスをアクティブ化します。
インタラクションを更新する
このイベントの更新シーケンスは、PCEFがPCRFから受信したRAR-GX-Uメッセージによってトリガーされます。
更新要求に、レーティンググループを持つルールのインストールまたは変更が含まれている場合、PCEFは要求を拒否します。それ以外の場合は、RAA-GX-UメッセージをPCRFに送信してリクエストを確認します。
PCEF は、サービスの削除とインストールのプロセスを開始します。
PCEF は、サービスの削除とインストールのプロセスが完了するのを待ってから、該当する場合は、OCS に報告するための最終データ収集プロセスを開始します。最終的な統計情報が収集されると、PCEF は CCR-GY-U リクエストを送信して OCS に通知します。これは、次の場合それぞれにおける既存サービスの削除プロセスの一部です。
削除されるサービスにレーティンググループがある場合。
レーティンググループを持つ新しいルールが追加されたとき。
レーティンググループを持つルールが削除および追加された場合。
PCEF は、CCR-GX-U メッセージを使用して、該当するレポートを PCRF に送信します。
ルールは、以下の両方に該当する場合、 非アクティブ としてPCRFに報告されます。
service-dynamic-profileのインスタンス化に失敗します。
課金ルールに対して Resource-Allocation-Notification (ENABLE_NOTIFICATION) が設定されています。
ルールが非アクティブとして報告されても、更新や他のルールには影響しません。
ルールは、以下のすべてに当てはまる場合、アクティブとしてPCRFに 報告 されます。
service-dynamic-profileのインスタンス化に成功します。
課金ルールに対して Resource-Allocation-Notification (ENABLE_NOTIFICATION) が設定されています。
SUCCESSFUL_RESOURCE_ALLOCATIONイベントトリガーは要求で設定されます。
報告するルールがない場合、レポートは送信されません。
クォータの有効期限と有効時間の相互作用
クォータの有効期限と有効時間のやり取りの場合、ルーターはCCR-GY-Uメッセージを使用してOCSに中間問い合わせを送信し、OCS応答を処理します。
接続と監視のやり取り
PCRF、OCS、またはDiameterリレー/プロキシサーバーとの接続を確立すると、Diameterデーモンは標準の機能交換要求(CER)/機能交換回答(CEA)トランザクションを実行します。既存のJunos OS Diameterインフラストラクチャを使用して、必要な冗長性機能を備えた適切なトポロジーを設定します。さらに、PCRF通信とOCS通信の両方、およびその他のアプリケーションに同じDiameter接続を使用できます。
次の例は、2 つの異なる通信接続シナリオを示しています。
PCRFとの通信に使用される専用接続を使用したCERの例
CER ::= <Diameter Header: 257, REQ>
{ Origin-Realm: CSim.PCRF.net }
{ Origin-Host: MX-GWR3 }
{ Host-IP-Address: 10.8.52.91 }
{ Vendor-Id: 2636 }
{ Product-Name: JUNOS }
[ Origin-State-Id: 7777 ] -- if configured
{ Supported-Vendor-Id: 10415 }
{ Supported-Vendor-Id: 2636 } -- have Juniper VSAs
{ Auth-Application-Id: 16777238 }
{ Vendor-Specific-Application-Id {
{ Vendor-Id: 10415 }
{ Auth-Application-Id: 16777238 }
{ Acct-Application-Id: 16777238 }
}
[edit access pcrf partition partition-name]または[edit access ocs partition partition-name]階層レベルでルーターのsend-origin-state-idステートメントを設定した場合、Origin-State-Idは、CER、デバイスウォッチドッグリクエスト(DWR)/デバイスウォッチドッグ応答(DWA)、切断ピア要求(DPR)/切断ピア応答(DPA)などの直径レベルメッセージに含まれます。
PCRF と OCS の両方との通信に使用される専用接続を使用した CER の例
CER ::= <Diameter Header: 257, REQ>
{ Origin-Realm: CSim.PCRF.net }
{ Origin-Host: MX-GWR3 }
{ Host-IP-Address: 10.8.52.91 }
{ Vendor-Id: 2636 }
{ Product-Name: JUNOS }
[ Origin-State-Id: 7777 ] -- if configured
{ Supported-Vendor-Id: 10415 }
{ Supported-Vendor-Id: 2636 } -- have Juniper VSAs
{ Auth-Application-Id: 4 } -- this is the difference with previous
{ Auth-Application-Id: 16777238 }
{ Vendor-Specific-Application-Id {
{ Vendor-Id: 10415 }
{ Auth-Application-Id: 16777238 }
{ Acct-Application-Id: 16777238 }
}
Auth-Application-Id: 4フィールドと値はOCSの認証アプリケーションIDです。これが、1 番目と 2 番目の例の違いです。
標準のDWR/DWAおよびDPR/DPAメッセージを使用して、接続を監視および管理します。
ログアウト操作
このログアウトシーケンスのイベントは、次のいずれかによってトリガーされます。
DHCP RELEASEやPPPoE PADTパケットなどの加入者ログアウト要求。
PCEF は、PCRF から加入者セッションの終了要求を含む RAR を受信します。
ログアウトがトリガーされると、以下のシーケンスが発生します。
システムインフラストラクチャは、加入者のログアウトが開始されたことをOCSに通知します。
該当する場合、OCS は最終的なデータ収集プロセスを開始します。
削除されるサービスにレーティンググループがある場合、このサービスの最終データを報告する必要があります。OCS は、必要に応じて最終的なデータ収集を開始します。
PCRFとPCEFの両方が、最終的な尋問プロセスが完了するのを待ちます。
PCEF は、終了要求(CCR-GX-T メッセージ)を PCRF に送信し、PCRF からの応答(CCA-GX-T メッセージ)を待ちます。
PCEF によって、加入者のログアウト プロセスが完了します。
PCRFのアップストリームメッセージとダウンストリームメッセージを理解する
MXシリーズルーターは、ダウンストリームとアップストリームの両方のトランザクションでデータ過負荷から保護するために、いくつかの対策を実装しています。ダウンストリーム トランザクションは、過負荷条件下でネットワークからの入力をスロットリングすることで保護されます。アップストリーム・トランザクションは、未処理の要求の数を制限し、信頼性の高い回復のために最初の未確認メッセージの低速再試行を使用することによって保護されます。
ポリシーおよび課金適用機能(PCEF)環境の組み込み機能は、過剰な加入者ログインレートに起因する過負荷から保護します。再認証要求(RAR-GX)メッセージによるルール変更や切断操作が多すぎる場合、ルーターは結果コードDIAMETER_TOO_BUSY(3004)で再認証応答(RAA-GX)応答を送信します。
ルーターの AAA コンポーネント内では、セッションはセッション データベース(SDB)内の加入者(クライアント)セッション エントリを表します。
これは、加入者セッションのみの表現です。これは、電話番号のような接続に依存しない恒久的な識別子ではありません。加入者が切断して再接続し、2番目の接続で異なるセッションIDを受け取った場合。
セッションIDは、セッションID(AVPコード263)で伝えられます。セッションとSession-Id値の間には1対1の対応関係があります。セッションIDは、一意のルーターIDに紐付けられ、他の情報を参照することなくユーザーセッションを識別するために使用されるため、グローバルかつ永遠に一意です。同じ加入者を、切断および再接続イベントからのセッションなど、複数のセッションにマッピングできます。ただし、セッションは常に単一の加入者に関連付けられています。セッションID AVPのデフォルトフォーマットは次のとおりです。
Session-Id AVP ::=<DiameterIdentity>;
<upper 32 bits of the AAA COMPONENT session-id>;
<lower 32 bits of the AAA COMPONENT session-id>;
DiameterIdentityフィールドは、直径の起点ホストに設定する値です。内部セッションIDは、昇順で割り当てられた64ビット整数です。セッションID文字列の両方の数字部分は、%010u形式を使用して生成され、セッションID AVP値が内部64ビットセッションと同じ辞書順序になることが保証されます。
拡張セッションIDを使用するようにルーターを設定して、IDにセッションスタンプを追加することもできます。セッションスタンプは、ルーターがCCR-GX-Iを作成したUTC時間で構成されています。この場合、セッションID AVPの形式は次のようになります。
Session-Id AVP ::=<DiameterIdentity>;
<upper 32 bits of the AAA COMPONENT session-id>;
<lower 32 bits of the AAA COMPONENT session-id>;
<32 bits of UTC time>;
AVPの最初の64ビットは変更されないため、PCRFが再初期化をトレースできます。
PCRFサーバーのエラーに応答してセッションを再初期化する際には、常に拡張セッションIDを使用するようにルーターを設定します。詳細については、「 ルーターと PCRF 間の Gx 相互作用を理解する 」を参照してください。
ポリシーおよび課金ルール機能(PCRF)は、3GPP Gxプロトコルとオンラインポリシーインターフェイスを使用して、ルールとメッセージをPCEFにプッシュします。PCRFおよびGxプロトコルには、以下のメッセージが含まれています。
一般的なアップストリーム メッセージ
開始、更新、および終了に対する与信管理応答(CCR-GX-I、CCR-GX-U、CCR-GX-T)およびRAA-GXのアップストリームメッセージには、以下のルール、パラメーター、データが含まれている場合があります。
イベントタイムスタンプ AVP
以下に、PCRFとGx間のCCR-GX-I、CCR-GX-U、CCR-GX-T、RAA-GXメッセージのAVPを示します。
{ Event-Timestamp: <timestamp> }
Event-Timestamp AVPを設定すると、ダウンストリームメッセージに含まれます。 表 11 のメッセージ定義は、トランザクションによって異なります。
メッセージ |
定義 |
|---|---|
CCR-GX-I |
加入者ログインタイムスタンプ |
課金ルールのインストール通知
以下の通知は、PCRFとGx間のCCR-GX-Uメッセージの課金ルールのインストールの失敗したインストール例と成功したインストール例を示しています。
クライアントがログアウトした時点で未確認のレポートがまだ保留中である場合、これらの課金ルールはCCR-GX-Tメッセージに含まれます。
ルールのインストール失敗を報告する通知
{ Charging-Rule-Report
{ Charging-Rule-Name: <string> }
{ Charging-Rule-Name: <string> }
{ PCC-Rule-Status: INACTIVE(1) }
{ Rule-Failure-Code: UNKNOWN_RULE_NAME(1) }
}
ルールのインストールが成功したことを報告する通知
{ Charging-Rule-Report
{ Charging-Rule-Name: <string> }
{ Charging-Rule-Name: <string> }
{ PCC-Rule-Status: ACTIVE(0) }
}
イベントトリガーコマンド
以下に、PCRFとGx間のCCR-GXおよびRAA-GXメッセージ用定義済みイベントトリガーコマンドを示します。
{ Event-Trigger: SUCCESSFUL_RESOURCE_ALLOCATION(22) }
一般的なダウンストリーム メッセージ
開始と更新のクレジットコントロール回答(CCA-GX-IおよびCCA-GX-U)およびRAR-GXのダウンストリームメッセージには、パラメータとデータを含む以下の定義済みルールが含まれている場合があります。
CCA-GX-T(終端)メッセージは、ダウンストリーム メッセージとしては含まれません。
課金ルールのインストールコマンド
以下の例は、PCRFとGx間のCCA-GXおよびRAR-GXメッセージ用に定義済みのルールインストールコマンドを示しています。
{ Charging-Rule-Install
{ Charging-Rule-Name: “fixed-cos” }
{ Charging-Rule-Definition:
{ Charging-Rule-Name: “firewall” }
{ Service-Identifier: 10 }
{ Rating-Group: 292 }
{ Juniper-Param-V4-Input-Filter: “my_input_filter” }
{ Juniper-Param-V4-Output-Filter: “my_output_filter” }
}
[ Resource-Allocation-Notification: ENABLE_NOTIFICATION(0) ]
}
一部のPCRFは、Resource-Allocation-Notification AVPを生成できない場合があります。その結果、[edit access pcrf partition partition-name]階層レベルのreport-resource-allocationステートメントは、デフォルトで生成されたレポートを提供します。
課金ルール削除コマンド
以下の例は、PCRFとGx間のCCA-GXおよびRAR-GXメッセージ用に定義済みのルール削除コマンドを示しています。
{ Charging-Rule-Remove
{ Charging-Rule-Name: “predefined-ftp” }
{ Charging-Rule-Name: “firewall” }
}
ルーターは、ルールのインストール操作の前にすべてのルール削除操作を処理するため、1つのトランザクションで既存のルールの削除と同じベース名を持つルールのインストールの両方を同時にリクエストできます。
イベントトリガーコマンド
以下に、PCRFとGx間のCCA-GXおよびRAR-GXメッセージ用に定義されたイベントトリガーコマンドを示します。
{ Event-Trigger: SUCCESSFUL_RESOURCE_ALLOCATION(22) }
SUCCESSFUL_RESOURCE_ALLOCATION(22)トリガー値がダウンストリームデータに存在する場合、ブロードバンドPCEFは、Charging-Rule-Install AVPでResource-Allocation-Notification AVPでマークされたルールのインストールに成功したことを報告します。
一部のPCRFは、このイベントトリガーを生成できない場合があります。その結果、[edit access pcrf partition partition-name]階層レベルのreport-successful-resource-allocationステートメントは、デフォルトで生成されたレポートを提供します。
OCSパーティションの設定
オンライン課金システム(OCS)は、パーティションと呼ばれる特定の論理システム:ルーティングインスタンスコンテキスト内で動作します。
現在、サポートされているパーティションは 1 つです。デフォルトの論理システム:ルーティングインスタンスコンテキスト内で設定する必要があります。
OCSパーティションを設定する前に、以下のタスクを実行してください。
[edit diameter]階層レベルでDiameterインスタンスを設定します。直径の設定を参照してください。
OCSパーティションの設定は、パーティションに名前を付け、パーティションの特性を定義するための多数のパラメーターを定義または関連付けることで構成されています。
OCSパーティションを設定するには:
PCRFパーティションの設定
ポリシー制御およびルール課金機能(PCRF)は、パーティションと呼ばれる特定の論理システム:ルーティングインスタンスコンテキスト内で機能します。
現在、サポートされているパーティションは 1 つです。デフォルトの論理システム:ルーティングインスタンスコンテキスト内で設定する必要があります。
PCRFパーティションを設定する前に、以下のタスクを実行してください。
[edit diameter]階層レベルでDiameterインスタンスを設定します。直径の設定を参照してください。
PCRF パーティションの構成は、パーティションに名前を付け、パーティションの特性を定義するための多数のパラメーターを定義または関連付けることで構成されます。
PCRFパーティションを設定するには:
OCSグローバルパラメータの設定
Policy and Charging Enforcement Function(PCEF)と対話するオンライン課金システム(OCS)に対して、第3世代パートナーシッププロジェクト(3GPP)Diameter与信管理サービス課金システムのグローバル属性を設定することができます。
現在、設定可能なグローバル属性は、サービスプロバイダまたは運用担当者によって割り当てられたサービスコンテキスト識別子のみです。この値はService-Context-Id AVPに対応し、Service-Identifier-AVPとともにDiameter与信管理サービスを一意かつグローバルに識別します。
OCSグローバルパラメータを設定するには:
サービスコンテキスト識別子を設定します。
[edit access ocs global] user@host# set service-context-id service-context
変更履歴テーブル
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。