[asterisk-users] MixMonitor/Queue and Tranfers

Miguel Molina mmolina at millenium.com.co
Wed Jul 8 12:04:07 CDT 2009


Un-topposting...
> On Tue, Jul 7, 2009 at 7:08 PM, Miguel Molina <mmolina at millenium.com.co> wrote:
>   
>> Darrin Henshaw escribió:
>>
>> 2.       The issue does seem to be limited to MixMonitor and the Queue application, as in testing I setup mixmonitor on my extension dialed it from outside the company(my cell phone) and transferred the call without stopping the recording.
>>
>> I have a couple of questions on this:
>>
>> 1. Are you using SIP/IAX2/whatever extensions as queue members or Agent type members?
>> 2. If you are using Agent members, on the queued calls (though is the same call) are you recording from the Agent channel (callee) or from the client channel (caller)? That would make a difference in case of a transfer, because the callee leg changes but the caller leg is the same.
>>
>> Cheers,
>>
>> --
>> Ing. Miguel Molina
>> Grupo de Tecnología
>> Millenium Phone Center

>> Darrin Henshaw escribió:
>>     
>>> Thanks for the reply.
>>>
>>> 1. The extensions in the Queues are setup as Agent members, defined in
>>> Agents.conf, then within the definition of the queue in queues.conf
>>> they are made members of the queue.
>>>
>>> 2. As for the recording my diaplan is as follows:
>>>
>>> [main-line]
>>> exten => s,1,NoOp()
>>> exten => s,n,NoOp(CallerID-dnid ${CALLERID(dnid)}))
>>> exten => s,n,NoOp(CallerID-number ${CALLERID(number)}))
>>> exten => s,n,NoOp(CallerID-name ${CALLERID(name)}))
>>> exten => s,n,Wait(2)
>>> exten => s,n,Answer
>>> exten => s,n,Playback(/var/lib/asterisk/sounds/custom/queue_greeting)
>>> exten => s,n,MixMonitor(/var/www/monitor/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(number)}_${UNIQUEID}.WAV||)
>>> exten => s,n,GotoIfTime(20:00-7:45|mon-fri|*|*?Afterhours)
>>> exten => s,n,GotoIfTime(*|sat-sun|*|*?Afterhours)
>>> exten => s,n,GotoIfTime(*|*|25-26|dec?Afterhours)
>>> exten => s,n,GotoIfTime(*|*|1|jan?Afterhours)
>>> exten => s,n,GotoIfTime(*|*|1|sep?Afterhours)
>>> exten => s,n,GotoIfTime(*|*|21|mar?Afterhours)
>>> exten => s,n,GotoIfTime(17:30-20:00|*|10|apr?Afterhours)
>>> exten => s,n,GotoIfTime(*|*|11|nov?Afterhours)
>>> exten => s,n(Businesshours),Queue(MainQueue|t|||3600)
>>> exten => s,n,Hangup
>>> exten => s,n(Afterhours),Queue(AFTERHOURS|t|||3600)
>>> exten => s,n,Hangup
>>>
>>> I am under the impression that MixMonitor records both streams and
>>> mixes them at the same time, meaning I'm not recording on the caller
>>> or callee but both. However, I could be mistaken. Thanks.
Well, you are recording (monitoring) from the caller channel, not the 
Agent channel, so you should get the complete recording, even if it's 
transferred (someone please correct me if I'm wrong). AFAIK, when we do 
a attended transfer and the original Queue call is being recorded we end 
up with two types of recordings, because I have MixMonitor into the 
initial Queue and the transfer Queue too:

1. Initial call connected to agent -> Conversation with second agent 
(the time where the two agents talk to each other is not recorded 
because the caller channel is put into MoH, and is not bridged at that 
time).
2. Transferrer call connected to transfer queue and to second agent (the 
caller is now the transferrer in this case). The conversation between 
the agents is recorded with the resulting transferred call, where the 
initial caller becomes the new caller of the transferred call when the 
transferrer hangs up.

So for me there's no way to have the whole attended transfer process on 
a same recording file (initial call, the conversation between the two 
agents, and the resulting transferred call).

On the other hand, I see that you don't use the 'b' option in 
MixMonitor, do you record the entire call including the MoH that the 
caller hears before is connected to someone? Try the 'b' option, it only 
records the call while it's bridged to another channel (i.e. talking to 
another one), that can save you lots of disk space while you record the 
relevant part of the call. You can see on the CLI the events where 
MixMonitor starts/stops the recording, that will help you troubleshoot 
your issue:

== Begin MixMonitor Recording SIP/TRUNK_SWITCH4PRI-b281a910
...
== End MixMonitor Recording SIP/TRUNK_SWITCH4PRI-b281a910

Hope it helps.

-- 
Ing. Miguel Molina
Grupo de Tecnología
Millenium Phone Center




More information about the asterisk-users mailing list