Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - QueueMetrics

Pages: 1 ... 198 199 [200] 201 202
2986
Improving QueueMetrics / Re: Bookmark custom reports
« on: April 03, 2007, 08:15:21 »
You can build something similar today with XML-RPC, but it would surely be an idea what you want. In fact, we plant to add a nmber of new advanced reports criteria, so maybe storing them would be a nice idea.

2987
General Asterisk configuration / Re: Queue Metrics and Trixbox 2
« on: April 02, 2007, 17:53:32 »
We expect to have it out by the end of the week.
Meeanwhile, have a look at: http://forum.queuemetrics.com/index.php?topic=12.0 as a starting point :)

2988
Running QueueMetrics / RAM leaks
« on: April 02, 2007, 08:36:20 »
FYI: we usually do a major system test for QueueMetrics before an official release - we simulate an instance of QM going through about 600,000 real-time reports and 600,000 non real-time reports before shipping it.
 
This takes about a week and it is meant to make sure the RAM image is stable and there are no leaks at either the Java heap usage or the total RAM usage (and yes, it is possible in Java to leak RAM at the JVM level though not in the Java heap - we wncountered a casa where file descriptors would not free their own RAM under Linux, though they would under Win32).

Developing a server-side app meant for heavy-duty number crunching is not that easy, but surely this is needed for an industrial-grade solution.

2989
General Asterisk configuration / Re: Queue Metrics and Trixbox 2
« on: April 02, 2007, 08:29:12 »
The instuctions should basically work for all versions of Trixbox, though we understand that version 2.0 has changed a bit so it's time to revamp the docs as well :)

2990
Hello Simon,
I have a piece of good news for you: QueueMetrics 1.3.4 - going to be released in a couple of weeks - will support user-definable hourly breakdown, so you can break down call distribution by a user-defined length, from 2 minutes to 2 hours.... :)

2991
Running QueueMetrics / Re: User supervisor
« on: March 31, 2007, 09:32:01 »
First, you add a key (call it LOC_A) to the location, so that only supervisors having that key can run a report by that location, and give the same key to the supervisor.

Now only supervisors with that very key can run a report by that location.

2992
Improving QueueMetrics / Re: Report based on call duration
« on: March 26, 2007, 21:37:06 »
Nice idea - we are adding it to the ideas log. :) Anybody else has ideas on how to make this?

2993
It would be better if you could send over a piece of your queue_log to the support line, so we can try and run it in our labs and see what is wrong with it.

2994
Try setting those SIP/XXX to Agent/XXX, or better Local/XXX:

1174803275|1174803275.25578|NONE|Local/640@agents|AGENTLOGIN|-

And then set rewriteLocalChannels=true in the config file.

You can do this by changing your dialplan as follows:

exten => s,1,AddQueueMember(payment,Local/${CALLERID(num)}@agents)
exten => s,n,System( echo "${EPOCH}|${UNIQUEID}|NONE|Local/${CALLERID(num)}@agents|AGENTLOGIN|-" >> /var/log/asterisk/queue_log)

Of couse this implies you have a context agents, that might be something like:

Code: [Select]
[agents]
exten => XXX,1,Dial(SIP${EXTEN},30)

This should be it.




2995
Hello,
to track outgoing calls in QM you need to implement an Outtgoing Queue, that is a wrapper that will record the same events for outgoing calls as if they were incoming calls handled by a queue. This is quite easy, as we provide an AGI script that will do all the dirty work for you: see http://queuemetrics.com/faq.jsp#faq-013-queueDial - you just need to change the dialplan to handle this case.
As an added bonus, the example above will use MixMonitor() to record calls on an outgoing queue.
Your agents will the input the outgoing queue to use (so you can have different outgoing campaigns open at once) and the number to dial, and voila it works.

To record all incoming calls, you should set the monitoring again by changing the dial plan as in the example below:

Code: [Select]
[q-my-sample]
; ...queue description.....
exten => s,1,SetVar(MONITOR_FILENAME=/var/spool/asterisk/QSAMPLE-${UNIQUEID})
exten => s,2,Queue(q-sample|nt|||60)

By setting the MONITOR_FILENAME variable, you are implicitly asking Asterisk to record those calls.

2996
This is a very simple XML-RPC client for QueueMetrics. It is based on the standard XML_RPC library that is a part of Pear, so it should be already installed on most recent versions of PHP.
This client will query QueueMetrics asking for the details of answered and unanswered calls, and will print them out in tabular form. Should be pretty self-explanatory. :)


Code: [Select]

<h1>QueueMetrics XML-RPC client in PHP</h1>
<?
require_once 'XML/RPC.php';

$qm_server = "10.10.3.5";           // the QueueMetrics server address
$qm_port   = "8080";                // the port QueueMetrics is running on
$qm_webapp = "queuemetrics-1.3.3";  // the webapp name for QueueMetrics


// set which response blocks we are looking for
$req_blocks = new XML_RPC_Value(array(
  new XML_RPC_Value("DetailsDO.CallsOK"),
    new XML_RPC_Value("DetailsDO.CallsKO")
    ), "array");

// general invocation parameters - see the documentation
$params = array(
          new XML_RPC_Value("queue-dps"),
new XML_RPC_Value("robot"),
new XML_RPC_Value("robot"),
new XML_RPC_Value(""),
new XML_RPC_Value(""),
new XML_RPC_Value("2007-01-01.10:23:12"),
new XML_RPC_Value("2007-10-10.10:23:10"),
new XML_RPC_Value(""),
$req_blocks
          );
         
$msg = new XML_RPC_Message('QM.stats', $params);
$cli = new XML_RPC_Client("/$qm_webapp/xmlrpc.do", $qm_server, $qm_port);
//$cli->setDebug(1);
$resp = $cli->send($msg);
if (!$resp) {
    echo 'Communication error: ' . $cli->errstr;
    exit;
}
if ($resp->faultCode()) {
    echo 'Fault Code: ' . $resp->faultCode() . "\n";
    echo 'Fault Reason: ' . $resp->faultString() . "\n";
} else {
    $val = $resp->value();
    $blocks = XML_RPC_decode($val);

     // now we print out the details....   
     printBlock( "result", $blocks );
     printBlock( "DetailsDO.CallsOK", $blocks );
     printBlock( "DetailsDO.CallsKO", $blocks );
}

// output a response block as HTML
function printBlock( $blockname, $blocks ) {
echo "<h2>Response block: $blockname </h2>";
echo "<table border=1>";
$block = $blocks[$blockname];
for ( $r = 0; $r < sizeof( $block ); $r++ ) {
echo "<tr>";
for ( $c = 0; $c < sizeof( $block[$r] ); $c++ ) {
echo( "<td>" . $block[$r][$c] . "</td>" );
}
echo "</tr>\n";
}
echo "</table>";
}

?>


Please forgive the indenting - I am having some copy&paste problems.

2997
MySQL storage and Qloaderd/Uniloader / Re: queue_log table fields
« on: March 22, 2007, 10:49:56 »
Hello there,
the tables you are looking for can be accessed using the following names:

  • DetailsDO.CallsOK
  • DetailsDO.CallsKO
  • DetailsDO.AgentSessions

I think the names are fairly well self-explanatory :)

We are preparing an XML-RPC tutorial for PHP as well, as it is very widely used. I'll keep you posted. This should be a good starting point anyway: http://www.phpbuilder.com/columns/luis20010329.php3?page=3&print_mode=1



2998
Hello Simon,
what exactly are you having problems with? And which is the last version you refer to?

2999
MySQL storage and Qloaderd/Uniloader / Re: queue_log table fields
« on: March 21, 2007, 23:29:56 »
Hello David,
parsing the queue_log table directly via SQL is not a great idea - if it were so easy at it may seem, there would be no need for QueueMetrics itself! :)
If you need to elaborate on or export data from QueueMetrics, the best way to do it is to use the XML-RPC interface - see http://queuemetrics.com/download/QueueMetrics_XmlRpc_v10.pdf - with a scripting language of your choice. You may use that interface just to query QM for the very list of taken and lost calls or agents essions and then work on those as the basic "building blocks" of your own reports.

3000
Running QueueMetrics / Re: Large environment(s)
« on: March 21, 2007, 20:35:47 »
Sounds thrilling :) We're here to help you if you encounter any problems.

Pages: 1 ... 198 199 [200] 201 202