Mixmonitor not working on member(calling part) channel of Queue.

Home » Asterisk Users » Mixmonitor not working on member(calling part) channel of Queue.
Asterisk Users 2 Comments

On Thu, 2011-05-05 at 18:16 +0530, Asterisk Man wrote:
> Hi,
>
> I have a simple Queue(named 1) and one Member(SIP/1119) logged into
> it. Now when a caller is placed into Queue and gets connected with
> Member, I want to record the call. It does record the call when I use
> MixMonitor() before placing the caller into Queue, but not when
> MixMonitor() is used in macro which is called upon Member answering
> the call.
>
> Following is my dialplan…
>
> [mixmonitortest]
> exten => 1212,1,Noop(########## Test mixmonitor with Queue ##########)
> same => n,MixMonitor(testmixmonitorA.wav,W(4))
> same => n,Queue(1,ct,,,50,,agntanserd)
>
>
> [macro-agntanserd]
> exten => s,1,Noop(########## Agent answered the call. Record the call
> ##########)
> same => n,MixMonitor(testmixmonitorB.wav,W(4))
>
> I checked default path for recordings (/var/spool/asterisk/monitor)
> and it just shows a single recording for mixmonitor used before
> Queue()…
>
> [root@testmachine monitor]# ls
> testmixmonitorA.wav
>
> Following is the Asterisk CLI output…
>
> [May 5 17:26:34] — Executing [1212@mixmonitortest:1]
> NoOp(“SIP/31-0000001b”, “########## Test mixmonitor with Queue
> ##########”) in new stack
> [May 5 17:26:34] — Executing [1212@mixmonitortest:2]
> MixMonitor(“SIP/31-0000001b”, “testmixmonitorA.wav,W(4)”) in new stack
> [May 5 17:26:34] — Executing [1212@mixmonitortest:3]
> Queue(“SIP/31-0000001b”, “1,ct,,,50,,agntanserd”) in new stack
> [May 5 17:26:34] == Begin MixMonitor Recording SIP/31-0000001b
> [May 5 17:26:34] — Started music on hold, class ‘default’, on
> SIP/31-0000001b
> [May 5 17:26:34] WARNING[21215]: translate.c:162 framein: no samples
> for ulawtolin
> [May 5 17:26:34] == Using SIP RTP CoS mark 5
> [May 5 17:26:34] — SIP/1119-0000001c is ringing
> [May 5 17:26:40] — SIP/1119-0000001c answered SIP/31-0000001b
> [May 5 17:26:40] — Stopped music on hold on SIP/31-0000001b
> [May 5 17:26:40] — Executing [s@macro-agntanserd:1]
> NoOp(“SIP/1119-0000001c”, “########## Agent answered the call. Record
> the call ##########”) in new stack
> [May 5 17:26:40] — Executing [s@macro-agntanserd:2]
> MixMonitor(“SIP/1119-0000001c”, “testmixmonitorB.wav,W(4)”) in new
> stack
> [May 5 17:26:40] == Begin MixMonitor Recording SIP/1119-0000001c
> [May 5 17:26:46] == End MixMonitor Recording SIP/1119-0000001c
> [May 5 17:26:46] == MixMonitor close filestream
> [May 5 17:26:46] == End MixMonitor Recording SIP/31-0000001b
>
>
> Any idead why is Asterisk not creating recording for Mixmonitor()
> application used in macro? Has anybody faced similar issue, or is a
> bug?
>
> Asterisk version- 1.8.3.2
> I couldn’t get chance to test on other Asterisk versions.
>
What is wrong with the native Queue recording? Check queues.conf and
make sure you have:

monitor-type = MixMonitor
monitor-format = gsm|wav|wav49

This will automatically record calls when the agent answers the call.

2 thoughts on - Mixmonitor not working on member(calling part) channel of Queue.

  • Thank you very much for your response and suggestion.
    I raised the question because in my project I don’t want to record all the
    Queue

    calls. I just want to record calls connected with some specific members.

  • Further,
    Before I start working on full project, I wanted to test the functionalities
    to be implemented. So I wrote a small test dialplan to check whether I can
    record a Queue call in Macro which gets executed on Member answer. My actual
    macro would be like this…

    [macro-agntanserd]
    exten => s,1,Noop(########## Agent answered the call. Record the call
    ##########)
    ;– Check whether to record a call or not –;
    same =>
    n,Set(ARRAY(RECORDCALL,ONDEMAND)=${ODBC_CHECK_CALL_RECORDING(${MEMBERNAME})})
    same => n,ExecIf($[${RECORDCALL} =
    1]?MixMonitor(testmixmonitorB.wav,W(4)):Noop())

    And I have a realtime Queue in which members are added/removed dynamically.

    Any help or pointer will be appreciated.
    Thanks,