N-tier hierarchy real time billing using FS and NibbleBill
Hi, I need to develop a project with FreeSwitch that can bill calls in realtime not just for the end user but for all its parent account at different rate too and if one of them run out of credit the call stops. The NibbleBill module only allow to rate 2 account and 2 rates at the same time if we bill the A and B leg, this would be fine but I sometime need to bill 3 or more tier but realistically this is unlikely to go beyond 5 tiers. I tried a proof of concept by looping the call to FreeSwitch and NibbleBill each loop using it's own account and rate until there's no parent account for a user and then go out to the PSTN gateways, I cannot use the loopback system because it would remove all the middle calls once the 2 ends are connected together, so I use a sofia bridge to the local IP, (I just used a different sofia interface than the one the end user normally register into and this looping interface is not public) This is working fine and does exactly what I want, so far I've tested it with 5 tiers and as soon as one tier run out of credit it will disconnect the entire chain of call and adjust each account the correct amount. I have not tested with multiple end user calls at the same time but I expect it would work the same way. My only concern is performance and any potential issue doing some many loopback in terms of quality or timing. Looping calls in telephony system are normally reserved only as a last chance attempt to sort a problem. So I was wondering if someone had done something similar (i.e. looping calls through the same FreeSwitch instance) with no issues, and if there were anything to watch for or any tweaks to the sofia interface to make sure this will not cause an issue when scaling this system. I'm fairly new to FreeSwitch so I dont know by heart all the different options yet. Thanks. PS: I'm happy to share my proof of concept if anyone's interested doing the same.
participants (1)
-
Gael Martin