Version

PC2 AVPs

PC2 (application id: 16777337)

The PC2 interface is an integral part of the Proximity Services (ProSe) architecture, which enables devices (UEs) to discover and communicate with each other when they are in close proximity. The PC2 reference point facilitates communication between the ProSe Application Server and the ProSe Function, allowing for the implementation of ProSe features such as direct discovery and EPC-level ProSe discovery.
The primary purpose of the PC2 interface is to manage the interactions required for ProSe service functions, including the registration of ProSe applications, the handling of ProSe User IDs, and the mapping of identifiers for discovery purposes.

  • ProSe Function: This logical network entity handles network-related actions necessary for ProSe, including storing and managing EPC-level discovery information and facilitating signaling with third-party application servers. It also generates and maintains the ProSe Discovery User ID (PDUID) for restricted ProSe direct discovery.
  • ProSe Application Server: This server stores relevant ProSe User IDs and Function IDs, manages the mapping of Application Layer User IDs with EPC ProSe User IDs, and oversees the permissions and metadata necessary for ProSe discovery. It supports both open and restricted discovery procedures.

PC2 interface workflow

Application Registration for ProSe:

  • A UE that wishes to participate in ProSe services initiates an application registration by sending a ProXimity-Action-Request (PXR) command to the ProSe Function. This request includes the EPC ProSe User ID (EPUID) and Application Layer User ID (ALUID) of the originating UE. 
  • The ProSe Function forwards the PXR command to the ProSe Application Server for processing.
  • If the registration is successful, the ProSe Application Server responds with a ProXimity-Action-Answer (PXA) command, indicating success and allowing the UE to proceed with ProSe services.

Proximity Map Request:

  • To enable ProSe discovery, the ProSe Function may send a PXR command to the ProSe Application Server, requesting a proximity map for a targeted UE. The request includes identifiers for both the originating and targeted UEs.
  • The ProSe Application Server evaluates the request and, if permissible, responds with a PXA command, providing the necessary identifiers for discovery.

Transport and Session Management:

  • The PC2 interface uses the Diameter base protocol for all its messaging, ensuring robust and secure communication between the ProSe Function and the ProSe Application Server. The transport protocols supported over the PC2 interface include TCP and SCTP.
  • The PC2 Diameter session is established as a peer-to-peer connection between the ProSe Application Server and the ProSe Function. The session is terminated after each request and answer pair interaction, with no session state maintained, as indicated by the Auth-Session-State AVP set to NO_STATE_MAINTAINED.

For complete technical specification of PC2 interface in Diameter protocol please refer to: [3GPP TS 29.343].

package com.mobius.software.telco.protocols.diameter.primitives.pc2

Name

AVP Code

Data Type

Vendor

Allowed-Suffixes-Number

3606

Unsigned32

3GPP

Specifies the maximum number of suffix codes that a ProSe Application Server can assign to a User Equipment (UE). These suffix codes are associated with a ProSe Application ID or a Restricted ProSe Application User ID (RPAUID).

Application-Data

3605

UTF8String

3GPP

Used to exchange information related to Proximity Services (ProSe), particularly in Direct Discovery scenarios. It can carry various types of data depending on the context, including:

  • Target RPAUIDs (Restricted ProSe Application User IDs) for monitoring or query requests in restricted ProSe discovery.

  • Suffix allocation information for an announcing UE when application-controlled extensions are used.

  • Lists of successfully authenticated target RPAUIDs in restricted ProSe discovery.

Banned-User-Target 

3611

Grouped

3GPP

Used to define banned targets within the context of ProSe (Proximity Services) operations. 

The AVP structure is defined as follows:

Target-RPAUID: Represents the Restricted ProSe Application User ID of the target user.

Target-PDUID: Represents the ProSe Discovery User ID of the target user.

This AVP supports scenarios where certain users or devices need to be restricted or excluded from ProSe-based communication services.

Metadata-Indicator

3612

Enumerated

3GPP

Specifies metadata options associated with a target RPAUID (Restricted ProSe Application User ID) in the context of ProSe (Proximity Services). It defines whether metadata is absent, immutable, or mutable for a given target.

Enumerated Values:

0 NO_METADATA: No metadata is associated with the target RPAUID. (Default behavior if AVP is not supplied.)

1 METADATA_UPDATE_DISALLOWED: Metadata exists but is not allowed to be updated.

2 METADATA_UPDATE_ALLOWED: Metadata exists and is allowed to be updated.

Monitor-Target

3607

Grouped

3GPP

Used in the context of Proximity Services (ProSe) to specify a target entity for monitoring operations. It includes identifiers for the target, optional metadata settings, and code suffix masks for finer filtering or targeting.

The AVP structure is defined as follows:

Target-RPAUID (UTF8String, Mandatory): Unique identifier for the target user within ProSe restricted services.

PDUID (OctetString, Mandatory): Identifier for the ProSe device associated with the target.

Metadata-Indicator (Enumerated, Optional): Specifies whether metadata exists and can be updated (default is NO_METADATA).

ProSe-Code-Suffix-Mask (Grouped (List), Optional): Optional filtering criteria based on ProSe code suffixes.

Origin-App-Layer-User-Id

3600

UTF8String

3GPP

Used to uniquely identify an origin user within the context of a specific application. It typically includes application-level identifiers, such as email addresses or usernames, which are meaningful within the application scope (e.g., alice@social.net).

PDUID

3604

OctetString

3GPP

The PDUID AVP (ProSe Discovery UE ID) is used to uniquely identify a User Equipment (UE) involved in restricted ProSe (Proximity Services) direct discovery. It serves as a discovery identifier in device-to-device (D2D) communication scenarios under restricted discovery modes.

ProSe-Code-Suffix-Mask

3608

Grouped

3GPP

Used in Proximity Services (ProSe) to manage suffix codes and associated masks for identifying and filtering devices or sessions in restricted ProSe direct discovery scenarios. It facilitates targeted discovery by defining suffix patterns and masks that match specific groups or devices.

The AVP structure is defined as follows:

Suffix-Code (OctetString, Mandatory): Contains the primary suffix code for ProSe discovery.

Suffix-Mask (List<OctetString>, Mandatory (at least one)): Contains one or more masks matching the size of the suffix code for filtering.

ProSe-Function-ID

3602

OctetString

3GPP

Used to specify a ProSe Function Identifier in the form of a Fully Qualified Domain Name (FQDN). This identifier uniquely identifies a ProSe Function responsible for managing proximity services within a 3GPP network.

ProSe-Request-Type

3603

Enumerated

3GPP

Used to specify the type of request being sent within the ProSe (Proximity Services) context. It defines the purpose of a PX-Request or XA-Request message, facilitating different procedures related to ProSe authorization, registration, monitoring, and permissions.

Enumerated Values:

0 APPLICATION_REGISTRATION_FOR_PROSE: Initiates an application registration procedure for ProSe services.

1 PROSE_MAP_REQUEST: Initiates a Proximity map request procedure.

2 AUTHORIZATION_ANNOUNCE: Initiates an announce authorization procedure for restricted discovery.

3 AUTHORIZATION_ANNOUNCE_ACE: Announces authorization for restricted discovery with application-controlled extension.

4 AUTHORIZATION_MONITOR: Authorizes monitoring for restricted discovery.

5 AUTHORIZATION_MONITOR_ACE: Authorizes monitoring with application-controlled extension for restricted discovery.

6 MONITOR_PERMISSION: Requests discovery permissions between two RPAUIDs in monitoring model A.

7 AUTHORIZATION_RESPONSE: Initiates an authorization procedure for Discoveree Request.

8 AUTHORIZATION_QUERY: Initiates an authorization procedure for Discoverer Request.

9 AUTHORIZATION_MATCH_REPORT: Initiates authorization for Match Report procedure in model A or B.

10 QUERY_PERMISSION: Inquires about permissions between two RPAUIDs in model B discoverer operation.

11 AUTHORIZATION_UPDATE: Updates authorization procedures for discovery operations.

12 AUTHORIZATION_ANNOUNCE_ACE_OPEN: Initiates an announce authorization procedure for open discovery with application-controlled extension.

13 AUTHORIZATION_MONITOR_ACE_OPEN: Authorizes monitoring for open discovery with application-controlled extension.

Suffix-Code

3609

OctetString

3GPP

Used to handle suffix codes associated with ProSe (Proximity Services). These codes are either:

ProSe Application Code Suffix: Allocated suffix used in ProSe Application Codes.

ProSe Restricted Code Suffix: Allocated suffix used in ProSe Restricted Codes.

Matching Targets: Used to match suffix parts in application or restricted codes during discovery or monitoring.

Suffix-Mask

3610

OctetString

3GPP

Used for matching target suffix codes in the suffix part of a ProSe Application Code or ProSe Restricted Code. It enables mask-based comparisons to identify valid suffixes based on predefined patterns or rules.

Target-App-Layer-User-Id

3601

UTF8String

3GPP

Represents a UTF8String that identifies a target user within the context of a specific application. It is typically used for ProSe Direct Discovery and communication scenarios that involve application-layer interactions.

 

Start innovating with Mobius

What's next? Let's talk!

Mobius Software

As a company you'll get:

  • Get started quickly

  • Support any business model

  • Join millions of businesses

Questions? websupport@mobius.com