Manage combined quotas for IoT/M2M SIM cards

Link copied to clipboard

IoT/M2M service providers can offer their customers group quotas to be shared between multiple SIM cards with the same plan. For example, when a customer activates 10 SIM cards with the “Data 30 GB” plan, their quotas will be combined into a group quota of 300 GB (10 SIMs x 30 GB). If this customer activates 4 more SIM cards with a different plan, e.g., “Data 100 GB”, these will share a separate group quota of 400 GB (4 SIMs x 100 GB).

These group quotas can be calculated and applied to a customer only via an external application using the PortaBilling API.

The group quotas feature is implemented using Add-on Mart Workflows. So, when SIM cards are activated/deactivated under the same plan (e.g., by a customer on the IoT self-care portal, PortaBilling administrator, or external application via the PortaBilling API), the external workflow calculates the combined quota and updates it on the customer level. Service providers that have portals built in-house can also use Add-on Mart Workflows or develop their own script to update group quotas. The external script must be able to:

  • listen to PortaBilling events (e.g., a customer activates a new SIM card);

  • calculate the combined quota for the customer according to a specific logic (e.g., the quota is prorated if a SIM card is activated in the middle of the billing period); and

  • update the combined quota for the customer in PortaBilling.

The group quotas allow customers that use multiple SIM cards to optimize service usage between SIM cards with the same plan. Let’s say, the customer “ABC Security” provides motion detection cameras with SIM cards to their end users, and charges a fixed monthly fee for the security system service. The cameras may consume the Internet traffic unevenly since they send an alert and pictures to a user only when a motion detector is triggered. One camera may use over 30 GB and another one may use only 10 GB. With the group quota, if one camera reaches 30 GB, it just continues consuming the remaining group quota (for 10 SIM cards it’s up to 300 GB). So, “ABC Security” is not charged by their service provider for excess usage (per MB) so long as data in the group quota is available.

Link copied to clipboard
  • Customers that use multiple SIM cards can avoid high excess usage charges by using group quotas instead of individual ones.

  • IoT/M2M service providers can increase sales by offering group quotas to their prospects.

Let’s consider an example.

An IoT service provider “Panda IoT” uses a portal (for example, the IoT portal that is available in the Add-on Mart) where their customers can activate/deactivate SIM cards and choose a plan for them: “Data 5 GB” or “Data 100 GB”. For the SIM cards activated with the same plan, the monthly group quota is provided.

“ABC Security”, a customer of “Panda IoT”, purchases SIM cards to set up home security systems for their clients. Adam Smith, a manager of “ABC Security”, opens the portal to activate 20 SIM cards with the “Data 5 GB” plan. The SIM cards are activated on September 21, so “ABC Security” is charged a prorated fee for 10 days of usage in the current month. Adam can see that the group quota for these SIM cards is 33.33 GB (20 SIMs x 5 GB x 10/30 days).

Let’s say, Adam deactivates 2 SIM cards on September 25 due to the client’s security system re-configuration. Since “ABC Security” has already paid for 33.33 GB, this group quota remains unchanged till the end of September (for 18 SIM cards). On October 1, the group quota is renewed and becomes 90 GB (18 SIMs x 5 GB x 31/31 days). “ABC Security” is charged for 18 SIM cards monthly usage.

Adam can trace the group quota usage on the usage history page.

Link copied to clipboard
  • To implement group quotas, service providers need to sign up for Add-on Mart Workflows or use another external application. The external workflow or application script is required to dynamically update group quotas via the PortaBilling API.

  • No matter whether accounts (SIM cards) are added/changed in PortaBilling via the PortaBilling web interface, the IoT self-care portal, or a custom service provider’s portal, these changes will then trigger the group quota update.

  • A SIM card that uses plans for different service types simultaneously, e.g., “Data 30 MB”, “Voice calls 10 min”, and “20 SMS”, can share multiple group quotas simultaneously – separately for each service type.


Link copied to clipboard

The scenario mentioned above can be implemented using Add-on Mart Workflows or another external application that will update group quotas via the PortaBilling API based on events received from PortaBilling. In PortaBilling, the administrator needs to perform the following steps:

  1. On the Configuration server:
    1. Open BillingEngine > Custom group > LoadModules option > add the addonpattern=Porta::Extra::RatePatternRuleAddOn value.
    2. For the group quotas configuration, you will need to create a destination group set (step 2.b) with the same name as specified on the Configuration server. Choose a name for the destination group set and specify it: open BillingEngine > Custom group > IniOptions option > add the value [RatePatternRuleAddOn]MappingSetName=Specify the name.Group quotas configuration
    3. Open WebCluster > Global environment > DiscountPlans group > set the CustomProratedQuotas option to Yes.Group quotas configuration
  2. On the PortaBilling web interface:
    1. Create custom destinations NETACCESS*5G and NETACCESS*100G.
    2. Create a regular destination group set with the name that you have specified in step 1.b.
      If you haven’t specified a custom name for the destination group set as described in step 1.b, use the default name “Add On Mapping” for the destination group set.
    3. Within the destination group set “Add On Mapping”, create destination groups named “Data 5 GB” (with the destination NETACCESS*5G) and “Data 100 GB” (with the destination NETACCESS*100G).
    4. Create a volume discount plan with the destination group set “Add On Mapping”. This volume discount plan will include all possible quotas (plans):
        • Create two quotas: with the destination group “Data 5 GB” and “Data 100 GB”. Specify the corresponding thresholds for these quotas – 5 GB and 100 GB.
        • For each quota, open Advanced configuration > Prorate thresholds for first usage period > select the Custom prorating for shared pools option. Select the Custom prorating for shared pools option
    5. Create add-on products (plans) named “Data 5 GB” and “Data 100 GB”. To charge customers for monthly quotas, assign corresponding subscriptions to these add-ons.
      The add-on products’ names must match the destination groups’ names specified in step 2.c.
    6. Enable group quotas for a customer by assigning the volume discount plan created in step 2.d to them.

When an account (SIM card) with a specific add-on product (plan) is created, PortaBilling matches the name of the account’s add-on with the name of a destination group used to define a quota in the customer’s volume discount plan. If there’s a match, the account uses the corresponding group quota from the customer’s volume discount plan.

On this page

What's new
Admin manuals
UI help
Back to main menu