N.2 Digit collection function

24.2293GPPIP multimedia call control protocol based on Session Initiation Protocol (SIP) and Session Description Protocol (SDP)Release 18Stage 3TS

N.2.1 General

The digit collection function is invoked if an entity requires additional digits for a decision where to route a INVITE request.

NOTE 1: The digit collection function is only applicable for the in-dialog method of overlap signalling. Further information about digit collection is provided in subclause 4.9.3.3.

The digit collection function may interact with a routeing database, to reach this decision. The digit collection function shall be performed by an entity acting as a B2BUA. The digit collection function requires the ability to recognise incomplete numbers. The digit collection function may be implemented in different network nodes depending on the operator’s deployment strategy (e.g. AS, IBCF).

NOTE 2: An HSS does not support the recognition of incomplete numbers. A routeing database being queried by ENUM also does not support the recognition of incomplete numbers.

NOTE 3: A private routeing database to support the recognition of incomplete numbers e.g. for transit calls or ported numbers can be used.

N.2.2 Collection of digits

N.2.2.1 Initial INVITE request

Upon receiving an initial INVITE request carrying an SDP offer, the digit collection function shall:

1) if the request contains enough digits to forward the request, forward the request towards it’s destination;

2) if the digit collection function chooses to collect additional digits in INFO requests, in order to forward the request, and the sender of the INVITE request has indicated support of reliable responses, store the received digits and send a reliable 183 (Session Progress) provisional response in order to establish an early dialog with the sender of the INVITE request. The response shall not contain an SDP answer; or

3) if it is determined that the en-bloc will not be able to forward the request even if additional digits are received,, send a 404 (Not Found) response.

Upon receiving an initial INVITE request without an SDP offer, the digit collection function shall:

1) if the request contains enough digits to forward the request, forward the request towards it’s destination; or

2) send a 404 (Not Found) response.

NOTE 1: If the initial INVITE request does not contain an SDP offer, a reliable 18x provisional response generated by the en-bloc conversion function would have to contain an SDP offer. In this case digit collection needs to be performed by the originating SIP entity (e.g. MGCF).

When the digit collection function sends the reliable 183 (Session Progress) provisional response, in order to establish an early dialog with the sender of the INVITE request, the digit collection function shall start a digit collection timer. If the timer expires, the digit collection function shall terminate the call setup by sending a sending a 484 (Address Incomplete) response towards the sender of the INVITE request.

NOTE 2: The digit collection timer is similar to the protection timer used in PSTN/ISDN. The timer value range is between 5 and 15 seconds, and the default value is 10 seconds.

N.2.2.2 Collection of additional digits

Upon receiving an INFO request carrying additional digits, and if an early dialog towards the destination of the initial INVITE request for the call does not exist, the digit collection function shall:

1) send a 200 (OK) response to the INFO request;

2) add the received digits to the previously stored digits for the call;

3) restart the digit collection timer; and

4) check if enough digits have been received in order to forward the initial INVITE request.

When enough digits for the call have been received in order to forward the initial INVITE request, the digit collection function shall add all stored digits to the request URI and forward the request towards its destination and stop the digit collection timer.

Upon receiving an INFO request carrying additional digits, and the initial INVITE request has been forwarded towards its destination, but an early dialog towards the destination of the initial INVITE request for the call does not exist, the digit collection function shall:

1) send a 200 (OK) response to the INFO request; and

2) add the received digits to the previously stored, but yet not forwarded, digits for the call;

When the digit collection function receives a provisional response from the destination of the initial INVITE request, and the digit collection function has received additional digits in INFO requests, the digit collection shall generate and send an INFO request towards the destination of the initial INVITE request. The Request-URI shall contain all digits which have been received and stored since the initial INVITE request was forwarded.

Upon receiving an INFO request carrying additional digits, and if an early dialog towards the destination of the initial INVITE request for the call does exist, the digit collection function shall forward the INFO request on the early dialog towards the destination of the initial SIP INVITE request.

Upon receiving an INFO request carrying additional digits, and if a 180 (Ringing) or a 200 (OK) response to the initial INVITE request for the call has been received, or the digit collection function has received some other indication that enough digits have been forwarded in order for the INVITE request to reach the terminating SIP user, the digit collection function shall, based on operator policy:

1) send a 200 (OK) response to the INFO request and not forward the INFO request; or

2) forward the INFO request on the early dialog towards the destination of the initial SIP INVITE request.

N.2.2.3 Handling of 404 (Not Found) / 484 (Address Incomplete) responses

Upon receiving a 404/484 response to the initial INVITE request, the digit collection function shall acknowledge the response and shall start the digit collection timer. The digit collection function shall not forward the response towards the sender of the INVITE request.

NOTE: If the digit collection function has received a 404/484 response, it will send a new initial INVITE request when it has received additional digits as described above, in order to establish an early dialog towards the destination of the INVITE request. The digit collection timer will re-start if an INFO request with additional digits is received. At timer expiry, the digit collection function will terminate the call as described above

N.2.3 Forwarding of SIP messages by the digit collection function

Apart from 404/484 responses to the initial INVITE request, and INFO requests carrying additional digits received after a 180 (Ringing) or a 200 (OK) response to the initial INVITE request has been received, the digit collection function shall forward all SIP messages. When forwarding SIP messages, the digit collection function shall modify the SIP messages to comply with SIP procedures on both call legs as specified below:

1) The digit collection function will receive a "tag" To header field parameter value from the receiver of the initial INVITE request, which is different from the "tag" To header field parameter value that the digit collection function inserted in the 183 (Session Progress) response that it sent when it received the initial INVITE request. The digit collection function shall modify the "tag" header field parameter value accordingly when forwarding mid-dialog SIP messages.

2) The digit collection function will return a Contact header field in the initial 183 (Session Progress) provisional response to the originating side, which contains a SIP-URI of the digit collection function. The contact information is used in the Request-URI of subsequent mid-dialog SIP requests sent by the originating side, until the digit collection function has received, and forwarded to the originating side, a 183 (Session Progress) provisional response from the destination of the INVITE request. If the Request-URI of the received mid-dialog SIP request contains the SIP-URI of the digit collection function, and the digit collection function forwards the request, the digit collection function shall modify the Request-URI before forwarding the SIP request.

3) The digit collection function will return the Record-Route header fields, which it received in the initial INVITE request, in the initial 183 (Session Progress) provisional response to the originating side. The information is used in the Route header fields of subsequent mid-dialog SIP requests sent by the originating side, until the digit collection function has received, and forwarded to the originating side, a 183 (Session Progress) provisional response from the destination of the INVITE request. If the Route header fields of the received mid-dialog SIP request are based on the Record-Route headers fields which the digit collection function returned in the initial 183 (Session Progress) provisional response, and the digit collection function forwards the request, the digit collection function shall modify the Route header fields before forwarding the SIP request.