Archived | Blockchain for telecom roaming, fraud, and overage management

Get the code View the demo

Archived content

Archived date: 2019-05-01

This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed.

Note: This code pattern is currently being updated to focus on IBM Blockchain Platform V2.0.


Communications service providers (CSPs) often encounter issues related to subscribers on roaming CSP networks, and they do not always have clear visibility into their subscribers’ activity on those networks. Payment reconciliation for roaming customers takes time and requires the intermediation of third-party clearinghouses with the associated costs. Fraud detection and prevention continue to be relevant issues for most CSPs, and costs more than $38 billion USD annually. Fraudulent subscribers can access a home CSP network while cloning the roaming subscriber’s identity. Blockchain brings these CSPs onto a single blockchain Hyperledger network, which enables direct exchange of information with transactions that are immutable and executed based on a consensus model that uses smart contract rules. This improves the CSP’s visibility into the subscriber, enables quick payment reconciliation, and reduces fraudulent transactions.

This blockchain Hyperledger Composer project shows you how to create a Hyperledger Fabric with smart contracts that govern the transactions between CSPs acting as home operators and roaming partners to track the activities of mobile users on the network.


This solution covers four use cases:

  • Identity management – When a subscriber gets on the roaming partner’s network, the roaming partner determines that this is a visitor from the home operator. This takes place via subscriber information exchange transactions on the blockchain network. The subscriber is then authenticated and registered based on the smart contract.
  • Billing – The roaming subscriber initiates a voice call on the roaming network. This transaction is recorded on the blockchain network. When the call ends, the call duration is recorded in the blockchain transaction. Based on the smart contract rules, the charges are set and the payment is recorded from home operator to remote partner instantaneously based on the consensus model and shared ledger technology. This avoids the involvement of any clearinghouses, which helps to avoid disputes between the parties involved.
  • Fraud – A mobile user with a Mobile Station International Subscriber Directory Number that is a duplicate to an existing registered number attempts to connect. When the subscriber goes through the authentication phase, the user is easily identified and flagged for fraud. The home operator now has enhanced visibility into the roaming subscriber’s activities in the roaming network, due to direct and instantaneous access to the roaming transactions on the subscriber activities via the blockchain’s shared ledger.
  • Overage – A roaming subscriber who is about to reach his overage limit for voice calls initiates a voice call on the roaming network. Both the home and roaming operators on the blockchain network have better visibility into the subscriber’s usage information, and the smart contract rules automatically trigger an overage notification to the subscriber.

The business value for clients is as follows:

  • Automatic triggering of contract between home operator and roaming partners, automatically enforcing contracts
  • Enables near-instantaneous resolution of charges, eliminating costly third-party processes like clearinghouses
  • Equips repository of verifiable transactions between operators to resolve disputes
  • Effective identity management across CSPs to mitigate roaming and subscription fraud
  • Real-time alerting of overage issues of data and calls between parties, resulting in increased customer satisfaction

This image illustrates the ecosystem behind the solution:


The business network definition consists of model (.cto), transaction functions (.js), and access control list (.acl) files packaged into the chaincode archive file (.bna). This can be developed and tested using Hyperledger Composer Playground as part of Hyperledger development tools, and is then exported and deployed to a Hyperledger Fabric network. A Hyperledger Composer REST server is then deployed, which generates the REST APIs used to interact with the blockchain network and invoke and query transactions.



The flow below describes the steps to follow when creating the blockchain components for the solution. Please note that a separate UI and additional back-end components are required, but they are not highlighted here:

  1. Install the Hyperledger Composer development tools.
  2. Configure and start the Hyperledger Fabric network.
  3. Generate the .bna file.
  4. Deploy the .bna using Hyperledger Composer Playground.
  5. Alternative method: Deploy the .bna on Hyperledger Composer running locally.


Ready to put this code pattern to use? Complete details on how to get started running and using this application are in the README.