[Freeswitch-users] Real-time billing application for the FreeSWITCH (mod_lua, mod_perl or ESL)

Sami Montour smontour at verizon.net
Tue Aug 13 19:30:05 MSD 2013


Thanks Mike. I appreciate it.

 

From: freeswitch-users-bounces at lists.freeswitch.org
[mailto:freeswitch-users-bounces at lists.freeswitch.org] On Behalf Of Michael
Jerris
Sent: Monday, August 12, 2013 10:25 AM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Real-time billing application for the
FreeSWITCH (mod_lua, mod_perl or ESL)

 

If your happy with C, go for it.  You can take a look at mod_xml_cdr and
mod_nibblebill for some hints on hooks for billing.  I might use the state
hooks for reporting instead and the data you get from that one as you are
less time constrained to handle the data in that state.

 

Mike

 

On Aug 9, 2013, at 2:29 PM, Sami Montour <smontour at verizon.net> wrote:





Hello Everyone,

I am a long time user of OpenSIPS and have recently been tasked with
developing a call control/real-time billing application for the FreeSWITCH.
I would like to develop the application in either C/C++, Perl or lua
(totally new to lua) in this order.

 

I have used ESL to develop some basic functionality of the application using
Perl. For instance, when the call comes in, I pass over control from
FreeSWITCH to the call control application using outbound TCP socket. Then
the call control application listens for CHANNEL_ANSWER event to start
billing process and CHANNEL_HANGUP event to stop billing. The application
does some database work as well to retrieve and check user status and
balance and all that stuff. My main concern is with load testing because of
the TCP connection between the FreeSWITCH and call control application and
also TCP connection to database to retrieve subscriber info. The basic
functionality seems to work fine but haven't tested it with high call
volume, which I am about to do.

 

The last couple of days I have been experimenting with mod_lua but can't
find a method under "Session" to get information related to CHANNEL_ANSWER
and CHANNEL_HANGUP events. The "session:geVariable" does not have variables
related to session answer time or hangup time, something similar to
"$e->getHeader("Caller-Channel-Answered-Time")"  in ESL. I must be missing
something very simple here. Again, my experience with mod_lua is only a
couple of days old.

 

I am new Freeswitch and thought I would seek the advice of all the experts
and people with more experience with Freeswitch. For this type of
application, am I better off with mod_lua, or mod_perl, or shall I stick
with ESL using Perl? How about ESL with C/C++? Will I gain some performance
gain there?

 

Any feedback would be appreciated. Thanks.

 

Sam

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20130813/abccda72/attachment-0001.html 


Join us at ClueCon 2013 Aug 6-8, 2013
More information about the FreeSWITCH-users mailing list