Pickup queue call not recorded
When a call is in the queue and I click it and select Pickup, the call is not recorded. It seems that the Queue recording is bypassed. I'm using Freepbx 2.9. This would be a nice feature, but I need the call to record automatically per the Queue setting.
This is the log from a normal call pickup:
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- Executing [s@macro-dial:7] Dial("Local/644@from-queue-c6bc,2", "SIP/644|15|trWM(auto-blkvm)") in new stack
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- Called 644
[2013-01-17 22:05:50] VERBOSE[18402] logger.c: -- Local/644@from-queue-c6bc,1 is ringing
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- SIP/644-085d75c8 is ringing
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- SIP/644-085d75c8 answered Local/644@from-queue-c6bc,2
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-auto-blkvm:1] Set("SIP/644-085d75c8", "__MACRO_RESULT=") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Set
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-auto-blkvm:2] Macro("SIP/644-085d75c8", "blkvm-clr|") in new stack
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:1] GotoIf("SIP/644-085d75c8", "0?ret") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: GotoIf
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:2] NoOp("SIP/644-085d75c8", "Deleting: BLKVM/1000/IAX2/jnctn-3819 TRUE") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Noop
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:3] Set("SIP/644-085d75c8", "GOSUB_RETVAL=") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Set
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:4] MacroExit("SIP/644-085d75c8", "") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Macro
[2013-01-17 22:05:58] DEBUG[18423] app_dial.c: Macro exited with status 0
[2013-01-17 22:05:58] DEBUG[18402] app_queue.c: Dunno what to do with control type -1
[2013-01-17 22:05:58] VERBOSE[18402] logger.c: -- Local/644@from-queue-c6bc,1 answered IAX2/xxx-3819
[2013-01-17 22:05:58] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-reporthold' (language 'en')
[2013-01-17 22:05:59] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-less-than' (language 'en')
[2013-01-17 22:06:00] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'digits/2' (language 'en')
[2013-01-17 22:06:00] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-minutes' (language 'en')
[2013-01-17 22:06:01] VERBOSE[18402] logger.c: -- Stopped music on hold on IAX2/jnctn-3819
[2013-01-17 22:06:01] VERBOSE[18447] logger.c: == Begin MixMonitor Recording IAX2/jnctn-3819
And the log when the call is picked up via fop2 - it looks like Answer() is called, which bypasses recording:
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: -- Executing [dummy@fop2-dummy:1] Answer("Local/dummy@fop2-dummy-f5a4,2", "") in new stack
[2013-01-17 22:07:08] VERBOSE[18551] logger.c: -- Executing [s@macro-user-callerid:11] GotoIf("IAX2/jnctn-12100", "0?continue") in new stack
[2013-01-17 22:07:08] DEBUG[18551] app_macro.c: Executed application: GotoIf
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: -- Executing [dummy@fop2-dummy:2] Wait("Local/dummy@fop2-dummy-f5a4,2", "1") in new stack
[2013-01-17 22:07:08] VERBOSE[18551] logger.c: -- Executing [s@macro-user-callerid:12] Set("IAX2/xxx-12100", "__TTL=63") in new stack
[2013-01-17 22:07:08] WARNING[18612] app_queue.c: QueueLog requires arguments (queuename|uniqueid|membername|event[|additionalinfo])
[2013-01-17 22:07:08] DEBUG[18551] app_macro.c: Executed application: Set
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: == Spawn extension (fop2-dummy, dummy, 2) exited non-zero on 'Local/dummy@fop2-dummy-f5a4,2'
Is there any solution for this?
This is the log from a normal call pickup:
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- Executing [s@macro-dial:7] Dial("Local/644@from-queue-c6bc,2", "SIP/644|15|trWM(auto-blkvm)") in new stack
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- Called 644
[2013-01-17 22:05:50] VERBOSE[18402] logger.c: -- Local/644@from-queue-c6bc,1 is ringing
[2013-01-17 22:05:50] VERBOSE[18423] logger.c: -- SIP/644-085d75c8 is ringing
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- SIP/644-085d75c8 answered Local/644@from-queue-c6bc,2
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-auto-blkvm:1] Set("SIP/644-085d75c8", "__MACRO_RESULT=") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Set
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-auto-blkvm:2] Macro("SIP/644-085d75c8", "blkvm-clr|") in new stack
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:1] GotoIf("SIP/644-085d75c8", "0?ret") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: GotoIf
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:2] NoOp("SIP/644-085d75c8", "Deleting: BLKVM/1000/IAX2/jnctn-3819 TRUE") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Noop
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:3] Set("SIP/644-085d75c8", "GOSUB_RETVAL=") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Set
[2013-01-17 22:05:58] VERBOSE[18423] logger.c: -- Executing [s@macro-blkvm-clr:4] MacroExit("SIP/644-085d75c8", "") in new stack
[2013-01-17 22:05:58] DEBUG[18423] app_macro.c: Executed application: Macro
[2013-01-17 22:05:58] DEBUG[18423] app_dial.c: Macro exited with status 0
[2013-01-17 22:05:58] DEBUG[18402] app_queue.c: Dunno what to do with control type -1
[2013-01-17 22:05:58] VERBOSE[18402] logger.c: -- Local/644@from-queue-c6bc,1 answered IAX2/xxx-3819
[2013-01-17 22:05:58] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-reporthold' (language 'en')
[2013-01-17 22:05:59] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-less-than' (language 'en')
[2013-01-17 22:06:00] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'digits/2' (language 'en')
[2013-01-17 22:06:00] VERBOSE[18402] logger.c: -- <Local/644@from-queue-c6bc,1> Playing 'queue-minutes' (language 'en')
[2013-01-17 22:06:01] VERBOSE[18402] logger.c: -- Stopped music on hold on IAX2/jnctn-3819
[2013-01-17 22:06:01] VERBOSE[18447] logger.c: == Begin MixMonitor Recording IAX2/jnctn-3819
And the log when the call is picked up via fop2 - it looks like Answer() is called, which bypasses recording:
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: -- Executing [dummy@fop2-dummy:1] Answer("Local/dummy@fop2-dummy-f5a4,2", "") in new stack
[2013-01-17 22:07:08] VERBOSE[18551] logger.c: -- Executing [s@macro-user-callerid:11] GotoIf("IAX2/jnctn-12100", "0?continue") in new stack
[2013-01-17 22:07:08] DEBUG[18551] app_macro.c: Executed application: GotoIf
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: -- Executing [dummy@fop2-dummy:2] Wait("Local/dummy@fop2-dummy-f5a4,2", "1") in new stack
[2013-01-17 22:07:08] VERBOSE[18551] logger.c: -- Executing [s@macro-user-callerid:12] Set("IAX2/xxx-12100", "__TTL=63") in new stack
[2013-01-17 22:07:08] WARNING[18612] app_queue.c: QueueLog requires arguments (queuename|uniqueid|membername|event[|additionalinfo])
[2013-01-17 22:07:08] DEBUG[18551] app_macro.c: Executed application: Set
[2013-01-17 22:07:08] VERBOSE[18611] logger.c: == Spawn extension (fop2-dummy, dummy, 2) exited non-zero on 'Local/dummy@fop2-dummy-f5a4,2'
Is there any solution for this?
Comments
When you pickup a call from a queue, you are actually TAKING THE CALL OUT OF THE QUEUE APPLICATION.
That means, not only the recording is lost, but also you are creating a new call outside the queue, so the queue logger will report the call as ABANDONED.
None of this is a bug in FOP2, but a feature in Asterisk.
Best regards,