6.2.5 Processing the USSD request

23.0903GPPRelease 17Stage 2TSUnstructured Supplementary Service Data (USSD)

When a network entity is to process a USSD request locally, the request shall be handled by an appropriate application. The location, nature and contents of USSD applications is, by definition, service provider and network operator dependent, but may include:

– Setting up or releasing signalling and/or speech channels;

– Passing the request to another network entity (unchanged or changed);

– Passing a different USSD request to another network entity;

and/or

– Requesting further information from the MS (one or more times).

Upon completion of handling the request, the network entity shall respond to the request and release the transaction.

Figure 6.1: Mobile initiated USSD at MS

Figure 6.2 (sheet 1 of 3): Mobile initiated USSD at MSC

Figure 6.2 (sheet 2 of 3): Mobile initiated USSD at MSC

Figure 6.2 (sheet 3 of 3): Mobile initiated USSD at MSC

Figure 6.3: Application initiated USSD at MSC

Figure 6.4 (sheet 1 of 3): Mobile initiated USSD at VLR

Figure 6.4 (sheet 2 of 3): Mobile initiated USSD at VLR

Figure 6.4 (sheet 3 of 3): Mobile initiated USSD at VLR

Figure 6.5: Application initiated USSD at VLR

Figure 6.6: Mobile initiated USSD at HLR

MS MSC VLR HLR
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│Request handled by MSC │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │OR1:N│ │ │ │ │
│ │USSD response│ │ │ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│Request handled by VLR │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│OR1:Y│ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │OR2:N│ │ │
│ │ │ │USSD response│ │ │ │
│ │USSD response│ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│Request handled by HLR │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│OR1:Y│ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│OR2:Y│ │ │
│ │ │ │ │ │USSD request │ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │USSD response│ │
│ │ │ │USSD response│ │<────────────┤ │
│ │USSD response│ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │

NOTE: OR1: HPLMN service code Y: Yes
OR2: HPLMN service code and user not in HPLMN N: No

Note that the application at the MSC/VLR may pass the request on to another network entity. This is not shown here.

Figure 6.7: Information flow for mobile initiated USSD Request (No further information requested)

MS MSC VLR HLR
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │USSD request │ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │USSD request │ │
│ │ │ │USSD request │ │<────────────┤ │
│ │USSD request │ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD response│ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD response│ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │USSD response│ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │
: : : : : : : :
: : : : : : : :
: : : : : : : :
│ │ │ │ │ │USSD request │ │
│ │ │ │USSD request │ │<────────────┤ │
│ │USSD request │ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD response│ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD response│ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │USSD response│ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │USSD response│ │
│ │ │ │USSD response│ │<────────────┤ │
│ │USSD response│ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │

NOTE: Note that this call flow only shows one example to illustrate the possible scenarios. See the SDL diagrams for a complete description.

Figure 6.8: Information flow for mobile initiated USSD Request Handled by HLR, further information requested

MS MSC VLR HLR
┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐
│ │ │ │ │ │ │ │
│Error detected at MSC │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ Error │ │ │ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│Error detected at VLR │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ Error │ │ │ │
│ │ Error │ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│Error detected at HLR │ │ │ │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │USSD request │ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ Error │ │
│ │ │ │ Error │ │<────────────┤ │
│ │ Error │ │<────────────┤ │ │ │
│ │<────────────┤ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│MS clears transaction before response received │ │
│ │ │ │ │ │ │ │
│ │USSD request │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │USSD request │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │USSD request │ │
│ │ │ │ │ ├────────────>│ │
│ │ Release │ │ │ │ │ │
│ ├────────────>│ │ │ │ │ │
│ │ │ │ Release │ │ │ │
│ │ │ ├────────────>│ │ │ │
│ │ │ │ │ │ Release │ │
│ │ │ │ │ ├────────────>│ │
│ │ │ │ │ │ │ │

NOTE: This call flow only shows a limited number of examples to illustrate the possible scenarios. See the SDL diagrams for a complete description.

Figure 6.9: Information flow for mobile initiated failed USSD Request