USSD SI Orchestrator CDR

The USSD SI (Orchestrator) generates a set of CDRs at various times in the system. The following is a list of the CDRs generated; the corresponding fields in these CDRs are described in more detail throughout this chapter and a sample /Orchestrator CDR breakdown is also provided.

All CDRs have a Service ID of 17.

Subsections include:

USSD SI start CDR

The USSD Service Interpreter generates a SESSION_START CDR, printed at the beginning of each USSD session handled by the Service Interpreter.

Subsections include:

Field Name Description

1

Subscriber ID

The MSISDN of the subscriber. This is in Tango internal format.

2

Service ID

The service ID number. It is always 17 for the USSD SI Orchestrator.

3

Transaction Type

The type of transaction. The type is 40 for start session CDRs.

4

Unused

Blank field.

5

Unused

Blank field.

6

Date

The date when the CDR was generated. Format: YYYY-MM-DD.

7

Time

The time when the CDR was generated. Format: hh:mm:ss.

8

CDR Correlation ID

The unique ID for the dialogue. All other CDRs associated with this dialogue will contain this correlation ID.

9

Service Code

Numeric code entered by the user to select the service they wished to use.

Each tenant in the NAC is identified by its own service code.

10

Sequence Number

This number identifies the order of the operation within the dialogue. The value is always 0 for START_SESSION_CDR.

11

Session Type

Identifies how the dialogue commenced.

options
  • mi = mobile-initiated

  • ni = network-initiated

12

Service Definition Index

Identifies the service which is carried out for this dialogue. The value corresponds to the order in which services are defined in the configuration file generated by the SCE. This should be a positive integer.

A value of -1 indicates the dialogue was not mapped to the service.

13

Service Definition Name

Identifies the name of the service as defined using the SCE, such as Voucher refill service for example.

This field can be enabled or disabled in the USSD_SI_main.cfg file. If the field is displayed or no service has been selected, the field will be empty.

14

HLR Global Title

This is the GT (Global Title) of the HLR (Home Location Register) at which the subscriber is registered.

If the GT is unavailable, the field will be empty.

15

IMSI

The subscriber’s IMSI.

If the IMSI is unavailable, the field will be empty.

16

Location

The originating VLR (Visitor Location Register) provided by the network.

If the location is unavailable, the field will be empty.

USSD SI Start Session Sample

Start Session Sample
00031005050201090607030300050403,17,40,2018-06-26,14:15:27,2c1w0003J,8585,0,mi,2,VIVO Plan Provisioning Core Flow PDP Context,,,

USSD SI stop CDR

The USSD Service Interpreter generates a SESSION_END CDR, printed at the end of each USSD session handled by the Service Interpreter.

Subsections include:

Field Name Description

1

Subscriber ID

The MSISDN of the subscriber. This is in Tango internal format.

2

Service ID

The service ID number. It is always 17 for the USSD SI Orchestrator.

3

Transaction Type

The type of transaction. The type is 41 for session end CDRs.

4

Unused

Blank field.

5

Unused

Blank field.

6

Date

The date when the CDR was generated. Format: YYYY-MM-DD.

7

Time

The time when the CDR was generated. Format: hh:mm:ss.

8

CDR Correlation ID

The unique ID for the dialogue. All other CDRs associated with this dialogue will contain this correlation ID.

9

Service Code

Numeric code entered by the user to select the service they used.

Each tenant in the NAC is identified by its own service code.

10

Total Operation CDRs

The total number of Operations CDRs which were written during the session.

11

Total Content CDRs

The total number of Content CDRs which were written during the session.

12

Total Session Time

The time passed (seconds) since the SESSION_START CDR was written.

13

Total User Requests

The total number of USSD requests sent to the user with whom the dialogue was initiated.

14

Total User Notifies

This is the total number of USSD Notify messages sent to the user with whom the dialogue was initiated.

15

Total Service Requests

This is the total number of service invocations that took place during the dialogue.

16

Total Script Requests

This is the total number of scripts executed during the dialogue.

17

Total Alternative User Reqeusts

This is the total number of USSD Requests sent to users other than the user with whom the dialogue was initiated..

18

Total Alternative User Notifies

This is the total number of USSD Notify messages sent to users other than the user with whom the dialogue was initiated.

19

Total TCAP Dialogs

The total number of TCAP dialogues used during the session.

This is usually 1 for MI sessions.
It may be higher in the case of more complex dialogues such as an NI Handover or Alternative User Requests.

20

Termination Cause

Reason why the session ended.

options
  • 0 = normal session end

  • 1 = user timeout

  • 2 = user teardown

  • 3 = user error

  • 4 = user is busy

  • 5 = charging error

  • 6 = other error

  • 7 = dialogue rejected due to process level throttling.

  • 8 = dialogue rejected due to service definition level throttling

  • 9 = whitelist error

  • 10 = dialogue failed due to server request throttling

USSD SI End Session Sample

End Session Sample
00031005050201090607030300050403,17,41,2018-06-26,14:15:28,2c1w0003J,8585,13,2,1,0,0,4,6,0,0,1,0

USSD SI operation CDR

The USSD Service Interpreter generates Operation CDRs after each completed operation.

Subsections include:

Field Name Description

1

Subscriber ID

The MSISDN of the subscriber. This is in Tango internal format.

2

Service ID

The service ID number. It is always 17 for the USSD SI Orchestrator.

3

Transaction Type

The type of transaction.

For more in-depth details regarding specific operations (42-48), check out Transaction Types.

4

Unused

Blank field.

5

Unused

Blank field.

6

Date

The date when the CDR was generated. Format: YYYY-MM-DD.

7

Time

The time when the CDR was generated. Format: hh:mm:ss.

8

CDR Correlation ID

The unique ID for the dialogue. All other CDRs associated with this dialogue will contain this correlation ID.

9

Service Code

Numeric code entered by the user to select the service they wished to use.

Each tenant in the NAC is identified by its own service code.

10

Sequence Number

This number identifies the order of the operation within the dialogue.

11

Request Bytes

The number of bytes used by the encoded payload of the request.

This field is only populated for user request and user notify transactions.

12

Request Encoding

The character encoding used in the content of the request.

possible values
  • UCS-2

  • GSM

This field is only populated for user request and user notify transactions.

13

Request Characters

The number of characters in the request payload.

This field is only populated for user request and user notify transactions. The field is 0 otherwise.

14

Response Bytes

The number of bytes used by the encoded response payload.

The field is 0 if not populated.

15

Response Encoding

The character encoding used in the content of the response.

16

Response Characters

The number of characters in the response payload.

The field is 0 if not populated.

17

Alternative user MSISDN

The MSISDN of the alternative user if the CDR desribes a notify or request to an alternative user.

This field is blank if not a notify or request to an alternative user.

18

Service Instruction Node Index

Identifies the service instruction node that is being executed. This is a positive integer.

The value corresponds to the order in which services are defined in the configuration file generated by the SCE. See the [ServiceInstructionNodeX] parameter in the USSD_services.cfg file.
-1 indicates the dialogue could not be mapped to a service instruction node.

19

Service Instruction Node Name

The name of the service instruction being executed as specified on the SCE.

This is a free text field.
The field is empty if the field is disabled or there is an error in retrieving the name.

20

Operation Response Time

The time elapsed (seconds) between the request being sent and the response being received.

The result is 0 for the following transactions:
  • SCRIPT

  • HANDOVER

  • PROC_USSD_REQUEST

  • PROC_USSD_RESPONSE

21

Operation Result Code

The value used by the service interpreter to decide which SIN to move to next.

possible values
  • 0 = operation is okay

  • 1 = operation error

  • 2 = system error

  • -1 = not applicable

For SCRIPT and SERVICE REQUEST, the field contains the service instruction index that is executed. See the [ServiceInstructionNodeX] parameter in the USSD_services.cfg file. The value is -1 if the index cannot be determined.

22

Raw Error Code

Diagnostic error code indicated to the USSD SI in a response from a different process. This value is dependent upon the process.

An example would be the code 404 for an HTTP Adaptor.

23

Mapped Error Code

The error code that is mapped to the Raw Error Code.

Mappings are configured in the USSD_SI.main.cfg file.

24

Raw Error Code Type

Indicates the raw error code type.

possible values
  • 0 = User error (USER_REQ and USER_NOTIFY)

  • 1 = Script error (SCRIPT_REQ only)

  • 2 = Handover error (HANDOVER_REQ only)

  • 3 = Tango response code (SERVER_REQ only)

  • 4 = HTTP status code (SERVER_REQ only)

  • 5 = Service defined error code (SERVER_REQ only)

USSD SI Operation CDR Sample

USSD SI Operation CDR (46) sample
000410020403090909090607040106,17,46,2015-03-13,11:45:40,I3WZ75gn0,123,2,0,,0,0,,0,,0,SC-SR_initial_RPC_Req,1,3,0,0,4

USSD SI content CDR

The USSD Service Interpreter generates Content CDRs, printed whenever text is sent to, or received from the user.

The message of a Content CDR can be encrypted using the encryptcontent field in the USSD_SI_main.cfg file.

Subsections include:

Field Name Description

1

Subscriber ID

The MSISDN of the subscriber. This is in Tango internal format.

2

Service ID

The CDR Service ID. This is 17 for USSD CDRs.

3

Transaction Type

The type of transaction. This is 49 for USSD Content CDRs.

4

Unused

Currently unused field.

This appears blank or can be set to 0.

5

Unused

Currently unused field.

This appears blank or can be set to 0.

6

Date

The date the CDR was generated. Format: YYYY-MM-DD.

7

Time

The time the CDR was generated. Format: hh:mm:ss.

8

CDR Correlation ID

The unique ID for the dialogue. All other CDRs associated with this dialogue will contain this correlation ID.

9

Service Code

Numeric code entered by the user to select the service they wish to use.

Each service implemented in the USSD Gateway has its own USSD Service Code.

10

Sequence Number

Identifies the order of the content CDR in the dialogue.

11

Direction

Identifies whether the CDR relates to the request message or the response message of the corresponding Operation CDR.

possible values
  • REQ = incoming Process USSD Request or outgoing USSD Request.

  • RSP = USSD response

12

Number of characters

The number of characters in the USSD message content.

13

Number of control characters replaced

The number of control characters (such as line-feed and carriage return) as well as punctuation marks (comma and semi-colon) which have been replaced by spaces in the copy of the USSD message included in the CDR.

14

USSD Content

The USSD string presented to the user.

The message of a Content CDR can be encrypted using the encryptcontent field in the USSD_SI_main.cfg file.
In the context of Subscription Manager Prepaid and Postpaid, the USSD String is formatted as follows (separated by *):

INTERNAL_SHORT_CODE*OFFER_ID*ORIGIN_ID*RECURRENCY_ENABLED*PERCENT_DISCOUNT*CAMPAIGN_ID

This information is present in the USSD Content field of this CDR if provided in the SM API.

See an example in the USSD Content CDR SM Sample section.

USSD SI Content CDR Sample

USSD SI Content CDR Sample
000410020403090909090607040106,17,49,2015-03-13,11:45:45,I3WZ75gn0,123,6,RSP,68,0,Service non disponible en raison d'une erreur système - Server Error

USSD Content CDR SM Sample

USSD SI Content CDR Subscription Manager Sample
000410050205050400060009090008,17,49,2018-02-12,13:02:09,08i23d5ht,1,REQ,33,0,*123*DP5*SDS_Cupon_Aquto*false*0*135#

USSD SI CDR transaction types

ID Transaction Type Description

42

PROCESS_USSD_REQUEST

A process USSD request was received by the user. It occurs at the beginning of every MI dialogue.

contains
  • Information about the content of the request message.

  • Details on the service instruction which is carried out by the orchestrator.

43

PROCESS_USSD_RESPONSE

A process USSD response was sent to the user. This may occur at the end of an MI dialogue or immediately before a handover from MI to NI portions.

contains
  • Information about the content of the response message.

  • Identity of the service instruction that was carried out.

44

USER_REQUEST

A ussd request message was sent to the user and the corresponding USSD response was received.

contains
  • Information about the content of both request and response messages.

  • The identity of the service instruction that was carried out.

  • Indicates success or failure of the operation.

This is also printed when the USSD response is not received because an error occurred while awaiting a response message.

45

USER_NOTIFY

A ussd notify message was sent to the user and an acknowledgement response was received by the handset.

contains
  • Information about the content of the notify messages.

  • The identity of the service instruction that was carried out.

  • Indicates success or failure of the operation.

This is also printed when the USSD response is not received because an error occurred while awaiting a response message.

46

SERVER_REQUEST

A service request was called upon.

contains
  • The identity of the service instruction that was carried out.

  • Indicates success or failure of the operation.

47

HANDOVER

A handover from the MI portion of the dialogue to the NI portion of the dialogue.

contains
  • The identity of the service instruction that was carried out.

48

SCRIPT

A javascript has been interpreted.

contains
  • The identity of the service instruction that was carried out.

  • Indicates success or failure of the operation.

49

CONTENT

A text was sent to or received by the user.

contains
  • The content of the text.