[asterisk-app-dev] ARI + Call Transfers

Julian Lyndon-Smith asterisk at dotr.com
Thu Jan 2 23:51:33 CST 2014


please forgive my ignorance and lateness to the thread :

one of the worries that I always have with using something like ARI to
do billing etc is that there is always a possibility of the ARI
application being down when such events occur. Can ARI events be
logged to a database (much like the cdr and manager events can)
internally within asterisk ?

If there were multiple ARI listeners or db loggers  (for redundancy
purposes), does an ARI event contain a unique id / guid so we can tell
if that event has been already processed ?

Julian


On 3 January 2014 02:56, Joshua Colp <jcolp at digium.com> wrote:
> Alistair Cunningham wrote:
>>
>>
>> It's not quite the question you're asking, but I'll weigh in anyway.
>> When implementing this, please bear those writing billing engines in
>> mind. For example, imagine a call comes in from the PSTN to a toll-free
>> number (so the inbound call must be billed). The caller listens to an
>> IVR for 10 seconds, then talks to a person on a locally registered SIP
>> handset for a further 20 seconds. That person then blind transfers them
>> out to a cell phone (and the outbound call must be billed). They talk to
>> the cell phone user for 30 seconds, who uses the # key to attended
>> transfer them to a different cell phone (which is a separate billable
>> outbound call), with the first cell phone user talking to the second for
>> 15 seconds during the attended transfer. The original caller talks to
>> the second cell phone for 2 minutes, then hangs up. The inbound call
>> must be billed for 3:15, the first outbound for 0:45, and the second
>> outbound for 2:15 (ignoring ring times on the outbound calls). Of
>> course, you don't need to implement this logic in Asterisk, but please
>> keep the model of the channels consistent enough that someone writing a
>> billing engine can figure out exactly what call legs they need to bill,
>> and for how long, and when transfers occur which endpoint did the
>> transfer and how. AGI suffered from billable call legs appearing to hang
>> up when transferred (even though they stayed up), making it very
>> difficult to piece together exactly what billable calls occurred when.
>> It would be good to avoid this in ARI.
>
>
> From the perspective of the transfer events you'll get full details about
> everything involved. Who did the transfer, what type, the bridge involved,
> the channels transferred, where. The ARI application can interpret these and
> do what it wants with them.
>
> --
> Joshua Colp
> Digium, Inc. | Senior Software Developer
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at:  www.digium.com  & www.asterisk.org
>
> _______________________________________________
> asterisk-app-dev mailing list
> asterisk-app-dev at lists.digium.com
> http://lists.digium.com/cgi-bin/mailman/listinfo/asterisk-app-dev



-- 
Julian Lyndon-Smith
IT Director, Dot R Limited

"I don’t care if it works on your machine!  We are not shipping your machine!”

The kangaroo dances: http://www.youtube.com/watch?v=MAWl5iYOaUg



More information about the asterisk-app-dev mailing list