There are many ways to implement prepaid roaming. Currently, most of the prepaid roaming implementations utilize the capabilities provided by : 1 USSD (unstructured supplementary service data) 2 CAMEL (customized application mobile enhanced logic).
USSD Call Back:
USSD deploys a callback mechanism as you know, for each outgoing call initiated by a roamer, there will be two call legs—an international call leg back home and a follow-on call. That make call cost very high because it is surely not an efficient way to handle the call.
For that you can use USSD call Back service, but the user needs to initiate the service by using a special service code. However, implementing prepaid roaming with USSD is rather simple, fast, cheaper, and supported by almost all existing networks, providing a global footprint.