Look at mod_nibblebill. It already does what you want and perfectly handles concurrent calls from the same subscriber. On Sunday 18 August 2013 11:15:04 Sami Montour wrote:
The billing I would like to use with lua is for real-time billing where subscribers are debited real-time or at the end of the call.
From: freeswitch-users-bounces@lists.freeswitch.org [mailto:freeswitch-users-bounces@lists.freeswitch.org] On Behalf Of Ken Rice Sent: Sunday, August 18, 2013 10:55 AM To: FreeSWITCH Users Help Subject: Re: [Freeswitch-users] Wait for ANSWER/HANGUP events in Mod lua
billing in lua is asking for issues... why not do something like triggiering the billing from the xml cdr or such this avoids loss od cdrs as it uses the filesystem as a backup to incase your websvices or billing processor is down
Ken
Sent from my iPad
On Aug 18, 2013, at 10:19, Karsten Horsmann <khorsmann@gmail.com> wrote:
Hi Sam,
you should be more verbose what you currently doing. There a many ways to call an lua script in FS (in the dialplan, as startup-script, as dialplan-binding etc).
Sounds like you want to fetch some kind of billing informations.
2013/8/17 Sami Montour <smontour@verizon.net>
I am using Mod lua for call processing on the FreeSwitch. I would like to wait for some events such as CHANNEL_ANSWER and CHANNEL_HANGUP in order to get the answer time and hangup time. Basically, something like
Wait for event CHANNEL_ANSWER or CHANNEL_HANGUP
If (event_name = “CHANNEL_ANSWER”) then answer_timestamp = getHeader(“Caller-Channel-Answered-Time”)
If (event_name = “CHANNEL_HANGUP”) then hangup_timestamp = getHeader(“Event-Date-Timestamp”)
The session:getState() described in module lua gets the call state but not the channel state. For instance, ‘CS_EXECUTE’ is the channel state when it is executing a dialplan not when the call is answered.
Is there a way to wait for channel events such as CHANNEL_ANSWER and CHANNEL_HANGUP in order to retrieve answer and hangup timestamps for a call?
Any input is very much appreciated.
Thanks.
Sam