MixMonitor and attended transfers

Home » Asterisk Users » MixMonitor and attended transfers
Asterisk Users 3 Comments


I’m using asterisk (with a couple of patches)

I have the following scenario…

SIP call comes in and gets answered by extension A (MixMonitor is
executed as part of this inbound dial plan of the number being called)

Extension A puts call on hold and calls extension B

Extension A then does an attended transfer of incoming call to extension

I’m finding that the recording only lasts up to the point that the
transfer is made.

Is this the correct behaviour? Is there any way I could make this
inbound call into a single continuous recording?

Thanks in advance


3 thoughts on - MixMonitor and attended transfers

  • I’ve not used 1.8 yet, but in 1.4, you could send the incoming call through a LOCAL channel when the call comes in, and start the recording on the Local channel.

    That way, the LOCAL channel should keep recording, even when you transfer the call.

    You may need to add /n


    Hope that helps. It’s a little hard to explain, but try it out.

    Dan Journo
    Kesher Communications (UK)
    Business Phone Systems< http://www.keshercommunications.com/> | Hosted PBX< http://www.keshercommunications.com/hostedpbx.html>

  • I didn’t have this problem with 1.4, it just recorded the whole message as a matter of course.

    I’ll have a look into using local channels for this but I think it has
    more to do with the way that 1.8 as treating attended transfers and how
    it joins the 2 channels involved.

  • Here’s part of the log for this procedure

    [2011-08-02 13:47:13] VERBOSE[6475] rtp_engine.c: — Locally bridging SIP/A-00000049 and SIP/B-0000004a
    [2011-08-02 13:47:20] VERBOSE[6475] rtp_engine.c: — Locally bridging SIP/inbound-00000047 and SIP/B-0000004a
    [2011-08-02 13:47:20] VERBOSE[6463] pbx.c: == Spawn extension (inbound, s, 4) exited non-zero on ‘SIP/A-00000049
    [2011-08-02 13:47:20] VERBOSE[6464] app_mixmonitor.c: == MixMonitor close filestream
    [2011-08-02 13:47:26] VERBOSE[6475] app_macro.c: == Spawn extension (macro-stdexten, s, 1) exited non-zero on ‘SIP/inbound-00000047’ in macro ‘stdexten’
    [2011-08-02 13:47:26] VERBOSE[6475] pbx.c: == Spawn extension (local, B, 1) exited non-zero on ‘SIP/inbound-00000047’
    [2011-08-02 13:47:26] VERBOSE[6464] app_mixmonitor.c: == End MixMonitor Recording SIP/inbound-00000047

    Obviously, I’ve obscured some of the more sensitive details in there

    The thing to notice here though is that MixMonitor closes the filestream
    when I hit the transfer button but actually Ends the recording 6 seconds
    later when the whole call was ended.

    This seems like inconsistent behaviour and more like an unintentional
    consequence of changes rather than intended behaviour, i.e. why would
    you close the filestream yet not end the recording?