4 Communications Diversion (CDIV)

24.6043GPPCommunication Diversion (CDIV) using IP Multimedia (IM) Core Network (CN) subsystemProtocol specificationRelease 18TS

4.1 Introduction

The Communications Diversion (CDIV) service enables diverting user, to divert the communications addressed to diverting user to another destination.

Procedures for the CDIV AS regarding Operator Determined Barring (ODB) are defined in 3GPP TS 24.315 [25].

4.2 Description

4.2.1 General description

4.2.1.1 Service description

The service description of the following CDIVs ervices CFU, CFB, CFNR and CD is based on the PSTN/ISDN supplementary services, whereas CFNL is a CDIV service based on requirements for IP based networks and CFNRc is based on requirements for mobile networks.

Generally, the following requirements are expected to be fulfilled:

– The service provides for the user or the network to identify an alternative destination for an IP multimedia session or individual media of an IP multimedia session.

– The service provides for redirection to be initiated at various stages of an IP Multimedia session. For example:

a) Prior to the set up of an IP Multimedia session.

b) During the initial request for an IP Multimedia session (CFU).

c) During the establishment of an IP Multimedia session (CD).

– The service provides redirection to be applied for all Multimedia sessions unconditionally or it can be caused by any of a set list of events or conditions. Typical causes could be:

a) Identity of the originating user.

b) Presence of the originating or destination party.

c) If the destination party is already in a session (CFB).

d) If the destination party is unreachable or unavailable in some other way (CFNL; CFNR, CFNRc).

e) If the destination party does not respond (CFNR).

f) After a specified alerting interval (CFNR).

g) User’s preference on routing for specific IP Multimedia session based on the capabilities of multiple UEs sharing the same IMS service subscription.

h) The sending party, receiving party or the network on their behalf, may initiate redirection to alternative destinations.

i) The service provides for the user to subscribe to receive notifications of his/her communications diversions.

The following services describe applications based on a subset of the above-mentioned requirements to provide user different possibilities to divert a communication.

It should be possible that a user has the option to restrict receiving communications that are forwarded.

4.2.1.2 Communication Forwarding Unconditional (CFU)

The CFU service enables a served user to have the network redirect, to another user, communications which are addressed to the served user’s address. The CFU service may operate on all communications, or just those associated with specified services. The served user’s ability to originate communications is unaffected by the CFU supplementary service. After the CFU service has been activated, communications are forwarded independent of the status of the served user.

As a service provider option, a subscription option can be provided to enable the served user to receive a reminder indication that the CFU service has been activated. This indication is provided when the served user originates a communication and if the CFU service has been activated for the served user’s address and for the service requested for the communication.

The maximum number of diversions permitted for each communication is a service provider option. The service provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

4.2.1.3 Communication Forwarding on Busy user (CFB)

The CFB service enables a served user to have the network redirect, to another user, communications which are addressed to the served user’s address and meet busy. The CFB service may operate on all communications, or just those associated with specified services. The served user’s ability to originate communications is unaffected by the CFB supplementary service.

As a service provider option, a subscription option can be provided to enable the served user to receive a reminder indication that the CFB service has been activated. This indication is provided when the served user originates a communication and if the CFB service has been activated for the served user’s address and for the service requested for the communication.

The maximum number of diversions permitted for each communication is a service provider option. The service provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

For more information on the procedures for determination of the busy condition see 3GPP TS 24.628 [11].

4.2.1.4 Communication Forwarding on no Reply (CFNR)

The CFNR service enables a served user to have the network redirect, to another user, communications which are addressed to the served user’s address, and for which the connection is not established within a defined period of time. The CFNR service may operate on all communications, or just those associated with specified services. The served user’s ability to originate communications is unaffected by the CFNR supplementary service.

The CFNR service can only be invoked by the network after the communication has been offered to the served user and an indication that the called user is being informed of the communication has been received.

As a service provider option, a subscription option can be provided to enable the served user to receive a reminder indication that the CFNR service has been activated. This indication is provided when the served user originates a communication and if the CFNR service has been activated for the served user’s address and for the service requested for the communication.

The maximum number of diversions permitted for each communication is a service provider option. The service provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

4.2.1.5 Communication Forwarding on Subscriber Not Reachable (CFNRc)

The CFNRc service enables a user to have the network redirect all incoming communications, when the user is not reachable (e.g. there is no IP connectivity to the user’s terminal), to another user. The CFNRc service may operate on all communications, or just those associated with specified services. The user’s ability to originate communications is unaffected by the CFNRc supplementary service.

As a service provider option, a subscription option can be provided to enable the user to receive an indication that the CFNRc service has been activated. This indication is provided when the user originates a communication if the CFNRc service has been activated for the user and for the service requested for the communication.

The maximum number of diversions permitted for each communication is a service provider option. The service provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

4.2.1.6 Communication Deflection (CD)

The CD service enables the served user to respond to an incoming communication by requesting redirection of that communication to another user. The CD service can only be invoked before the connection is established by the served user, i.e. in response to the offered communication (before ringing), i.e. CD Immediate, or during the period that the served user is being informed of the communication (during ringing). The served user’s ability to originate communications is unaffected by the CD supplementary service.

The maximum number of diversions permitted for each communication is a network provider option. The network provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

4.2.1.7 Communication Forwarding on Not Logged-in (CFNL)

The Communication Forwarding on Not Logged-in (CFNL) service enables a served user to redirect incoming communications which are addressed to the served user’s address, to another user (forwarded-to address) in case the served user is not registered (logged-in). The CFNL service may operate on all communications, or just those associated with specified basic services.

As a service provider option, a subscription option can be provided to enable the served user to receive a reminder indication that the CFNL service has been activated. This indication is provided when the served user logs out according to procedures described in IETF RFC 3261 [6].

The maximum number of diversions permitted for each communication is a service provider option. The service provider defines the upper limit of diversions. When counting the number of diversions, all types of diversion are included.

4.2.1.8 Void

4.3 Operational requirements

4.3.1 Provision/withdrawal

The CDIV services (Communication forwarding unconditional, Communication forwarding busy, Communication forwarding no reply, Communication forwarding not logged-in, Communication deflection and Communication Diversion Notification) is provided after prior arrangement with the service provider.

The CDIV services are withdrawn at the served user’s request or for administrative reasons.

The CDIV supplementary services can be offered separately with subscription options. For each subscription option, only one value can be selected. These subscription options are part of the call diversion profile for the served user. The subscription options are shown in table 4.3.1.1.

Table 4.3.1.1: Subscription options for CDIV services

Subscription options

Value

Applicability

Served user receives indication that a communication has been forwarded (indication of communication diversion to the diverting user).

No (default)
________________________

Yes

CFU
CFB
CFNR

CFNRc

Originating user receives notification that his communication has been diverted (forwarded or deflected).

No
________________________

Yes (default)

CFU
CFB
CFNR

CFNRc
CFNL
CD

Served user allows the presentation of diverted to URI to originating user in diversion notification.

No
________________________

Not reveal as GRUU
________________________

Yes (default)

CFU
CFB
CFNR

CFNRc
CFNL
CD

Served user receives reminder indication on outgoing communication that CDIV is currently activated.

No (default)
________________________

Yes

CFU
CFB
CFNR

CFNRc
CFNL

Served user allows the presentation of his/her URI to diverted‑to user.

No
________________________

Not reveal as GRUU
________________________

Yes (default)

CFU
CFB
CFNR

CFNRc
CFNL
CD

Served user allows the presentation of his/her URI to originating user in diversion notification.

No
________________________

Not reveal as GRUU
________________________

Yes (default)

CFU
CFB
CFNR

CFNRc
CFNL
CD

The following network provider options are available for the CDIV services:

Table 4.3.1.2: Network provider options for CDIV services

Network provider option

Value

Applicability

Served user communication retention on invocation of diversion (forwarding or deflection).

Retain communication to the served user until alerting begins at the diverted-to user
________________________

Clear communication to the served user on invocation of call diversion

CFNR
CD

Served user communication retention when diverting is rejected at
diverted-to user.

Continue to alert the diverting user (see note 1)
________________________

No action at the diverting user (see note 2)

CFNR

CD

Subscription option is provided for "served user receives reminder indication on outgoing communication that CDIV is currently activated".

No

________________________

Yes

CFU

CFB

CFNR

CFNRc

CFNL

Total number of all diversions for each communication.

Maximum number of diverted connections
(upper limit is based on operator policy)

CFU
CFB
CFNR

CFNRc
CFNL
CD

AS behaviour when the maximum number of diversions for a communication is reached.

Reject the communication (default)

________________________

Deliver the communication to the latest diverting party

CFU
CFB
CFNR

CFNRc
CFNL
CD

CDIV Indication Timer.

Timer duration is a service provider option

CFU
CFB
CFNR

CFNRc
CFNL
CD

Communication forwarding on no reply timer.

Timer default duration is a service provider option (NOTE 3)

CFNR

NOTE 1: This applies to the retention of the communication at invocation of communication diverting.

NOTE 2: This applies to the clearing communication option on invocation of communication diverting.

NOTE 3: As a network provider option, it shall be possible to change the timer duration by the served user.

4.3.2 Requirements on the originating network side

No specific requirements are needed in the network.

4.3.3 Requirements in the network

No specific requirements are needed in the network.

Based on the Initial Filter Criteria (IFC) Rules, indicating that the served user is subscribed to the CDIV supplementary services, the communication is forwarded to an AS.

NOTE: An example of the use of IFC is shown in annex B.

4.4 Coding requirements

4.4.0 General

3GPP TS 24.229 [2] defines the messages and parameters for this supplementary service. The following messages and parameters are used to support the Communication diversion service due to fulfil the requirements.

4.4.1 SIP-Messages

4.4.1.1 SIP messages for redirection

Table 4.4.1.1 shows the SIP messages that are used due to the coding rules in 3GPP TS 24.229 [2].

Table 4.4.1.1: SIP Header information for redirection

SIP Message

Reference

SIP Header

INVITE

[3]

[8]

[14]

[20]

History-Info header

Privacy header

cause-param URI parameter

"gr" URI parameter

180 (Ringing)

[3]

[8]

[14]

[20]

History-Info header

Privacy header

cause-param URI parameter

"gr" URI parameter in the Contact

181 (Call Is Being Forwarded)

[3]

[8]

[14]

[20]

History-Info header

Privacy header

cause-param URI parameter

"gr" URI parameter in the Contact

200 (OK) response

[3]

[8]

[14]

[20]

History-Info header

Privacy header

cause-param URI parameter

"gr" URI parameter in the Contact

302 (Moved Temporarily)
(see note)

[2]

[14]

Contact header

cause-param URI parameter

NOTE: The 302 (Moved Temporarily) response is in the present document only used for the CD services.

More information on the cause-param URI parameter is given in annex C.

An AS that implements the CDIV service shall support the REFER method IETF RFC 3515 [17] and IETF RFC 7647 [29], to be able to handle the interaction with 3GPP TS 24.629 [16].

4.4.1.2 Void

4.4.2 Parameters

The Privacy header is described in 3GPP TS 24.229 [2]. The present document refers for the History-Info header to IETF RFC 7044 [3], for the Privacy header and P-Asserted-Identity to IETF RFC 3325 [8], for GRUU to IETF RFC 5627 [20] and for the cause-param to IETF RFC 4458 [14].

4.5 Signalling requirements

4.5.0 General

Configuration of supplementary services by the user should:

– take place over the Ut interface using XCAP as enabling protocol as described in 3GPP TS 24.623 [4]; or

– use SIP based user configuration as described in 3GPP TS 24.238 [22].

NOTE: Other possibilities for user configuration, such as web-based provisioning or pre-provisioning by the operator are outside the scope of the present document, but are not precluded.

The enhancements to the XML schema for use over the Ut interface is described in subclause 4.9.

4.5.1 Activation/deactivation

The services CFU, CFB, CFNR, CFNL, CFNRc and CD are individually activated at provisioning or at the subscriber’s request.

The services CFU, CFB, CFNR, CFNL, CFNRc and CD are individually deactivated at withdrawal or at the subscriber’s request.

4.5.1a Registration/erasure

For registration of diversion information for the services CFU, CFB, CFNR, CFNL, CFNRc and CD, the mechanisms specified in subclause 4.5.0 should be used. The diverted-to party address of the services CFU, CFB, CFNR, CFNL, CFNRc and CD can individually be registered at the subscriber’s request by using the mechanisms specified in subclause 4.5.0. The registration of any diverted-to party address that is present in an operator configurable block list that contains forbidden diverted-to identities shall be rejected. Emergency service identities are examples of identities that can be part of the block list.

For erasure of diversion information for the services CFU, CFB, CFNR, CFNL, CFNRc and CD, the mechanisms specified in subclause 4.5.0 should be used. The diverted-to party address of the services CFU, CFB, CFNR, CFNL, CFNRc and CD can individually be erased at the subscriber’s request by using the mechanisms specified in subclause 4.5.0.

4.5.1b Interrogation

For interrogation of the services CFU, CFB, CFNR, CFNL, CFNRc and CD, the mechanisms specified in subclause 4.5.0 should be used.

For interrogation of the supported conditions and actions that can be used in the network the Ut interface should be used.

4.5.2 Invocation and operation

4.5.2.1 Actions at the originating UA

A UE supporting CDIV services shall support origination of requests in the IM CN subsystem (as specified in 3GPP TS 24.229 [2]).

When communication diversion has occurred on the served user side and the subscription option "Originating user receives notification that his communication has been diverted (forwarded or deflected)" is set to "yes", the originating UA may receive a 181 (Call Is Being Forwarded) response according to the procedures described in 3GPP TS 24.229 [2].

NOTE 1: The Information given by the History-Info header field could be displayed by the UA if it is a UE.

NOTE 2: The originating UE will find the diverted-to URI in the last hi-entry of the History-Info header field containing a hi-target-param "mp" and a cause-param as specified in IETF RFC 4458 [14]. The originating UE will find the diverting user URI in the hi-entry having a hi-index that match the value of the "mp" parameter previously identified. If the "mp" header field parameter is not present in the hi-entries within the History-Info header field, the information of the diverted-to URI will be found in the last hi-entry containing a cause-param as specified in IETF RFC 4458 [14] and the diverting user URI in the previous hi-entry.

4.5.2.2 Void

4.5.2.3 Void

4.5.2.4 Void

4.5.2.5 Void

4.5.2.6 Actions at the AS of the diverting User

4.5.2.6.0 General

If the session is subject to diversion the AS of the diverting user:

– if modification of the To header is required as specified in the procedures of this subclause, shall operate as an AS providing 3rd party call control, and specifically as a routeing B2BUA, as specified in subclause 5.7.5 of 3GPP TS 24.229 [2];

– otherwise, shall operate as either an AS acting as a SIP proxy as specified in subclause 5.7.4 of 3GPP TS 24.229 [2] or an AS providing 3rd party call control, and specifically as a routeing B2BUA, as specified in subclause 5.7.5 of 3GPP TS 24.229 [2].

NOTE: For the case when the session is not subject to diversion and CDIV, according the requirements in this document, is the only service being applied by the AS, then the AS only needs to act as a SIP proxy. If additional services are applied, then the AS might need to act as a routeing B2BUA.

The AS shall based on local policy on how to handle PSAP callbacks suppress diversion when the received initial INVITE request towards the served user is identified as a PSAP callback.

The mechanism to identify an initial INVITE request as a PSAP callback depends on local policy and can be based on the PSAP callback indicator specified in IETF RFC 7090 [28].

The AS may initiate announcements towards the calling user in accordance with 3GPP TS 24.628 [11].

If the Resource-Priority header field was received in the incoming INVITE request, then, if allowed by local policy, the AS shall set the Resource-Priority header field value of the outgoing INVITE request based upon the Resource-Priority header field value in the incoming INVITE request.

4.5.2.6.1 Checking of the diversion limits

When receiving an initial INVITE request and the AS determines that the AS shall divert a communication the AS shall check if diverting the communication exceeds the number of diversions allowed within the network. The AS shall calculate the number of diversions by examination of the History-Info header;

– using the entries including a cause-param URI parameter with cause values specified in subclause 4.5.2.6.2.2; or

– examine the entries in the Index entries parameter,

to see if another diversion is allowed due to network provider allowed limit of diversions

If the number of diversions exceeds the given limit then:

– if the diverted-to destination is known to be a non-retargeting destination (e.g. Voicemail), then it is based on operator policy to allow the communication diversion to be executed;

– if the network option "AS behaviour when the maximum number of diversions for a communication is reached" is set to "Reject the communication", then the AS shall send one of the following responses to the originating user:

a) if communication diversion forwarding busy a 486 (Busy Here);

b) if communication forwarding no reply, a 480 (Temporarily Unavailable);

c) if communication forwarding unconditional a 480 (Temporarily Unavailable);

d) if communication deflection, a 480 (Temporarily Unavailable);

e) if communication forwarding not logged in, a 480 (Temporarily Unavailable); or

f) if communication forwarding not reachable, a 480 (Temporarily Unavailable); and

include in the response a Warning header field indicating that the communication is released due to the extension of diversion hops (e.g. "Too many diversions appeared"); and

– if the network option "AS behaviour when the maximum number of diversions for a communication is reached" is set to "Deliver the communication to the latest diverting party", then the communication shall be delivered to the latest diverting party.

4.5.2.6.2 Setting of the diversion parameters by the AS
4.5.2.6.2.1 Overview

After checking the limit of diversions the following sets the retargeted initial INVITE request according to the procedures in subclause 4.5.2.6.2.

4.5.2.6.2.2 Diversion where served user is not last in received History-Info header

If an AS determines that the AS shall divert a communication and if any of the following conditions apply for the received initial INVITE request:

– no History-Info header received; or

– a History-Info header is received in which the last history-info entry contains no hi-targeted-to-uri element for the served user.

The AS shall set the following information in the retargeted initial INVITE request:

– the diverting parties address;

– the diverted-to party address;

– diversion information.

The AS shall include or modify the following header fields with the specified values:

a) The Request URI – set to the SIP URI where the communication is to be diverted to (see <target> element in subclause 4.9.1.4). In advance of this, if the <target> element contains a tel URI, the AS shall convert the tel URI into a SIP URI as specified in RFC 3261 [6], and include a user parameter set to "phone".

The AS shall set in the SIP URI the cause-param parameter (redirecting reason and redirecting indicator) also included in the History-Info header field according to the diversion conditions. The mapping between the diversion conditions and the coding of the cause-param parameter is as follows:

– if communication forwarding busy, the cause value "486" as defined by RFC 4458 [14];

– if communication forwarding no reply, the cause value "408" as defined by RFC 4458 [14];

– if communication forwarding unconditional, the cause value "302 as defined by RFC 4458 [14];

– if communication deflection (Immediate Response), the cause value "480" as defined by RFC 4458 [14];

– if communication forwarding not logged in, the cause value "404" as defined by RFC 4458 [14];

– if communication deflection during alerting, the cause value "487" as defined by RFC 4458 [14]; and

– if communication forwarding on subscriber not reachable, the cause value "503" as defined by RFC 4458 [14];

b) The History-Info header field – two hist-info entries that shall be generated.

1) The first entry includes the hi-targeted-to-uri of the served user. The "rn" and "npdi" tel URI parameters defined by IETF RFC 4694 [30] should be removed from the hi-targeted-to-uri of the served user before creating the first entry.

The AS shall include the privacy header "history" within the hi-targeted-to-uri in the escaped form, if:

– the served user wishes privacy (e.g. the served user is subscribed to the OIR Service); or

– the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "no".

Otherwise, if the first entry contains the "gr" parameter and the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" is set to "not-reveal-as-GRUU", then the AS shall change the first entry as follows:

– replace the first entry with the public user identity of the served user.

If the diversion is based on a SIP response from the served user, a Reason header in escaped form shall be included in accordance with IETF RFC 7044 [3].

The "index" header field parameter shall be set by using a new level "1" according to the rules specified in subclause 10.3 "Indexing in the History-Info Header Field" of IETF RFC 7044 [3].

When a Reason header field or a Privacy header field needs to be included in the hi-targeted-to-uri, the hi-targeted-to-uri shall be a SIP URI.

2) The second entry includes the new Request URI as described under bullet a) as hi-targeted-to-uri.

The "index" header field parameter shall be set by using a new level "1" according to the rules specified in subclause 10.3 "Indexing in the History-Info Header Field" of IETF RFC 7044 [3].

Add a hi-target-param "mp" set to value of the hi-index in the hi-entry with an hi-targeted-to-uri that reflects the Request-URI that was retargeted as described in IETF RFC 7044 [3].

NOTE: In accordance with RFC 4458 [14], hi-targeted-to-uri will contain a cause-param in non-escaped format.

c) The To header field:

If the served user does not want to reveal its identity to the diverted-to party, then the AS shall change the To header field to the URI where the communication is diverted to. The served user does not want to reveal its identity when one of the following conditions holds true:

– if the served user wishes privacy (e.g. the served user is subscribed to the OIR Service); or

– if the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "no".

Otherwise, if the To header contains the "gr" parameter and the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "not-reveal-as-GRUU", then the AS shall change the To header field to a public user identity of the served user.

In all other cases the AS shall not change the To header.

4.5.2.6.2.3 Diversion with served user last in received History-Info header

If an AS determines that the communication shall be diverted the AS shall apply the procedure in the present subclause if the received initial INVITE request includes a History-Info header, which in the last history-info entry includes a hi-targeted-to-uri with an entry for the served user, encoded as in subclause 4.5.2.6.2.2. In this case the AS shall add a new history-info entry to the History-Info header field according to the rules defined in IETF RFC 7044 [3]. The following information is added to the retargeted initial INVITE request:

– the diverted-to party address;

– diversion information.

The AS shall add or modify the following header fields with the specified values:

a) Request URI – set to the SIP URI where the communication is to be diverted to (see <target> element in subclause 4.9.1.4). In advance of this, if the <target> element contains a tel URI, the AS shall convert the tel URI into a SIP URI as specified in RFC 3261 [6], and include a user parameter set to "phone".

The AS shall add the cause-param as defined by RFC 4458[14] to the request URI. The mapping between the diversion conditions and the coding of the cause-param parameter shall be as defined under bullet a) in sublause 4.5.2.6.2.2.

b) History-Info header field shall be modified in accordance with IETF RFC 7044 [3]. The history entry corresponding to previous request URI can be modified. One history entry is added.

1) The existing history entry corresponding to the previous request URI shall be treated as follows: if the Privacy header field does not contain "history", the privacy header "history" in escaped format shall be added or modified within the hi-targeted-to-uri, if:

– the served user wishes privacy (e.g. the served user is subscribed to the OIR Service); or

– the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "no".

If the history entry representing the served user contains the "gr" parameter and the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "not-reveal-as-GRUU", the AS shall change the history entry to a public user identity of the served user.

If the diversion is based on a SIP response from the served user, a Reason header in escaped form shall be included in the hi-targeted-to-uri in accordance with IETF RFC 7044 [3].

When a Reason header field or a Privacy header field needs to be included in the existing hi-targeted-to-uri that is a tel URI, the hi-targeted-to-uri shall be first converted to a SIP URI.

2) A history entry shall be added containing the new Request URI as described under bullet a) as hi-targeted-to-uri.

The "index" header field parameter shall be set by using a new level "1" according to the rules specified in subclause 10.3 "Indexing in the History-Info header field" of IETF RFC 7044 [3].

Add a hi-target-param "mp" set to value of the hi-index in the hi-entry with an hi-targeted-to-uri that reflects the Request-URI that was retargeted as described in IETF RFC 7044 [3].

NOTE: In accordance with RFC 4458 [14], hi-targeted-to-uri will contain a cause-param in non-escaped format.

c) To header:

If the served user does not want to reveal its identity to the diverted-to party, then the To header shall be changed to the URI where the communication is diverted to. The served user does not want to reveal its identity when one of the following conditions holds true:

– if the served user wishes privacy (e.g. the served user is subscribed to the OIR Service); or

– if the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "no".

Otherwise, if the To header contains the "gr" parameter and the served user has the subscription option "Served user allows the presentation of his/her URI to diverted‑to user" set to "not-reveal-as-GRUU", then the To header shall be changed to a public user identity of the served user.

In all other cases the To header shall not be changed.

4.5.2.6.2.4 Overview of the operation

Figure 4.5.2.6.2.4 shows the example of a communication path for multiple diversions.

Figure 4.5.2.6.2.4: Originally A calls B, information transferred in the initial INVITE request

Table 4.5.2.6.2.4 shows which parameters and header fields that are added or modified in a diversion AS.

Table 4.5.2.6.2.4: Parameter information for multiple redirections

HOP 1

HOP 2

HOP 3

HOP 4

HOP 5

Number Information:

P-Asserted-Identity

Request URI

A

B

A

C

A

D

A

E

A

F

hi-entry

B

C

B

C

D

B,

C

D

E

B,

C,

D

E

F

Information added:

hi-targeted-to-uri (NOTE 4)

Reason header (NOTE 2)

cause-param (NOTE 3)

Privacy

Hi-index (NOTE 1)

hi-target-param "mp"

B

V

W

index 1

C

U

index 2

index 1

No changes

V

W

D

U

index 3

index 2

No changes

V

W

E

U

index 4

index 3

No changes

V

W

F

U

index 5

index 4

U = Value for the cause-param parameter as specified in 4.5.2.6.2.2 and 4.5.2.6.2.3

V = Value in accordance with the rules in RFC 7044 [3].

W = privacy value (history) or (none) or no entry.

NOTE 1: The hi-index field shall be set by using a new level "1" according to the rules specified in subclause 10.3 of RFC 7044 [3].

NOTE 2: The encoding of the reason header and the contained protocol-cause parameter are specified in RFC 3326 [24]. It is embedded in the hi-targeted-to-uri of the history info header in escaped format according to the rules in RFC 7044 [3].

NOTE 3: The cause-param is specified in RFC 4458 [14]. It is embedded in the hi-targeted-to-uri of the history info header in non-escaped format according to the rules in RFC 4458 [14].

NOTE 4: If the received hi-targeted-to-uri is a tel URI, it is converted to a SIP URI if the Reason or the Privacy header field has to be embedded

4.5.2.6.3 Diversion procedures at the diverting AS

The diverting AS shall continue the communication depending on the service that is causing the diversion:

1) Communication Forwarding Unconditional or Communication Forwarding Busy under network determined user busy or Communication forwarding on Not Logged in

The AS shall continue in the following manner:

– If the notification procedure of the originating user is supported then the originating user shall be notified as described in the subclause 4.5.2.6.4.

– An initial INVITE request containing the diverted-to URI shall be sent to the (outgoing) S-CSCF. The initial INVITE request shall include the parameter information as shown in table 4.5.2.6.2.4 and described in subclause 4.5.2.6.2.

– If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

2) Communication Forwarding No Reply

After receiving the first 180 (Ringing) response the no reply timer (definition see subclause 4.8) shall be started. If forking is provided by the S-CSCF a further received 180 (Ringing) response does not refresh the timer.

When receiving a 480 (Temporarily unavailable) final response including a Reason header field (see RFC 3326 [24]) with the protocol set to "Q.850" and the cause set to "19" the AS shall not refresh the no reply timer.

When receiving any other final response, the no reply timer shall be terminated.

When the no reply timer defined in subclause 4.8 expires:

– The dialog(s) to the diverting user shall be terminated e.g. by sending a CANCEL request or BYE request according to the rules and procedures in IETF RFC 3261 [6], including a Reason header field (see RFC 3326 [24]) with the protocol set to "SIP" and the cause set to "408".

– If the notification procedure of the originating user is supported then the originating user shall be notified as described in the subclause 4.5.2.6.4.

– An initial INVITE request is sent to the (outgoing) S-CSCF towards the diverted-to user. The initial INVITE request includes the parameter information as shown in table 4.5.2.6.2.4.

– If the diverting AS receives a SIP 18x response from the diverted-to user and the SIP 18x response does not contain a P-Early-Media header field, the diverting AS shall:

a) when sending the next SIP message towards the calling party on the existing early dialog, include a P-Early-Media header field with value "inactive"; or

b) send a SIP 199 (Early Dialog Terminated) response towards calling party on the existing early dialog, and forward the SIP 18x response on a new early dialog.

NOTE: A SIP 199 (Early Dialog Terminated) response can only be sent if the calling party has indicated support of it.

– If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

3) Communication Forwarding No Reply (ringing continues)

After receiving the first 180 (Ringing) response the no reply timer (definition see subclause 4.8) shall be started. If forking is provided by the S-CSCF a further received 180 (Ringing) response does not refresh the timer.

When the no reply timer defined in subclause 4.8 expires, an initial INVITE request is sent to the outgoing S-CSCF towards the diverted to user. The initial INVITE request includes the parameter information as shown in table 4.5.2.6.2.4.

When the diverting AS receives a provisional response or 200 (OK) response to initial INVITE request from diverted-to-user based on operator policy, The dialog(s) to the diverting user shall be terminated e.g. by sending a CANCEL request or a BYE request according to the rules and procedures in IETF RFC 3261 [6], including a Reason header field (see IETF RFC 3326 [24]) with the protocol set to "SIP" and the cause set to "408", and if the notification procedure of the originating user is supported, the originating user shall be notified as described in subclause 4.5.2.6.4.

If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

If diverting user accepts the communication after sending the initial INVITE request the communication path towards the diverted to user shall be released according to the rules and procedures in RFC 3261 [6].

4) Communication Forwarding Busy under User Determined User Busy

When the Communication Forwarding Busy under User Determined User Busy is offered to the served user, the AS shall proceed as follows:

– The received 486 (Busy Here) shall be acknowledged with an ACK request.

– If the notification procedures of the originating user are supported then the originating user shall be notified as described in the subclause 4.5.2.6.4.

– An initial INVITE request containing the diverted-to URI is sent to the outgoing S-CSCF. The initial INVITE request includes the parameter information as shown in table 4.5.2.6.2.4.

If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

5) Communication Deflection immediate response

The Communication Deflection immediate response is offered to the served user.

A 302 (Moved Temporarily) response is received.

If the notification procedures of the originating user are supported then the originating user shall be notified as described in subclause 4.5.2.6.4.

An initial INVITE request containing the diverted-to URI is sent to the outgoing S-CSCF. The initial INVITE request includes the parameter information as shown in table 4.5.2.6.2.4.

If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

6) Communication Deflection during alerting

When Communication Deflection during alerting is invoked after the AS receives a 180 (Ringing) "Ringing" response. then:

– A 302 (Moved Temporarily) response is received; and

– if the notification procedures of the originating user are supported then the originating user shall be notified as described in subclause 4.5.2.6.4; and

– an initial INVITE request containing the URI received in the Contact header of the 302 (Moved Temporarily) response as the diverted-to URI shall be sent as specified in 3GPP TS 24.229 [2]. The diverted-to URI could be restricted by setting the privacy header for the entry of the diverted-to URI to "history"; and

– the initial INVITE request shall include the parameter information as shown in table 4.5.2.6.2.4 "Parameter information for multiple redirection".

If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

7) Communication Forwarding on Subscriber Not Reachable

When the AS receives a not reachable indication (see subclause 4.5.2.6.6) on the initial INVITE request forwarded to the served user, then the following criteria shall apply before the Communication Forwarding on Subscriber Not Reachable procedure is executed:

– the served user has an active forwarding rule containing not-reachable condition (see subclause 4.9)

The following steps shall be followed to perform Communication Forwarding on Subscriber Not Reachable:

1) If the notification procedures of the originating user are supported then the originating user shall be notified as described in the subclause 4.5.2.6.4.

2) An initial INVITE request with the Request-URI set to the diverted-to URI is sent to the outgoing S-CSCF. The initial INVITE request includes the parameter information as shown in table 4.5.2.6.2.4.

If the served user has subscribed to the indication of communication diversion to the diverting user, then the served user will be notified of the communication diversion as described in subclause 4.5.2.6.5.

4.5.2.6.4 Notification procedures of the originating user (Subscription Option)

When Communication Diversion occurs and if served user has the subscription option "Originating user receives notification that his communication has been diverted (forwarded or deflected)." set to "yes" then a 181 (Call Is Being Forwarded) response shall be sent towards the originating user.

The following header fields shall be included or modified with the specified values:

a) The P-Asserted-Identity includes the URI of the diverting user.

b) The Privacy header with the value "id" shall be included, if:

– the served user wishes privacy (e.g. the served user is subscribed to the TIR Service); or

– the served user has the subscription option " Served user allows the presentation of his/her URI to originating user in diversion notification." set to "no".

c) The following entries shall be added to the History-Info header field:

1) If this is the first diversion then the first entry shall be populated with the hi-targeted-to-uri of the served user. The Index is set to index = 1 according to the rules specified in IETF RFC 7044 [3].

2) On the history entry that represents the served user:

the privacy header with value "history" shall be escaped within the hi-targeted-to-uri, if:

– the served user wishes privacy (e.g. the served user is subscribed to the TIR Service); or

– the served user has the subscription option "Served user allows the presentation of his/her URI to originating user in diversion notification." set to "no".

If the history is already in the escaped form with the correct privacy value no modification is needed.

If the history entry representing the served user contains the "gr" parameter and the served user has the subscription option "Served user allows the presentation of his/her URI to originating user in diversion notification" set to "not-reveal-as-GRUU", it shall be changed to the public user identity of the diverting user.

In all other cases the history entry representing the served user shall not be changed.

3) A history entry shall be added according to the rules of subclause 4.5.2.6.2.3 item b.2. In addition, for this entry:

1) if the history entry representing the forwarded to URI contains the "gr" parameter and the served user has the subscription option "Served user allows the presentation of diverted to URI to originating user in diversion notification" set to "not-reveal-as-GRUU", it shall be changed to the public user identity of the diverted-to user.

2) the privacy header with value "history" shall be escaped within the hi-targeted-to-uri or the hi-targeted-to-uri shall be set to an anonymous value.

Additionally, the AS may initiate an announcement to be included towards the calling user in order to inform about the diversion. Announcements may be played according to procedures as are described in 3GPP TS 24.628 [11].

4.5.2.6.5 Indication of communication diversion to the diverting user (subscription option)
4.5.2.6.5.0 General

If the subscription option "Served user receives indication that a communication has been forwarded (indication of communication diversion to the diverting user)" has been set to "yes", then one or a combination of the following procedures are possible:

– When the diverting user is registering to the communication system, the AS sends a MESSAGE request including the information where his calls are diverted to if any. As an option; the MESSAGE request may be sent to the user after a period of time according to the timer value CDIV Indication Timer as defined in subclause 4.8.3 that can be provided by the user.

– A diverting user will be informed periodically with a MESSAGE request the information where the call is diverted to.

NOTE 1: A diverting user could be informed via a Voicemail or Message mail system in the communication states described above.

– If the subscription option "Served user receives reminder indication on outgoing communication that CDIV is currently activated" has been set to "yes", then a diverting user will be informed with a MESSAGE request after the diverting user has initiated a new outgoing communication. The MESSAGE request includes the information where the call is diverted to.

NOTE 2: A diverting user could be informed via a Voicemail or Message mail system in the communication states described above.

The description of information text contained in the MESSAGE request is out of scope of the present document.

4.5.2.6.5.1 Void
4.5.2.6.5.2 Void
4.5.2.6.6 Not reachable indication

It is recommended that the AS interprets the reception of one of the following response events as not reachable indication:

– 408 (Request timeout) response;

– 503 (Service unavailable) response;

– 500 (Server Internal Error) response;

and no provisional response, different than a 100 (Trying) response, has been received on the same dialog.

NOTE: There can be other means to discover this condition. These other means are out of the scope of the present document.

If the 480 (Temporarily unavailable) final response including a Reason header field (see RFC 3326 [24]) with the protocol set to "Q.850" and the cause set to "19" is used as a no reply indication (for CFNR), the AS shall exclude this specific response from the not reachable condition.

4.5.2.7 Actions at the AS of the diverted-to user

If the session is diverted, the AS of the diverted-to user shall operate either as an AS acting as a SIP proxy as specified in subclause 5.7.4 of 3GPP TS 24.229 [2] or an AS providing 3rd party call control, and specifically as a routeing B2BUA, as specified in subclause 5.7.5 of 3GPP TS 24.229 [2].

NOTE 1: For the case when the session is not subject to diversion and CDIV, according the requirements in this document, is the only service being applied by the AS, then the AS only needs to act as a SIP proxy. If additional services are applied, then the AS might need to act as a routeing B2BUA.

The AS shall store the History-Info header of an incoming initial INVITE request.

If a 180 (Ringing), 181 (Call Is Being Forwarded) or 200 (OK) response does not contain a History-Info header field, the AS shall include the stored History-Info header field. If diverted-to user is subscribed to the TIR service, in the Privacy header field of all responses the priv-value of the last entry in the History-Info header field shall be set to "history".

NOTE 2: A response including no History-Info header field is coming from an untrusted entity or the History-Info header field is not included due to the privacy status within the SIP request.

4.5.2.8 Void

4.5.2.9 Void

4.5.2.10 Void

4.5.2.11 Void

4.5.2.12 Void

4.5.2.13 Void

4.5.2.14 Void

4.5.2.15 Actions at the diverted to UA

A UE supporting CDIV services shall support termination of requests in the IM CN subsystem (as specified in 3GPP TS 24.229 [2]).

NOTE 1: The Information given by the History-Info header field could be displayed by the UA if it is a UE.

NOTE 2: The terminating UE will find the diverting URI in the hi-entry of the History-Info header field whose hi-index matches the value of the hi-target-param "mp" in the last hi-entry containing a hi-target-param "mp" and a cause-param as specified in IETF RFC 4458 [14]. If the "mp" header field parameter is not present in the hi-entries within the History-Info header field, the information of the diverting user URI will be found in the hi-entry that precede the hi-entry containing a cause-param as specified in IETF RFC 4458 [14].

4.5.2.16 Actions at the diverting UA

A UE supporting CDIV services (e.g. CFU, CFB, CFNR, CD, CFNRc and CFNL) shall support termination of requests in the IM CN subsystem (as specified in 3GPP TS 24.229 [2]). If the UE is intended to support the user subscription option of "indication of communication diversion to the diverting user", this support shall include the receipt of MESSAGE requests (as specified in 3GPP TS 24.229 [2]).

To invoke Communication Deflection, the UA shall send a 302 (Moved Temporarily) response to the initial INVITE request including a Contact header field with the address where the communication is diverted to.

4.6 Interaction with other services

4.6.1 Communication Hold (HOLD)

No impact, i.e. neither service shall affect the operation of the other service.

4.6.2 Terminating Identification Presentation (TIP)

When a communication has been diverted, in order to provide the originating user with information about the diverted-to identity, the diverting AS shall include a SIP or TEL URI of the diverted-to user into a History-Info header field in a 181 (Call Is Being Forwarded) response message and send it to the originating AS, unless the diverting user has selected the option to suppress the notification of diversion. As it is not known what the diverted-to user’s TIR settings are, a privacy header field with a priv-value set to "history" needs to be included in escaped form in the hi-entry representing the diverted-to user; or the URI representing the diverted-to user may be set to an anonymous value.

A P-Asserted-Identity and History-Info header field received in the diverting AS is passed unmodified to the originating entity.

NOTE: The originating P-CSCF is responsible for the interpretation of the privacy header field as described in 3GPP TS 24.229 [2].

4.6.3 Terminating Identification Restriction (TIR)

A P-Asserted-Identity and History-Info header field received in the diverting AS is passed unmodified to the originating entity. If TIR applies for the served user, the diverting AS shall add a Privacy header field set to "id" and if a Privacy header field set to "none" is received the diverting AS shall remove it. If a Privacy header field set to "id" is received from the diverted-to user, the diverting AS shall pass it unchanged to the originating user.

NOTE: The originating P-CSCF is responsible of the interpretation of the privacy header field as described in 3GPP TS 24.229 [2].

If the served (diverting) user selects the option that the originating user is notified, but without the diverted-to SIP or TEL URI, then the AS shall send a 181 (Call is Being Forwarded) response and either:

– escape a Privacy header field with a priv-value set to "history" in the hi-entry representing the diverted-to user; or

– anonymize the hi-entry representing the diverted-to user.

4.6.4 Originating Identification Presentation (OIP)

When a communication has been diverted and the diverted-to user has been provided with the OIP service, normal procedures apply in the IMS network serving the diverted-to user. The diverting AS shall pass all received privacy headers unmodified. The diverting AS shall add the identity of the diverting user in the History-Info header field with an embedded Privacy header reflecting the served user’s privacy settings.

4.6.5 Originating Identification Restriction (OIR)

When the OIR service has been invoked, normal procedures apply in the IMS network serving the diverted-to user. The diverting AS shall pass all received privacy headers unmodified. The diverting AS shall add the identity of the diverting user in the History-Info header field with an embedded Privacy header reflecting the served user’s privacy settings.

NOTE: The P-CSCF executes the related privacy procedures as described in 3GPP TS 24.229 [2].

4.6.6 Conference calling (CONF)

No impact, i.e. neither service shall affect the operation of the other service.

4.6.7 Communication Diversion Services (CDIV)

CFU, CFNL, and CFB when NDUB is used are all determined immediately when an initial INVITE request is received, and take precedence over CDIV services that are based on a response (CD, CFNRc, CFNR, and CFB when UDUB is used). CFU take precedence over all other CDIV services and the CDIV AS shall evaluate the rule associated with CFU before CFNL and CFB when NDUB is used. As CFNL and CFB cannot occur simultaneously there is no interaction. For CDIV services that are based on a response, the response received first will invoke the associated CDIV service.

For the indication of communication diversion to the diverting user service, the provision and activation of at least one redirection service is a pre-requirement to provision and activate the indication of communication diversion to the diverting user service

4.6.8 Malicious Communication Identification (MCID)

No impact, i.e. neither service shall affect the operation of the other service.

4.6.9 Anonymous Communication Rejection and Communication Barring (ACR/CB)

If the user where the communication is forwarded to has subscribed to a call barring service "inhibition of incoming forwarded communication" the procedures described in 3GPP TS 24.611 [9] shall take precedence.

If the OCB service has already been activated, the CDIV AS shall reject a request to activate any CDIV service if the forwarding party’s communication to the diverted-to party would be barred by the OCB service.

If the CDIV service was activated before the activation of the OCB service, the OCB service can still be activated. When the two services have already been activated, the CDIV AS shall not invoke the CDIV service if the forwarding party’s communication to the diverted-to party would be barred by the OCB service at the time of the invocation attempt of the CDIV service.

4.6.10 Explicit Communication Transfer (ECT)

4.6.10.1 Actions at the diverting AS

4.6.10.1.1 Determine whether ECT is applied to the diverted communication

See 3GPP TS 24.629 [16] on the criteria that determine that a REFER request is to be treated as a request for transfer of an existing communication.

4.6.10.1.2 Handling of transfer requests

When a REFER request is received towards the originating user in the context of a call transfer scenario (see subclause 4.6.10.1.1), the diverting AS shall perform the following steps:

1) Create a new CDIV Session Identifier URI addressed to this AS. The URI shall be created in such a way that a new dialog set up towards this URI can be easily correlated with the current REFER dialog.

2) The AS stores the value of the Refer-To header field (transfer target) from the REFER request and links it to the CDIV Session Identifier URI.

3) The AS Replaces the Refer-To header field with the CDIV Session Identifier URI. (This ensures that the diverting AS remains in the loop when the transferee sets up the communication with the transfer target.).

4) The AS forwards the REFER request to the transferee using basic communication procedures 3GPP TS 24.229 [2].

A REFER request received towards the diverted-to user is forwarded using normal procedures.

4.6.10.1.3 Actions when CDIV is invoked again by the transferred communication

When an initial INVITE request is received targeted at the CDIV Session Identifier URI created earlier when transfer of the diverted ongoing communication was requested, the AS shall perform the following actions:

1) The AS replaces the request URI with the stored Refer-To header field value linked to the specific CDIV Session Identifier URI.

NOTE: If needed the AS can generate charging events to charge for the extra leg.

2) Void.

3) The AS forwards the initial INVITE request towards the transfer target using basic communication procedures 3GPP TS 24.229 [2].

4.6.11 Communication Waiting (CW)

Communication Forwarding Unconditional (CFU): CW has no impact on CFU. The communication will be forwarded without regard to the terminating party’s state. The CFU service can be activated while a call is waiting without changing the state of the waiting call. A forwarded communication can result in the communication waiting service.

Communication Forwarding Busy (CFB): No impact, i.e. neither service affects the operation of the other service. A forwarded communication can result in the communication waiting service.

NOTE 1: If the terminating party is NDUB, the CW service will not be invoked, and the CFB service is invoked if it was activated.

Communication Forwarding No Reply (CFNR): If the terminating party has activated the CFNR service, then the CW AS still shall offer a waiting communication. If the CFNR timer expires before an answer is received, then the CFNR service shall be invoked and the CDIV AS shall forward the communication. The CDIV AS cancels the communitication to the served user. A forwarded communication can result in the communication waiting service.

Communication Forwarding on Not Logged-in (CFNL): No impact, i.e. neither service affects the operation of the other service.

NOTE 2: If a party with an active communication waiting logs out, all active and offered communications would be released.

Communication Deflection (CD): When receiving the communication waiting indication, terminating party can invoke the CD service. A deflected communication can result in the communication waiting service.

Communication Forwarding on Subscriber Not Reachable (CFNRc): No impact, i.e. neither service affects the operation of the other service.

4.6.12 Completion of Communications to Busy Subscriber (CCBS)

The CC AS shall not divert a CC recall. It shall provide the CC recall to the original originating party.

4.6.13 Advice Of Charge (AOC)

No impact, i.e. neither service affects the operation of the other service.

4.6.14 Enhanced Calling Name (eCNAM)

The AS performing the CDIV service shall always send the original INVITE message without eCNAM information when communications diversion occurs. The enhanced CNAM service is described in 3GPP TS 24.196 [31].

4.6.15 Multi-Device (MuD)

No impact.

4.6.16 Multi-Identity (MiD)

No impact.

4.7 Interworking with other networks

4.7.1 Void

4.7.2 Void

4.7.3 Void

4.8 Parameter values (timers)

4.8.1 No reply timer

No reply timer: timer default duration shall be a service provider option. Based on a service provider option the user may set this timer to a value within the range specified in subclause 4.9.2.

4.8.2 Void

4.8.3 CDIV Indication Timer

CDIV Indication Timer: 60 sec to 00 sec.

The timer is started when the diverting user is registering to the communication system. Based on operator policy the user has the possibility to choose a certain timer value within the defined range.

4.9 Service Configuration for redirection services

4.9.1 Structure of the XML Document

4.9.1.0 General

Communication Diversion documents are subtrees of the simservs document specified in 3GPP TS 24.623 [4]. As such, Communication Diversion documents use the XCAP application usage in 3GPP TS 24.623 [4].

In addition to the considerations and constraints defined by the simservs document 3GPP TS 24.623 [4], we define the additional constraints and considerations for the Communication Diversion subtree:

XML schema: Implementations in compliance with the present document shall implement the XML schema that minimally includes the XML Schema defined in subclause 4.9.2 and the simservs XML schema specified in 3GPP TS 24.623 [4].

Data semantics: The semantics of the communication diversion XML configuration document is specified in subclause 4.9.1.

An instance of the supplementary services configuration containing a communication diversion configuration document.

<?xml version="1.0" encoding="UTF-8"?>

<simservs

xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap"

xmlns:cp="urn:ietf:params:xml:ns:common-policy"

xmlns:ocp="urn:oma:xml:xdm:common-policy">

<communication-diversion active="true">

rule set

</communication-diversion>

</simservs>

The communication diversion service contains a rule set that specifies how the communication diversion service shall react to external stimuli.

4.9.1.1 Communication Diversion Element

The communication diversion configuration contains a noReplyTimer element, a rule set, or a noReplyTimer element followed by a rule set.

The rule set reuses the syntax as specified by the common policy draft (see RFC 4745 [18]).

<communication-diversion active="true">

<NoReplyTimer>NoReplyTimerValue</NoReplyTimer>

<cp:ruleset>

rule1

rule2

</cp:ruleset>

</communication-diversion>

In general, the following procedure applies:

When the service processes a set of rules it shall start executing the first rule. If:

– the rule has no <conditions> element;

– the rule has an empty <conditions> element; or

– conditions are present and they all evaluate to true;

then the rule matches and the specified action shall be executed.

When the rule does not match the following rule shall be selected and the same procedure repeated, until a matching rule is found or the set of remaining rules is empty.

However not all rules can be matched at the same moment in the call. Some conditions imply that rules that carry them are checked at specific events in the call, for example the no-answer condition only holds when the called party does not answer after a while. In this case the same procedure shall apply as above with the modification that the set of rules to process contains only the rules applicable for that specific network event.

In subclause 4.9.1.3 all allowed conditions are specified, normally rules are evaluated at communication setup time, for conditions where this is not the case this is explicitly indicated.

The shown "active" attribute is inherited from the simservType from 3GPP TS 24.623 [4], its meaning is also specified in 3GPP TS 24.623 [4].

4.9.1.1A NoReplyTimer

NoReplyTimer: An optional element that covers the time to elapse until the communication diversion shall perform, if the served user does not answer when alerted.

4.9.1.2 Communication Diversion Rules

The Communication Diversion service is configured with an ordered set of forwarding rules. The XML Schema reuses the rule syntax as specified by the common policy draft (see IETF RFC 4745 [18]). The rules take the following form:

<cp:rule id="rule66">

<cp:conditions>

condition1

condition2

</cp:conditions>

<cp:actions>

<forward-to>

<target>

targetAddress1

</target>

<notify-caller>true</notify-caller>

</forward-to>

</cp:actions>

</cp:rule>

To give more guidance, an example of such a rule is shown below:

<cp:rule id="rule66">

<cp:conditions>

<ss:busy/>

<ss:media>audio</ss:media>

<cp:identity>

<cp:one>id=serveduser@domain</cp:one>

</cp:identity>

</cp:conditions>

<cp:actions>

<forward-to>

<target>

targetAddress1

</target>

<notify-caller>true</notify-caller>

</forward-to>

</cp:actions>

</cp:rule>

When the service processes a set of rules it shall start executing the first rule. If:

– the rule has no <conditions> element;

– the rule has an empty <conditions> element; or

– conditions are present and they all evaluate to true;

then the rule matches and the specified action is executed. When a rule matches remaining rules in the rule set shall be discarded. Applied to the fragment above this means that only if the expression (condition1 AND condition2) evaluates to true that then the rule66 matches and the forward-to action is executed.

When the rule does not match the following rule shall be selected and the same procedure repeated, until a matching rule is found or the set of remaining rules is empty.

The "id" attribute value of a rule shall uniquely identify the rule within a rule set. This can be used in XCAP usage to address one specific rule.

4.9.1.3 Communication Diversion Rule Conditions

The following conditions are allowed by the XML Schema for the communication diversion service:

busy: This condition evaluates to true when the called user is busy. In all other cases the condition evaluates to false. Rules with this condition are evaluated when a busy indication is received. Receipt of a SIP 486 (Busy Here) response is a busy indication.

not-registered: This condition evaluates to true when the called user is not registered. In all other cases the condition evaluates to false.

presence-status: This condition evaluates to true when the called user’s current presence activity status is equal to the value set for this condition. In all other cases the condition evaluates to false.

cp:identity: This condition evaluates to true when the calling user’s identity matches with the value of the identity element. The interpretation of all the elements of this condition is described in OMA-TS-XDM-Core-V1_1 [21]. In all other cases the condition evaluates to false. The Identity shall be matched against the value taken from the P-Asserted-Identity header field, and in addition as an option matched against the From header field and/or the Referred-By header field, unless both the <identity> element value and the Contact header field value contain a "gr" parameter, then the <identity> element value shall be matched against the value taken from the Contact header field.

anonymous: This condition evaluates to true when the P-Asserted-Identity of the calling user is not provided or privacy restricted.

cp:sphere: Not applicable in the context of the Communication Diversion service.

cp:validity: Specifies a period. The condition evaluates to true when the current time is within the validity period expressed by the value of this condition. In all other cases the condition evaluates to false.

media: When the incoming call request for certain media, the forwarding rule can decide to forward the call for this specific media. This condition evaluates to true when the value of this condition matches the media field in one of the "m=" lines in the SDP (IETF RFC 4566 [5]) offered in an initial INVITE request (IETF RFC 3261 [6]).

no-answer: This condition evaluates to true when the called user does not answer. In all other cases the condition evaluates to false. Rules with this condition are evaluated when a no-answer timeout is detected or when a no answer indication is received.

rule-deactivated: This condition always evaluates to false. This can be used to deactivate a rule, without loosing information. By removing this condition, the rule can be activated again.

ocp:external-list: This condition evaluates to true when the calling users identity is contained in an external resource list to which the value of external-list refers. The exact interpretation of this element is specified in OMA-TS-XDM-Core-V1_1 [21].

ocp:other-identity: Not applicable in the context of communication diversion service.

not-reachable: This condition evaluates to true when there is a signalling channel outage during session setup to the served user’s UE. Receipt of a 500 (Server Internal Error) response is an indication that the served user’s UE is unreachable. In all other cases this condition evaluates to false.

NOTE 1: As described in IETF RFC 4745 [18] the case of unconditional evaluates to be true in all cases where all other reasons are not applicable. A communication diversion is performed as soon as the served user is the called user. The indication of unconditional is the absence of any reason element in the ss:condition element.

NOTE 2: The UE being not reachable does not include being not registered.

The condition elements that are not taken from the common policy schema (see IETF RFC 4745 [18]) or oma common policy schema (see OMA-TS-XDM-Core-V1_1 [21]) are defined in the simservs document schema specified in 3GPP TS 24.623 [4].

Information of which of the above mentioned conditions the user is allowed to use can be obtained from the network by using the schema defined in subclause 4.9.3.

The "serv-cap-media" element lists the elements that can be used in the "media" rule condition.

4.9.1.4 Communication Diversion Rule Actions

The action supported by the CDIV service is forwarding of calls. For this the forward-to action has been defined. The forward-to action takes the following elements:

target: Specifies the address of the forwarding rule. It should be a SIP URI (IETF RFC 3261 [6]) or tel URI (IETF RFC 3966 [7]). If the address is a tel URI and it is not an international number in E.164 format, the "phone-context" tel URI parameter is set in accordance with subclause 7.2A.10 of 3GPP TS 24.229 [2]. An empty target element indicates that the CDIV service is not registered but is provisioned for the user.

notify-caller: An optional element that can be used to disable the default behaviour that the caller is notified that the call is being forwarded. (see subscription option "Originating user receives notification that his communication has been diverted (forwarded or deflected)" in table 4.3.1.1).

reveal-served-user-identity-to-caller: An optional element that can be used to disable the default behaviour that the caller, when notified that the call is being forwarded, receives the diverting party’s identity information. (see subscription option "Served user allows the presentation of his/her URI to originating user in diversion notification" in table 4.3.1.1).

reveal-identity-to-caller: An optional element that can be used to disable the default behaviour that the caller, when notified that the call is being forwarded, receives some diverted-to party’s identity information. (see subscription option "Served user allows the presentation of diverted to URI to originating user in diversion notification" in table 4.3.1.1).

notify-served-user: An optional element that can be used to enable that the served user is indicated that calls are being forwarded. Default this is switched off. (see subscription option "Served user receives indication that a communication has been forwarded (indication of communication diversion to the diverting user)" in table 4.3.1.1).

notify-served-user-on-outbound-call: An optional element that can be used to enable that the served user is notified that calls are being forwarded when he makes a call attempt. Default this is switched off. (see subscription option "Served user receives reminder indication on outgoing communication that CDIV is currently activated" in table 4.3.1.1).

reveal-identity-to-target: An optional element that can be used to disable the default behaviour that the diverted-to party receives some identity information of the diverting party. (see subscription option "Served user allows the presentation of his/her URI to diverted‑to user" in table 4.3.1.1).

Information of which of the above mentioned actions the user is allowed to use can be obtained from the network by using the schema defined in subclause 4.9.3. The ‘serv-cap-target’ element indicates whether the user is allowed to use any URI as target or whether the target needs to correspond to a telephone number, i.e. a SIP URI with a "user" URI parameter set to "phone" or a tel URI.

If a matching rule with an empty <actions> element is inserted, the CDIV AS abandons the rest of the rules and continues with the terminating procedures.

NOTE: This can be used to avoid that a communication diversion based on multiple media conditions is diverted by a later rule with only one of these media conditions. The UE has no need for including such a rule unless it is provided by the network.

4.9.1.5 Supported Actions and Conditions for Communication Diversion

The supported actions and conditions for communication diversion are configured with a list of action capability and condition capability elements. These capability elements are read only and indicate which capabilities related to communication diversion the network has provisioned for a user.

EXAMPLE: An instance of the simulation services configuration containing a service capabilities document for communication diversion is shown in the following example. It is based on operator policy if the restriction of <serv-cap-target> element to <telephony-type> is needed. In this example, the same capabilities as in call diversion in a CS network are supported.

<?xml version="1.0" encoding="UTF-8"?>

<simservs

xmlns="http://uri.etsi.org/ngn/params/xml/simservs/xcap">

<communication-diversion-serv-cap active="true">

<serv-cap-conditions>

<serv-cap-external-list provisioned="false"></serv-cap-external-list>

<serv-cap-identity provisioned="false"></serv-cap-identity>

<serv-cap-media>

<media>audio</media>

<media>video</media>

</serv-cap-media>

<serv-cap-presence-status provisioned="false"></serv-cap-presence-status>

<serv-cap-validity provisioned="false"></serv-cap-validity>

<serv-cap-unconditional provisioned="true"></serv-cap-unconditional>

</serv-cap-conditions>

<serv-cap-actions>

<serv-cap-target>

<telephony-type/>

</serv-cap-target>

<serv-cap-notify-served-user-on-outbound-call provisioned="false">

</serv-cap-notify-served-user-on-outbound-call>

<serv-cap-reveal-identity-to-caller provisioned="false">

</serv-cap-cap-reveal-identity-to-caller>

<serv-cap-reveal-served-user-identity-to-caller provisioned="false">

</serv-cap-reveal-served-user-identity-to-caller>

<serv-cap-reveal-identity-to-target provisioned="false">

</serv-cap-reveal-identity-to-target>

</serv-cap-actions>

</communication-diversion-serv-cap>

</simservs>

4.9.2 XML Schema

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

xmlns:ss="http://uri.etsi.org/ngn/params/xml/simservs/xcap"

xmlns:cp="urn:ietf:params:xml:ns:common-policy"

xmlns:ocp="urn:oma:xml:xdm:common-policy"

targetNamespace="http://uri.etsi.org/ngn/params/xml/simservs/xcap"

elementFormDefault="qualified"

attributeFormDefault="unqualified">

<!– import common policy definitions –>

<xs:import namespace="urn:ietf:params:xml:ns:common-policy" schemaLocation="common-policy.xsd"/>

<!– import OMA common policy extensions –>

<xs:import namespace="urn:oma:xml:xdm:common-policy" schemaLocation="xdm_commonPolicy-V1_0.xsd"/>

<!– communication diversion specific extensions to IETF common policy conditions. The cp:conditionsType is expanded with the elements: ss:not-registered, ss:busy, ss:no-answer, ss:not-reachable, ss:media as optional elements –>

<!– communication diversion rule set based on the common policy rule set.–>

<xs:element name="communication-diversion" substitutionGroup="ss:absService">

<xs:annotation>

<xs:documentation>This is the communication diversion configuration document.</xs:documentation>

</xs:annotation>

<xs:complexType>

<xs:complexContent>

<xs:extension base="ss:simservType">

<xs:sequence>

<!– add service specific elements here–>

<xs:element ref="ss:NoReplyTimer" minOccurs="0"/>

<xs:element ref="cp:ruleset" minOccurs="0"/>

</xs:sequence>

</xs:extension>

<!– service specific attributes can be defined here –>

</xs:complexContent>

</xs:complexType>

</xs:element>

<!– communication diversion specific extensions to IETF common policy actions–>

<xs:element name="forward-to" type="ss:forward-to-type"/>

<xs:simpleType name="reveal-URI-options-type">

<xs:restriction base="xs:string">

<xs:enumeration value="false"/>

<xs:enumeration value="not-reveal-GRUU"/>

<xs:enumeration value="true"/>

</xs:restriction>

</xs:simpleType>

<!– communication diversion specific type declarations –>

<xs:complexType name="forward-to-type">

<xs:sequence>

<xs:element name="target" type="xs:anyURI" minOccurs="1" maxOccurs="1"/>

<xs:element name="notify-caller" type="xs:boolean" default="true" minOccurs="0"/>

<xs:element name="reveal-identity-to-caller" type="ss:reveal-URI-options-type" default="true" minOccurs="0"/>

<xs:element name="reveal-served-user-identity-to-caller" type="ss:reveal-URI-options-type" default="true" minOccurs="0"/>

<xs:element name="notify-served-user" type="xs:boolean" default="false" minOccurs="0"/>

<xs:element name="notify-served-user-on-outbound-call" type="xs:boolean" default="false" minOccurs="0"/>

<xs:element name="reveal-identity-to-target" type="ss:reveal-URI-options-type" default="true" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:element name="NoReplyTimer">

<xs:simpleType>

<xs:restriction base="xs:positiveInteger">

<xs:minInclusive value="5"/>

<xs:maxInclusive value="180"/>

</xs:restriction>

</xs:simpleType>

</xs:element>

</xs:schema>

4.9.3 XML schema for indication of supported conditions and actions

?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ss="http://uri.etsi.org/ngn/params/xml/simservs/xcap" targetNamespace="http://uri.etsi.org/ngn/params/xml/simservs/xcap" elementFormDefault="qualified" attributeFormDefault="unqualified">

<xs:annotation>

<xs:documentation xml:lang="en">

This schema defines elements that are used to inform the UE which conditions and actions the

network support.

</xs:documentation>

</xs:annotation>

<xs:include schemaLocation="XCAP.xsd"/>

<xs:element name="communication-diversion-serv-cap" substitutionGroup="ss:absService">

<xs:complexType>

<xs:complexContent>

<xs:extension base="ss:simservType">

<xs:sequence>

<xs:element name="serv-cap-conditions" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="serv-cap-anonymous" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-busy" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-external-list" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-identity" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-media" type="ss:supported-media-type"

minOccurs="0"/>

<xs:element name="serv-cap-not-registered" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-no-answer" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-not-reachable" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-presence-status" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-rule-deactivated" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-validity" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-unconditional"

type="ss:provisioned-type" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="serv-cap-actions" minOccurs="0">

<xs:complexType>

<xs:sequence>

<xs:element name="serv-cap-target" type="ss:provisioned-target-type"

minOccurs="0"/>

<xs:element name="serv-cap-notify-caller" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-notify-served-user" type="ss:provisioned-type"

minOccurs="0"/>

<xs:element name="serv-cap-notify-served-user-on-outbound-call"

type="ss:provisioned-type" minOccurs="0"/>

<xs:element name="serv-cap-reveal-identity-to-caller"

type="ss:provisioned-type" minOccurs="0"/>

<xs:element name="serv-cap-reveal-served-user-identity-to-caller"

type="ss:provisioned-type" minOccurs="0"/>

<xs:element name="serv-cap-reveal-identity-to-target"

type="ss:provisioned-type" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:sequence>

</xs:extension>

</xs:complexContent>

</xs:complexType>

</xs:element>

</xs:schema>

4.10 Void

Annex A (informative):
Signalling Flows