Set (MONITOR_FILENAME=……………..) for queuing recording calls

Home » Asterisk Users » Set (MONITOR_FILENAME=……………..) for queuing recording calls
Asterisk Users 3 Comments

Hi All;

I noticed in the queues.conf the configuration for recording the calls in the queuing, and regarding to the filename (or any other parameter), it is written that I can determine the filename using the command:

Set(MONITOR_FILENAME=foo)

But it should be called from the dialing plan, but really i did not understand how to call it from the dialing plan.

Well, for example this is my dialing plan to route for the queuing, how I can set the filename:

[CustomerSupport]

include => Internal

exten => s,1,Queue(CustomerSupport,t,,,120)
exten => s,2,Macro(voicemail,SIP/reception)

By the way, I need in the filename to appear the following:
The SIP username for the IP Phone that the call is routed for it
The calling number
The Time of the call

Actually for the outbound recording, I am using the below command (I mentioned it to declare the time format I am using and to declare how the filename to be named):

exten => _9ZXXXXXXXX,1,MixMonitor(${CHANNEL}${EXTEN:1}${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}.wav)

So I hope if someone can help me to write the Set(MONITOR_FILENAME=foo) in a way to acheive same format the filename of the recorded outgoing calls (in addition that until now I am not able to know where I have to place the Set(MONITOR_FILENAME=foo).

For example, should I place it as following:
exten => s,1,Set(MONITOR_FILENAME=……………..)
exten => s,2,Queue(CustomerSupport,t,,,120)
exten => s,3,Macro(voicemail,SIP/reception)

Appreciate if someone help me plz.
Regards
Bilal

3 thoughts on - Set (MONITOR_FILENAME=……………..) for queuing recording calls

  • ; If set to yes, just prior to the caller being bridged with a queue
    member
    ; the following variables will be set
    ; MEMBERINTERFACE is the interface name (eg. Agent/1234)
    ; MEMBERNAME is the member name (eg. Joe Soap)
    ; MEMBERCALLS is the number of calls that interface has taken,
    ; MEMBERLASTCALL is the last time the member took a call.
    ; MEMBERPENALTY is the penalty of the member
    ; MEMBERDYNAMIC indicates if a member is dynamic or not
    ; MEMBERREALTIME indicates if a member is realtime or not
    ;
    ;setinterfacevar=no

    Basically the variable ${MEMBERINTERFACE} will have the extension (if
    using dynamic members) or the agent number.

  • 😛 I’d this very similar situation/ project Carl – and guess what. The
    filename is created before the call actually hits QUEUE application so these
    Queue variables are not populated by then so filename won’t contain the
    Agent Number.
    UNLESS you move the file after queue to a new filename containing the Agent
    Number.

    like ;

    exten => whatever,n,SET(MONITOR_FILENAME=blah-blah)
    exten => whatever,n,Queue(${params}); Queue should contain option “c” to
    continue in dialplan when callee hangup. Caller hangup case needs special
    attention too
    exten => whatever,n,System(mv ${old-Filename} ${old-Filename}-
    ${MEMBERINTERFACE})

    I guess this should do the job.

  • I do not know when the recording actually starts but if it start when the agent answers the call then it might be possible to have the name set in an AGI that gets run when the agent answers call. If nothing else you can set a variable to the name you want to have the file have and rename it at end of call.