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:
[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.