Боюсь решение строго индувидуальное, надо писать с нуля.
Но как читать и писать в базу можете глянуть на примере:
http://awsswa.livejournal.com/12073.html
Код: Выделить всё
[applicationmap]
pauseMonitor => #1,peer/callee,Macro,recpause,monitor-disabled
startMonitor => #2,peer/callee,Macro,recstart
unpauseMonitor => #3,peer/callee,Macro,recunpause,monitor-enabled
Код: Выделить всё
[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