[SR-Users] Any ideas on how to implement prepaid calling function which is persistent after restart

Kit Lim kitlimck2 at gmail.com
Mon Apr 23 04:43:46 CEST 2018


Hi Everyone,

My project involves keeping track of the allowable duration for the caller
to talk, and keeping track of the status of the call with the back end
database.  Currently i have implemented using the following modules (aside
from the default modules in the sample config script).
* http_async_client.so - to communicate with the backend DB
* dialog.so - mainly use to detect the 200 ok answer in relation to invite,
and the end of the call
* cnxcc.so - to release the call when the allowable talk time is reached

The flow is as below:-

Invite -- > http to backend DB to ask for talk time
          <-- DB returns value
200 ok (answer) ---> http backend DB to update that the call has answered
          <-- DB returns ok
dialog end or Cnxcc terminate --> http backend DB to update that the call
has hangup

My problem is that if there is a need to restart the kamailio config there
is no 'graceful' way to hangup all the calls and inform the backend, or
deny any new calls from coming in. If kamailio is restarted then cnxcc
would have forgotten that there is a maximum talk time allowed to be called
or recover from the restart.

How to I make the system resilience to failures/restarts.

Appreciate any good suggestions.

regards
CK
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20180423/5ec81743/attachment.html>


More information about the sr-users mailing list