You are on page 1of 17

2.

1 : session-id:
Type: utf8String. All message pertaining a session have same value session-id. This used to
indentify session globally for accounting and authentication.
It comprise 4 element: <senders identify>,<high 32 bits>,<low 32 bits>,[option]
+ senderindentify: it using to indentify client.
+ high 32 bits: it is initalized to time, type is decimal
+ low 32 bits: it is initalized to increasing monotical, type is decimal
+ option : it possible is ip address of client, or MAC, devide id
Session id is created by client,
2.2: Origin-state-id: unsigned 32 : it increasing whenever node restart. It infer that session with
Origin-state-id lower that not exsited. Client node check this value saved at it, and decide session
state in server peer. It is local unique value. this value received from CEA, this value is put in
CCR.
2.2: Hop-by-Hop identifier: unsigned 32: it using to matching reponse with request relative.
2.3 End-By-End identifier: usigned 32: it using to check message received is duplicated.
It combine with origin host to check message duplicated. This is local unique value
2.4 Subscription-id:
@brief:
Using to indentify users subscription
@ format
In group:
{
Subscription-id-type
Subscription-id-data
}
- Subscription-identify-type: type: enum it may have receive value
0 (END_USER_E164)
1 (END_USER_IMSI)
2 (END_USER_SIP_URI)
3 (END_USER_NAI)
2.6

Data: format is UTF8String

MSISDN
IMSI
Network access identify

Supported-features:
@brief: this fied using to exchange capacity of client.
@group element:
-

Vendor-id: unsigned 32 // The Vendor-ID AVP shall be set to 3GPP (10415)


Feature-list-id
Feature-list (consult flag of gtp-c in open-air)

2.7 network-request-support
@brief:
Indicate if UE and network support network initated procedure.
@Data type : enum
@value :
0: NETWORK_REQUEST_SUPPORT
1: NETWORK_REQUEST_UNSUPPORT
2.8 framed_ip_address
@brief: contain ip address information of UE.
@data type: unsigned 32
2.9 IP-CAN-TYPE
@brief:
it describe ip can-session-type. PCRF may communicate with multiple network technology
@data type
Enum type
0
1
2
3
4
5
6
2.10 RAT-TYPE
@brief:
Describe rate type access

3GPP-GRPS
DOCSIS
xDSL
WiMAX
3GPP2
3GPP-EPS
Non-3GPP-EPS

@data type: unsigned 8


2.11 User-Equipment-Info.
@brief:
It contain UE equipment information
{
User-Equipment-info-type
User-Equipment-info-Value
}
@data type
User-Equipment-info-type: enum
0
1
2
3

IMEISV
MAC
EUI-64
MODIFIED-EUI-64

User-Equipment-info-data: octetstring
2.12
QoS-Information:
@brief: it contain parameter about bit rate of UE at APN level
@data type: grouped type.
{
QoS-Class-Identifier: enumerated //identify set of parameters defined for specificed QoS (1->9)
Max-Requested-Bandwidth-UL : unsigned32// indentify authoried max request bandwith for
Uplink in bits per second.
Max-Requested-Bandwidth-DL: unsigned32// indentify authoried max request bandwith for
Downlink in bits per second.
Guaranteed-Bitrate-UL: unsigned32// indentify authoried Guaranteed bitrate for Uplink in bits
per second.
Guaranteed-Bitrate-DL: unsigned32// indentify authoried Guaranteed bitrate for Downlink in bits
per second.

Bearer-Indentifier: octetString // indicate bearer that specific information refer


Allocation-Retention-Priority: grouped type
APN-Aggregate-Max-Bitrate-UL
APN-Aggregate-Max-Bitrate-DL
}
+ Allocation-Retention-Priority:
@brief:
Used to indicated the priority of pre-emption and allocation, the pre-emption capability and preemption vulnerability for SDF.
@data type:
Grouped type:
{
Priority-Level :unsigned 32// using to decide whether create or modify bearer in case limited
resource.
1->8 (1 is highest)
9-15

For UE in Operator Domain


For UE in Roaming

Pre-emption-Capability: enumerated // using decide whether a Service data flow can get resource
from service data flow is assiged with lower priority.
0
1

PRE-EMPTION_CAPABILITY_ENABLED
PRE-EMPTION_CAPABILITY_DISABLED

Pre-emption-Vulnerability: enumerated // using to decide whether service data flow can lose the
resource that assigned to it.
0
1

PREEMPTION_VULNERABILITY_ENABLED
PREEMPTION_VULNERABILITY_DISABLED

}
APN-Aggregate-Max-Bitrate-UL
@brief: APN-AMBR-UL: define max of sum bit rate of all bearer for uplink on a APN.

@data type: unsigned 32


APN-Aggregate-Max-Bitrate-DL
@brief: APN-AMBR-DL: define max of sum bit rate of all bearer for downlink on a APN
@data type: unsigned 32
2.13
Default-EPS-Bearer-QoS
@brief:
Define QoS information about priority for EPS default bearer.
@data type
{
QoS-Class-Identifier: int_8 (1-9)
Allocation-Retention-Priority: int_8
}
Allocation-Retention-Priority
{
Priority-Level: unsigned_32
@brief: it using for deciding whether establish or modify bearer in case limited resoure.
Value 1-15 is defined, 1-8: when UE in home operator, 9-> 15 UE in roaming operator.
Pre-emption-Capability: boolen_t
@brief:
It define that whether service data flow to get resoure from service data flow that assigned
resource.
Pre-emption-Vulnerability: boolen_t
@brief:
It define whether service data flow can lose the resource that assigned to it.
}
2.14. AN-GW-Address
@brief:
It contain information of S-GW IP address
@data type: unsigned_32

2.15
3GPP-SGSN-MCC-MNC
@brief:
It contain information of MCC and MNC
@data type:
UTF8String
2.16:
3GPP-User-Location-Info
@brief: it contain information of UE location
@data type: struct
{
Geographic Location Type
Geographic Location
}
(1) Geographic Location Type:
@brief: it define type location need report
0
1
2
3-127
128
129
130
131-255
@data type: uint_8
(2) Geographic Location
(2.1)CGI:
@brief:
It contain cell global information it contain:
MCCMNC
Location Area Code (LAC)
Cell Identify (CI)

CGI
SAI
RAI
Future use
TAI
ECGI
TAI-ECGI
Future use

Uint_32
Uint_16
Uint_16

(2.2) SAI
@brief: it contain service area identifier
MCCMNC
Location Area Code (LAC)
Service Area Code (SAC)

Uint_32
Uint_16
Uint_16

RAI
@brief: it contain information of Routing Area Identity
MCCMNC
Location Area Code (LAC)
Routing Area Code (SAC)

Uint_32
Uint_16
Uint_16

TAI
@brief: in contain information of Tracking Area Identity
MCCMNC
Location Area Code (TAI)

Uint_32
Uint_16

ECGI
@brief: contain information of EUTRAN Global Cell Indentity
MNCMCC
EUTRAN Cell Indentify

Uint_32
Uint_32

}
2.17 3GPP-MS-TimeZone
@brief:
It indicate offset of local time with universal time in step 15 minutes where UE reside.
@ data type:
Group element:
{
Time-zone : uint8_t
Daily saving time : uint8_t
}

2.18. Called-Station-Id
@brief:
It indicates address that UE is connected to (PDN indentifier, ex: APN)
@data type:
UTF8String
2.19 PDN-Connection-Id
@brief:
It indicate PDN connection to which specific information refer.
@data type:
OctetString.
2.20 Online
@brief: define whether changing online interface for associated rule shall be enable.
@data type: boolen_t
2.21 Offline
@brief: define whether changing offline interface for associated rule shall be enable.
@data type: boolen_t
-----------------------------------------------------------2.22 Revalidation-Time
@brief:
indicate NTP time before which PCEF will send re-request PCC rule message to PCRF.
@data type:
Time
2.23 Result-Code
@brief:
Represent the result of proccessing message.
@data type :
Unsigned 32 [Ref: 7.1 3588]
Classes of errors:
1xxx : informational
2xxx : success

3xxx : protocol failure


4xxx : transient failure
5xxx: permanent failure
DIAMETER_MUTI_ROUND_AUTH
DIAMETER_SUCCESS
DIAMETER_COMMAND_UNSUPPORTED
DIAMETER_UNABLE_TO_DELIVER
DIAMETER_REALM_NOT_SERVED
DIAMETER_TOO_BUSY
DIAMETER_LOOP_DETECTED
DIAMETER_REDIRECT_INDICATION
DIAMETER_APPLICATION_UNSUPPORTED
DIAMETER_INVALID_HDR_BITS
DIAMETER_INVALID_AVP_BITS
DIAMETER_UNKNOWN_PEER
DIAMETER_AUTHENTICATION_REJECTED
DIAMETER_OUT_OF_SPACE
ELECTION_LOST
DIAMETER_PCC_BEARER_EVENT
DIAMETER_AVP_UNSUPPORT
DIAMETER_UNKNOWN_SESSION_ID
DIAMETER_AUTHORIZATION_REJECT
DIAMETER_INVALID_AVP_VALUE
DIAMETER_MISSING_AVP
DIAMETER_RESOURCES_EXCEEDED
DIAMETER_CONTRADICTING_AVPS
DIAMETER_AVP_NOT_ALLOWED
DIAMTERS_AVP_OCCURS_TOO_MANY_TIMES
DIAMETER_NO_COMMON_APPLICATION
DIAMTER_UNSUPPORTED_VERSION
DIAMETER_UNABLE_TO_COMPLY
DIAMETER_INVALID_BIT_IN_HEADER
DIAMETER_INVALID_AVP_LENGHTH
DIAMETER_INVALID_MESSAGE_LENGTH
DIAMETER_INVALID_AVP_BIT_COMBO
DIAMTER_NO_COMMON_SECURITY

1001
2001
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
4001
4002
4003
4141
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017

DIAMETER_ERROR_INITIAL_PARAMETERS
DIAMETER_ERROR_TRIGGER_EVENT
DIAMETER_PCC_RULE_EVENT
DIAMETER_ERROR_BEARER_NOT_AUTHORIZED
DIAMETER_ERROR_TRAFFIC_MAPPING_INFO_REJECTE
D
DIAMETER_ERROR_CONFLICTING_REQUEST

5140
5141
5142
5143
5144
5147

2.24 CC-Request-Type
@brief:
Indicates Credit Control message type:
@data type:
Emurated
1
2
3
4
2.25 CC-Request-Number

INTIAL_REQUEST
UPDATED_REQUEST
TERMINATION_REQUEST
EVENT_REQUEST (not using in EPC)

@brief:
indentify this request in a session, using to match message confirmations
@data type:
Unsingned 32
Easy way to set value 0 if CC-Request-Type is INITIAL-REQUEST, set 1 if first UPDATEREQUEST and increase in next UPDATE-REQUEST, set higher value to
TERMINATION_REQUEST for the last UPDATE-REQUEST message.
2.26
Charging-Rule-Install
@brief:
It contain PCC rule. It using to active, install and modify PCC rule received from PCRF at PCRF
(1)
(2)
(3)
(4)

To install a new bearer, or modify Bearer, Charging-Rule-Definition is present.


To active a PCC rule is pre-defined, Charging-Rule-Name is present
To active a group PCC rule is pre-defined, Charging-Rule-Name base is defined.
If bearer indentifier is included in Charging-Rule-Install, PCC rule will be install in this
bearer.

@data type:
Type grouped
{
Charging-Rule-Definition: Type group
Charging-Rule-Name : octetString // indentify static Rule is pre-defined in PCEF
Charging-Rule-Name-Base : UTF8String // indentify static Rule Group is perdefined in PCEF
Bearer-Identifier: octetString // indicate bearer that specific information refer.
}
Charging-Rule-Definition : type group: // it define PCC for service flow is sent from PCRF to
PCEF.
{
Charging-Rule-name: octetString
Service-identifier: Unsigned 32 // identify service that service dataflow related
Rating-group: Unsigned 32 // identify charging key for PCC for rating purposes
Flow-Information: Grouped type
Flow-status
QoS-Information
Online
Offline
Metering-Method: enumurated // parameter shall be metered for offline charging, it can using for
online charging in case of decentralized unit determintation

0
1
2

DURATION
VOLUME
DURATION_VOLUME

Precedence: unsigned 32 // using to determine order, in which SDF are applied in SDF detection
at PCEF. PCC rule with Value lower is applied before that higher.
}
+ Flow-information
@brief:

Contain information of single ip IP packet flow filter. This using to matching payload data.
@data type:
Grouped type
{
Flow-Description: IPFilterRule derived from Octetstring //
Format: action direction protocol from src to dst // src and dst <address/mask> [port]
Packet-Filter-Identifier: Octetstring // identify packet filter. It assgined by PCRF and it is unique
per UE.
Packet-Filter-Usage: enumerated // indicate whether sent UE information of traffic mapping
(packet filter)

SEND_TO_UE

Flow-Direction: emurated // indicate direction/directions of packet filter is applicable: downlink


only,
0
1
2
3

UNSPECIFIED
DOWNLINK
UPLINK
BIDIRECTION

}
+ flow status:
@brief:
It describe whether IP flows is enable or disable
@data type: enumerated
0
1
2
3
+) Usage-Monitoring-Information

ENABLED-UPLINK
ENABLED-DOWNLINK
ENABLED
DISABLED

@brief: It contain information of monitoring data usage for subcriber.


@data type: grouped avp
@value:
Contain fields:
-Monitoring-Key:// @datetype: OctetString 4 byte @brief: indentify usage montoring control
instance.
-Granted-Service-Unit:// @datatype: grouped
level of volume usage data to PCEF.
-Used-Service-Unit: // @datatype:
measured usage.

@brief: used to by PCRF to provide threshold

@brief: used by PCEF to inform PCRF information of

-Usage-Monitoring-Level: //@datatype:
instance.

@brief: used to determine scope of usage monitoring

-Usage-Montoring-Report: //@datatype @brief: used to determine whether accumulated usage


shall be reported to PCRF for usage monitor key in Monitoring-key AVP.
-Usage-Montoring-Support: //@data type @brief: used to determine whether usage monitoring
instance is disable.
+ Granted-Service-Unit:
@brief: used to by PCRF to provide threshold level of volume usage data to PCEF
@datatype contain:
-Tariff-Time-Change: @datatype: time @brief: include time information of tariffed changed if
tariff of service changed.
-CC-Time: @datatype: unsigned 32 @brief: it indiacate lengths of request, granted usaged time
in seconds.
-CC-Money: @datatype: grouped
Contain:
-Unit-Value // @datatype: (contain: Value-Digits (Int-64) and exponent (Interger32))
grouped @brief : Unit-Value= Value-Digits AVP * 10^Exponent.
-Currency-Code // @datatype:unsigned32 @brief: contain currency code that is specific
currency in Unit-Value.
@brief:

specific monetary amount in given currency.


-CC-Total-Octets //@datatype: unsigned64 @brief: contain number of request, granted, usaged
octets regardless direction (both send or recieve)
-CC-Input-Octets //@datatype: Unsigned64 @brief: contain number of request, granted, usaged
octets that received from end peer.
-CC-Output-Octets //@datatype: Unsigned64 @brief: contain number of request, granted, usaged
octets that sent to end peer.
-CC-Service-Specific-Units// @datatype: Unsigned64 @brief: contain number of servicespecific units given selected service that related Service-id or Charging-id (eg, number of service
and point)
+ Used-Service-Unit:
@data type: grouped:
-Tariff-Change-Usage //@datatype: Enumerated @brief: it determinate whether units are used
before or after Tariff Change time, or whether units straddled during change reporting time.
@value:
- UNIT_BEFORE_TARIFF_CHANGE

0U

- UNIT_AFTER_TARIFF_CHANGE

1U

- UNIT_INDETERMINATE

2U

-CC-Time

//nt

-CC-Money

//nt

-CC-Total-Octets

//nt

-CC-Input-Octets

//nt

-CC-Output-Octets

//nt

-CC-Service-Specific-Units //nt
+ Usage-Monitoring-Level
@datatype: enum
@brief: used by PCRF (in RAR, CCA message) to determine whether usage monitoring instance
is applied to all IP-CAN session, or to one or more PCC rule.
@Value:
SESSION_LEVEL

0U

PCC_RULE_LEVEL

1U

+ Usage-Monitoring-Usage
@datatype:enum
@brief: used by PCRF (in RAR, CCA message) to determine whether accumulated usage should
reported by PCEF regardless whether threshold is reached.
@value:
USAGE_MONITORING_REPORT

0U

+ Usage-Monitoring-support
@datatype: enum
@brief: used determine whether usage monitoring shall be disable for certain Monitor Key
@value:
USAGE_MONITORING_DISABLE

0U

+Event-Trigger:
@Datatype: enumerate
@brief:
When it sent from PCRF to PCEF, it cause re-request PCC rule. When it sent from PCEF to
PCRF, it indicate corresponding event occurred in PCEF.
@value:
SGSN_CHANGE (0)
QOS_CHANGE (1)
RAT_CHANGE (2)
TFT_CHANGE (3)
PLMN_CHANGE (4)
LOSS_OF_BEARER (5)
RECOVERY_OF_BEARER (6)
IP-CAN_CHANGE (7)
QOS_CHANGE_EXCEEDING_AUTHORIZATION (11)
RAI_CHANGE (12)
USER_LOCATION_CHANGE (13)
NO_EVENT_TRIGGERS (14)

OUT_OF_CREDIT (15)
REALLOCATION_OF_CREDIT (16)
REVALIDATION_TIMEOUT (17)
UE_IP_ADDRESS_ALLOCATE (18)
UE_IP_ADDRESS_RELEASE (19)
DEFAULT_EPS_BEARER_QOS_CHANGE (20)
AN_GW_CHANGE (21)
SUCCESSFUL_RESOURCE_ALLOCATION (22)
RESOURCE_MODIFICATION_REQUEST (23)
PGW_TRACE_CONTROL (24)
UE_TIME_ZONE_CHANGE (25)
TAI_CHANGE (26)
ECGI_CHANGE (27)
CHARGING_CORRELATION_EXCHANGE (28)
APN-AMBR_MODIFICATION_FAILURE (29)
USER_CSG_INFORMATION_CHANGE (30)
USAGE_REPORT (33)
DEFAULT-EPS-BEARER-QOS_MODIFICATION_FAILURE (34)
USER_CSG_HYBRID_SUBSCRIBED_INFORMATION_CHANGE (35)
USER_CSG_ HYBRID_UNSUBSCRIBED_INFORMATION_CHANGE (36)
ROUTING_RULE_CHANGE (37)

2. Re-Auth-Request-Type:
@brief: this field using to indicate how to do when the athorization-Lifetime expire. It can be reauthorization only, or re-authentication and authorization.
It is option field. If Athorization-Life is present, this field MUST be present. This field in answer
message.
@data type: enumerate
@value:
0:

AUTHORZIE_ONLY

1:

AUTHORIZE_AUTHENTICATE.

3. Session-Release-Cause
@brief: indicated cause why release IP-CAN session from PCRF.
@data type:
Enumerated
@value:
0:

UNSPECIFED_REASON

1:

UE_SUBSCRIPTION_REASON

2:

INSUFFICIENT_SERVER_RESOURCES

Question:
RFC is saying Re-Auth-Request-Type in answer message, but in 3gpp this field in RAR (request
message).

Origin-state-id this value is non-volative => not known how to proccess??


Data type is UTF8String ->what data type suitable ??
Datat type (Value Type) is Time -> what data type suitables?