I have users’ who make an outbound call, then have the need to transfer the call to a second person. I’ve tried using AUDIOHOOK_INHERIT prior to dialling out but the recording seems to stop as soon as the transfer is completed.
It works ok on incoming calls. DOes any one know if I’m able to do this, if so how’s it done .
same => 1,Verbose(2,Making outbound call)
same => n,NoOp(${CALLERID(num)})
same => n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
same => n,Macro(record,OUTBOUND,${MYUNIQUEID})
same => n,Dial(DAHDI/g0/${EXTEN})
Macro record is below
[macro-record]
exten => s,1,Set(CALLFILENAME=${UNIQUEID}-${STRFTIME(${EPOCH},%d% %Y-%H%M%S)}-${CALLERID(num)}-${ARG1}-${ARG2})
same => n,MixMonitor(${CALLFILENAME}.wav)
[internal]
exten => _9X.,hint,SIP/${CALLERID(num)}
same => 1,Verbose(2,Making outbound call)
same => n,NoOp(${CALLERID(num)})
same => n,Macro(record,OUTBOUND,${MYUNIQUEID})
same => n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
same => n,Dial(DAHDI/g0/${EXTEN})
Macro record is below
[macro-record]
exten => s,1,Set(CALLFILENAME=${UNIQUEID}-${STRFTIME(${EPOCH},,%d% %Y-%H%M%S)}-${CALLERID(num)}-${ARG1}-${ARG2})
same => n,MixMonitor(${CALLFILENAME}.wav)
I’ve changed it to this as suggested, still no joy.
[code][internal]
exten => _9X.,hint,SIP/${CALLERID(num)}
same => 1,Verbose(2,Making outbound call)
same => n,NoOp(${CALLERID(num)})
same => n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
;same => n,Macro(record,OUTBOUND,${MYUNIQUEID})
same => n,MixMonitor(${CALLERID(num)}.wav)
same => n,Dial(DAHDI/g0/${EXTEN})[/code]
The order is important, try as below. also post teh verbose output of a call
[code][internal]
exten => _9X.,hint,SIP/${CALLERID(num)}
same => 1,Verbose(2,Making outbound call)
same => n,NoOp(${CALLERID(num)})
same => n,MixMonitor(${CALLERID(num)}.wav)
same => n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
same => n,Dial(DAHDI/g0/${EXTEN})[/code]
== Making outbound call
-- Executing [96583@internal:2] NoOp("SIP/1520-00000024", "1520") in new stack
-- Executing [96583@internal:3] MixMonitor("SIP/1520-00000024", "1520.wav") in new stack
-- Executing [96583@internal:4] Set("SIP/1520-00000024", "AUDIOHOOK_INHERIT(MixMonitor)=yes") in new stack
-- Executing [96583@internal:5] Dial("SIP/1520-00000024", "DAHDI/g0/96583") in new stack
-- Requested transfer capability: 0x00 - SPEECH
-- Called DAHDI/g0/96583
== Begin MixMonitor Recording SIP/1520-00000024
-- DAHDI/i1/96583-13 is proceeding passing it to SIP/1520-00000024
-- DAHDI/i1/96583-13 is ringing
-- DAHDI/i1/96583-13 is making progress passing it to SIP/1520-00000024
-- DAHDI/i1/96583-13 answered SIP/1520-00000024
-- Started music on hold, class 'default', on DAHDI/i1/96583-13
== Using SIP RTP CoS mark 5
-- Executing [1510@internal:1] NoOp("SIP/1520-00000025", "520") in new stack
-- Executing [1510@internal:2] Dial("SIP/1520-00000025", "SIP/1510") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/1510
-- SIP/1510-00000026 is ringing
-- SIP/1510-00000026 answered SIP/1520-00000025
-- Remotely bridging SIP/1520-00000025 and SIP/1510-00000026
-- Stopped music on hold on DAHDI/i1/96583-13
== Spawn extension (internal, 96583, 5) exited non-zero on 'SIP/1520-00000024'
== MixMonitor close filestream
== End MixMonitor Recording SIP/1520-00000024
-- Span 1: Channel 0/1 got hangup request, cause 16
== Spawn extension (internal, 1510, 2) exited non-zero on 'DAHDI/i1/96583-13'
-- Hungup 'DAHDI/i1/96583-13'
This is still a problem for me, does anyone have any ideas, the only way round it I’ve managed so far is to make the call create an IAX2 channel into another context where the actual outbound call is made from. This is not how I want it to work.