3GPP 协议 Push-Profile-Request (PPR)

Push-Profile-Request (PPR) Command

   The Push-Profile-Request (PPR) command is indicated by the
   Command-Code set to 288 and the Command Flags' 'R' bit set.  The
   Diameter server sends this command to the Diameter client in a SIP
   server to update either the user profile of an already registered
   user in that SIP server or the SIP accounting information.  This
   allows an operator to modify the data of a user profile or the
   accounting information and push it to the SIP server where the user
   is registered.

   Each user has a user profile associated with him/her and other
   accounting information.  The profile or the accounting information
   may change with time, e.g., due to addition of new services to the
   user.  When the user profile or the accounting information changes,
   the Diameter server sends a Diameter Push-Profile-Request (PPR)
   command to the Diameter client in a SIP server, in order to start
   applying those new services.

   A PPR command MAY contain a SIP-Accounting-Information AVP that
   updates the addresses of the accounting servers.  Changes in the
   addresses of the accounting servers take effect immediately.  The
   Diameter client SHOULD close any existing accounting session with the
   existing server and start providing accounting information to the
   newly acquired accounting server.

   A PPR command MAY contain zero or more SIP-User-Data AVP values
   containing the new user profile.  On selecting the type of user data,
   the Diameter server SHOULD take into account the supported formats at
   the SIP server (SIP-Supported-User-Data-Type AVP sent in a previous
   SAR message) and the local policy.

   The User-Name AVP indicates the user to whom the profile is
   applicable.

   The Message Format of the PPR command is as follows:

       <PPR> ::= < Diameter Header: 288, REQ, PXY >
                 < Session-Id >
                 { Auth-Application-Id }
                 { Auth-Session-State }
                 { Origin-Host }
                 { Origin-Realm }
                 { Destination-Realm }
                 { User-Name }
               * [ SIP-User-Data ]
                 [ SIP-Accounting-Information ]
                 [ Destination-Host ]
                 [ Authorization-Lifetime ]
                 [ Auth-Grace-Period ]
               * [ Proxy-Info ]
               * [ Route-Record ]
               * [ AVP ]

 Push-Profile-Answer (PPA) Command

   The Push-Profile-Answer (PPA) is indicated by the Command-Code set to
   288 and the Command Flags' 'R' bit cleared.  The Diameter client
   sends this command in response to a previously received Diameter
   Push-Profile-Request (PPR) command.

   In addition to the values already defined in RFC 3588 [RFC3588], the
   Result-Code AVP may contain one of the values defined in
   Section 10.1.

   If there is no error when processing the received Diameter PPR
   message, the SIP server (Diameter client) MUST download the received
   user profile from the SIP-User-Data AVP values in the Diameter PPR
   message and store it associated with the user specified in the
   User-Name AVP value.

   If the SIP server does not recognize or does not support some of the
   data transferred in the SIP-User-Data AVP values, the Diameter client
   in the SIP server MUST return a Diameter PPA message that includes a

   Result-Code AVP set to the value
   DIAMETER_ERROR_NOT_SUPPORTED_USER_DATA.

   If the SIP server (Diameter client) receives a Diameter PPR message
   with a User-Name AVP that is unknown, the Diameter client MUST set
   the Result-Code AVP value to DIAMETER_ERROR_USER_UNKNOWN and MUST
   return it to the Diameter server in a Diameter PPA message.

   If the SIP server (Diameter client) receives in the
   SIP-User-Data-Content AVP value (of the grouped SIP-User-Data AVP)
   more data than it can accept, it MUST set the Result-Code AVP value
   to DIAMETER_ERROR_TOO_MUCH_DATA and MUST return it to the Diameter
   server in a Diameter PPA message.  The SIP server MUST NOT override
   the existing user profile with the one received in the PPR message.

   If the Diameter server receives the Result-Code AVP value set to
   DIAMETER_ERROR_TOO_MUCH_DATA in a Diameter PPA message, it SHOULD
   force a new re-registration of the user by sending to the Diameter
   client a Diameter Registration-Termination-Request (RTR) with the
   SIP-Deregistration-Reason AVP value set to SIP_SERVER_CHANGE.  This
   will force a re-registration of the user and will trigger a selection
   of a new SIP server.

   If the Diameter client is not able to honor the command, for any
   other reason, it MUST set the Result-Code AVP value to
   DIAMETER_UNABLE_TO_COMPLY and it MUST return it in a Diameter PPA
   message.

   The Message Format of the PPA command is as follows:

       <PPA> ::= < Diameter Header: 288, PXY >
                 < Session-Id >
                 { Auth-Application-Id }
                 { Result-Code }
                 { Auth-Session-State }
                 { Origin-Host }
                 { Origin-Realm }
                 [ Redirect-Host ]
                 [ Redirect-Host-Usage ]
                 [ Redirect-Max-Cache-Time ]
               * [ Proxy-Info ]
               * [ Route-Record ]
               * [ AVP ]

原文地址:https://www.cnblogs.com/xiaopengren/p/3413516.html