Structure of the System
DTL SAARA has an integrated approach to the services and and entities served by the system. The important concepts of the system are Clients, Carriers, Products and Routing. They represent entities and processes accessible throughout the system.
Client is main entity of SAARA which is subject to receive services, and apply charges and payments. every Client has its own one and unique account in the system, which records all transactions applied to the client. The state of account is represented by its balance which is preset in single currency. This balance is used to charge Client for services received, including but not limited to:
- Voice calls;
- SMS MT and MO messages
- Recurrent fees;
- One time fees;
Client can have one or many Accounts of different types which serve both as technical access credentials (i.e. usernames, IP addresses, etc) and corresponding service charge points. For example, if Client has assigned an IP address to it, it also serves as a designator which determines charges to be applied to the Client. An example of Accont can be:
- SIP Username/password pair;
- IP address of a SIP trunk;
- API access credentials;
- DID number;
- SMPP Username/password pair;
Typically Clients life cycle in the system starts with zero balance. Consumed services, like Voice calls, MT and MO messages, montly fees and other charges will decrease Clients balance. The balance can decrease until it reaches Credit Limit at which point it is not allowed to decrease further. There is no concept of unlimited credit in DTL SAARA because any resource has its limits.
Adding a Payment will increase Clients balance. Positive balance means that a Client has debit with you, and negative Clients balance means you have provided a credit to the Client. To disallow Credit, set Credit Limit to zero. Thus, services will only be allowed while their balance is positive.
Client has its own web access to the system where they can see reports, invoice, make online payments etc. The extent of options is determined by configuration.
Carrier in many ways similar to the Client, in the sense that it has Accounts and a single currency Balance. The differences are that the Carriers are viewed as partners with whom business usually is either:
- vendor based (i.e. we buy services from them)
- wholesale based (i.e. we sell bulk servics to them)
- two way sales ( i.e. both of the above)
Technically, there is no strict border between large Client and a Carrier. It will work properly in both cases. The differences are mainly in business relations (i.e. buy/sell), technical connection (i.e. Carriers can have subnets), and different types of reports.
Carriers as vendors call sell different services, for example Voice or SMS or both.
Carriers balance will increase when we consume services from them. For example, our SIP carriers balance will increase when we send calls them. That is logical, because we owe them, therefore their balance is positive with us. If you have made a prepayent to your vendor carrier, it should be reflected with a Payment in the system (type: OUT since money goes from us to them).
Carrier has its own web access to the system.
Product is an important concept in DTL SAARA. Product is a combination of services offered to the client like:
- Voice Rates,
- SMS MO and MT Rates,
- montly fees
and s set of technical means to deliver, like:
- Voice Routes,
- SMS Routes,
- Origination details
When creating a Product, above mentioned elements and bundled, or mapped together. Then, they are applied to Client and its Accounts. That provides convenient way to exactly set required rate tables, and corresponding routes to the Client, and avoid errors. Note that this allows to effectively create a multi-quality / multi-price paackages, and apply to a Client with adding just one Product.
There can be separate Products applied to different Accounts of the same Client.
Routing is a mechanism to select desired routes via one of preferred methods. There are separate routing in DTL SAARA for:
Each of the above Routing types have a possiblity to create any number of Routing groups. Routing groups are independent each from other, and they can be bind (mapped) into Product. One Routing Group can also be mapped into multiple Products.
Each of the Routing Groups provides a set of Routes.