8.36 MO Voice Call Explicit Communication Transfer / Consultative Call Transfer / 5GS
34.229-53GPPInternet Protocol (IP) multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Part 5: Protocol conformance specification using 5G System (5GS)Release 16TSUser Equipment (UE) conformance specification
8.36.1 Test Purpose (TP)
(1)
with { UE being registered to IMS and being configured to use preconditions and having established a voice call with A (the transferee) }
ensure that {
when { UE is being made to attempt Consultative Call Transfer }
then { UE puts A on hold and sets up voice call with B (the transfer target) and puts B on hold and sends REFER to the transferee }
}
(2)
with { UE having initiated consultative call transfer }
ensure that {
when { UE receives NOTIFY }
then { UE sends 200 OK response for NOTIFY }
}
(3)
with { UE having processed the NOTIFY exchange }
ensure that {
when { UE receives instruction to be put on hold by A }
then { UE processes call hold instruction and responds to it }
}
(4)
with { UE having been put on hold by A }
ensure that {
when { UE receives BYE from B }
then { UE sends 200 OK for BYE }
}
(5)
with { Call with B having ended }
ensure that {
when { UE receives NOTIFY from A }
then { UE sends 200 OK for NOTIFY and may send BYE }
}
8.36.2 Conformance Requirements
[TS 24.629, clause 4.5.2.1]:
A UE that has initiated an emergency call, shall not perform any transfer operation involving the dialog associated with the emergency call.
A UE that initiates a transfer operation shall if the Contact address of the transferee is a GRUU:
– issue a REFER outside an existing dialog as specified in RFC 3515 [2] as updated by IETF RFC 6665 [14] and IETF RFC 7647 [16], where:
a) the request URI shall contain the SIP URI of the transferee as received in the Contact header field:
b) the Refer-To header field shall indicate the public address of the transfer target;
c) in case of Consultative transfer, the transferor UE has a consultation communication with the transfer target, a Replaces header field parameter shall be added to the Refer-To URI together with a Require=replaces header field parameter;
d) the Referred-By header field can be used to indicate the identity of the transferor. When privacy was required in the original communications dialog and a Referred-By header field is included, the UE shall include a Privacy header field set to "user"; and
e) the Target-Dialog header field identifies the dialog to be transferred;
otherwise the UE shall:
– issue a REFER request in the original communications dialog as specified in RFC 3515 [2], where:
a) the request URI shall contain the SIP URI of the transferee as received in the Contact header field;
b) the Refer-To header field shall indicate the public address of the transfer target;
c) in case of consultative transfer, the transferor UE has a consultation communication with the transfer target, a Replaces header field parameter shall be added to the Refer-To URI together with a Require=replaces header field parameter; and
d) the Referred-By header field can be used to indicate the identity of the transferor. When privacy was required in the original communications dialog and a Referred-By header field is included, the UE shall include a Privacy header field set to "user".
If assured transfer is requested, the UE may include an Expires header field in the Refer-To URI of the REFER request.
NOTE 1: The value of the Expires header field indicates the maximum duration of the transfer attempt. If the transfer does not succeed within this duration, the UE will receive a NOTIFY request indicating the transfer failure.
After the REFER request is accepted by the other end with a 2xx response, the transferor UE gets notifications of how the transferee’s communication setup towards the transfer Target is progressing.
When a NOTIFY request is received on the REFER dialog that indicates that the transferee and the transfer Target have successfully setup a communication, the transferor UE may terminate the original communication with the transferee UE, by sending a BYE request on the original dialog.
If an assured transfer attempt is not completed (i.e. the UE has not received a NOTIFY request with a "message/sipfrag" body’s status line containing a final response code indicating the end of the transfer operation), the UE may request to terminate the transfer attempt by:
– sending a REFER request in the same communications dialog as the previous REFER request as specified in RFC 3515 [2] as updated by IETF RFC 6665 [14] and IETF RFC 7647 [16], where:
a) the request URI shall contain the SIP URI of the transferee as received in the Contact header field; and
b) the Refer-To header field shall indicate the public address of the transfer target and shall contain the method parameter set to "CANCEL"; and
c) if applicable include a Target-Dialog header field that identifies the dialog under transfer.
If the UE receives a NOTIFY request indicating that the assured transfer attempt failed, followed by a re-INVITE or an UPDATE request taking the UE off HOLD the UE may decide to retrieve the original communication by sending a re-INVITE request in the original SIP dialog.
NOTE 2: If the user requests the retrieval of the original communication while the transfer attempt has not been completed, the UE needs to first request the termination of the transfer attempt before retrieving the original communication via a re-INVITE request.
Reference(s)
3GPP TS 24.629 [36], clause 4.5.2.1.
8.36.3 Test description
8.36.3.1 Pre-test conditions
System Simulator:
– 1 NR Cell connected to 5GC, default parameters.
UE:
– UE contains either ISIM and USIM applications or only USIM application on UICC.
– UE is configured to register for IMS after switch on.
– UE is configured to use preconditions.
Preamble:
– The UE has registered to IMS and set up the MO call, by executing the generic test procedure in Annex A.2 up to the last step and thereafter executing the generic test procedure in A.4.1.
– The SS has accepted the UE’s MO call.
8.36.3.2 Test procedure sequence
Table 8.36.3.2-1: Main Behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|||||||
U – S |
Message |
||||||||||
1 |
Make the UE put the call on hold (Note 1) |
– |
– |
– |
– |
||||||
2 |
Check: Does the UE send INVITE or UPDATE with a SDP offer to hold the call with A by running step 1 of A.17 for MO Call Hold? |
–> |
INVITE or UPDATE |
1 |
P |
||||||
3-5 |
Remaining steps 2-4 of A.17 for MO Call Hold happen. |
– |
– |
– |
– |
||||||
6 |
Void |
– |
– |
– |
– |
||||||
7 |
Check: Does the UE initiate a voice call with B by exercising step 1 of Annex A.4.1? |
–> |
INVITE |
1 |
P |
||||||
8-11 |
Steps 2-5 of A.4.1 happen |
– |
– |
– |
– |
||||||
– |
EXCEPTION: Step 12-13 describes behaviour that takes place if the UE doesn’t include QOS confirmation in the PRACK message in step 10. |
– |
– |
– |
– |
||||||
12 |
UE sends a second SDP offer in an UPDATE request. (Step 6 of Annex A.4.1) |
–> |
UPDATE |
– |
– |
||||||
13 |
SS responds to UPDATE, including an SDP answer. (Step 7 of Annex A.4.1) |
<– |
200 OK |
– |
– |
||||||
14-18 |
Steps 8-12 of A.4.1 are performed. |
– |
– |
– |
– |
||||||
19 |
Void |
– |
– |
||||||||
19A |
Make the UE confirm the Consultative Call Transfer (Note 2) |
||||||||||
20 |
Check: Does the UE send INVITE or UPDATE with a SDP offer to hold the call with B by running step 1 of A.17 for MO Call Hold? |
–> |
INVITE or UPDATE |
1 |
P |
||||||
21-23 |
Remaining steps 2-4 of A.17 for MO Call Hold happen |
– |
– |
– |
– |
||||||
24 |
Check: Does the UE send REFER to SS, simulating the transferee, referring to the transfer target |
–> |
REFER |
1 |
P |
||||||
25 |
The SS responds to REFER with 200 OK |
<– |
200 OK |
||||||||
26 |
The SS, simulating the transferee, sends initial NOTIFY for the implicit subscription created by the REFER request |
<– |
NOTIFY |
||||||||
27 |
The UE responds to NOTIFY with 200 OK |
–> |
200 OK |
2 |
P |
||||||
28-31 |
The SS, simulating the transferee, puts the UE on hold by executing the MT Call Hold procedure of Annex A.18, but setting the direction attribute to inactive. |
– |
– |
3 |
P |
||||||
32 |
The SS, simulating the transfer target, releases the call between UE and the transfer target with BYE |
<– |
BYE |
– |
– |
||||||
33 |
The UE responds to BYE with 200 OK |
–> |
200 OK |
4 |
P |
||||||
34 |
The SS, simulating the transferee, sends a NOTIFY request to confirm that the call transfer has been completed |
<– |
NOTIFY |
– |
– |
||||||
35 |
The UE responds to NOTIFY with 200 OK |
–> |
200 OK |
– |
– |
||||||
36 |
Optional: UE may send a BYE request to release call with the transferee within 3s. |
–> |
BYE |
– |
– |
||||||
37 |
If the UE has sent BYE in step 36 then SS sends 200 OK for BYE |
<– |
200 OK |
5 |
P |
||||||
Note1: This could be done by e.g. MMI or AT command (AT+CHLD=2). Note2: This could be done by e.g. MMI or AT command (AT+CHLD=4). |
8.36.3.3 Specific message contents
Table 8.36.3.3-1: INVITE (step 7, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 1 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Request-Line |
||||
Request-URI |
px_IMS_CalleeUri2 |
|||
To |
||||
addr-spec |
px_IMS_CalleeUri2 |
Table 8.36.3.3-2: 183 Session Progress (step 9, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 3 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Contact |
||||
addr-spec |
px_IMS_CalleeContactUri2 |
|||
Message-body |
o=- 1111111112 1111111111 IN (addrtype) (unicast-address for SS) |
RFC 4566 [38] |
Table 8.36.3.3-3: 180 Ringing (step 14, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 8 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Contact |
||||
addr-spec |
px_IMS_CalleeContactUri2 |
Table 8.36.3.3-4: 200 OK for INVITE (step 17, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 11 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Contact |
||||
addr-spec |
px_IMS_CalleeContactUri2 |
Table 8.36.3.3-5: INVITE/UPDATE (step 20, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 1 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Request-Line |
||||
Request-URI |
px_IMS_CalleeUri2 |
Table 8.36.3.3-6: REFER (step 24, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Step 1 in A.2.10 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Refer-To |
||||
value |
<public address of transfer target?Replaces=(dialog id of the dialog between the UE and the transfer target)&Require=replaces> |
|||
Referred-By |
||||
value |
same value as addr-spec field in From header in the first INVITE during initial call setup, if header present |
|||
Privacy |
||||
value |
user (shall be included if privacy was required during original communication dialog and Referred-By header field is included) |
Table 8.36.3.3-7: NOTIFY (step 26, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 1 in A.4.1 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Message-body |
SIP/2.0 100 Trying |
Table 8.36.3.3-8: 200 OK for NOTIFY (step 27, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.3.1, Conditions A11 and A22 |
Table 8.36.3.3-9: INVITE (step 28, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 1 of A.19 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Message-body |
Each media line carries direction attribute “a=inactive” |
Table 8.36.3.3-10: 200 OK for re-INVITE (step 30, table 8.36.3.2-1)
Derivation Path: TS 34.229-5, Step 4 of A.19 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Message-body |
Each media line carries direction attribute “a=inactive” |
Table 8.36.3.3-11: NOTIFY (step 34, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.2.11 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Subscription-State |
||||
Substate-value |
terminated |
|||
expires |
omitted from request |
|||
reason |
noresource |
|||
Message-body |
SIP/2.0 200 OK |
Table 8.36.3.3-12: 200 OK for NOTIFY (step 35, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Annex A.3.1, Conditions A11 and A22 |
Table 8.36.3.3-13: PRACK (step 10, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Table in annex A.2.4, Conditions A1 and A7 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
Require |
(present, if Message-Body is present) |
|||
option-tag |
precondition |
|||
Message-body |
(if present) Contents is copied from step 6 of annex A.4.1 with the following exceptions: Attributes for preconditions: a=curr:qos local sendrecv a=curr:qos remote none a=des:qos mandatory local sendrecv a=des:qos optional remote sendrecv or a=des:qos mandatory remote sendrecv |
TS 24.229 [7] |
Table 8.36.3.3-14: 200 OK (step 11, table 8.36.3.2-1)
Derivation Path: TS 34.229-1 [2], Table in annex A.3.1, Conditions A10 and A22 |
||||
Header/param |
Cond |
Value/remark |
Rel |
Reference |
To |
||||
tag |
Same value as used in step 10 |
|||
Require |
(present, if Message-Body is present) |
|||
option-tag |
precondition |
|||
Content-Type |
(present, if content-type was present in PRACK at step 10) |
|||
media-type |
application/sdp |
|||
Content-Length |
||||
value |
length of message-body |
|||
Message-body |
(present, if Message-Body was present in PRACK at step 10) SDP body of the 200 OK response copied from the received PRACK and modified as follows: – IP address on "c=" lines and transport port on "m=" lines changed to indicate to which IP address and port the UE should start sending the media; – "o=" line identical to previous SDP sent by SS except that sess-version is incremented; – Attributes for preconditions: a=curr:qos remote sendrecv. |
TS 24.229 [7] |