Protocol Configuration Options
Protocol Configuration Options (PCO) is a component of NAS message and this component can be carried by many different messages as follows.
- PDN Connectivity Request (LTE)
- ActivateDefaultEPSBearerContextRequest (LTE)
- ActivateDefaultEPSBearerContextAccept (LTE)
- PDU session establishment request (NR)
- PDU session establishment accept (NR)
Followings are the list of the details on PCO :
Data Structure of PCO is very flexible (complicated) which may give a lot of difficulties in message decoding process. The structure is as follows.
There are various Container ID as shown below. The list would get longer and longer as specification evolves.
NOTE : These are only some of the container IDs that are commonly used based on my experience. There are many more in the specification. Check out 24.008-10.5.6.3 for the complete list.
|
Container ID |
Description (Network to MS Direction) |
|
0001H |
P-CSCF IPv6 Address Request |
|
0002H |
IM CN Subsystem Signaling Flag |
|
0003H |
DNS Server IPv6 Address Request |
|
0004H |
Policy Control rejection code |
|
0005H |
Selected Bearer Control Mode; |
|
0006H |
Reserved |
|
0007H |
DSMIPv6 Home Agent Address |
|
0008H |
DSMIPv6 Home Network Prefix |
|
0009H |
DSMIPv6 IPv4 Home Agent Address |
|
000AH |
reserved |
|
000BH |
reserved |
|
000CH |
P-CSCF IPv4 Address |
|
000DH |
DNS Server IPv4 Address |
|
000EH |
MSISDN Request |
|
000FH |
IFOM-Support |
|
0010H |
IPv4 Link MTU |
|
0011H |
Network support of Local address in TFT indicator |
|
0012H |
Reserved |
|
0013H |
NBIFOM accepted indicator |
|
0014H |
NBIFOM mode |
|
0015H |
Non-IP Link MTU |
|
0016H |
APN rate control parameters |
|
0017H |
3GPP PS data off support indication |
|
0018H |
Reliable Data Service accepted indicator |
|
0019H |
Additional APN rate control for exception data parameters |
|
001AH |
reserved |
|
001BH |
S-NSSAI |
|
001CH |
QoS rules |
|
001DH |
Session-AMBR |
|
001EH |
PDU session address lifetime |
|
001FH |
QoS flow descriptions |
|
0020H |
Ethernet Frame Payload MTU |
|
0021H |
Unstructured Link MTU |
|
0022H |
reserved |
|
0023H |
QoS rules with the length of two octets |
|
0024H |
QoS flow descriptions with the length of two octets |
|
0025H |
Small data rate control parameters |
|
0026H |
Additional small data rate control for exception data parameters |
|
0027H |
ACS information |
|
0028H |
Initial small data rate control parameters |
|
0029H |
Initial additional small data rate control for exception data parameters |
|
002AH |
Initial APN rate control parameters |
|
002BH |
Initial additional APN rate control for exception data parameters |
|
0030H |
ATSSS response with the length of two octets |
|
0031H |
DNS server security information with length of two octets |
|
0032H |
ECS address with the length of two octets |
|
0035H |
ECSP identifier |
|
0036H |
PVS IPv4 Address |
|
0037H |
PVS IPv6 Address |
|
0038H |
PVS name |
|
0039H |
reserved |
|
003AH |
EAS rediscovery indication without indicated impact |
|
003BH |
EAS rediscovery indication with impacted EAS IPv4 address range |
|
003CH |
EAS rediscovery indication with impacted EAS IPv6 address range |
|
003DH |
EAS rediscovery indication with impacted EAS FQDN |
|
003EH |
Uplink data not allowed |
|
003FH |
Uplink data allowed |
|
0040H |
UAS services not allowed indication |
|
0041H |
Service-level-AA container with the length of two octets |
|
0047H |
Reserved |
|
0048H |
EDC usage allowed indicator |
|
0049H |
EDC usage required indicator |
|
004AH |
etwork support of MAC address range in 5GS indicator |
|
C021H |
LCP (refer to RFC 3232) |
|
C023H |
PAP (refer to RFC 3232) |
|
C223H |
CHAP (refer to RFC 3232) |
|
8021H |
IPCP (refer to RFC 3232) |
|
FF00H |
FFFFH reserved for operator specific use. |
Example 1 : 271B80802110030000108106C0A801028306C0A80102000D04C0A80102
Octet 1 (Protocol Configuration Option IEI): 27H
Octet 2 (Length of protocol configuration options contents): 1BH=27
Octet 3 : 80H = 10000000b
ext = 1
spare = 0000
Configuration Protocol = 000
Octet 4-253 : 802110030000108106C0A801028306C0A80102000D04C0A80102
Protocol ID 1 : 8021H (IPCP)
Length of Protocol ID 1 Contents : 10H=16
Protocol ID 1 Contents = 030000108106C0A801028306C0A80102H
Protocol ID 2 : 0004H(DNS)
Length of Protocol ID 2 Contents : 04H=4
Protocol ID 2 Contents = C0A80102H
The simplest answer is "It is completely up to Network !", but one common scenario is "It sends whatever requested by PCO from UE" as shown below.
i) UE --> NW : PCO in PDN Connectivity Request (UE request the information it want to get)
ii) UE <-- NW : PCO in Activate Default EPS Bearer Request (NW informs UE of what it want)
In this example, what NW sends in PCO matches exactly what UE requested in PCO
Protocol Configuration Options - in PDN Connectivity Request
Element ID: 0x27
Length: 26
[Link direction: MS to network (0)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Request (1)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 0.0.0.0
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 0.0.0.0 (0.0.0.0)
Secondary DNS Server IP Address: 0.0.0.0
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 0.0.0.0 (0.0.0.0)
Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)
Length: 0x00 (0)
Protocol or Container ID: IP address allocation via NAS signalling (0x000a)
Length: 0x00 (0)
Protocol Configuration Options - in Activate Default EPS Bearer Request
Element ID: 0x27
Length: 27
[Link direction: Network to MS (1)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Nak (3)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 192.168.1.2
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 192.168.1.2 (192.168.1.2)
Secondary DNS Server IP Address: 192.168.1.2
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 192.168.1.2 (192.168.1.2)
Protocol or Container ID: DNS Server IPv4 Address (0x000d)
Length: 0x04 (4)
IPv4: 192.168.1.2
In this example, what NW sends in PCO matches roughly what UE requested in PCO, but in detail some of the information (e.g, CSCF IPv6 address) is missing. However, UE may accept this.
Protocol Configuration Options - in PDN Connectivity Request
Element ID: 0x27
Length: 35
[Link direction: MS to network (0)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Request (1)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 0.0.0.0
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 0.0.0.0 (0.0.0.0)
Secondary DNS Server IP Address: 0.0.0.0
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 0.0.0.0 (0.0.0.0)
Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)
Length: 0x00 (0)
Protocol or Container ID: DNS Server IPv6 Address Request (0x0003)
Length: 0x00 (0)
Protocol or Container ID: P-CSCF IPv6 Address Request (0x0001)
Length: 0x00 (0)
Protocol or Container ID: P-CSCF IPv4 Address Request (0x000c)
Length: 0x00 (0)
Protocol Configuration Options - in Activate Default EPS Bearer Request
Element ID: 0x27
Length: 15
[Link direction: Network to MS (1)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x04 (4)
PPP IP Control Protocol
Code: Configuration Nak (3)
Identifier: 0 (0x00)
Length: 4
Protocol or Container ID: P-CSCF IPv4 Address (0x000c)
Length: 0x04 (4)
IPv4: 192.168.137.1
Protocol Configuration Options - in PDN Connectivity Request
NAS EPS session management messages: PDN connectivity request (0xd0)
0001 .... = PDN type: IPv4 (1)
.... 0001 = Request type: initial request (1)
ESM information transfer flag
1101 .... = Element ID: 0xd-
.... 000. = Spare bit(s): 0x00
.... ...1 = EIT (ESM information transfer): Security protected ESM information transfer required
Protocol Configuration Options
Element ID: 0x27
Length: 29
[Link direction: MS to network (0)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Request (1)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 0.0.0.0
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 0.0.0.0 (0.0.0.0)
Secondary DNS Server IP Address: 0.0.0.0
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 0.0.0.0 (0.0.0.0)
Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)
Length: 0x00 (0)
Protocol or Container ID: IP address allocation via NAS signalling (0x000a)
Length: 0x00 (0)
Protocol or Container ID: IPv4 Link MTU Request (0x0010)
Length: 0x00 (0)
Protocol Configuration Options - in Activate Default EPS Bearer Request
NAS EPS session management messages: Activate default EPS bearer context request (0xc1)
EPS quality of service
Length: 1
Quality of Service Class Identifier (QCI): QCI 9 (9)
Access Point Name
Length: 12
APN: nxtgenphone
PDN address
Length: 5
0000 0... = Spare bit(s): 0x00
PDN type: IPv4 (1)
PDN IPv4: 192.168.1.1 (192.168.1.1)
Protocol Configuration Options
Element ID: 0x27
Length: 27
[Link direction: Network to MS (1)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Nak (3)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 192.168.1.2
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 192.168.1.2 (192.168.1.2)
Secondary DNS Server IP Address: 192.168.1.2
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 192.168.1.2 (192.168.1.2)
Protocol or Container ID: DNS Server IPv4 Address (0x000d)
Length: 0x04 (4)
IPv4: 192.168.1.2
Protocol Configuration Options - in PDN Connectivity Request
NAS EPS session management messages: PDN connectivity request (0xd0)
0011 .... = PDN type: IPv4v6 (3)
.... 0001 = Request type: initial request (1)
Access Point Name
Element ID: 0x28
Length: 4
APN: ims
Protocol Configuration Options
Element ID: 0x27
Length: 38
[Link direction: MS to network (0)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: Internet Protocol Control Protocol (0x8021)
Length: 0x10 (16)
PPP IP Control Protocol
Code: Configuration Request (1)
Identifier: 0 (0x00)
Length: 16
Options: (12 bytes), Primary DNS Server IP Address, Secondary DNS Server IP Address
Primary DNS Server IP Address: 0.0.0.0
Type: Primary DNS Server IP Address (129)
Length: 6
Primary DNS Address: 0.0.0.0 (0.0.0.0)
Secondary DNS Server IP Address: 0.0.0.0
Type: Secondary DNS Server IP Address (131)
Length: 6
Secondary DNS Address: 0.0.0.0 (0.0.0.0)
Protocol or Container ID: DNS Server IPv4 Address Request (0x000d)
Length: 0x00 (0)
Protocol or Container ID: DNS Server IPv6 Address Request (0x0003)
Length: 0x00 (0)
Protocol or Container ID: P-CSCF IPv6 Address Request (0x0001)
Length: 0x00 (0)
Protocol or Container ID: P-CSCF IPv4 Address Request (0x000c)
Length: 0x00 (0)
Protocol or Container ID: IP address allocation via NAS signalling (0x000a)
Length: 0x00 (0)
Protocol or Container ID: IPv4 Link MTU Request (0x0010)
Length: 0x00 (0)
Protocol Configuration Options - in Activate Default EPS Bearer Request
NAS EPS session management messages: Activate default EPS bearer context request (0xc1)
EPS quality of service
Length: 1
Quality of Service Class Identifier (QCI): QCI 5 (5)
Access Point Name
Length: 4
APN: ims
PDN address
Length: 9
0000 0... = Spare bit(s): 0x00
PDN type: IPv6 (2)
PDN IPv6 if id: 0000000000000011
ESM cause
Element ID: 0x58
Cause: PDN type IPv6 only allowed (51)
Protocol Configuration Options
Element ID: 0x27
Length: 39
[Link direction: Network to MS (1)]
1... .... = Extension: True
Configuration Protocol: PPP for use with IP PDP type or IP PDN type (0)
Protocol or Container ID: DNS Server IPv6 Address (0x0003)
Length: 0x10 (16)
IPv6: 2001:0:0:1::2
Protocol or Container ID: P-CSCF IPv6 Address (0x0001)
Length: 0x10 (16)
IPv6: 2001:0:0:1::2
Protocol Configuration Options - in PDU session establishment request
Protocol discriminator = 0x2e (5GS Session Management)
PDU session identity = 1
Procedure transaction identity = 5
Message type = 0xc1 (PDU session establishment request)
Integrity protection maximum data data:
Maximum data rate per UE for user-plane integrity protection for uplink = 0x00 (64 kbps)
Maximum data rate per UE for user-plane integrity protection for downlink = 0x00 (64 kbps)
PDU session type = 0x3 (IPv4v6)
5GSM capability:
0x00 (TPMIC=0, ATSSS-ST=0, EPT-S1=0, MH6-PDU=0, RqoS=0)
Extended protocol configuration options:
Ext = 1
Configuration protocol = 0
Protocol ID = 0xc223 (CHAP)
Data = 01 00 00 16 10 11 f7 7e 7e 11 f7 7e 7e 11 f7 7e 7e 11 f7 7e 7e 2a
Protocol ID = 0xc223 (CHAP)
Data = 02 00 00 16 10 9a 62 f4 9f cd d9 60 54 7a a9 37 58 60 99 f0 77 2a
Protocol ID = 0x8021 (IPCP)
Data = 01 00 00 10 81 06 00 00 00 00 83 06 00 00 00 00
Protocol ID = 0x000d (DNS Server IPv4 Address Request)
Data =
Protocol ID = 0x0003 (DNS Server IPv6 Address Request)
Data =
Protocol ID = 0x000a (IP address allocation via NAS signalling)
Data =
Protocol ID = 0x0005 (MS Support of Network Requested Bearer Control indicator)
Data =
Protocol ID = 0x0010 (IPv4 Link MTU Request)
Data =
Protocol ID = 0x0011 (MS support of Local address in TFT indicator)
Data =
Protocol ID = 0x0023 (QoS rules with the length of two octets support indicator)
Data =
Protocol ID = 0x0024 (QoS flow descriptions with the length of two octets support indicator)
Data =
Protocol Configuration Options - in PDU session establishment accept
Protocol discriminator = 0x2e (5GS Session Management)
PDU session identity = 1
Procedure transaction identity = 5
Message type = 0xc2 (PDU session establishment accept)
Selected PDU session type = 0x1 (IPv4)
Selected SSC mode = 0x1 (1)
Authorized QoS rules:
QoS rule 1:
QoS rule identifier = 1
Rule operation code = 1 (create new QoS rule)
DQR = 1 (the QoS rule is the default QoS rule)
Number of packet filters = 1
Packet filter identifier = 15
Packet filter direction = 3 (bidirectional)
Match-all
QoS rule precedence = 255
QFI = 1
Session AMBR:
Session-AMBR for downlink = 5000 Mbps
Session-AMBR for uplink = 2000000 kbps
5GSM cause = 0x32 (PDU session type IPv4 only allowed)
PDU address:
SI6LLA = 0
PDU session type = 1 (IPv4)
IPv4 = 192.168.3.2
S-NSSAI:
Length of S-NSSAI contents = 1 (SST)
SST = 0x01
Mapped EPS bearer contexts:
Mapped EPS bearer context 1:
EPS bearer identity = 5
Operation code = 1 (create new EPS bearer)
E = 1 (parameters list is included)
Number of EPS parameters = 2
Mapped EPS QoS parameters:
QCI = 9
APN-AMBR:
APN-AMBR for downlink = 4864000000 bits
APN-AMBR for uplink = 1792000000 bits
Authorized QoS flow descriptions:
QoS flow description 1:
QFI = 1
Operation code = 1 (create new QoS flow description)
E = 1 (parameters list is included)
Number of parameters = 2
5QI = 9
EPS bearer identity = 5
Extended protocol configuration options:
Ext = 1
Configuration protocol = 0
Protocol ID = 0x8021 (IPCP)
Data = 03 00 00 0a 81 06 08 08 08 08
Protocol ID = 0x000d (DNS Server IPv4 Address)
Data = 8.8.8.8
DNN = "internet.mnc001.mcc001.gprs"