7 P-CSCF Discovery
34.229-13GPPInternet Protocol (IP) multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Part 1: Protocol conformance specificationRelease 16TSUser Equipment (UE) conformance specification
7.1 P-CSCF Discovery via PDP Context
7.1.1 Definition
Test to verify that the UE can establish a PDP context for SIP signalling and acquire P-CSCF address(es) during PDP Context Activation procedure.
7.1.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8];
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
NOTE 1: During the PDP context activation procedure, the UE and network negotiate whether the UE or the GPRS IP-CAN is responsible for the resource reservation applicable to all PDP contexts within the activated PDP address/APN pair, as described in 3GPP TS 24.008 [8].
When the bearer establishment is controlled by the UE, the UE shall choose one of the following options when performing establishment of this PDP context:
I. …
II. A general-purpose PDP context:
The UE may decide to use a general-purpose PDP Context to carry IM CN subsystem-related signalling. The UE shall indicate to the GGSN that this is a general-purpose PDP context by not setting the IM CN Subsystem Signalling Flag. The UE may carry both signalling and media on the general-purpose PDP context. The UE can also set the Signalling Indication attribute within the QoS information element.
NOTE 2: When the bearer establishment is controlled by the GPRS IP-CAN, the GGSN follows the procedures described in 3GPP TS 29.061 [11] in order to establish a dedicated PDP context for SIP signalling.
The UE indicates the IM CN Subsystem Signalling Flag to the GGSN within the Protocol Configuration Options information element of the ACTIVATE PDP CONTEXT REQUEST message or ACTIVATE SECONDARY PDP CONTEXT REQUEST message. Upon successful signalling PDP context establishment the UE receives an indication from GGSN in the form of IM CN Subsystem Signalling Flag within the Protocol Configuration Options information element. If the flag is not received, the UE shall consider the PDP context as a general-purpose PDP context.
The encoding of the IM CN Subsystem Signalling Flag within the Protocol Configuration Options information element is described in 3GPP TS 24.008 [8].
The UE can indicate a request for prioritised handling over the radio interface by setting the Signalling Indication attribute (see 3GPP TS 23.107 [4A]). The general QoS negotiation mechanism and the encoding of the Signalling Indication attribute within the QoS information element are described in 3GPP TS 24.008 [8].
NOTE 3: A general-purpose PDP Context can carry both IM CN subsystem signalling and media, in case the media does not need to be authorized by Policy and Charging control mechanisms as defined in 3GPP TS 29.212 [13C] and Service Based Local Policy mechanisms defined in 3GPP TS 29.207 [12] and the media stream is not mandated by the P-CSCF to be carried in a separate PDP Context.
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. …
II. Transfer P-CSCF address(es) within the PDP context activation procedure.
The UE shall indicate the request for a P-CSCF address to the GGSN within the Protocol Configuration Options information element of the ACTIVATE PDP CONTEXT REQUEST message or ACTIVATE SECONDARY PDP CONTEXT REQUEST message.
If the GGSN provides the UE with a list of P-CSCF IPv4 or IPv6 addresses in the ACTIVATE PDP CONTEXT ACCEPT message or ACTIVATE SECONDARY PDP CONTEXT ACCEPT message, the UE shall assume that the list is prioritised with the first address within the Protocol Configuration Options information element as the P-CSCF address with the highest priority.
From 3GPP TR 23.981 [35]:
The existing P-CSCF discovery mechanism are either IPv6 specific or use Release 5 or later GPRS. For an IPv4 based IMS implementation, operators may need other mechanisms not currently defined as possible options in 3GPP IMS.
The following mechanisms need to be evaluated for P-CSCF discovery in IPv4:
a) the address of the P-CSCF can be requested by the UE and returned by the GGSN at PDP context establishment time. An IPv4 UE would need to obtain an IPv4 address as part of this exchange.
If the PDP context established is of PDP type IPv4, then the GGSN may provide an IPv4 P-CSCF address. This does not preclude scenarios, where the GGSN returns an IPv6 P-CSCF address at IPv4 PDP context establishment, e.g. for the support of tunnelling (see clause 5.3.4.3), or both IPv4 and IPv6 P-CSCF addresses. If the PDP type is IPv4 then it is recommended that the GGSN always return both IP versions, if it is capable, using the existing capabilities to send multiple P-CSCF addresses within the PCO IE.
According to TS 24.008 [9], the P-CSCF address in the PCO field is an IPv6 address. Thus there are at least two possible approaches: The first approach would be to avoid any changes to or deviations from TS 24.008 [9] and use the existing methods to transfer an IPv4 address as an IPv6 address ("IPv6 address with embedded IPv4 address", as defined in RFC 2373 [10]). In such a case, the use of “IPv4 mapped addresses” as defined in RFC 2373 [10] is recommended.
The second approach would set the PCO field length to 4 and put the IP address in the content field. This would be a straightforward generalization of the specified method.
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1.
3GPP TR 23.981 [35], clause 5.2.1.
7.1.3 Test purpose
To verify that the UE sends a correctly composed Activate PDP context request message requesting for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE.
On receiving Activate PDP Context accept with IM CN Subsystem Signalling Flag not included within the Protocol Configuration Options IE and list of P-CSCF IPv6/IPv4 addresses included, UE shall consider the PDP context as a general purpose PDP context for SIP signalling and P-CSCF discovery procedure to be successful.
7.1.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services, has not established PDP context for IMS.
Test procedure
1) UE is configured for setting request for a P-CSCF address to the GGSN within the Protocol Configuration Options IE in Activate PDP Context Request message. UE initiates an Activate PDP Context procedure.
2) SS responds with an Activate PDP Context Accept including list of P-CSCF IPv6 and IPv4 addresses. IPv4 addresses are encoded as per 3GPP TR 23.981[35] clause 5.2.1.
3) UE sends an initial REGISTER request.
4) Continue test execution with the Generic test procedure, Annex C.2 or C.2a (GIBA only), step 5.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
Activate PDP Context Request |
UE sends this PDU by setting request for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE |
|
|
2 |
🡨 |
Activate PDP Context Accept |
SS Sends this response by including list of P-CSCF addresses |
|
|
3 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
4 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 or step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: The test sequence is identical for IPv4 and IPv6 except the message contents of Activate PDP Context Accept message. For a UE supporting both IPv4 and IPv6, only IPv6 option need to be executed.
NOTE 2: The default messages contents in annex A are used with condition “IMS security “ or “GIBA”.
Specific Message Contents:
Activate PDP Context Request (step 1)
NOTE 3: Containers can be in any order.
|
IE |
Value/Remarks |
|
Requested NSAPI Protocol Configuration options |
Any value |
|
– Additional Parameters |
|
|
— container 1 Identifier |
0001H (P-CSCF Address Request); |
|
— Container 1 Length |
0 bytes |
|
— container 2 Identifier |
0003H (DNS Server Address Request) (Optional) |
|
— Container 2 Length |
0 bytes |
Activate PDP Context Accept (step 2)
Case 1: UE supports IPv6 / IPv6 and IPv4
|
IE |
Value/Remarks |
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 1 Identifier |
0001H (P-CSCF Address) |
|
— Container 1 Length |
16 bytes |
|
— Container 1 contents |
IPV6 address of SS P-CSCF Server |
|
— container 2 Identifier |
0003H (DNS Address) (Included if ‘DNS Server Address Request’ is received) |
|
— Container 2 Length |
16 bytes |
|
— Container 2 contents |
IPV6 address of SS DNS Server |
Case 2: UE supports "IPv6 address with embedded IPv4 address" in PCO IE
|
IE |
Value/Remarks |
|
– Additional Parameters |
|
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 2 Identifier |
0001H (P-CSCF Address) |
|
— Container 2 Length |
16 bytes |
|
— Container 2 contents |
IPV4 address of SS encoded as per 3GPP TR 23.981[35] option 1 |
|
— container 3 Identifier |
0003H (DNS Address) (Included if ‘DNS Server Address Request’ is received) |
|
— Container 3 Length |
16 bytes |
|
— Container 3 contents |
IPV4 address of SS DNS server encoded as per 3GPP TR 23.981[35] option 1 |
Case 3: UE supports IPv4 address in PCO IE
|
IE |
Value/Remarks |
|
– Additional Parameters |
|
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 2 Identifier |
0001H (P-CSCF Address) |
|
— Container 2 Length |
4 bytes |
|
— Container 2 contents |
IPV4 address of SS encoded as per 3GPP TR 23.981[35] option 2 |
|
— container 3 Identifier |
0003H (DNS Address) (Included if ‘DNS Server Address Request’ is received) |
|
— Container 3 Length |
4 bytes |
|
— Container 3 contents |
IPV4 address of SS DNS server encoded as per 3GPP TR 23.981[35] option 2 |
REGISTER (Step 3)
Use the default message “REGISTER” in annex A.1.1 with condition A1 "Initial unprotected REGISTER" and with the following exceptions:
|
Header/param |
Value/remark |
|---|---|
|
Contact |
|
|
feature-param |
Not checked |
7.1.5 Test requirements
1) In step 1, the UE shall request for P-CSCF address to the GGSN within the Protocol Configuration Options IE.
2) In step 3, the UE shall send an initial REGISTER message using the discovered P-CSCF address.
7.2 P-CSCF Discovery via DHCP – IPv4
7.2.1 Definition
Test to verify that UE will perform P-CSCF discovery procedure via DHCP.
7.2.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8];
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
…
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. When using IPv4, employ the Dynamic Host Configuration Protocol (DHCP) RFC 2132 [20F], the DHCPv4 options for SIP servers RFC 3361 [35A], and RFC 3263 [27A] as described in subclause 9.2.1. When using IPv6, employ Dynamic Host Configuration Protocol for IPv6 (DHCPv6) RFC 3315 [40], the DHCPv6 options for SIP servers RFC 3319 [41] and DHCPv6 options for Domain Name Servers (DNS) RFC 3646 [56C] as described in subclause 9.2.1.
II. …
The UE can freely select method I or II for P-CSCF discovery, if:
– the UE is in the home network; or
– the UE is roaming and the P-CSCF is to be discovered in the visited network.
In case method I is selected and several P-CSCF addresses or FQDNs are provided to the UE, the selection of P-CSCF address or FQDN shall be performed as indicated in RFC 3361 [35A] when using IPv4 or RFC 3319 [41] when using IPv6. If sufficient information for P-CSCF address selection is not available, selection of the P-CSCF address by the UE is implementation specific.
NOTE 4: The UE decides whether the P-CSCF is to be discovered in the serving network or in the home network based on local configuration, e.g. whether the application on the UE is permitted to use local breakout.
If the UE is designed to use I above, but receives P-CSCF address(es) according to II, then the UE shall either ignore the received address(es), or use the address(es) in accordance with II, and not proceed with the DHCP request according to I.
When using IPv4, the UE may request a DNS Server IPv4 address(es) via RFC 2132 [20F] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
When using IPv6, the UE may request a DNS Server IPv6 address(es) via RFC 3315 [40] and RFC 3646 [56C] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
From 3GPP TR 23.981[35]:
The following mechanisms need to be evaluated for P-CSCF discovery in IPv4:
…
b) based on DHCP. Currently the specifications limit this to the IPv6 methods for DHCP. In order for this method to be used by an IPv4 UE, it needs to be identified how IPv4 DHCP is used to obtain the P-CSCF address. A solution that provides access independence would be that an IPv4 P-CSCF and IPv4 UE support configuration of the appropriate P-CSCF information via DHCPv4. In this solution, use of DHCP provides the UE with the fully qualified domain name of a P-CSCF and the address of a Domain Name Server (DNS) that is capable of resolving the P-CSCF name. When using DHCP/DNS procedure for P-CSCF discovery with IPv4 GPRS-access, the GGSN acts as DHCP Relay agent relaying DHCP messages between UE and the DHCP server. This is necessary to allow the UE to properly interoperate with the GGSN. This solution however requires that a UE supporting early IPv4 implementations would support DHCPv4.
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1.
3GPP TR 23.981 [35], clause 5.2.1.
7.2.3 Test purpose
To verify UE shall initiate and successfully complete a P-CSCF discovery procedure via DHCP when P-CSCF address is not provided as part of PDP Context Activation procedure.
7.2.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services. UE is not configured for using static P-CSCF address. UE has established a PDP context (No P-CSCF address information provided). ). If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided in PDP Context Accept message.
Test procedure
1) If UE already knows DHCP server address or is configured to send DHCPINFORM message to the limited (all 1s) broadcast address, it goes to step 3. Otherwise, UE sends DHCPDISCOVER message locating a server.
2) SS responds by DHCPOFFER message.
3) UE sends DHCPINFORM message requesting for P-CSCF address(es) in options field.
4) SS responds by DHCPACK message providing the domain names of P-CSCF address(es) and giving DNS server address.
5) UE initiates a DNS NAPTR query to select the transport protocol. UE’s configured to use specific Transport protocol on default ports, can skip steps 5 to 8 and go directly to step 9.
6) SS responds with NAPTR response.
7) UE initiates a DNS SRV query.
8) SS responds with SRV response.
9) UE initiates a DNS A query
10) SS responds with DNS A response.
11) UE sends an initial REGISTER request.
12) Continue test execution with the Generic test procedure, Annex C.2 or C.2a (GIBA only), step 5.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
DHCPDISCOVER |
Optionally sent if UE does not have DHCP server address and is not configured to send DHCPINFORM message to the limited (all 1s) broadcast address. |
|
|
2 |
🡨 |
DHCPOFFER |
Sent if DHCP Discover message is received. |
|
|
3 |
🡪 |
DHCPINFORM |
Requesting P-CSCF Address(es) |
|
|
4 |
🡨 |
DHCPACK |
Including P-CSCF Address(es) |
|
|
5 |
🡪 |
DNS NAPTR Query |
UE configured to use specific Transport protocol on default ports, can skip steps 5 to 8 and go directly to step 9 |
|
|
6 |
🡨 |
DNS NAPTR Response |
||
|
7 |
🡪 |
DNS SRV Query |
||
|
8 |
🡨 |
DNS SRV Response |
||
|
9 |
🡪 |
DNS A Query |
||
|
10 |
🡨 |
DNS A Response |
||
|
11 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
12 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: The default messages contents in annex A are used with condition “IMS security “ or “GIBA” when applicable
Specific Message Contents:
DHCPDISCOVER (step 1)
Use the default message in annex B
DHCPOFFER (step 2)
Use the default message in annex B
DHCPINFORM (step 3)
Use the default message in annex B with the following exceptions
|
Field |
Value/Remarks |
|
Options |
(Note 2) |
|
– code |
53 (DHCP Message Type) |
|
– len |
1 |
|
-Type |
2 (DHCP OFFER) |
|
option-code |
55 (Parameter Request List) |
|
– option-len |
Set to number of values requested for configuration parameters |
|
Option code |
120 (SIP Server Option) (Note 3) |
|
Option code |
6(Domain Server) Optionally present |
NOTE 2: Other options may also be present
NOTE 3: Other option codes may also be present and options can be in any order
DHCPACK (step 4)
Use the default message in annex B.2 with the following exceptions
|
Field |
Value/Remarks |
|
option-code |
120 (SIP Server option) |
|
– option-len |
Length of encoded server domain address +1 (for enc field) |
|
-enc |
0 |
|
Domain-address 1 |
SS P-CSCF server domain AddressRFC 3361[57] |
|
option-code |
6 ( DNS option RFC 2132[49]) )(Included only if requested in DHCP INFORM) |
|
– option-len |
4 |
|
DNS Address |
4 byte IPv4 address of DNS server |
DNS NAPTR Query (step 5)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
P-CSCF domain name received |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
DNS NAPTR Response (step 6)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in NAPTR Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
NAPTR Records |
NAPTR Records included for each Transport protocol (TLS, TCP, UDP) supported RFC 3263[50] |
DNS SRV Query (step 7)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Corresponding to the transport protocol selected by UE among those provided in DNS NAPTR Response |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
DNS SRV Response (step 8)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
SRV Records |
SRV Resource Record included providing the SS target server FQDN RFC 3263[50]. |
DNS A Query (step 9)
Case 1: steps 5 to 8 executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among provided in step 8 based on priority and weight RFC 2782[56] |
|
QCLASS= |
IN |
|
QTYPE= |
A |
Case 2: steps 5 to 8 not executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among addresses provided in step 4. |
|
QCLASS= |
IN |
|
QTYPE= |
A |
DNS A Response (step 10)
|
IE |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
A |
|
A or AAAA records |
Includes resolved IP address(es). |
7.2.5 Test requirements
1) In step 3, the UE shall initiate a P-CSCF discovery employing DHCP.
2) After step 4, the UE shall initiate a DNS query for domain address to IPv4 address translation.
3) In step 11, the UE shall send an initial REGISTER message using the discovered P-CSCF IPv4 address.
7.3 P-CSCF Discovery via DHCP – IPv4 (UE Requests P-CSCF discovery via PCO)
7.3.1 Definition
Test to verify that on not receiving P-CSCF Address(es) in PCO, UE will perform P-CSCF discovery procedure employing DHCP.
7.3.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8];
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
…
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. When using IPv4, employ the Dynamic Host Configuration Protocol (DHCP) RFC 2132 [20F], the DHCPv4 options for SIP servers RFC 3361 [35A], and RFC 3263 [27A] as described in subclause 9.2.1. When using IPv6, employ Dynamic Host Configuration Protocol for IPv6 (DHCPv6) RFC 3315 [40], the DHCPv6 options for SIP servers RFC 3319 [41] and DHCPv6 options for Domain Name Servers (DNS) RFC 3646 [56C] as described in subclause 9.2.1.
II. Transfer P-CSCF address(es) within the PDP context activation procedure.
The UE shall indicate the request for a P-CSCF address to the GGSN within the Protocol Configuration Options information element of the ACTIVATE PDP CONTEXT REQUEST message or ACTIVATE SECONDARY PDP CONTEXT REQUEST message.
If the GGSN provides the UE with a list of P-CSCF IPv4 or IPv6 addresses in the ACTIVATE PDP CONTEXT ACCEPT message or ACTIVATE SECONDARY PDP CONTEXT ACCEPT message, the UE shall assume that the list is prioritised with the first address within the Protocol Configuration Options information element as the P-CSCF address with the highest priority.
…
The UE can freely select method I or II for P-CSCF discovery, if:
– the UE is in the home network; or
– the UE is roaming and the P-CSCF is to be discovered in the visited network.
In case method I is selected and several P-CSCF addresses or FQDNs are provided to the UE, the selection of P-CSCF address or FQDN shall be performed as indicated in RFC 3361 [35A] when using IPv4 or RFC 3319 [41] when using IPv6. If sufficient information for P-CSCF address selection is not available, selection of the P-CSCF address by the UE is implementation specific.
NOTE 4: The UE decides whether the P-CSCF is to be discovered in the serving network or in the home network based on local configuration, e.g. whether the application on the UE is permitted to use local breakout.
If the UE is designed to use I above, but receives P-CSCF address(es) according to II, then the UE shall either ignore the received address(es), or use the address(es) in accordance with II, and not proceed with the DHCP request according to I.
When using IPv4, the UE may request a DNS Server IPv4 address(es) via RFC 2132 [20F] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
When using IPv6, the UE may request a DNS Server IPv6 address(es) via RFC 3315 [40] and RFC 3646 [56C] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
From 3GPP TR 23.981[35]:
The following mechanisms need to be evaluated for P-CSCF discovery in IPv4:
…
b) based on DHCP. Currently the specifications limit this to the IPv6 methods for DHCP. In order for this method to be used by an IPv4 UE, it needs to be identified how IPv4 DHCP is used to obtain the P-CSCF address. A solution that provides access independence would be that an IPv4 P-CSCF and IPv4 UE support configuration of the appropriate P-CSCF information via DHCPv4. In this solution, use of DHCP provides the UE with the fully qualified domain name of a P-CSCF and the address of a Domain Name Server (DNS) that is capable of resolving the P-CSCF name. When using DHCP/DNS procedure for P-CSCF discovery with IPv4 GPRS-access, the GGSN acts as DHCP Relay agent relaying DHCP messages between UE and the DHCP server. This is necessary to allow the UE to properly interoperate with the GGSN. This solution however requires that a UE supporting early IPv4 implementations would support DHCPv4.
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1.
3GPP TR 23.981 [35], clause 5.2.1.
7.3.3 Test purpose
To verify that the UE sends a correctly composed Activate PDP context request message requesting for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE.
On receiving Activate PDP Context accept not including P-CSCF address(es) in PCO, UE will initiate a P-CSCF discovery procedure employing DHCP/DNS.
7.3.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services, has not established PDP context. UE is not configured for using static P-CSCF address.
Test procedure
1) UE is configured for requesting P-CSCF address(es) in Protocol Configuration Options IE in Activate PDP Context Request message. UE initiates an Activate PDP Context procedure.
2) SS Responds with an Activate PDP Context Accept message by not including P-CSCF Address(es). If a UE already knows DHCP server address, it goes to step 5. If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided in PDP context Accept message.
3) If UE is configured to send DHCPINFORM message to the limited (all 1s) broadcast address, it goes to step 5. Otherwise, UE sends DHCPDISCOVER message locating a server.
4) SS responds by DHCPOFFER message.
5) UE sends DHCPINFORM message requesting for P-CSCF address(es) in options field.
6) SS responds by DHCPACK message providing the domain names of P-CSCF address(es) and giving a DNS server address.
7) UE initiates a DNS NAPTR query to select the transport protocol. UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11.
8) SS responds with NAPTR response.
9) UE initiates a DNS SRV query.
10) SS responds with SRV response.
11) UE initiates a DNS A or query.
12) SS responds with DNS A or response.
13) UE sends an initial REGISTER request.
14) Continue test execution with the Generic test procedure, Annex C.2 or C.2a (GIBA only), step 5.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
Activate PDP Context Request |
UE sends this PDU by setting request for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE |
|
|
2 |
🡨 |
Activate PDP Context Accept |
SS Sends this response by not including P-CSCF address(es). If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided in PDP context Accept message. If UE knows DHCP server address, goes to step 5. |
|
|
3 |
🡪 |
DHCPDISCOVER |
Optionally sent if UE is not configured to send DHCPINFORM message to the limited (all 1s) broadcast address. |
|
|
4 |
🡨 |
DHCPOFFER |
Sent if DHCP Discover message is received. |
|
|
5 |
🡪 |
DHCPINFORM |
Requesting P-CSCF Address(es) |
|
|
6 |
🡨 |
DHCPACK |
Including P-CSCF Address(es) |
|
|
7 |
🡪 |
DNS NAPTR Query |
UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11 |
|
|
8 |
🡨 |
DNS NAPTR Response |
||
|
9 |
🡪 |
DNS SRV Query |
||
|
10 |
🡨 |
DNS SRV Response |
||
|
11 |
🡪 |
DNS A or AAAA Query |
||
|
12 |
🡨 |
DNS A or AAAA Response |
||
|
13 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
14 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: The default messages contents in annex A are used with condition “IMS security “ or “GIBA” when applicable
Specific Message Contents:
Activate PDP Context Request (step 1)
|
IE |
Value/Remarks |
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 1 Identifier |
0001H (P-CSCF Address Request) |
|
— Container 1 Length |
0 bytes |
Activate PDP Context Accept (step 2)
|
IE |
Value/Remarks |
|
Protocol Configuration options |
Present only if ‘DNS Server Address Request’ received in Request message |
|
– Additional Parameters |
|
|
— container 1 Identifier |
0003H (DNS Address) |
|
— Container 1 Length |
16 bytes |
|
— Container 1 contents |
IPV4 address of SS DNS server encoded as per 3GPP TR 23.981[35] |
DHCPDISCOVER (step 3)
Use the default message in annex B.
DHCPOFFER (step 4)
Use the default message in annex B.
DHCPINFORM (step 5)
Use the default message in annex B with the following exceptions:
|
Field |
Value/Remarks |
|
Options |
(Note 2) |
|
– code |
53 (DHCP Message Type) |
|
– len |
1 |
|
-Type |
2 (DHCP OFFER) |
|
option-code |
55 (Parameter Request List) |
|
– option-len |
Set to number of values requested for configuration parameters |
|
Option code |
120 (SIP Server Option) (Note 3) |
|
Option code |
6(Domain Server) Optionally present |
NOTE 2: Other options may also be present.
NOTE 3: Other option codes may also be present and options can be in any order.
DHCPACK (step 6)
Use the default message in annex B with the following exceptions:
|
Field |
Value/Remarks |
|
option-code |
120 (SIP Server option) |
|
– option-len |
Length of encoded server domain address +1 (for enc field) |
|
-enc |
0 |
|
Domain-address 1 |
SS P-CSCF server domain AddressRFC 3361[57] |
|
option-code |
6 ( DNS option RFC 2132[49]) (Included only if requested in DHCP INFORM) |
|
– option-len |
4 |
|
DNS Address |
4 byte IPv4 address of DNS server |
DNS NAPTR Query (step 7)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
P-CSCF domain name received |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
DNS NAPTR Response (step 8)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in NAPTR Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
NAPTR Records |
NAPTR Records included for each Transport protocol (TLS, TCP, UDP) supported RFC 3263[50] |
DNS SRV Query (step 9)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Corresponding to the transport protocol selected by UE among those provided in DNS NAPTR Response |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
DNS SRV Response (step 10)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
SRV Records |
SRV Resource Record included providing the SS target server FQDN RFC 3263[50]. |
DNS A Query (step 11)
Case 1: steps 7 to 10 executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among provided in step 8 based on priority and weight RFC 2782[56] |
|
QCLASS= |
IN |
|
QTYPE= |
A |
Case 2: steps 7 to 10 not executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among addresses provided in step 6. |
|
QCLASS= |
IN |
|
QTYPE= |
A |
DNS A Response (step 12)
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
A |
|
A records |
Includes resolved IP address(es). |
7.3.5 Test requirements
1) In step 1, the UE shall set the IM CN Subsystem Signalling Flag to the GGSN within the Protocol Configuration Options IE.
2) After step 2, the UE shall initiate a P-CSCF discovery employing DHCP.
3) In step 3, if the UE has no knowledge of a DHCP server address and is not configured to send a DHCPINFORM message to the limited (all 1s) broadcast address then it shall send a DHCPDISCOVER message.
4) In step 5, the UE shall send a DHCPRequest message, including options filed with option code 120.
5) After step 6, the UE shall initiate a DNS query.
6) In step 13, the UE shall send an initial REGISTER message using the discovered P-CSCF IPv4 address.
7.4 P-CSCF Discovery by DHCP – IPv6
7.4.1 Definition
Test to verify that UE will perform P-CSCF discovery procedure employing DHCP.
7.4.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8];
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
…
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. When using IPv4, employ the Dynamic Host Configuration Protocol (DHCP) RFC 2132 [20F], the DHCPv4 options for SIP servers RFC 3361 [35A], and RFC 3263 [27A] as described in subclause 9.2.1. When using IPv6, employ Dynamic Host Configuration Protocol for IPv6 (DHCPv6) RFC 3315 [40], the DHCPv6 options for SIP servers RFC 3319 [41] and DHCPv6 options for Domain Name Servers (DNS) RFC 3646 [56C] as described in subclause 9.2.1.
II. …
The UE shall indicate the request for a P-CSCF address to the GGSN within the Protocol Configuration The UE can freely select method I or II for P-CSCF discovery, if:
– the UE is in the home network; or
– the UE is roaming and the P-CSCF is to be discovered in the visited network.
In case method I is selected and several P-CSCF addresses or FQDNs are provided to the UE, the selection of P-CSCF address or FQDN shall be performed as indicated in RFC 3361 [35A] when using IPv4 or RFC 3319 [41] when using IPv6. If sufficient information for P-CSCF address selection is not available, selection of the P-CSCF address by the UE is implementation specific.
NOTE 4: The UE decides whether the P-CSCF is to be discovered in the serving network or in the home network based on local configuration, e.g. whether the application on the UE is permitted to use local breakout.
If the UE is designed to use I above, but receives P-CSCF address(es) according to II, then the UE shall either ignore the received address(es), or use the address(es) in accordance with II, and not proceed with the DHCP request according to I.
When using IPv4, the UE may request a DNS Server IPv4 address(es) via RFC 2132 [20F] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
When using IPv6, the UE may request a DNS Server IPv6 address(es) via RFC 3315 [40] and RFC 3646 [56C] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
The encoding of the request and response for IPv4 or IPv6 address(es) for DNS server(s) and list of P-CSCF address(es) within the Protocol Configuration Options information element is described in 3GPP TS 24.008 [8].
.
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1,.
7.4.3 Test purpose
To verify UE shall initiate and successfully complete a P-CSCF discovery procedure via DHCP when P-CSCF address is not provided as part of PDP Context Activation procedure.
7.4.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services. UE has established a PDP context. UE has not received P-CSCF address(es) during PDP context establishment. If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided in PDP Context Accept message.
Test procedure
1. UE may send DHCP SOLICIT message locating a server. If UE is configured to send Information-Request to ‘All_DHCP_Relay_Agents_and_Servers’ multicast address, test case starts at step 3.
2. SS responds with DHCP ADVERTISE message. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 11, else go to step 5
3. UE sends DHCP Query requesting either IP address(es) of P-CSCF server(s) or domain names of P-CSCF server(s) and DNS Server.
4. SS responds by DHCP Reply message. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 11.
5. UE initiates a DNS NAPTR query to select the transport protocol. UE’s configured to use specific Transport protocol on default ports, can skip steps 5 to 8 and go directly to step 9.
6. SS responds with NAPTR response.
7. UE initiates a DNS SRV query.
8. SS responds with SRV response.
9. UE initiates a DNS AAAA query.
10. SS responds with DNS AAAA response.
11. UE sends an initial REGISTER request.
12. Continue test execution with the Generic test procedure, Annex C.2, step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
DHCP SOLICIT |
Optional message |
|
|
2 |
🡨 |
DHCP ADVERTISE |
Sent if DHCP Solicit message is received. Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 11, else go to step 5 |
|
|
3 |
🡪 |
DHCP Information-Request |
Requesting P-CSCF Address(es) (Note 1) |
|
|
4 |
🡨 |
DHCP Reply |
Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 11. |
|
|
5 |
🡪 |
DNS NAPTR Query |
UE’s configured to use specific Transport protocol on default ports, can skip steps 5 to 8 and go directly to step 9 |
|
|
6 |
🡨 |
DNS NAPTR Response |
||
|
7 |
🡪 |
DNS SRV Query |
||
|
8 |
🡨 |
DNS SRV Response |
||
|
9 |
🡪 |
DNS AAAA Query |
||
|
10 |
🡨 |
DNS AAAA Response |
||
|
11 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
12 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: UE may request all options in one Information Request or send multiple Information Requests. If UE opts for multiple Information Request transmissions, SS transmits accordingly multiple Reply messages including corresponding requested options.
NOTE 2: The default messages contents in annex A are used with condition “IMS security” or “GIBA”.
Specific Message Contents:
Step 1: DHCP SOLICIT*
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 times number of requested options |
|
-requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) |
NOTE 3: Options can be optionally present and option codes can be in any order
NOTE 4: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 2: DHCP ADVERTISE
Use the default message in annex B.1 with the following exceptions
NOTE 5: Options are included only if corresponding Requests are received.
Case 1: (OPTION_SIP_SERVER_D (21) ) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 1
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035[52] |
NOTE 6: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 1
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035[52] |
NOTE 7: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 3: DHCP Information-Request
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 * number of requested options |
|
– requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23)(Optional) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) (Optional) |
NOTE 8: All options can be either received in one message or multiple messages. If more than one option codes present they can be in any order.
NOTE 9: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 4: DHCP Reply
Use the default message in annex B.1 with the following exceptions
NOTE 10: Options are included only if corresponding Requests are received.
Case 1: OPTION_SIP_SERVER_D (21) ) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain Address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035[52] |
NOTE 11: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 12: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 5: DNS NAPTR Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
P-CSCF domain name received |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
Step 6: DNS NAPTR Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in NAPTR Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
NAPTR Records |
NAPTR Records included for each Transport protocol (TLS, TCP, UDP) supported RFC 3263[50] |
Step 7: DNS SRV Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Corresponding to the transport protocol selected by UE among those provided in DNS NAPTR Response |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
Step 8: DNS SRV Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
|
SRV Records |
SRV Resource Record included providing the SS target server FQDN RFC 3263[50]. |
Step 9: DNS AAAA Query
Case 1: steps 5 to 8 executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among provided in step 8 based on priority and weight RFC 2782[56] |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Case 2: steps 5 to 8 not executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among addresses provided in step 2 or 4. |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Step 10: DNS AAAA Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in AAAA Query |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
|
AAAA records |
Includes resolved IP address(es). |
7.4.5 Test requirements
1. In step 1, the UE shall initiate a P-CSCF discovery employing DHCP.
2. After steps 2 and 4, if a P-CSCF IPv6 address is received then the UE will consider the P-CSCF discovery procedure successful, else the UE will initiate a DNS query for domain address to IPv6 address translation.
3. In step 11, the UE shall send an initial REGISTER message using the discovered P-CSCF address.
7.5 P-CSCF Discovery by DHCP-IPv6 (UE Requests P-CSCF discovery by PCO)
7.5.1 Definition
Test to verify that on not receiving P-CSCF Address(es) in PCO, will perform P-CSCF discovery procedure employing DHCP.
7.5.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8]re;
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
…
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. When using IPv4, employ the Dynamic Host Configuration Protocol (DHCP) RFC 2132 [20F], the DHCPv4 options for SIP servers RFC 3361 [35A], and RFC 3263 [27A] as described in subclause 9.2.1. When using IPv6, employ Dynamic Host Configuration Protocol for IPv6 (DHCPv6) RFC 3315 [40], the DHCPv6 options for SIP servers RFC 3319 [41] and DHCPv6 options for Domain Name Servers (DNS) RFC 3646 [56C] as described in subclause 9.2.1.
II. Transfer P-CSCF address(es) within the PDP context activation procedure.
The UE shall indicate the request for a P-CSCF address to the GGSN within the Protocol Configuration Options information element of the ACTIVATE PDP CONTEXT REQUEST message or ACTIVATE SECONDARY PDP CONTEXT REQUEST message.
If the GGSN provides the UE with a list of P-CSCF IPv4 or IPv6 addresses in the ACTIVATE PDP CONTEXT ACCEPT message or ACTIVATE SECONDARY PDP CONTEXT ACCEPT message, the UE shall assume that the list is prioritised with the first address within the Protocol Configuration Options information element as the P-CSCF address with the highest priority.
…
The UE can freely select method I or II for P-CSCF discovery, if:
– the UE is in the home network; or
– the UE is roaming and the P-CSCF is to be discovered in the visited network.
In case method I is selected and several P-CSCF addresses or FQDNs are provided to the UE, the selection of P-CSCF address or FQDN shall be performed as indicated in RFC 3361 [35A] when using IPv4 or RFC 3319 [41] when using IPv6. If sufficient information for P-CSCF address selection is not available, selection of the P-CSCF address by the UE is implementation specific.
NOTE 4: The UE decides whether the P-CSCF is to be discovered in the serving network or in the home network based on local configuration, e.g. whether the application on the UE is permitted to use local breakout.
If the UE is designed to use I above, but receives P-CSCF address(es) according to II, then the UE shall either ignore the received address(es), or use the address(es) in accordance with II, and not proceed with the DHCP request according to I.
When using IPv4, the UE may request a DNS Server IPv4 address(es) via RFC 2132 [20F] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
When using IPv6, the UE may request a DNS Server IPv6 address(es) via RFC 3315 [40] and RFC 3646 [56C] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
The encoding of the request and response for IPv4 or IPv6 address(es) for DNS server(s) and list of P-CSCF address(es) within the Protocol Configuration Options information element is described in 3GPP TS 24.008 [8].
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1,.
7.5.3 Test purpose
To verify that the UE sends a correctly composed Activate PDP context requesting for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE.
On receiving Activate PDP Context accept not including P-CSCF address(es) in PCO IE, will initiate a P-CSCF discovery procedure employing DHCP.
7.5.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services, has not established PDP context.
Test procedure
1. UE is configured for requesting P-CSCF address(es) in Protocol Configuration Options IE in Activate PDP Context Request message. UE initiates an Activate PDP Context procedure.
2. SS Responds with an Activate PDP Context Accept message by not including P-CSCF address(es). If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided in PDP Context Accept message.
3. UE may send DHCP Solicit message locating a server. If UE is configured to send Information-Request to ‘All_DHCP_Relay_Agents_and_Servers’ multicast address, go to step 5.
4. SS responds by Advertise message. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 13 else go to step 7.
5. UE sends DHCP Information-Request Query requesting either IP address(es) of P-CSCF server(s) or domain names of P-CSCF server(s) and DNS Server.
6. SS responds by DHCP Reply message.. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 13.
7. UE initiates a DNS NAPTR query to select the transport protocol. UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11.
8. SS responds with NAPTR response.
9. UE initiates a DNS SRV query.
10. SS responds with SRV response.
11. UE initiates a DNS AAAA query.
12. SS responds with DNS AAAA response.
13. UE sends an initial REGISTER request.
14. Continue test execution with the Generic test procedure, Annex C.2, step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
Activate PDP Context Request |
UE sends this PDU by setting request for P-CSCF address(es) to the GGSN within the Protocol Configuration Options IE |
|
|
2 |
🡨 |
Activate PDP Context Accept |
SS Sends this response by not including P-CSCF address(es). If UE sets flag ‘DNS Server Address Request’ in PCO of PDP Context Request, DNS server address list is provided. |
|
|
3 |
🡪 |
DHCP SOLICIT |
Optional message |
|
|
4 |
🡪 |
DHCP ADVERTISE |
Sent if DHCP Solicit message is received. Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 13 else go to step 7 |
|
|
5 |
🡪 |
DHCP Information-Request |
Requesting P-CSCF Address(es) (Note 1) |
|
|
6 |
🡨 |
DHCP Reply |
Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 13. |
|
|
7 |
🡪 |
DNS NAPTR Query |
UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11 |
|
|
8 |
🡨 |
DNS NAPTR Response |
||
|
9 |
🡪 |
DNS SRV Query |
||
|
10 |
🡨 |
DNS SRV Response |
||
|
11 |
🡪 |
DNS AAAA Query |
||
|
12 |
🡨 |
DNS AAAA Response |
||
|
13 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
14 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: UE may request all options in one Information Request or send multiple Information Requests. If UE opts for multiple Information Request transmissions, SS transmits accordingly multiple Reply messages including corresponding requested options.
NOTE 2: The default messages contents in annex A are used with condition “IMS security” or “GIBA”.
Specific Message Contents:
Step 1: Activate PDP Context Request
|
Options |
Value/Remarks |
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 1 Identifier |
0001H (P-CSCF Address Request) |
|
— Container 1 Length |
0 bytes |
|
— container 2 Identifier |
0003H (DNS Server Address Request) (Optionally present) |
|
— Container 2 Length |
0 bytes |
Step 2: Activate PDP Context Accept
|
Options |
Value/Remarks |
|
Protocol Configuration options |
(Included if ‘DNS Server Address Request’ is received) |
|
– Additional Parameters |
|
|
— container 1 Identifier |
0003H (DNS Address) |
|
— Container 1 Length |
16 bytes |
|
— Container 1 contents |
IPV6 address of SS DNS Server |
Step 3: DHCP SOLICIT*
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 times number of requested options |
|
– requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) |
NOTE 3: Options can be optionally present and option codes can be in any order
NOTE 4: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 4: DHCP ADVERTISE
Use the default message in annex B.1 with the following exceptions
NOTE 5: Options are included only if corresponding Requests are received.
Case 1: OPTION_SIP_SERVER_D (21) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain Address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035[52] |
NOTE 6: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 7: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 5: DHCP Information-Request
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 (Note 8) number of requested options |
|
-requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23)(Optional) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) (Optional) |
NOTE 8: All options can be either received in one message or multiple messages. If more than one option codes present they can be in any order.
NOTE 9: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 6: DHCP Reply
Use the default message in annex B.1 with the following exceptions
NOTE 10: Options are included only if corresponding Requests are received.
Case 1: (OPTION_SIP_SERVER_D (21) ) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 5
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain Address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035[52] |
NOTE 11: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 5
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 12: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 7: DNS NAPTR Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
P-CSCF domain name received |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
Step 8: DNS NAPTR Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in NAPTR Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
NAPTR Records |
NAPTR Records included for each Transport protocol (TLS, TCP, UDP) supported RFC 3263[50] |
Step 9: DNS SRV Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Corresponding to the transport protocol selected by UE among those provided in DNS NAPTR Response |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
Step 10: DNS SRV Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
|
SRV Records |
SRV Resource Record included providing the SS target server FQDN RFC 3263[50]. |
Step 11: DNS AAAA Query
Case 1: steps 7 to 10 executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among provided in step 10 based on priority and weight RFC 2782[56] |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Case 2: steps 7 to 10 not executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among addresses provided in step 4 or 6. |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Step 12: DNS AAAA Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in AAAA Query |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
|
AAAA records |
Includes resolved IP address(es). |
7.5.5 Test requirements
1. In step 1, the UE shall set the IM CN Subsystem Signalling Flag to the GGSN within the Protocol Configuration Options IE.
2. After step 2, the UE shall initiate a P-CSCF discovery employing DHCP.
3. After step 6, if a P-CSCF IPv6 address is received then the UE will consider the P-CSCF discovery procedure successful, else the UE will initiate a DNS query for domain address to IPv6 address translation.
4. In step 13, the UE shall send an initial REGISTER message using the discovered P-CSCF address.
7.6 P-CSCF Discovery by DHCP – IPv6 (UE does not Request P-CSCF discovery by PCO, SS includes P-CSCF Address(es) in PCO)
7.6.1 Definition
Test to verify that on not receiving P-CSCF Address(es) in PCO, will perform P-CSCF discovery procedure employing DHCP.
7.6.2 Conformance requirement
Prior to communication with the IM CN subsystem, the UE shall:
a) perform a GPRS attach procedure as specified in 3GPP TS 24.008 [8];
b) ensure that a PDP context used for SIP signalling according to the APN and GGSN selection criteria described in 3GPP TS 23.060 [4] and 3GPP TS 27.060 [10A] is available. This PDP context shall remain active throughout the period the UE is connected to the IM CN subsystem, i.e. from the initial registration and at least until the deregistration. As a result, the PDP context provides the UE with information that makes the UE able to construct an IPv4 or an IPv6 address;
…
c) acquire a P-CSCF address(es).
The methods for P-CSCF discovery are:
I. When using IPv4, employ the Dynamic Host Configuration Protocol (DHCP) RFC 2132 [20F], the DHCPv4 options for SIP servers RFC 3361 [35A], and RFC 3263 [27A] as described in subclause 9.2.1. When using IPv6, employ Dynamic Host Configuration Protocol for IPv6 (DHCPv6) RFC 3315 [40], the DHCPv6 options for SIP servers RFC 3319 [41] and DHCPv6 options for Domain Name Servers (DNS) RFC 3646 [56C] as described in subclause 9.2.1.
II. Transfer P-CSCF address(es) within the PDP context activation procedure.
The UE shall indicate the request for a P-CSCF address to the GGSN within the Protocol Configuration Options information element of the ACTIVATE PDP CONTEXT REQUEST message or ACTIVATE SECONDARY PDP CONTEXT REQUEST message.
If the GGSN provides the UE with a list of P-CSCF IPv4 or IPv6 addresses in the ACTIVATE PDP CONTEXT ACCEPT message or ACTIVATE SECONDARY PDP CONTEXT ACCEPT message, the UE shall assume that the list is prioritised with the first address within the Protocol Configuration Options information element as the P-CSCF address with the highest priority.
…
The UE can freely select method I or II for P-CSCF discovery, if:
– the UE is in the home network; or
– the UE is roaming and the P-CSCF is to be discovered in the visited network.
In case method I is selected and several P-CSCF addresses or FQDNs are provided to the UE, the selection of P-CSCF address or FQDN shall be performed as indicated in RFC 3361 [35A] when using IPv4 or RFC 3319 [41] when using IPv6. If sufficient information for P-CSCF address selection is not available, selection of the P-CSCF address by the UE is implementation specific.
NOTE 4: The UE decides whether the P-CSCF is to be discovered in the serving network or in the home network based on local configuration, e.g. whether the application on the UE is permitted to use local breakout.
If the UE is designed to use I above, but receives P-CSCF address(es) according to II, then the UE shall either ignore the received address(es), or use the address(es) in accordance with II, and not proceed with the DHCP request according to I.
When using IPv4, the UE may request a DNS Server IPv4 address(es) via RFC 2132 [20F] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
When using IPv6, the UE may request a DNS Server IPv6 address(es) via RFC 3315 [40] and RFC 3646 [56C] or by the Protocol Configuration Options information element when activating a PDP context according to 3GPP TS 27.060 [10A].
The encoding of the request and response for IPv4 or IPv6 address(es) for DNS server(s) and list of P-CSCF address(es) within the Protocol Configuration Options information element is described in 3GPP TS 24.008 [8].
Reference(s)
3GPP TS 24.229 [10], clause B.2.2.1
7.6.3 Test purpose
To verify that a UE, which has not requested for P-CSCF address in PDP context activate message, receives P-CSCF address, may accept the P-CSCF address or ignore it and hence initiate P-CSCF discovery by DHCP.
7.6.4 Method of test
Initial conditions
The UE is in GMM-state "GMM-REGISTERED, normal service" with valid P-TMSI and CKSN. UE is not registered to IMS services, has not established PDP context.
Test procedure
1. UE is configured for not requesting P-CSCF addresses in PCO.
2. SS Responds with an Activate PDP Context Accept message by including P-CSCF Address(es). UE can either assume P-CSCF procedure to be complete or neglect the P-CSCF address(es) in PDP context Accept. Test Ends if UE assumes P-CSCF procedure to be complete.
3. UE may send Solicit message locating a server. If UE is configured to send Information-Request to ‘All_DHCP_Relay_Agents_and_Servers’ multicast address, go to step 5.
4. SS responds by Advertise message. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 13, else go to step 7.
5. UE sends DHCP Information-Request Query requesting either IP address(es) of P-CSCF server(s) or domain names of P-CSCF server(s) and DNS Server.
6. SS responds by DHCP Reply message. If UE requested for domain names or both domain names and IP address(es), SS will include P-CSCF server domain names. If UE requested for IP address only, SS includes IP address(es) of P-CSCF servers. If UE Requested for DNS Server Address, it is provided. If P-CSCF IP addresses are included go to step 13.
7. UE initiates a DNS NAPTR query to select the transport protocol. UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11.
8. SS responds with NAPTR response.
9. UE initiates a DNS SRV query.
10. SS responds with SRV response.
11. UE initiates a DNS AAAA query.
12. SS responds with DNS AAAA response.
13. UE sends an initial REGISTER request.
14. Continue test execution with the Generic test procedure, Annex C.2, step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state.
Expected sequence
|
Step |
Direction |
Message |
Comment |
|
|
UE |
SS |
|||
|
1 |
🡪 |
Activate PDP Context Request |
UE sends this PDU not requesting for P-CSCF address(es) |
|
|
2 |
🡨 |
Activate PDP Context Accept |
SS Sends this response including P-CSCF Address(es). UE shall either ignore the received address, or use the address. If UE uses address, go to step 13. |
|
|
3 |
🡪 |
DHCP SOLICIT |
Optional message |
|
|
4 |
🡨 |
DHCP ADVERTISE |
Sent if DHCP Solicit message is received. Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 13, else go to step 7 |
|
|
5 |
🡪 |
DHCP Information-Request |
Requesting P-CSCF Address(es) (Note 1) |
|
|
6 |
🡨 |
DHCP Reply |
Including P-CSCF Address(es). If P-CSCF IP addresses are included go to step 13. |
|
|
7 |
🡪 |
DNS NAPTR Query |
UE’s configured to use specific Transport protocol on default ports, can skip steps 7 to 10 and go directly to step 11 |
|
|
8 |
🡨 |
DNS NAPTR Response |
||
|
9 |
🡪 |
DNS SRV Query |
||
|
10 |
🡨 |
DNS SRV Response |
||
|
11 |
🡪 |
DNS AAAA Query |
||
|
12 |
🡨 |
DNS AAAA Response |
||
|
13 |
🡪 |
REGISTER |
UE sends initial registration for IMS services |
|
|
14 |
🡨🡪 |
Continue with Annex C.2 or C.2a step 5 |
Execute the Generic test procedure Annex C.2 step 5-11 or C.2a (GIBA only) step 5-9 in order to get the UE in a stable registered state |
|
NOTE 1: UE may request all options in one Information Request or send multiple Information Requests. If UE opts for multiple Information Request transmissions, SS transmits accordingly multiple Reply messages including corresponding requested options.
NOTE 2: The default messages contents in annex A are used with condition “IMS security “ or “GIBA” when applicable
Specific Message Contents:
Step 2: Activate PDP Context Accept
|
Options |
Value/Remarks |
|
Protocol Configuration options |
|
|
– Additional Parameters |
|
|
— container 1 Identifier |
0001H (P-CSCF Address) |
|
— Container 1 Length |
16 bytes |
|
— Container 1 contents |
IPV6 address of SS |
|
— container 2 Identifier |
0003H (DNS Address) |
|
— Container 2 Length |
16 bytes |
|
— Container 2 contents |
IPV6 address of SS DNS Server |
Step 3: DHCP SOLICIT (Note 3)
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 times number of requested options |
|
-requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) |
NOTE 3: Options can be optionally present and option codes can be in any order
NOTE 4: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 4: DHCP ADVERTISE
Use the default message in annex B.1 with the following exceptions
NOTE 5: Options are included only if corresponding Requests are received.
Case 1: (OPTION_SIP_SERVER_D (21) ) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain Address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 6: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 3
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 7: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 5: DHCP Information-Request
Use the default message in annex B.1 with the following exceptions
|
Options |
Value/Remarks |
|
option-code |
OPTION_ORO (6) |
|
– option-len |
2 (Note 8) number of requested options |
|
-requested-option-code-1 |
OPTION_SIP_SERVER_D (21) OR OPTION_SIP_SERVER_A (22) |
|
– requested-option-code-2 |
OPTION_DNS_SERVERS (23)(Optional) |
|
– requested-option-code-3 |
OPTION_DOMAIN_LIST (24) (Optional) |
NOTE 8: All options can be either received in one message or multiple messages. If more than one option codes present they can be in any order.
NOTE 9: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 6: DHCP Reply
Use the default message in annex B.1 with the following exceptions
NOTE 10: Options are included only if corresponding Requests are received.
Case 1: (OPTION_SIP_SERVER_D (21) ) or both (OPTION_SIP_SERVER_D (21) and OPTION_SIP_SERVER_A (22)) and OPTION_DOMAIN_LIST(24) or OPTION_DNS_SERVERS (23) received in step 5
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_D (21) |
|
– option-len |
Length of encoded domain address RFC 3319[51] |
|
Domain-address 1 |
SS P-CSCF server domain Address RFC 3319[51] |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 11: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Case 2: OPTION_SIP_SERVER_A (22) received in step 5
|
Options |
Value/Remarks |
|
option-code |
OPTION_SIP_SERVER_A (22) |
|
– option-len |
128 |
|
Domain-address 1 |
IPv6 address of SS P-CSCF Server |
|
option-code |
OPTION_DNS_SERVERS (23) |
|
– option-len |
Length of encoded DNS server address RFC 3646[48] |
|
Domain-address 1 |
SS DNS server IPv6 address RFC 3646[48] |
|
option-code |
OPTION_DOMAIN_LIST (24) |
|
– option-len |
Length of Domain search list |
|
searchlist |
List of Domain Names encoded as per RFC 1035 [52] |
NOTE 12: Numerical value, "(n)", provided in brackets in Column Value/Remarks is the ‘octal’ value for this option.
Step 7: DNS NAPTR Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
P-CSCF domain name received |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
Step 8: DNS NAPTR Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in NAPTR Query |
|
QCLASS= |
IN |
|
QTYPE= |
NAPTR |
|
NAPTR Records |
NAPTR Records included for each Transport protocol (TLS, TCP, UDP) supported RFC 3263[50] |
Step 9: DNS SRV Query
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Corresponding to the transport protocol selected by UE among those provided in DNS NAPTR Response |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
Step 10: DNS SRV Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in SRV Query |
|
QCLASS= |
IN |
|
QTYPE= |
SRV |
|
SRV Records |
SRV Resource Record included providing the SS target server FQDN RFC 3263[50]. |
Step 11: DNS AAAA Query
Case 1: steps 7 to 10 executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among provided in step 10 based on priority and weight RFC 2782[56] |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Case 2: steps 7 to 10 not executed:
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY |
|
QNAME= |
Selected P-CSCF name among addresses provided in step 4 or 6. |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
Step 12: DNS AAAA Response
|
Field |
Value/Remarks |
|
OPCODE= |
SQUERY, RESPONSE, AA |
|
QNAME= |
Same as received in AAAA Query |
|
QCLASS= |
IN |
|
QTYPE= |
AAAA |
|
AAAA records |
Includes resolved IP address(es). |
7.6.5 Test requirements
1. In step 1, the UE shall send a PDP Context Request message.
2. After step 2, the UE shall either ignore the received address, or use the address received.
3. If the UE ignores the P-CSCF address in step 2, then the UE will send a DHCP query in step 3.
4. After steps 4 and 6, if a P-CSCF IPv6 address is received then the UE will consider the P-CSCF discovery procedure successful, else the UE will initiate a DNS query for domain address to IPv6 address translation.
5. In step 13, the UE shall send an initial REGISTER message using the discovered P-CSCF address.