Configuring USSD Call Back Services

Configure Unstructured Supplementary Service Data (USSD) callback services to enable Call Control Framework (CCF) to connect two mobile subscribers by performing a USSD callback request.

The USSD callback service returns information about callback request results in a USSD query notification. To enable USSD query notifications, you must configure USSD notifications and USSD query services. For information about configuring USSD notifications, see the discussion about configuring USSD notifications. For information about configuring USSD query services, see the discussion about configuring USSD queries.

Configuring the SCCP SSN for USSD Callback Services

When processing MATRIXX initiated calls, the USSD callback service uses the point code (pc) and global title (gt) values from the SCCP calling party address configured for request messages. These values are also used when processing other requests, such as MAP call outs and USSD notifications. When configuring the SCCP calling party address for requests, you also configure the SCCP sub-system numbers (SSNs) to use. You must configure a separate SSN for MATRIXX initiated calls. The following create_config.info question sets the SCCP SSN to use for MATRIXX initiated calls:
Engine 1:Cluster 1:LogicalBlade 1:What is the SCCP sub-system number for MATRIXX initiated calls from this blade?
You can configure a separate SCCP calling party address and SSN per called global title. For example, you can set the calling global title to 4512345678 if the called global title starts with 45.

For more information about configuring SCCP calling party addresses, see the discussion about how to configure the SCCP address for requests.

Configuring Call Initiation Properties for Voice Services

During MATRIXX Engine configuration, system administrators can set the following properties for calls initiated by MATRIXX, on a per voice service basis:
  • The number of seconds to delay call initiation.
  • The maximum number of call initiation retries.
  • Whether to limit the number of concurrent call initiation sessions or concurrent sessions to one per subscriber, and the IDs to use for limiting calls for the call initiation session limit and voice session limit services.
  • Whether to send an InitiateCallAttempt operation for the A-party first or for the B-party first.
  • The list of release cause values to check for call initiation retries.
The following create_config.info questions set call initiation properties for a voice service, where the voice service name replaces vcs_service:
Camel Gateway:VCS vcs_service:What pre call initiation delay in seconds do you want for the vcs_service calls service?
Camel Gateway:VCS vcs_service:How many tries do you want for the call initiation a_party for the vcs_service calls
                                service?
Camel Gateway:VCS vcs_service:Do you want to add a session limit service id for the vcs_service calls service?n
Camel Gateway:VCS vcs_service:Do you want to add a call initiation session limit service id for the vcs_service calls
                                        service?y
Camel Gateway:VCS vcs_service:What call initiation session limit service id do you want for the vcs_service calls
                                service? 
Camel Gateway:VCS vcs_service:For call initiation, do you want InitiateCallAttempt(A-party) to be sent before InitiateCallAttempt(B-party) for this service
                                        (y/n)?y
Camel Gateway:VCS vcs_service:Do you want to add call initiation release cause values in the vcs_service calls service?y
Camel Gateway:VCS vcs_service:Enter a list of release causes to be checked in order to retry call initiation in the vcs_service calls
                                        service?
For more information, see the discussion about call initiation configuration properties.

Configuring USSD Callback Service Properties

During MATRIXX Engine configuration, system administrators can set the following properties for USSD callback services:
  • The list of subscriber sources to search for in the incoming network request. When processing a USSD callback request, the subscriber source determines the primary subscriber (the A-party) for the MATRIXX initiated call (InitiateCallAttempt operation). The subscriber source list can include the following values:
    • MsisdnFromUssdParameter
    • DestinationReferenceId
    • MsisdnFromDatabase
  • The name of the rule set that the USSD callback service uses for number normalization or denormalization (set to "default" by default).
  • Configuration options for configuring the behavior of the USSD callback default service, and any additional USSD callback services, such as:
    • The IDP service key of the voice service to use for the USSD callback service.
    • The operator-defined service code to use for the USSD callback service.
      Note: In the USSD string, the service code prefixes the destination number (the B-party number). For example, a subscriber could enter *124*0722724681234# on their handset, where 124 is the service code (or Service Access Number (SAN)) and 0722724681234 is the B-party number.
    • The ID of an existing voice service to use when connecting the A and B parties.
    • The USSD callback call initiation SCCP address.
    • The format for the callback string in the ussd_String field of the USSD message. One of:
      • *SAN*B_NUMBER#
      • *SAN#B_NUMBER#
      where the B_NUMBER for the destination is substituted in the callback string.
    • The USSD callback response type, which determines when, during the call initiation process, to send the USSD response.
The following create_config.info questions set general properties for USSD callback services and properties for the USSD default callback service.
Note: For each additional USSD callback service, the create_config.info questions are the same as those for the USSD default callback service.
Camel Gateway:What subscriber sources are required for the USSD call back service?MsisdnFromDatabase 
Camel Gateway:What rule set should be use for number normalization for the USSD call back service?default
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back idp service key?222
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back service code?124
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back voice service id?1 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP address type (pc/gt)?pc
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP point code?0
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP global title type?4 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP global title translation type?1 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP global title number plan?1 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP global title Nature of Address?4
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP global title digits?12345678
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back call initiation SCCP subsystem number (ssn)?0 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back format of the USSD call back string?*SAN*B_NUMBER 
Camel Gateway:USSDCB default_ussd_incoming:Enter the USSD call back response type?respond_before_call_initiation
Camel Gateway:How many additional USSD Call back services do you wish to create?0 
For more information, see the discussion of USSD callback service configuration properties.

Configuring the Notification Template for USSD Callback Services

MATRIXX returns the results of USSD callback requests in a USSD query notification performed through the /opt/mtx/notifier/templates/ussd/ussd-query/mtxUssdQueryNotification.ftl Apache FreeMarker template file. You must configure the Apache FreeMarker template to handle the notification messages for the USSD callback results. The body data variables that you can use include:
  • body.AuthResult
  • body.AuthResultDetail
  • body.Result
  • body.ResultDetail
  • body.ussdString
  • body.ussdSCP
  • body.ussdSC
  • body.ussdSIList

For information about Apache FreeMarker template configuration, see the discussion about Apache FreeMarker template configuration.

For an example configuration, see the USSD callback service ftl example.