Pickup queue call not recorded

  1. 11 years ago

    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?

  2. admin

    1 Feb 2013 Administrator

    That is the way asterisk works with recordings. Only in recent asterisk versions there are provisions to mantain recordings after call masquerading, but that has to be done via dialplan and variables.

    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,

or Sign Up to reply!