[asterisk-users] Call recording and transfer issue (asterisk 1.8)

Matthew Jordan mjordan at digium.com
Mon Jul 30 08:39:53 CDT 2012



----- Original Message -----
> From: "Ishfaq Malik" <ish at pack-net.co.uk>
> To: "Asterisk Users Mailing List - Non-Commercial Discussion" <asterisk-users at lists.digium.com>
> Sent: Wednesday, July 18, 2012 9:58:47 AM
> Subject: Re: [asterisk-users] Call recording and transfer issue (asterisk 1.8)
> 
> On Thu, 2012-04-19 at 12:20 +0100, Ishfaq Malik wrote:
> > Hi
> > 
> > I'm having a problem with the entirety of a call being recorded in
> > the
> > following scenario
> > I'm using asterisk 1.8.7.0
> > 
> > Person A (asterisk peer) calls Person B (not on asterisk, real
> > world
> > number via a SIP trunk)
> > Mixmonitor is invoked by Person A in the outbound context and
> > AUDIOHOOK_INHERIT(MixMonitor)=yes is also set
> > Person a transfers Person B to Person C (another asterisk peer)
> > Person A is no longer involved in the call and the call is bridged
> > between Person B and Person C
> > 
> > The call recording stops as soon as Person A hangs up, even though
> > AUDIOHOOK_INHERIT is set
> > 
> > Is there any way we can get the entire call recorded in one file?
> > 
> > Thanks in advance
> > 
> > Ish

Ish:

Leif had a pretty good explanation of why AUDIOHOOK_INHERIT behaves this
way in the comments of ASTERISK-16013.  I'll quote it here:

"Well I just tested this scenario. ... after a bit of testing I determined the
scenarios.

Working:

* Party A places a call to Party B
* Party B places an attended transfer to Party C
* Party A and C are not talking
* Call recording works as expected

Not working:

* Party A places a call to Party B
* Party A places an attended transfer to Party C
Call recording works up to this point – the recording of the conversation
between Party A and Party B, and the portion of the conversation between Party A
and Party C is recorded
* Party A now hangs up
* Call recording is now stopped
* Party B and Party C are now speaking (unrecorded)

To me, this is actually the intended and expected behavior. The 
AUDIOHOOK_INHERIT() function is executed on the channel created by Party A, and 
thus the call recording is going to follow Party A around when it is transferred
around the system.

However, once Party A is kicked out of the conversation (i.e. they hangup) then
the call recording stops because that is the channel the recording is associated
with."

Note that if you read the scenario description of AUDIOHOOK_INHERIT at
https://wiki.asterisk.org/wiki/display/AST/Function_AUDIOHOOK_INHERIT, the
function works in the transfer scenarios where the called party initiates the
transfer, not the callee.

For your scenario, you could try setting the MixMonitor on the called party
channel as opposed to the callee channel, using one of the Dial GoSub/Macro
options (U,M,b).

https://wiki.asterisk.org/wiki/display/AST/Asterisk+11+Application_Dial

Note that Macro is deprecated in more recent versions of Asterisk, and the 'b'
option will only be available in Asterisk 11.

--
Matthew Jordan
Digium, Inc. | Software Developer
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
Check us out at: http://digium.com & http://asterisk.org



More information about the asterisk-users mailing list