Difference between revisions of "High-level Specifications"

From BlockChainTeleCom wiki
Jump to: navigation, search
(Object specifications)
Line 283: Line 283:
=== Helper API ===
== TeleChain Broker ==
== TeleChain Broker ==

Revision as of 16:16, 24 April 2019

High-level specifications for integrating mobile operators into to the Bubbletone blockchain platform

High-level specifications describe in detail specific business scenarios for interaction between participants via the Bubbletone blockchain platform. By following a high-level specification, a participant who interacts with other participants via the platform can support one or several use cases. Their choice of which use case to implement determines the specification that they have to follow.

For each use case that will be implemented on our platform, it is necessary to develop an appropriate high-level specification. The following high-level specifications are now available:

  1. Global coverage with local rates for subscribers
  2. TeleChain Broker

Global coverage with local rates for subscribers


This document contains object specifications and requirements to support Global coverage with local rates for subscribers. The description of this use case is available at the following link: https://wiki.blockchaintele.com/index.php/Use_cases#Global_coverage_with_local_rates_for_subscribers.

Blockchain participants can support this use case either by servicing foreign subscribers or by distributing offers of other participants among their own subscribers, or both. All participants interact with each other via blockchain using a low-level client-facing API (https://wiki.blockchaintele.com/index.php/Low_Level_API_JSON) Based on the low-level API, this document describes JSON data objects that are specific to this use case.

In order to serve the premium segment, a mobile operator should provide global connectivity with reasonable rates for its subscribers. However, signing hundreds of roaming agreements in combination with complex integration and settlement processes make this mission hard to accomplish, especially for small and medium-sized telecom players.

Blockchain technology helps build interaction between mobile operators without any agreements, commitments or complex integration. The operator would just need to produce some multi-account SIM cards or eSIMs and distribute them among the premium segment. These cards allow subscribers to upload local mobile profiles over-the-air, i.e. via special encrypted binary SMS messages or the data channel.


The schema below shows how the use case participants interact with each other via blockchain.

Diagramm 2019 3.jpg


Subscriber of roaming service consumer Roaming service consumer (Home operator) Roaming service provider (Visited operator)
Offer creation
Creates a service description and publishes it on the blockchain (create_service)
Creates one or many offers and publishes them on the blockchain (create_asset)

Supplementary information includes a start date and an end date for offer availability, minimum traffic volume, and price

Formulating retail packages
Reads offers and relevant service information available on the blockchain

(list_services, list_assets, callbacks service_created, service_updated, asset_created, asset_updated)

Formulates retail packages and publishes them in its BSS system.

Each package includes the following information: region of service, Internet traffic volume, price, start date, and expiration date

Retail packages are made available to the subscriber
Purchase procedure
Searches available packages in the Bubbletone application.

Selects a package and buys it

Charges the subscriber using its own BSS system
Creates a request order on the blockchain

(create_order) that specifies the number of minutes and/or Internet traffic volume. The necessary amount of SDR tokens is withdrawn from their balance and reserved ||

Accepts the request order

(accept_order) and provides mobile profile data (IMSI, KI, and OPc) for the infrastructure operator

Reads the provided profile data on the blockchain
Builds a binary profile blob and uploads it to the customer’s multi-SIM via an OTA platform
Receives profiles for the purchased retail package
Subscriber service
Travels to a country of destination
The multi-SIM applet automatically selects the necessary profile, according to the region.

Registration in the mobile network of the roaming service provider takes place

Starts servicing the foreign subscriber as their home customer.

Sends report_order to the blockchain, simultaneously with starting mobile servicing, and receives the necessary amount of SDR tokens for a unit of traffic volume

Continues to provide service and sends a report on the customer’s traffic consumption (report_order)
Monitors the state of the order and traffic consumption.

Notifies the subscriber via the Bubbletone application as soon as the package is about to be used up ||

Buys additional packages, if necessary
Post-service events
The request order is canceled (automatically or by the following explicit command cancel_order) when the expiry date of the package comes.

The operator receives all reserved SDR tokens for the unconsumed traffic volume

Object specifications

Service object


memo : {
class : "cc-global"
provider : string
name : string
description : string 
url : string
plmn : [ {
mcc: integer 
mnc: integer
provider Name of the company that provides mobile service
name Short name of the service (recommended length is a few words)
description Short Description (recommended length is 100 words)
url URL of the service webpage at the company’s website. This webpage should contain detailed information on the provided services, legal information, contacts of responsible managers, support information, etc.
plmn List of public land mobile network codes of the provider
mcc Mobile country code of the provider
mnc Mobile network code of the provider

Offer (asset) object


memo : {
class : "cc-global"
name : string
description : string 
url : string
internet_mb : integer
local_calls_min :  integer
price : decimal
validity_period_days : integer
valid_from : timestamp
valid_to : timestamp
mcc : [ integer, …]
name Short name of the offer (recommended length is a few words)
description Short description (recommended length is 100 words)
url URL of the web page at the company’s web site to find additional information. This web page should contain detailed information on the offer
internet_mb Included (minimum) Internet traffic volume in megabytes
local_calls_min Included (minimum) local calls volume in minutes
price Price for a package in SDR tokens
validity_period_days Period during which the package must be consumed. The period starts when a subscriber registers in the network and starts consuming Internet data or making local calls. After this specified period is over, the unconsumed Internet traffic or minutes are expired
valid_from Package consumption must start after the specified date/time (in "YYYY-MM-DD hh:mm:ss" format)
valid_to Package must be consumed before the specified date/time (in "YYYY-MM-DD hh:mm:ss" format)
mcc List of mobile country codes that specifies the countries where this offer is valid

Create order


memo : {
class : "cc-global"
mcc : [ integer, …]
mcc List of mobile country codes for purchasing a mobile package. The countries were selected by a subscriber

Accept order


memo : {
class : "cc-global"
service_data : {
imsi : string
ki : string
opc : string
op : string
plmn [ {
mcc: integer 
mnc: integer
msisdn: string
service_data Multi-SIM mobile profile data
imsi Hex-encoded International Mobile Subscriber Identity
ki Hex-encoded Subscriber Authentication Key (128 bit) as specified in ​Milenage authentication algorithm
opc Derived operator code which is unique for each multi-SIM profile.

Either opc or op must be specified

op Operator code.

Either opc or op must be specified

plmn List of public land mobile network codes of the provider. Several plmns may be specified for different countries
mcc Mobile country code of the provider
mnc Mobile network code of the provider
msisdn MSISDN (Mobile Subscriber Integrated Services Digital Number) which will be assigned when subscriber arrives to a country of destination and registers in the network of the mobile operator.


Report order


memo : {
class : "cc-global"
details : string  
details Short notification about service consumption (recommended length is 30 words) that a home operator may deliver to a subscriber.


Helper API

TeleChain Broker