[Freeswitch-users] Determine what extension picked up after Bridging to a Group Call?

Frank Busalacchi Jr frankjr at mcpeekdodge.com
Wed Jan 25 19:32:44 MSK 2012


Ultimately what I am trying to do is this:

I would like to write a Webpage that provides managers the ability to enter a date range and a phone extension and get a list of each phone call in which that extension participated (originated, transferred etc etc..Any participation in a call..)...Then, if the manager clicks on that call, the webpage would dig up the call recording for that call, and play it back.

In order to accomplish that, I somehow need to be able to log a record of the path that a call went through...ex. A call comes in...answered by the operator (ext 1250), transferred to a group call (ext 1300), answered by a sales rep (ext 1310), who then transferred the call to the manager (ext 1320).

What I am successfully doing now, is getting the "call path" with the exception of when a call is bridged to a group ( I append/export  a variable in my "transfer" extension)...My example above ends up in the csv cdr as this, "7145551212->1250:1300:1320" .. I am unable to snag that ext 1310.   What I would really like to do is to have the csv cdr have:
 "71455551212->1250:1300:1310:1320"
                                                       ^^^

If I can get that, the rest of what I am trying to do should be trivial (Famous last words).

Frank Busalacchi Jr         

-----Original Message-----
From: Michael Jerris [mailto:mike at jerris.com] 
Sent: Wednesday, January 25, 2012 6:24 AM
To: FreeSWITCH Users Help
Subject: Re: [Freeswitch-users] Determine what extension picked up after Bridging to a Group Call?

It depends where you are trying to use this information.  The xml cdr will already have much of this information.  Can you explain what your trying to do with this information and when?

Mike

On Jan 24, 2012, at 5:27 PM, Frank Busalacchi Jr wrote:

> Probably not the right way to do this, but currently I implement "RingGroups" by bridging to a group call (as opposed to FIFO).
> 
> Is there any way to determine after the bridge is successful which extension in the group call actually answered the call?
> 
> Example:
> 
>  <extension name="Group-Office">
>    <condition field="destination_number" expression="^(1200)$">
>      <action application="set" data="hangup_after_bridge=true"/>
>      <action application="set" data="continue_on_fail=true"/>
>      <action application="set" data="call_timeout=25"/>
>      <action application="set" data="ringback=${us-ring}"/>
>      <action application="set" data="transfer_ringback=$${hold_music}"/>
>      <action application="set" data="called_party_callgroup=office"/>
>      <action application="hash" data="insert/${domain_name}-last_dial_ext/${dialed_extension}/${uuid}"/>
>      <action application="hash" data="insert/${domain_name}-last_dial/${called_party_callgroup}/${uuid}"/>
>      <action application="bridge" data="${group_call(office@${domain_name}+A)}"/>
>      <action application="transfer" data="1200 XML default"/>
>      <action application="hangup"/>
>    </condition>
>  </extension>
> 
> 
> I ask as a followup to a question long ago about how to determine the actual call path each call takes.  I want to be able to determine that a call came in, was transferred to ext 1200 (The Call Group), and then know which actual extension picked it up.  I am doing that in my "Local_Transfer" extension by appending/exporting to a channel variable I have created called ${call_path}.  I then have my cdr_csv include ${call_path} in its output.  Works nicely except with the "group call".  
> 
> I get   7145551212:1200   
>            Inbound Call_id : transferred to 1200
> 
> What I would like to somehow accomplish is:
> 
> 7145551212:1200:1250
> Inbound Call_ID : transferred to 1200 (RingGroup) : Transferred to 1250 (Actual extension in RingGroup that answered).






Join us at ClueCon 2011 Aug 9-11, 2011
More information about the FreeSWITCH-users mailing list