Page 1 of 1

Transfer call log

PostPosted: Tue Feb 09, 2010 7:39 am
by kimhoogenberg
Is there a way to get the exact call times, including forwarded calls and their call times?

We're working with vicidialnow (1.2) at this inbound call center where there's a need to bill clients for also the forwarded minutes.

I hope that someone knows where to get this information. I see that the vicidial_xfer_log is pretty empty and hasn't got the fields/data I need for this.

Thanks!

PostPosted: Tue Feb 09, 2010 9:04 am
by mflorell
Please explain exactly what you need in detail as well as how the calls flow through your system.

PostPosted: Tue Feb 09, 2010 9:09 am
by kimhoogenberg
Hi Matt,

It's an integrated system (running in de same window execution context) and it borrow's these functions from vicidial.php:

Code: Select all
/**
* Vervind de beller 'warm' door met een contactpersoon of ander nummer.
*
* @param aNumber het nummer waarmee moet worden doorverbonden.
*/
function warmDoorverbinden(aNumber) {
   // prepare some vicidial stuff
   ShoWTransferMain('ON');

   // set the form's number which is read by SendManualDial
   document.vicidial_form.xfernumber.value = aNumber;
   
   xfer_park_dial();

   // keep in track if transfer is active (only for 'warm' transfer)
   inTransfer = true;
}

/**
* Verbind de beller 'koud' door met een contactpersoon of ander nummer.
*/
function koudDoorverbinden(aNumber) {
   // set the form's number which is read by mainxfer_send_redirect
   document.vicidial_form.xfernumber.value = aNumber;
   mainxfer_send_redirect('XfeRBLIND', lastcustchannel, lastcustserverip);
}


So, the mainxfer_send_redirect('XfeRBLIND'... and xfer_park_dial() are used for this.

PostPosted: Tue Feb 09, 2010 9:21 am
by mflorell
Are these warm transfers always to the same number?

Do you only want to log the time of the call from when you start the warm transfer until it hangs up?

PostPosted: Tue Feb 09, 2010 9:29 am
by kimhoogenberg
Matt,

These numbers are dynamically set when clicked on an inbound contact, this is how it works:
1) DID comes in;
2) IN-GROUP takes call with appropriate message (this means, that the call is answered by vicidial and put on a meeting room for an agent, this shows up immediately a screen over vicidial.php in the correct context for the DID);
3) AGENT can at this point transfer the call to a know contact for that called numer (which we bound to an inbound call center customer) by clicking on a contact;

So, the number can be anything. And the call needs to be logged until the entire call has finished. This is for billing the client for which telephony is taken care of by this call center. The call center obviously isn't going to pay for an endless number of calls from The Netherlands to the US, for example, so these transfers have to be registered regarding exactly how long and we must be able to relate them to an IN-GROUP or DID.

PostPosted: Tue Feb 09, 2010 3:15 pm
by mflorell
We have added some specialized logging in SVN trunk(not in 2.2.0) for a client doing this exact thing. It creates a DOUBLELOG entry in the call_log table and all you have to do is use a special Transfer/Conference dial prefix and slightly alter your dialplan to send those calls through a Call Menu that you set up that will log the call before sending it out. This uses the agi-NVA_recording.agi script.

PostPosted: Tue Feb 09, 2010 3:49 pm
by kimhoogenberg
So warm and cold transfer call times aren't logged in any way in the standard setup, right?

Then, this really is something we need to integrate :) Any help on how to proceed? Is this SVN committed file(s) documented somewhere?

PostPosted: Tue Feb 09, 2010 6:52 pm
by mflorell
All outbound calls are logged in the call_log table, that is the first place to start, but with the process I described you can have more control over that logging.

PostPosted: Wed Feb 10, 2010 6:09 am
by kimhoogenberg
Some more concrete questions to what I'm asking. Thanks again for your time Matt!

mflorell wrote:We have added some specialized logging in SVN trunk(not in 2.2.0) for a client doing this exact thing.

Where? What is the file called? Is the file documented?

mflorell wrote:It creates a DOUBLELOG entry in the call_log table and all you have to do is use a special Transfer/Conference dial prefix

What is this prefix?

mflorell wrote:and slightly alter your dialplan

How slightly? Can I find an example configuration which explains?

mflorell wrote:to send those calls through a Call Menu that you set up that will log the call before sending it out.

Through a Call Menu? Will this need additional scripting when calling the functions in vicidial.php manually?

mflorell wrote:This uses the agi-NVA_recording.agi script.

Fair enough :)

PostPosted: Wed Feb 10, 2010 9:40 am
by mflorell
You define the prefix you want to use.

All you need to do is add a Goto in the default context of the dialplan removing the prefix after the NVA agi script is run

It would probably be easier if you just started looking in the call_log to see if the calls you want logged are already being logged.

PostPosted: Wed Feb 10, 2010 9:54 am
by kimhoogenberg
Hmm.. What's this caller_code exactly? If we can match that on a client, then we would probably be all set with some querying.

PostPosted: Wed Feb 10, 2010 3:55 pm
by mflorell
for many calls involving vicidial.php the last 9 digits of the caller_code field are the lead_id.

PostPosted: Wed Aug 24, 2011 3:58 am
by Arjene
mflorell wrote:You define the prefix you want to use.

All you need to do is add a Goto in the default context of the dialplan removing the prefix after the NVA agi script is run

It would probably be easier if you just started looking in the call_log to see if the calls you want logged are already being logged.



Matt,
(transfered call's are not logged in the call_log)

any tech info (sample config files) for this logging setup ? (transfered call's are also not recorded, )

Arjen

Re: Transfer call log

PostPosted: Mon Sep 28, 2015 10:03 am
by necival
Hello Matt,

First sorry to dig up an old post, but I also need to log all transferred calls and the instructions here are not that clear to me. Can you provide the example dial plan for using a transfer prefix "09"?

If I'm understanding correct, it's something like this:
Code: Select all
exten => _09NXXNXXXXXX,1,AGI(agi-NVA_recording.agi----???)
exten => _09NXXNXXXXXX,n,Goto(?? Call menu ??)
exten => _09NXXNXXXXXX,n,Hangup


How do I configure the Call Menu to forward to the different numbers?

Thanks in advance

VERSION: 2.10-469a
BUILD: 150114-2249

Re: Transfer call log

PostPosted: Mon Sep 28, 2015 11:59 am
by mflorell
Send it to a Call Menu with the "09" stripped off, then in the Custom Dialplan of the Call Menu you will use the NVA-recording.agi script then a Goto back to the "default" context, which should look something like this:

exten => _X.,1,AGI(agi-NVA_recording.agi,BOTH------Y---Y---Y)
exten => _X.,n,Goto(default,${EXTEN},1)


The options for the NVA recording script, as of svn/trunk codebase right now, are(taken from source code):


# ; 1. logging output (NONE|STDERR|FILE|BOTH)
# ; 2. the ViciDial user ID, if empty it defaults to accountcode(usually phone extension) or vicidial_live_agents user who launched the call
# ; 3. log this call in user_call_log (Y|N) default N
# ; 4. log this call in call_log (Y|N) default N, ONLY NEEDED FOR INBOUND AND INTERSYSTEM CALLS!!!
# ; 5. audio record this call (Y|N) default N
# ; 6. double-log this call in call_log (Y|N) default N, ONLY NEEDED FOR INBOUND CALLMENU FORWARDED CALLS!!!
# ; 7. play the recording ID of this call before recording starts
# ; 8. include the recording ID in the filename
#
# ;custom dialplan entry example: (similar to the defaultlog Call Menu)
#exten => _X.,1,AGI(agi-NVA_recording.agi,BOTH------Y---N---Y---N---N---N)
#exten => _X.,n,Goto(default,${EXTEN},1)
#exten => _X.,n,Hangup
#
# ;inbound to agent example:
#exten => 5678,1,AGI(agi-NVA_recording.agi,BOTH------Y---Y---Y---N---N---N)
#exten => 5678,n,Goto(vicidial-auto,5678,1)
#exten => 5678,n,Hangup
#
# ; example of dial prefix of 94 in System Settings Custom Dialplan to default log
#exten => _941NXXNXXXXXX,1,Goto(defaultlog,9${EXTEN:2},1)
#
# ; example of using as Call Menu prompt to record with playing of recording id
#agi-NVA_recording.agi,BOTH------Y---N---Y---N---Y---Y
#