The MSC connects <strong>to</strong> the HLR in the home network via theSS7 network. GSM network (including HLR, VLR, MSC) is alsoconnected <strong>to</strong> the USSD Gateway via the SS7 link. The USSDGateway communicates with all its supporting externalapplications via SMPP.Generally, billing is based on the duration of the session. Durationbasedcharging permits users <strong>to</strong> search for information within asession-based service. It is charged on a per minute basis and ismore economical than SMS. USSD is device independent anddoes not require specific activation.3.1 ELEMENTS OF USSD MOBILE NETWORKThe mobile network comprises components that carry datamessages between the handset and the corresponding USSDapplication. Figure 2 explains the elements of the mobilenetwork and the <strong>communication</strong> pro<strong>to</strong>cols they use.USSD services reside as applications in the mobile network.These applications can reside in MSC, VLR, HLR, or anindependent application server that is connected through aUSSD Gateway (using SMPP).If a USSD message is not destined for an application in the MSC,VLR, or HLR, a USSD handler in these nodes routes the message<strong>to</strong> the USSD Gateway using the MAP pro<strong>to</strong>col based on theservice code. The gateway interprets the code and routes it <strong>to</strong>the specific USSD application server <strong>to</strong> fetch the necessaryinformation requested by the user. In response, the applicationsends the relevant information <strong>to</strong> the USSD Gateway, which inturn converts the message <strong>to</strong> MAP format, and then sends <strong>to</strong>the mobile terminal.Applications under the mobile opera<strong>to</strong>r’s control will typicallyreside in the GSM network (MSC, VLR, HLR), while third-partyapplications may reside elsewhere such as on the internet.The application can also be a hyperlink <strong>to</strong> an internet site orinformation s<strong>to</strong>red locally in the Service Application System.In a mobile-initiated service request, a session is created betweenthe network and the mobile terminal. This session is used forall information transfers and must be released before anothersession can be started. Additionally, an application in thenetwork (residing in the MSC, VLR, HLR, or external applicationserver) may at any time send a message <strong>to</strong> a mobile terminal.This can be a request for information or a notification. Again,the session must be released upon completion.3.2 BILLING OF USSD USAGE SERVICESA billing mechanism for USSD services is not implementedin most cases. However, there are some rare cases wherenetwork opera<strong>to</strong>rs implement a billing system. Depending onthe sophistication of the rating platform, the subscriber will bebilled according <strong>to</strong> one of the following criteria:1 One-off cost2 Number of menu transactions3 Time spent browsing the menu/duration of the session4 USSD HANDLINGThere are two modes of USSD implementation:1 Push Service Mode: Network-initiated USSD service inwhich the network (MSC, VLR, or HLR) sends USSDmessage <strong>to</strong>ward MS2 Pull Service Mode: MS-initiated USSD service with usersending USSD message <strong>to</strong>ward MSC4.1 NETWORK-INITIATED USSD OPERATIONSAt any stage while the MS is registered with a network, thenetwork (HLR, VLR, or MSC) can send a USSD string <strong>to</strong> the MS.This string contains opera<strong>to</strong>r-determined information that isrelevant <strong>to</strong> the user.This string/USSD command may be a request (asking the MS <strong>to</strong>provide information) or a notification (requiring no informationfrom the MS). If the information is unable <strong>to</strong> reach the MS, anerror is returned <strong>to</strong> the network node that originated theoperation.4.2 INVOKING USSD OPERATION FROM THE MSC, VLR,AND HLRWhen an application in the MSC needs <strong>to</strong> send a USSD reques<strong>to</strong>r notification <strong>to</strong> an MS, it sets up a transaction <strong>to</strong> the MS wherethe subscriber is currently registered and sends the operation<strong>to</strong> the MS. The MSC then awaits a response from the MS.Because the MSC initiated the transaction, it is also responsiblefor controlling the transaction. The MSC normally releases thetransaction after receiving a response from the MS, but in somecases MSC may release the transaction before receiving a response(e.g., if an application timer expires).If the application in the MSC needs <strong>to</strong> send further operations<strong>to</strong> the same MS, it will continue <strong>to</strong> use the same transactionuntil all operations are completed. If a different transaction isused for a subsequent operation, the MSC releases the firsttransaction before starting the next. If the MS releases thetransaction at any time (e.g., due <strong>to</strong> the user clearing), MSCinforms its application and terminates the USSD operation.(An MSC-invoked USSD request is likely <strong>to</strong> be used for callrelatedoperations where the application is controlling a call <strong>to</strong>or from the MS.)USSD: A Communication Technology <strong>to</strong> Potentially Ouster SMS Dependency5