Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[asterisk-users] Asterisk as an IVR


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users
View previous topic :: View next topic  
Author Message
research at businesstz...
Guest





PostPosted: Sat Jun 28, 2008 8:15 am    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

Hi List

I have build an IVR on Asterisk from 1.2 to now 1.4.18 and has already
processed more than 10million calls!

I have one big challenge which is reporting... it is the requirement to
have a web reporting module which should the following info based on
selected time frame
- Number of calls on specific branch- Done
- Number of calls to branch 1 that came from branch 2 (this should be
flexible)
- talktime on specified branch (say how long caller listened to option 1
before choosing option 2 or hangup)

On IVR, it is so important to understand how many callers select a
specific branch and how long they spent on that branch. CDR stats can not
provide these type of information and on trying freepbx, still can not go
so detailed

Is there anyone with similar project that is willing to share some
information

Regards
Kili
Back to top
anselm at hoffmeister-...
Guest





PostPosted: Sat Jun 28, 2008 8:37 am    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

Am Samstag, den 28.06.2008, 08:15 -0500 schrieb research at businesstz.com:
Quote:
Hi List

I have build an IVR on Asterisk from 1.2 to now 1.4.18 and has already
processed more than 10million calls!

I have one big challenge which is reporting... it is the requirement to
have a web reporting module which should the following info based on
selected time frame
- Number of calls on specific branch- Done
- Number of calls to branch 1 that came from branch 2 (this should be
flexible)
- talktime on specified branch (say how long caller listened to option 1
before choosing option 2 or hangup)

On IVR, it is so important to understand how many callers select a
specific branch and how long they spent on that branch. CDR stats can not
provide these type of information and on trying freepbx, still can not go
so detailed

Dear Kili,

in my opinion this is a good application for Database backends. You
could, for example, write entries to a DB whenever someone presses a key
(or is re-routed in the dialplan, which comes to a similar scheme). In
data mining time some SQL logic can produce nearly any data you want,
provided the input data is there.

Millions of calls sounds a lot though, so be sure to have a reasonable
database backend: The asterisk included one might be a bit on the small
side here.

This is just an idea, I did not implement anything the like (yet).

BR
Anselm
Back to top
tzafrir.cohen at xorco...
Guest





PostPosted: Sat Jun 28, 2008 8:58 am    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

On Sat, Jun 28, 2008 at 03:37:56PM +0200, Anselm Martin Hoffmeister wrote:
Quote:
Am Samstag, den 28.06.2008, 08:15 -0500 schrieb research at businesstz.com:
Quote:
Hi List

I have build an IVR on Asterisk from 1.2 to now 1.4.18 and has already
processed more than 10million calls!

I have one big challenge which is reporting... it is the requirement to
have a web reporting module which should the following info based on
selected time frame
- Number of calls on specific branch- Done
- Number of calls to branch 1 that came from branch 2 (this should be
flexible)
- talktime on specified branch (say how long caller listened to option 1
before choosing option 2 or hangup)

On IVR, it is so important to understand how many callers select a
specific branch and how long they spent on that branch. CDR stats can not
provide these type of information and on trying freepbx, still can not go
so detailed

Dear Kili,

in my opinion this is a good application for Database backends. You
could, for example, write entries to a DB whenever someone presses a key
(or is re-routed in the dialplan, which comes to a similar scheme). In
data mining time some SQL logic can produce nearly any data you want,
provided the input data is there.

Millions of calls sounds a lot though, so be sure to have a reasonable
database backend: The asterisk included one might be a bit on the small
side here.

This is just an idea, I did not implement anything the like (yet).

Asterisk already has this separate database backend: CDR.

--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir
Back to top
research at businesstz...
Guest





PostPosted: Sat Jun 28, 2008 1:08 pm    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

Thanks Anselm

Its true that is a lot of calls but i have a separate mysql database on
different server (HP DL580G5 with 16cores). what am currently doing is
capturing the information right after selection and insert that record
into mySql.

****
[macro-capture-input]
;
;
; Macro that feeds data into mysql through perl script:
; ${ARG1} - MSISDN
; ${ARG2} - src
; ${ARG3} - MainMenu Application
; ${ARG4} - Channel
; ${ARG5} - calldatetime
; ${ARG6} - Sub Menu Application
;
;
exten => s,1,System(/var/lib/asterisk/agi-bin/capture.pl ${ARG1} ${ARG2}
${ARG3} ${ARG4} ${ARG5} ${ARG6})

[Data-Services-Options]
; This menu is aimed to provide user with info about data services
offered by Vodacom, including
; 1 - SUBMenu 1
; 2 - SUBMenu 2
; 3 - SUBMenu 3
; 4 - SUBMenu 4
;
;
;SUBMENU 1
;
exten =>
1,1,Macro(capture-input,"${MSISDN}","${OPT}","APPLICATION1","${CHANNEL}","now()","SUBMENU1")
exten => 1,n,Background(IVR/(1110) MENU 1)

;SUBMENU 2
exten => 2,1,Macro(sendsms,${MSISDN},1,${LANGUAGE})
exten =>
2,n,Macro(ivrcdr,"${MSISDN}","${OPT}","APPLICATION2","${CHANNEL}","now()","SUBMENU2")
exten => 2,n,Background(IVR/(1120) MENU 2)
.
.
.
****

what i will also want to capture is how long a caller took to listen to
say SUBMENU1

It should be noted that CDR doesnot capture such detailed info (Tzafrir)

Regards
Kili
Quote:

On Sat, Jun 28, 2008 at 03:37:56PM +0200, Anselm Martin Hoffmeister wrote:
Quote:
Am Samstag, den 28.06.2008, 08:15 -0500 schrieb research at businesstz.com:
Quote:
Hi List

I have build an IVR on Asterisk from 1.2 to now 1.4.18 and has already
processed more than 10million calls!

I have one big challenge which is reporting... it is the requirement
to
Quote:
have a web reporting module which should the following info based on
selected time frame
- Number of calls on specific branch- Done
- Number of calls to branch 1 that came from branch 2 (this should be
flexible)
- talktime on specified branch (say how long caller listened to option
1
Quote:
before choosing option 2 or hangup)

On IVR, it is so important to understand how many callers select a
specific branch and how long they spent on that branch. CDR stats can
not
Quote:
provide these type of information and on trying freepbx, still can not
go
Quote:
so detailed

Dear Kili,

in my opinion this is a good application for Database backends. You
could, for example, write entries to a DB whenever someone presses a key
(or is re-routed in the dialplan, which comes to a similar scheme). In
data mining time some SQL logic can produce nearly any data you want,
provided the input data is there.

Millions of calls sounds a lot though, so be sure to have a reasonable
database backend: The asterisk included one might be a bit on the small
side here.

This is just an idea, I did not implement anything the like (yet).

Asterisk already has this separate database backend: CDR.

--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir
Back to top
research at businesstz...
Guest





PostPosted: Tue Jul 01, 2008 1:39 pm    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

Greetings

Can someone assist to unfold the secret on how to atleast to a count on
particular branch, say, if 2 is chosen, then we start count from the time
the choice is made to the time the caller hangup or choice another option

i.e.
exten => s,1,Answer()
exten => s,n,Background(PLEASE ENTER YOU OPTION)
exten => s,n,XXX ; //IS IT POSSIBLE TO START A STOPWATCH (COUNTER) HERE
exten => s,n,WaitExten(10)
exten => s,n,Goto(s,1)

exten => 1,1,Answer()
exten => 1,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 1,n,XXX ;(RE)START A COUNTER HERE
exten => 1,n,PLAYBACK(OPTION1 SELECTED);(RE)START A COUNTER HERE
exten => 1,n,Hangup

exten => 2,1,Answer()
exten => 2,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 2,n,XXX ;(RE)START A COUNTER HERE
exten => 2,n,PLAYBACK(OPTION2 SELECTED);(RE)START A COUNTER HERE
exten => 2,n,Hangup

i believe we can set something very powerful here

Kili




Quote:
Thanks Anselm

Its true that is a lot of calls but i have a separate mysql database on
different server (HP DL580G5 with 16cores). what am currently doing is
capturing the information right after selection and insert that record
into mySql.

****
[macro-capture-input]
;
;
; Macro that feeds data into mysql through perl script:
; ${ARG1} - MSISDN
; ${ARG2} - src
; ${ARG3} - MainMenu Application
; ${ARG4} - Channel
; ${ARG5} - calldatetime
; ${ARG6} - Sub Menu Application
;
;
exten => s,1,System(/var/lib/asterisk/agi-bin/capture.pl ${ARG1} ${ARG2}
${ARG3} ${ARG4} ${ARG5} ${ARG6})

[Data-Services-Options]
; This menu is aimed to provide user with info about data services
offered by Vodacom, including
; 1 - SUBMenu 1
; 2 - SUBMenu 2
; 3 - SUBMenu 3
; 4 - SUBMenu 4
;
;
;SUBMENU 1
;
exten =>
1,1,Macro(capture-input,"${MSISDN}","${OPT}","APPLICATION1","${CHANNEL}","now()","SUBMENU1")
exten => 1,n,Background(IVR/(1110) MENU 1)

;SUBMENU 2
exten => 2,1,Macro(sendsms,${MSISDN},1,${LANGUAGE})
exten =>
2,n,Macro(ivrcdr,"${MSISDN}","${OPT}","APPLICATION2","${CHANNEL}","now()","SUBMENU2")
exten => 2,n,Background(IVR/(1120) MENU 2)
.
.
.
****

what i will also want to capture is how long a caller took to listen to
say SUBMENU1

It should be noted that CDR doesnot capture such detailed info (Tzafrir)

Regards
Kili
Quote:

On Sat, Jun 28, 2008 at 03:37:56PM +0200, Anselm Martin Hoffmeister
wrote:
Quote:
Am Samstag, den 28.06.2008, 08:15 -0500 schrieb
research at businesstz.com:
Quote:
Hi List

I have build an IVR on Asterisk from 1.2 to now 1.4.18 and has
already
Quote:
processed more than 10million calls!

I have one big challenge which is reporting... it is the requirement
to
Quote:
have a web reporting module which should the following info based on
selected time frame
- Number of calls on specific branch- Done
- Number of calls to branch 1 that came from branch 2 (this should
be
Quote:
flexible)
- talktime on specified branch (say how long caller listened to
option
1
Quote:
before choosing option 2 or hangup)

On IVR, it is so important to understand how many callers select a
specific branch and how long they spent on that branch. CDR stats can
not
Quote:
provide these type of information and on trying freepbx, still can
not
go
Quote:
so detailed

Dear Kili,

in my opinion this is a good application for Database backends. You
could, for example, write entries to a DB whenever someone presses a
key
(or is re-routed in the dialplan, which comes to a similar scheme). In
data mining time some SQL logic can produce nearly any data you want,
provided the input data is there.

Millions of calls sounds a lot though, so be sure to have a reasonable
database backend: The asterisk included one might be a bit on the small
side here.

This is just an idea, I did not implement anything the like (yet).

Asterisk already has this separate database backend: CDR.

--
Tzafrir Cohen
icq#16849755 jabber:tzafrir.cohen at xorcom.com
+972-50-7952406 mailto:tzafrir.cohen at xorcom.com
http://www.xorcom.com iax:guest at local.xorcom.com/tzafrir


Back to top
asterisk.org at sedwar...
Guest





PostPosted: Tue Jul 01, 2008 2:28 pm    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

On Tue, 1 Jul 2008, research at businesstz.com wrote:

Quote:
Can someone assist to unfold the secret on how to atleast to a count on
particular branch, say, if 2 is chosen, then we start count from the time
the choice is made to the time the caller hangup or choice another option

i.e.
exten => s,1,Answer()
exten => s,n,Background(PLEASE ENTER YOU OPTION)

exten => s,n,XXX ; //IS IT POSSIBLE TO START A STOPWATCH (COUNTER) HERE
exten => s,n,WaitExten(10)
exten => s,n,Goto(s,1)

exten => 1,1,Answer()
exten => 1,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 1,n,XXX ;(RE)START A COUNTER HERE
exten => 1,n,PLAYBACK(OPTION1 SELECTED);(RE)START A COUNTER HERE
exten => 1,n,Hangup

exten => 2,1,Answer()
exten => 2,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 2,n,XXX ;(RE)START A COUNTER HERE
exten => 2,n,PLAYBACK(OPTION2 SELECTED);(RE)START A COUNTER HERE
exten => 2,n,Hangup

You could "start" your stopwatch with

exten = s,n, set(STOPWATCH=${EPOCH})

instead of your extraneous answer()s and then in your "h" extension, stop
the stopwatch with:

exten = h,n, set(STOPWATCH=$[${EPOCH} - ${STOPWATCH}])

You could also use resetcdr(w) at the start of each option. This will
create a new CDR with the time spent on the previous option at each step
in your dialplan. By setting the option number in a CDR variable after
each CDR is written, the time spent in each option can be identified.

Thanks in advance,
------------------------------------------------------------------------
Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
Back to top
research at businesstz...
Guest





PostPosted: Tue Jul 01, 2008 10:43 pm    Post subject: [asterisk-users] Asterisk as an IVR Reply with quote

Oh Edward

You are my Hero... Simple but perfect. Option II is ideal but as you know
this is Asterisk/*/everything..

Thanks to list
Kill

Quote:
Quote:
Can someone assist to unfold the secret on how to atleast to a count on
particular branch, say, if 2 is chosen, then we start count from the
time
the choice is made to the time the caller hangup or choice another
option

i.e.
exten => s,1,Answer()
exten => s,n,Background(PLEASE ENTER YOU OPTION)

exten => s,n,XXX ; //IS IT POSSIBLE TO START A STOPWATCH (COUNTER) HERE
exten => s,n,WaitExten(10)
exten => s,n,Goto(s,1)

exten => 1,1,Answer()
exten => 1,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 1,n,XXX ;(RE)START A COUNTER HERE
exten => 1,n,PLAYBACK(OPTION1 SELECTED);(RE)START A COUNTER HERE
exten => 1,n,Hangup

exten => 2,1,Answer()
exten => 2,n,AGI(POPULATE PREVIOUS BRANCH DATA INTO THE DB)
exten => 2,n,XXX ;(RE)START A COUNTER HERE
exten => 2,n,PLAYBACK(OPTION2 SELECTED);(RE)START A COUNTER HERE
exten => 2,n,Hangup

You could "start" your stopwatch with

exten = s,n, set(STOPWATCH=${EPOCH})

instead of your extraneous answer()s and then in your "h" extension, stop
the stopwatch with:

exten = h,n, set(STOPWATCH=$[${EPOCH} - ${STOPWATCH}])

You could also use resetcdr(w) at the start of each option. This will
create a new CDR with the time spent on the previous option at each step
in your dialplan. By setting the option number in a CDR variable after
each CDR is written, the time spent in each option can be identified.

Thanks in advance,
------------------------------------------------------------------------
Steve Edwards sedwards at sedwards.com Voice: +1-760-468-3867 PST
Newline Fax: +1-760-731-3000
Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

VoiceMeUp - Corporate & Wholesale VoIP Services