[asterisk-users] Starting call recording using a dynamic feature to call a macro

Gareth Blades list-asterisk at skycomuk.com
Thu Apr 29 05:01:57 CDT 2010


I have got call recording working on our 1.4.30 asterisk box together 
with a recording pause ability and being able to play different audio to 
each party at the start and end of the pause. This all works perfectly 
but one wish is to have the audio files have a beep or something in them 
so when you listen later you can tell where the audio was paused.

So I changed things around so that instead of pausing and unpausing the 
recording was stopped and then started again with a new file. An AGI 
script would then join and mix the files together. The problem that I am 
having is that I can stop the recording but when I ran the monitor 
command again the recording didnt start.
So I decided to start with a simpler test and just have recording off by 
default and then use #2 to start it but that doesnt work either. I 
wondered if it was something to do with the native bridging so set 
canreinvite=no on the test handsets I am using but no change.

Any ideas?



features.conf
[applicationmap]
pauseMonitor   => #1,peer/callee,Macro,recpause,monitor-disabled
startMonitor   => #2,peer/callee,Macro,recstart
unpauseMonitor => #3,peer/callee,Macro,recunpause,monitor-enabled


extensions.conf
[macro-recpause]
exten => s,1,Playback(disabled)
exten => s,n,PauseMonitor

[macro-recunpause]
exten => s,1,Playback(enabled)
exten => s,n,UnpauseMonitor

[macro-recstart]
exten => s,1,Set(FNAME=callrec_${MACRO_EXTEN}_${UNIQUEID}_GWTEST_${EPOCH})
exten => s,n,Monitor(wav,${FNAME},b)

[internal]
exten => 100,1,Dial(SIP/100,20)
exten => 110,1,Answer
exten => 
110,n,Set(DYNAMIC_FEATURES=pauseMonitor#unpauseMonitor#startMonitor)
exten => 110,n,Set(FNAME=callrec_${EXTEN}_${UNIQUEID}_GWTEST_${EPOCH})
;exten => 110,n,Monitor(wav,${FNAME},b)
exten => 110,n,Dial(SIP/110,20)
exten => 110,n,Hangup


log :-
     -- Executing [110 at internal:1] Answer("SIP/100-00000004", "") in new 
stack
     -- Executing [110 at internal:2] Set("SIP/100-00000004", 
"DYNAMIC_FEATURES=pauseMonitor#unpauseMonitor#testfeature#startMonitor") 
in new stack
     -- Executing [110 at internal:3] Set("SIP/100-00000004", 
"FNAME=callrec_110_1272534191.4_GWTEST_1272534191") in new stack
     -- Executing [110 at internal:4] Dial("SIP/100-00000004", 
"SIP/110|20") in new stack
     -- Called 110
     -- SIP/110-00000005 is ringing
     -- SIP/110-00000005 answered SIP/100-00000004
     -- Packet2Packet bridging SIP/100-00000004 and SIP/110-00000005
     -- Packet2Packet bridging SIP/100-00000004 and SIP/110-00000005
     -- Executing [s at macro-recstart:1] Set("SIP/100-00000004", 
"FNAME=callrec_110_1272534191.4_GWTEST_1272534203") in new stack
     -- Executing [s at macro-recstart:2] Monitor("SIP/100-00000004", 
"wav|callrec_110_1272534191.4_GWTEST_1272534203|b") in new stack
     -- Packet2Packet bridging SIP/100-00000004 and SIP/110-00000005
   == Spawn extension (internal, 110, 5) exited non-zero on 
'SIP/100-00000004'



More information about the asterisk-users mailing list