New to KB, Can it integrate with Radius for ISP billing

49 views
Skip to first unread message

Gabriel Adeyemo

unread,
May 3, 2024, 12:43:06 PMMay 3
to Kill Bill users mailing-list

Hello everyone,


I'm currently in search of guidance regarding a specific technical matter. I've been exploring scenarios involving the integration of KB (Kill Bill) as a backend authentication for Radius to manage subscriber authorization and enforce specific policies. However, I'm uncertain about the availability of pre-existing Radius modules suitable for this task. If such modules exist, I'd appreciate any pointers on adapting them. Alternatively, if developing a custom solution is necessary, I'm curious about where within the Kill Bill data structure I should focus to extract the required information.
ps: I am a newbie on kill bill

My intention is to utilize FreeRADIUS with a MySQL backend for this implementation.

Any insights or advice on this matter would be greatly appreciated
 

karan bansal

unread,
May 3, 2024, 3:11:41 PMMay 3
to Kill Bill users mailing-list
Hi Gabriel,

Could you please provide more details with some example about what data flow you are looking at and the expected role of Kill Bill. 

Regards
Karan

Shaun Forgie

unread,
May 4, 2024, 1:32:56 AMMay 4
to Gabriel Adeyemo, Kill Bill users mailing-list
Hi Gabriel,

I assume you are wanting to use RADIUS to allow a user device access to a network?

What sorts of checks are you wanting to make against Kill Bill?
1. verify the status of a users entitlement / subscription as part of the authorisation sequence
2. check the user has an account with an active billing plan

Kill Bill does not have anything similar to the Stripe entitlement APIs as yet https://docs.stripe.com/billing/entitlements

Confusingly Kill Bill has a different notion of entitlement which is connected to the underlying subscription lifecycle. Documentation can be found here https://docs.killbill.io/latest/entitlement_plugin but it does not do what you are looking for.

I too am interested in getting something similar to the Stripe solution implemented for Kill Bill.

Rgs
Shaun

--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/111815a7-2e0f-4938-a898-6b56fe6f597bn%40googlegroups.com.


--
Shaun Forgie [Principal] - Method Maker Ltd
57a McIntyre Rd, Manukau 2022, Auckland, New Zealand
Mobile +64 21 666 910

Shaun Forgie

unread,
May 5, 2024, 1:22:58 AMMay 5
to Gabriel Adeyemo, Kill Bill users mailing-list
Gabriel,

So you want Kill Bill to act as an iDP identity provider ? This is a rather novel use case and something that as you say can be done with custom fields and a bespoke radius API implementation to meet the data requirements.

I would not go down this path....why don't you use an existing iDP that is designed to be easily extended to support the sorts of attribute exchange scenarios you require?

Rgs
Shaun

On Sun, 5 May 2024 at 02:56, Gabriel Adeyemo <gab...@hydroxyafrica.com> wrote:

Hi Shaun,

 

I think my posts are currently been throttled because am a fresh member.

 

Should the case you can read this,

 

I have been able to sucessfully run kb in im docker lab and seems quite flextible. I am not so fat in payment APIs or integration but my focus is on getting authentication data from kb.

I stumbled on “custom fields” and beive this can be used to define specific radius paramters and pupulated durig subscriber provisoining. Then, a radius API using mysql module can be configured to lookup usernames in the customs_field table and then get details such as passwords and parameters that can be used to build a framed connection or vpn connection by the NAS server.

 

It is by no means simple… I wish KAUI had a batch processing module or something similar.

Gabriel Adeyemo

unread,
May 6, 2024, 5:59:13 AMMay 6
to Kill Bill users mailing-list
Hello Karan,

In this scenario, users' Customer Premises Equipment (CPE) are set up with static configurations, including account names/IDs and passwords for authentication. The network relies on a Radius server for AAA (Authentication, Authorization, and Accounting) functions. During authentication, the Radius server needs to distinguish between users with valid subscriptions and those with invalid or expired ones.

The status of subscriptions is stored in  (KB). Valid subscriptions allow users to authenticate successfully, while invalid or expired subscriptions result in denial of access or assignment of a "walled-garden" IP address for separate treatment.

Once authenticated, users are assigned a pool ID or a static IP address based on their subscription. Additionally, information such as bandwidth allocation, type of service, and radius accounting reporting time needs to be transmitted during the authentication process.

The goal is to configure these parameters, including IP address or pool, bandwidth allocation, and radius accounting settings, using free text fields in KB. These settings should be adjustable in kb during subscription configuration and transmitted during the authentication process.
this is the authentication flow.

for all other services like subscription controls, billing, invoicing, etc, this will continue naturally within kb without additional modification

Is it possible to achieve this level of customization and functionality with KB

Gabriel Adeyemo

unread,
May 6, 2024, 5:59:13 AMMay 6
to Shaun Forgie, Kill Bill users mailing-list

Hi Shaun,

 

I think my posts are currently been throttled because am a fresh member.

 

Should the case you can read this,

 

I have been able to sucessfully run kb in im docker lab and seems quite flextible. I am not so fat in payment APIs or integration but my focus is on getting authentication data from kb.

I stumbled on “custom fields” and beive this can be used to define specific radius paramters and pupulated durig subscriber provisoining. Then, a radius API using mysql module can be configured to lookup usernames in the customs_field table and then get details such as passwords and parameters that can be used to build a framed connection or vpn connection by the NAS server.

 

It is by no means simple… I wish KAUI had a batch processing module or something similar.

 

From: Shaun Forgie <sh...@methodmaker.co.nz>
Date: Saturday, 4 May 2024 at 6:32
AM
To: Gabriel Adeyemo <gab...@hydroxyafrica.com>
Cc: Kill Bill users mailing-list <killbill...@googlegroups.com>
Subject: Re: [Kill Bill users] New to KB, Can it integrate with Radius for ISP billing

Shaun Forgie

unread,
May 6, 2024, 5:36:57 PMMay 6
to Gabriel Adeyemo, Kill Bill users mailing-list
HI Gabriel,

Anything is possible....so yes it can be done. In terms of Kill Bill you would need to do the following:
  1. Create and manage the appropriate set of attributes against either the account or a subscription. This is done via custom fields which are essentially name value pairs
  2. Create an entitlement query API which could be called during the RADIUS authentication process to return the attributes you need to enforce. This would include the allocation of the appropriate IP address [pooled / static / walled garden]. At the moment Kill Bill can only return the boolean value for blocking states related to either an account or subscription [ change / billing / entitlement ]
From what you have mentioned the following RADIUS settings would need to be stored:
  1. Bandwidth allocation
  2. Type of service
  3. Accounting reporting time
  4. IP Address
You will need to be careful about how many subscriptions an account can have active at any one time as you will need to uniquely identify the CPE node that is responsible for enforcing these settings. This may result in a need for further attributes to be stored. For example CPE Device ID or something similar.

In summary Kill Bill can be configured to store these attributes against the subscription and certain usage conventions would need to be adopted to ensure this information was mandatory and correctly validated. A new plugin would need to be developed to supply this information to the RADIUS authentication process. 

API access would need to be properly mediated and secured via oAUTH 2 or similar. You would need to implement this infrastructure in addition to the backend API.

The team at Bill Rush are happy to help if you need it.

Rgs
Shaun

--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.

Gabriel Adeyemo

unread,
Jun 24, 2024, 12:14:18 PM (12 days ago) Jun 24
to Kill Bill users mailing-list
@Shaun Forgie,

I'd like to understand more how kb can be used in an ISP environment in this manner. I also would like to understand what you have in-mind  regarding help from bill rush team.

Reply all
Reply to author
Forward
0 new messages