Откуда: Moscow
Сообщений: 139
|
Re: Запись разговора после перевода секретаря на конечного абонента
Проверил, у входящего и переведенного вызова Uniqueid разный совсем:
2009-07-02-13:48:14-CID-ID1246528072.11884-INCOMING.wav
2009-07-02-13:48:59-CID-7302~D1246528139.11891-XFER.w
Вот такой dialplan в переводе:
;INCOMING
exten => 0,1,Set(TRANSFER_CONTEXT=officexfer)
exten => 0,n,Set(GLOBAL(id)="${RAND(1,999)}")
exten => 0,n,Set(CALLFILENAME="${STRFTIME(${EPOCH},,%C%y-%m-%d-%H:%M:%S)}-CID${CALLERID(num)}-ID${UNIQUEID}-INCOMING.wav")
exten => 0,n,MixMonitor(${CALLFILENAME},,)
exten => 0,n,Queue(ianalog,Tt,,,120)
[officexfer]
;SIP
exten => _73XX,1,Set(RETRIES=0)
;mark for going here if we can't callback to forwarder
exten => _73XX,n(ret),NoOp()
;set new filename to record
exten => _73XX,n,Set(CALLFILENAME="${STRFTIME(${EPOCH},,%C%y-%m-%d-%H:%M:%S)}-CID${CALLERID(num)}-${EXTEN}-ID${UNIQUEID}-XFER.wav")
;start recording with new filename
exten => _73XX,n,MixMonitor(${CALLFILENAME},,)
;call forwarding to target
exten => _73XX,n,Dial(SIP/${EXTEN},20,rTt)
;set peername of the forwarder
exten => _73XX,n,Set(BACK=${CUT(TRANSFERERNAME,-,1)})
;return call back (2forwarder) due timeout (40sec)
exten => _73XX,n,StopMixMonitor()
exten => _73XX,n,Set(CALLFILENAME="${STRFTIME(${EPOCH},,%C%y-%m-%d-%H:%M:%S)}-CID${CALLERID(num)}-BACK-ID${UNIQUEID}-RET.wav")
exten => _73XX,n,MixMonitor(${CALLFILENAME},,)
exten => _73XX,n,Dial(${BACK},20,rTt)
;if forwarder not answered, go to ret
exten => _73XX,n,GotoIf($[${DIALSTATUS} = "ANSWER"]?:ret)
exten => _73XX,n,Hangup()
|