[asterisk-users] Monitor and SIP transfers (SIP REFER)
Mark Michelson
mmichelson at digium.com
Fri Feb 6 09:47:49 CST 2009
Gunnar Schaller wrote:
> Hello list,
> I need to record all calls. So I'm using application Monitor. Works
> good until someone transfers a callee to another internal extension.
> Example:
> A calls B
> A set B on hold
> A calls C
> A transfers B to C with SIP transfer (SIP REFER - with phone funktions
> and not Asterisk attended transfer).
> I found http://bugs.digium.com/view.php?id=0013538 . "corruptor" asked
> about this problem, but it seems there is no solution.
> Now I want to know how anyone deals with this problem. How to record
> those transfered calls? Any solution with manager commands or some
> source-code hacking (enabling Monitor for all calls so no Monitor is
> needed in dialplan). I'm working with Snom phones here - so there is
> the possibility to work with action url's.
>
> Thank you,
> Gunnar
>
The problem in this particular case is that the actual monitor object is on A's
channel. When A is no longer involved in the call, the monitor is gone, and so
the call cannot be recorded further. One possible solution is to run the Monitor
application on B's channel instead. This can be done by using the M option in
the Dial application. The M option allows you to run a macro on the *called*
channel's party when he answers. If you start the Monitor application from this
macro, you should find that things will work as you expect.
Note that the issue you linked was about MixMonitor, not Monitor. They are
completely different beasts when it comes to how they operate. In fact,
MixMonitor recordings can be set to survive a transfer if you are using Asterisk
1.4.23 and make use of the AUDIOHOOK_INHERIT function. For more information on
its use, you can issue the command "core show function AUDIOHOOK_INHERIT" from
the Asterisk CLI.
Mark Michelson
More information about the asterisk-users
mailing list