有線プロビジョニングとアカウンティングのための3GPPポリシーと課金制御
有線プロビジョニングとアカウンティングの 3GPP ポリシーと課金制御の概要
3rd Generation Partnership Project(3GPP)Policy and Charging Control(PCC)は、お客様の有線プロビジョニングと会計を統合します。 図1 は、3GPP PCCアーキテクチャ全体のコンポーネントを示しています。
PCC アーキテクチャの 4 つの主要コンポーネントは次のとおりです。
Policy and Charging Rules Function(PCRF):ビジネスポリシーと課金ルールを導入してブロードバンドネットワークリソースを割り当て、加入者とサービスのフローベースの課金を管理する一元的なポリシー決定ポイント。PCRFは、3GPP Gxプロトコルとオンラインポリシーインターフェイスを使用して、ルールをPolicy and Charging Enforcement Function(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プロトコルを使用してポリシーを適用し、使用状況を報告します。また、OCS をプライマリ アカウンティング宛先として使用し、OFCS をバックアップとして使用することもできます。
表 1 は、PCRF と PCEF の機能の違いを示しています。
機能 |
PCRFの |
PCEF |
---|---|---|
課金ポリシングの実装 |
さまざまなレベルで関与しています。ホスティングネットワーク内の情報を集約し、PCCアーキテクチャの一部と見なされます。 |
さまざまなレベルで関与しています。ゲートウェイにあります。 |
含まれる機能 |
主にポリシー制御、決定、およびフローベースの制御機能が含まれます。 |
ポリシー適用とフローベースの課金機能が含まれます。 |
事前定義 PCC ルール |
事前定義された PCC ルールの有効化または無効化は、PCRF によってのみ実行できます。 |
PCEF によって事前設定されています。 |
オンラインとオフラインの充電のインタラクション |
未対応 |
サポート |
図 1 の PCC アーキテクチャを構成する他の 3 つのコンポーネントは、次のとおりです。
アプリケーション機能(AP):アプリケーション機能は、動的 PCC を必要とするアプリケーションまたはサービスと対話します。アプリケーション機能は、アプリケーションシグナリングからセッション情報を抽出し、Rxプロトコルを使用してアプリケーションセッション関連情報をPCRFに提供します。
サブスクリプション プロファイル リポジトリ(SPR):SPR には、パケット データ ネットワーク(PDN)ごとに加入者とサブスクリプションの情報が含まれます。SP プロトコルを使用すると、PCRF は加入者のサービスまたはセッションに関連するサブスクリプション情報を要求できます。
Bearer Binding and Event Reporting Function(BBERF):パケットが適切な QoS 処理を確実に受け取るようにするには、PCC ルールを特定の IP ベアラにマッピングする必要があります。PCC ルールとベアラーの関連付けは、 ベアラー バインディングと呼ばれます。BBERFの場所は、アクセス技術によって異なります。3GPPの場合、BBERFはサービングゲートウェイに配置され、Gxxプロトコルを使用します。
3GPPポリシーと課金制御アーキテクチャの利点
有線加入者のプロビジョニングとアカウンティングのための統一されたフレームワークを提供します。
ブロードバンド有線加入者向けのポリシーおよび課金適用機能の概要
Policy and Charging Enforcement Function(PCEF)は、 図2に示す3rd Generation Partnership Project(3GPP)のPolicy and Charging Control(PCC)アーキテクチャの4つの主要コンポーネントのうちの1つです。
PCEFは、ゲートウェイでユーザートラフィック処理とサービス品質(QoS)を提供し、サービスデータフロー検出を提供し、ポリシー制御および課金ルール機能(PCRF)から受け取ったルールを適用します。3GPPは、GxをPCRFとPCEF間のオンラインポリシープロトコルとして定義し、加入者にポリシーとフローベースの課金の制御を提供します。PCRFは、ブロードバンドネットワークリソースを割り当てるビジネスポリシールールを展開し、加入者とサービスのフローベースの料金を管理する一元化されたポリシー決定ポイントです。オプションとして、PCEFは3GPP Gyプロトコルを使用してOnline Charging System(OCS)と対話し、クォータと与信管理のためのポリシーと課金承認を取得します。
PCEF は、以下の環境をサポートします。
有線アクセス環境
モバイル加入者の場合、ユーザー機器はサービスを要求します。ブロードバンド有線加入者の場合、PCRFはサービスを要求します。有線環境では、PCRF はサービス リクエスターとして機能し、PCEF はサービス レシーバーおよびエンフォーサーとして機能します。
有線環境で PCC モデルを適応させると、次のようなメリットがあります。
都合
先端技術
多くの場合、有線支社よりもはるかに大きなビジネスを提供するキャリアの無線支社によってすでに実装されています
PCRFは、充電ルールをプッシュすることによってPCEFを制御します。課金ルールは、ポリシーをプッシュするためのサービス(ポリシー)ルールとして再利用されます。課金ルールには、関連するレーティンググループ、または課金キーも含まれる場合があります。そのため、PCEF の設定では、与信管理サービス(cc-services)と格付けグループ間の課金ルールとマッピングを定義する必要があります。
多くの場合、OCS とオフライン課金システム(OFCS)3GPP アカウンティング サービスの両方で、加入者の識別に Mobile Station International 加入者電話番号(MSISDN)を使用する必要があります。MSISDN はサブスクリプション ID として渡されます。各モバイル ユーザー機器デバイスには MSISDN が関連付けられていますが、有線加入者はこの情報を利用できません。PCRFがサブスクリプションIDパラメータを動的に渡し、さまざまな認証、許可、プロビジョニング設定をサポートできるように、 表2 のジュニパー属性-値ペア(AVP)は、ジュニパーベンダーIDスペース(2636)ベンダー固有属性(VSA)から割り当てられています。
動的サブスクリプション ID が受信されない場合は、OCS 通信も OFCS 通信も開始されません。
AVP 名 |
ベンダーID |
AVP タイプ |
直径のタイプ |
直径フラグ |
---|---|---|---|---|
Juniper-Dyn-サブスクリプションインジケーター |
2636 |
10001 |
列挙 |
V |
Juniper-Dyn-サブスクリプションID |
2636 |
10002 |
分類 |
仮想マシン |
Juniper-Dyn-サブスクリプション-id-タイプ |
2636 |
10003 |
整数値32 |
仮想マシン |
Juniper-Dyn-サブスクリプションID-データ |
2636 |
10004 |
UTF8文字列 |
仮想マシン |
クライアントシステム(ルーター)は、Juniper-Dyn-Subscription-Id-Indicator AVPを送信して、サブスクリプションIDの動的割り当てがサポートされていることを示します。Juniper-Dyn-Subscription-Id-Indicator属性には、2つの値があります。
DYN_SUBSCRIPtION_NOT_SUPPORTED (0)
DYN_SUBSCRIPTION_SUPPORTED (1)
その後、サーバーは、サポートを示す Juniper-Dyn-Subscription-Id AVP をクライアントに送信します。これは、Subscription-Id-Type および Subscription-Id-Data として送信される値を含むグループ化された AVP です。
PCRF サーバは、標準のサブスクリプション ID AVP を使用して、ダイナミック サブスクリプション ID をルータに伝達できます。
Juniper-Dyn-Subscription-IdとSubscription-Idの両方がPCRFから送信される場合、Subscription-Id値が使用されます。
多くの場合、有線加入者は 1 つの IP ファミリーのみをサポートしますが、これは AAA サービスと PCRF の両方に必要な情報です。この情報を示すために、 表3のJuniper Vendor-IDスペース(2636)VSAからJuniper-Network-Family-Indicator AVPが割り当てられています。
AVP 名 |
ベンダーID |
AVP タイプ |
直径のタイプ |
直径フラグ |
---|---|---|---|---|
Juniper-Network-Family-Indicator |
2636 |
10010 |
列挙 |
V |
クライアントシステム(ルーター)は、Juniper-Network-Family-Indicator AVPを送信して、どのネットワークファミリーがサービスリクエストに関連付けられ、加入者がサポートしているかを示します。Juniper-Network-Family-Indicator AVPが関連するネットワーク ファミリーを示すように設定すると、システムはその情報をPCRFに送信します。Juniper-Network-Family-Indicator属性には、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-service-dynamic-profiles
ファイアウォールサービス動的プロファイル
client-dynamic-profiles と cos-service-dynamic-profiles は、加入者に提供されるサービスの帯域幅とその他の特性を定義します。firewall-service-profiles は、フィルタリングと使用状況のカウントを実行します。すべての動的プロファイルのカテゴリにおいて、service-dynamic-profile nameはCharging-Rule-Name AVPの値として使用されます。
service-dynamic-profile に変数がない場合、または service-dynamic-profile 定義で提供されるデフォルトが要求される場合は、追加の要素は必要ありません。service-dynamic-profileにカスタム値を提供するには、追加のVSAでCharging-Rule-Definition AVPを使用します。
PCRFは、既存のJuniper-Substitution VSA(ベンダーID 2636およびタイプ2024)を使用して、属性を名前と値のペアとして提供します。PCRFは、ルール名の一部に位置表記としてパラメータを含めることもあります。リダイレクト情報AVP(ベンダーID 10415およびタイプ1085)は、リダイレクトURLパラメータの値を提供します。
お客様が要求するサービス動的プロファイルのパラメーター名ごとに、新しいジュニパーパラメーターVSAが定義されます。 表4 は、固定ジュニパーパラメーターVSAの初期セットを示しています。
パラメーター |
VSA名 |
ベンダーID |
種類 |
直径のタイプ |
---|---|---|---|---|
Cos-Tcp |
juniper-param-cos-tcp |
2636 |
10005 |
UTF8文字列 |
v4-ファイアウォール入力フィルター |
juniper-param-v4-firewall-input-filter |
2636 |
10006 |
UTF8文字列 |
v4-ファイアウォール出力フィルター |
juniper-param-v4-firewall-output-filter |
2636 |
10007 |
UTF8文字列 |
v6-ファイアウォール入力フィルター |
juniper-param-v6-firewall-input-filter |
2636 |
10008 |
UTF8文字列 |
v6-ファイアウォール出力フィルター |
juniper-param-v6-firewall-output-filter |
2636 |
10009 |
UTF8文字列 |
パラメータまたは Service-Identifier と Rating-Group を 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
たとえば、Service-Identifier と Rating-Group の組み合わせがある場合、または Service-Identifier のみまたは Rating-Group のみが指定されている場合、その組み合わせは、加入者にインストールされているルール間で一意である必要があります。ルーターで service-context-id を設定します。
ルーターと PCRF 間の Gx 相互作用の理解
Diameter メッセージのシーケンスは、3rd Generation Partnership Project(3GPP)Gx プロトコルを介して、Policy Control and Rules Charging Function(PCRF)と Policy and Charging Enforcement Function(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 ]
ルール インストール AVP が CCA-GX-I で定義されていない場合は、デフォルト ルールがインストールされます。
まだ定義されていないものも含めて、すべてのイベントトリガーが許容されます。ただし、実装時に実際にイベントを生成するイベントトリガーはごくわずかです。
PCRF は、 表 5 にリストされている結果カテゴリにマップされる結果コード AVP(AVP コード 268)を含む CCA-GX-I メッセージを返します。
result-code-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) |
失敗 |
5000 以上の他のすべての Diameter Permanent-failure 結果コード AVP、および 3000 以上 4000 未満のすべての Diameter プロトコル エラー結果コード AVP |
恒久的な障害 |
無効なメッセージまたは無応答のその他の結果コード 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 プロビジョニングが指定されている場合、ルータは PCRF に CCR-GX-I メッセージを送信して Gx メッセージ交換を開始します。ルータは、設定不可能なタイムアウト時間内に PCRF が CCA-GX-I メッセージで応答するまで待ちます。
PCRF がタイムアウト期間内に応答し、CCA-GX-I メッセージに Charging-Rule-Install AVP が含まれる場合、ルータがデフォルト サービスを非アクティブ化し、指定されたサービスをアクティブ化しようとする間、加入者のログインが遅延します。
指定されたすべてのサービスがアクティブになると、ログインが完了します。
いずれかのサービスをアクティブにできない場合、ルーターは PCRF にサービスのステータス(ルールレポート)が記載された CCR-GX-U(U はUPDATE_REQUESTを表す)メッセージを送信します。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 メッセージが失われる状況を適切に処理しない場合があります。ルータが PCRF への CCR-GX-I の送信を再試行すると、サーバはすでに応答を送信しており、ルータがメッセージを受信しなかったことを認識していないため、サーバはルータと同期していません。この状態の不一致は、次のいずれかのエラーにつながる可能性があります。
PCRF サーバは、値が 5012(DIAMETER UNABLE TO COMPLY)の Diameter 結果コード AVP(コード 268)を含む CCA-GX-I で再試行に応答します。これは恒久的な障害と見なされます(表5)。
PCRF サーバは RAR を送信します。サーバーは、CCA-GX-I をルーターに送信し、メッセージが受信されなかったことを認識していないため、セッションがアクティブであることを期待しています。サーバーは、以下のいずれかの RAR メッセージを送信する場合があります。
RAR-GX-Dは、セッションが不良であると見なしたため、セッションを切断します。
RAR-GX-A:不正なセッションに関する情報を読み取ります。
RAR-GX-U は、セッションが正常に動作していると見なすため、セッションを更新します。
PCRF local-decision
設定を使用して、これらのエラーのいずれかまたは両方に応答して加入者セッションを再初期化できます。
永続的な障害エラーの
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 セッション 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 メッセージを返します。
result-code-avp 値 |
結果カテゴリ |
---|---|
SUCCESS(2001)、LIMITED_SUCCSS(2002)、および有効なメッセージ |
成功 |
UNABLE_TO_DELIVER(3002)、REALM_NOT_SERVED(3003)、TOO_BUSY(3004)、LOOP_DETECTED(3005)、REDIRECT_INDICATION(3006) |
失敗 |
5000 以上の他のすべての Diameter Permanent-failure 結果コード AVP、および 3000 以上 4000 未満のすべての Diameter プロトコル エラー結果コード AVP |
成功 |
無効なメッセージまたは無応答のその他の結果コード 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 ]
T ビットは、CCR-GX-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 メッセージを返します。
result-code-avp 値 |
結果カテゴリ |
---|---|
SUCCESS(2001)、LIMITED_SUCCSS(2002)、および有効なメッセージ |
成功 |
UNABLE_TO_DELIVER(3002)、REALM_NOT_SERVED(3003)、TOO_BUSY(3004)、LOOP_DETECTED(3005)、REDIRECT_INDICATION(3006) |
失敗 |
5000 以上の他のすべての Diameter Permanent-failure 結果コード AVP、および 3000 以上 4000 未満のすべての Diameter プロトコル エラー結果コード AVP |
成功 |
無効なメッセージまたは無応答のその他の結果コード AVP |
失敗 |
Result-Code 値が Success の場合、Gx は AAA に通知し、AAA はログアウトが完了したことをアプリケーションに通知します。Gx が CCA-GX-T メッセージを受け取らない場合、または結果コード AVP に他の値があるか欠落している場合は、CCA-GX-T メッセージが Success で返されるまで、終了要求が再試行されます。ルータは、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 メッセージを返します。
result-code-avp 値 |
結果カテゴリ |
---|---|
DIAMETER_SUCCESS(2001年) |
加入者の切断が進行中であるか、加入者が見つからない |
DIAMETER_UNABLE_TO_COMPLY(5012) |
サブスクライバーは削除できません |
DIAMETER_TOO_BUSY(3004) |
未処理の切断要求が多すぎます |
BPCEF には、少なくとも 512 個の RAR-GX-D または RAA-GX-D メッセージ用のバッファリング・スペースが含まれています。
接続障害からの回復
Gx は、デバイス間に Diameter リレーまたはプロキシがある場合、接続状態に影響を与えないイベントもあれば、検出されないイベントもあるため、ルーターや 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(Policy Control and Rules Charging Function)と 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時間再生されます。
ルーターは、標準の Diameter トランスポート冗長性を使用して、冗長 OCS と通信します。
トランスポート冗長イベントを設定して、アプリケーション トラフィックの障害をトリガーできます。
Gy 耐障害性の重要な側面は、OCS から満足のいく応答が得られるまで、加入者のログインおよび終了要求が 24 時間以内に再試行(再生)されることです。 clear network-access ocs statistics
コマンドを発行すると、すべての OCS 統計情報をクリアできます。
セッション要求の中止
OCS は、受信側の MXシリーズ ルーターが最終データを収集し、最終インテロゲーションをポストするときに、ASR(Abort-Session-Request)を発行する場合があります。MXシリーズルーターは、レスポンスを受信すると、関係するセッションのOCSの更新を停止します。
Gy ファイルのバックアップの概要
Gy プロトコルは OCS とも呼ばれ、中間データを保持しながら増分使用状況レポートに基づいています。そのため、OCS サーバーには、直径トランスポートの冗長性、OCS への代替パス、ファイル バックアップなど、複数の障害保護メカニズムが含まれています。Junos OS リリース 18.1R1 以降、ブロードバンド PCEF は、プライマリ パスも代替パスも利用できない場合に、ファイルのバックアップを提供します。CCR-GY-T フレームは、リモートの場所にあるファイルに保存されます。
OCS バックアップは、OCS の final-response-timeout の期限が切れると有効になります。データはバックアップ プロセスのためにキューに入れられ、加入者のログアウトは pcrf セッションの終了に進みます。いずれの場合も、バックアップ操作は、次の構成パラメーターによって制御されます。
backup-limit- バックアップ エントリーの合計数を制限します。制限に達すると、バックアップオーバーフロー設定に応じて、新しい加入者のログインが失敗するか、最も古いバックアップエントリがドロップされます。
backup-timeout— バックアップ・オペレーションのタイムアウト。
backup-overflow- バックアップ エントリーの数が backup-limit を超えた場合のアクションを制御します。
OCS SFTP-バックアップ
stfp-backup は、実装された最初のバックアップメカニズムです。操作は、次のパラメーターによって制御されます。
accumulation-timeout:ファイルは、最初の CCR-GY-T 送信のファイル蓄積時間後に書き込まれます。
accumulation-count – ファイルは、file-account-count のリクエスト数が満たされた後に書き込まれます。
accumulation-size – ファイルは、そのサイズが累積サイズ制限に達した後に書き込まれます。
retry-interval – この間隔が経過すると、backup-timeout が累積されるまで、失敗したすべての書き込み操作が再試行されます。
response-timeout – 個々の sftp コマンドの応答のタイムアウト。
OCS SFTP-Backup サーバは、アドレス、ログイン、パスワード、ディレクトリ、およびファイル プレフィックスによって構成されます。ターゲットディレクトリはデフォルトで存在し、存在しない場合はディレクトリが作成されます。同じ名前のターゲットファイルがすでに存在する場合は、上書きされます。
Gyファイルバックアップのメリット
内部ネットワークの不安定さに対処するためのさらに別の方法を提供します。
PCRF、PCEF、および OCS 間の相互作用の理解
Policy and Charging Rules Function(PCRF)、Policy and Charging Enforcement Function(PCEF)、Online Charging System(OCS)が相互作用して、加入者サービスの提供と課金を行います。これらのインタラクションには、加入者のログイン、既存セッションのサービス更新、接続と監視、加入者の終了とログアウトが含まれます。
図3 は、3rd Generation Partnership Project(3GPP)のPolicy and Charging Control(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 に報告されます。
サービス動的プロファイルのインスタンス化は失敗します。
課金ルールに 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 は要求を拒否します。そうでない場合は、PCRF に RAA-GX-U メッセージを送信して要求を確認します。
PCEF は、サービスの削除とインストールのプロセスを開始します。
PCEF は、サービスの削除とインストールのプロセスが完了するのを待ち、該当する場合は、OCS に報告するための最終的なデータ収集プロセスを開始します。最終的な統計情報が収集されると、PCEF は CCR-GY-U リクエストを送信して OCS に通知します。これは、次の各ケースにおける既存のサービスの削除プロセスの一部です。
削除されるサービスにレーティング グループがある場合。
レーティング グループを含む新しいルールが追加されたとき。
レーティング グループを含むルールが削除および追加された場合。
PCEF は、CCR-GX-U メッセージを使用して、該当するレポートを PCRF に送信します。
このルールは、次の両方に該当する場合、非 アクティブ として PCRF に報告されます。
サービス動的プロファイルのインスタンス化は失敗します。
課金ルールに 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 デーモンは標準の Capability Exchange Request(CER)/Capability Exchange Answer(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)などのDiameterレベルメッセージに含まれます。
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 は、加入者セッションの終了要求を含む RAR を PCRF から受信します。
ログアウトがトリガーされると、次のシーケンスが発生します。
システム インフラストラクチャは、サブスクライバのログアウトが開始されたことを OCS に通知します。
該当する場合、OCS は最終的なデータ収集プロセスを開始します。
削除するサービスにレーティング グループがある場合は、このサービスの最終データを報告する必要があります。OCS は、必要に応じて最終的なデータ収集を開始します。
PCRFとPCEFはどちらも、最終的な尋問プロセスが完了するのを待ちます。
PCEF は、終了要求(CCR-GX-T メッセージ)を PCRF に送信し、PCRF からの応答(CCA-GX-T メッセージ)を待ちます。
PCEF は、加入者のログアウト プロセスを完了します。
PCRF のアップストリーム メッセージとダウンストリーム メッセージについて
MXシリーズ ルーターは、ダウンストリームとアップストリーム両方のトランザクションでデータ過負荷から保護するために、多数の対策を実装しています。ダウンストリームのトランザクションは、過負荷状態下のネットワークからの入力を調整することで保護されます。アップストリーム トランザクションは、未処理の要求の数を制限することと、信頼性の高い回復のために最初の未確認メッセージのゆっくりとした再試行の両方を使用することで保護されます。
Policy and Charging Enforcement Function(PCEF)環境の組み込み機能は、加入者のログイン率が高すぎることによる過負荷から保護します。再認可要求(RAR-GX)メッセージによるルール変更や切断操作が多すぎる場合、ルータは結果コードがDIAMETER_TOO_BUSY(3004)の再認可アンサー(RAA-GX)応答を送信します。
ルータのAAAコンポーネント内では、セッションはセッションデータベース(SDB)内の加入者(クライアント)セッションエントリを表します。
これは、加入者セッションのみの表現です。これは、電話番号のような接続に依存しない永続的な識別子ではありません。加入者が切断して再接続し、2 番目の接続で異なるセッション ID を受信した場合。
セッションIDは、セッションID(AVPコード263)で伝えられます。セッションと Session-Id 値の間には 1 対 1 の対応があります。セッションIDは、一意のルーターIDに関連付けられ、他の情報を参照することなくユーザーセッションを識別するために使用されるため、グローバルかつ永久に一意です。同じ加入者を複数のセッション(切断および再接続イベントからのセッションなど)にマッピングできます。ただし、セッションは常に 1 つの加入者に関連付けられます。セッション 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 ビット整数です。Session-Id 文字列の両方の数値部分は%010u形式を使用して生成され、Session-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 インタラクションの理解 」を参照してください。
Policy and Charging Rules Function (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 は、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 パーティションの設定
Policy Control and Rules Charging Function (PCRF) は、パーティションと呼ばれる特定の論理システム:ルーティング インスタンス コンテキスト内で動作します。
現在、サポートされているパーティションは 1 つだけです。これは、デフォルトの論理システム:ルーティング インスタンス コンテキスト内で設定する必要があります。
PCRF パーティションを設定する前に、以下のタスクを実行してください。
[edit diameter]
階層レベルで Diameter インスタンスを設定します。直径の設定を参照してください。
PCRF パーティションの設定は、パーティションに名前を付け、多数のパラメータを定義または関連付けて、パーティションの特性を定義することで構成されます。
PCRF パーティションを設定するには:
OCS グローバル パラメータの設定
Policy and Charging Enforcement Function(PCEF)と相互作用するオンライン課金システム(OCS)の 3rd Generation Partnership Project(3GPP)Diameter credit Control Service Charging Systemのグローバル属性を設定できます。
現在、設定可能なグローバル属性は、サービスプロバイダまたはオペレーターによって割り当てられたサービスコンテキスト識別子のみです。この値は Service-Context-Id AVP に対応し、Service-Identifier-AVP とともに Diameter クレジット制御サービスを一意かつグローバルに識別します。
OCS グローバル パラメータを設定するには:
サービス コンテキスト識別子を設定します。
[edit access ocs global] user@host# set service-context-id service-context
変更履歴
サポートされる機能は、使用しているプラットフォームとリリースによって決まります。特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer を使用します。