如何在asterisk上做来电记录?
How to make incoming call recors on asterisk?
情况:模拟 phone 线路 -> Asterisk 与 PSTN 卡 -> 中央 PBX ->
exten => _1709,1,Set(CALLERID(name)=City_09)
exten => _1709,n,Noop(${CALLERID(name)})
exten => _1709,n,GoTo(incoming-reception,s,1)
下一个
[incoming-reception]
include => external-trunk
exten => 0027449999,1,GoTo(incoming-reception,s,1)
exten => anonymous,1,GoTo(incoming-reception,s,1)
;exten => s,1,GotoIfTime(9:00-18:00|mon-sat|*|*?incoming-reception-work,s,1)
exten => s,1,GotoIfTime(9:00-18:00|mon-fri|*|*?incoming-reception-work,s,1)
exten => s,n,Answer()
exten => s,n,Set(TIMEOUT(digit)=2)
exten => s,n,NoOp(${CALLERID(num)})
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Wait(2)
exten => s,n,Background(day_off_1_welcome)
exten => s,n,Background(day_off_2_message)
exten => s,n,Voicemail(2001,s,300)
exten => 5,1,GoTo(incoming-reception-enoff,s,2)
exten => i,1,GoTo(incoming-reception,s,3)
exten => h,1,Congestion(10)
exten => h,2,HangUp()
下一个
[incoming-reception-work]
include => external-trunk
exten => s,1,Answer()
exten => s,n,Set(TIMEOUT(digit)=2)
exten => s,n,NoOp(${CALLERID(num)})
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Wait(2)
exten => s,n,Background(business_hours_1_welcome)
exten => s,n,Queue(test,T,,,32)
exten => s,n,Queue(test2,T)
exten => s,101,Background(business_hours_4_message)
exten => s,102,Voicemail(2001,s,300)
exten => 5,1,GoTo(incoming-reception-en,s,1)
exten => 9,1,Background(business_hours_4_message)
exten => 9,2,Voicemail(2001,s,300)
exten => i,1,GoTo(incoming-reception-work,s,1)
exten => h,1,Congestion(10)
exten => h,2,HangUp()
如何对来电进行录音? Asterisk 1.8(无 freepbx,仅限控制台)
您可以尝试使用 Monitor/StopMonitor 拨号规则程序来记录来电。使用以下模板:
same => n,Monitor(wav,''${UNIQUEID},m)
same => n,Set(FILEARG="/tmp/asterisk/monitor/${UNIQUEID}.wav")
.
.
same => n,Hangup()
exten => h,1,StopMonitor()
same => n,System(/usr/local/bin/record-file-to-database --file=${FILEARG})
检查您的 Asterisk 配置以获得 Monitor 输出文件夹的确切位置。
另见示例 here
情况:模拟 phone 线路 -> Asterisk 与 PSTN 卡 -> 中央 PBX ->
exten => _1709,1,Set(CALLERID(name)=City_09)
exten => _1709,n,Noop(${CALLERID(name)})
exten => _1709,n,GoTo(incoming-reception,s,1)
下一个
[incoming-reception]
include => external-trunk
exten => 0027449999,1,GoTo(incoming-reception,s,1)
exten => anonymous,1,GoTo(incoming-reception,s,1)
;exten => s,1,GotoIfTime(9:00-18:00|mon-sat|*|*?incoming-reception-work,s,1)
exten => s,1,GotoIfTime(9:00-18:00|mon-fri|*|*?incoming-reception-work,s,1)
exten => s,n,Answer()
exten => s,n,Set(TIMEOUT(digit)=2)
exten => s,n,NoOp(${CALLERID(num)})
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Wait(2)
exten => s,n,Background(day_off_1_welcome)
exten => s,n,Background(day_off_2_message)
exten => s,n,Voicemail(2001,s,300)
exten => 5,1,GoTo(incoming-reception-enoff,s,2)
exten => i,1,GoTo(incoming-reception,s,3)
exten => h,1,Congestion(10)
exten => h,2,HangUp()
下一个
[incoming-reception-work]
include => external-trunk
exten => s,1,Answer()
exten => s,n,Set(TIMEOUT(digit)=2)
exten => s,n,NoOp(${CALLERID(num)})
exten => s,n,Set(CHANNEL(language)=ru)
exten => s,n,Wait(2)
exten => s,n,Background(business_hours_1_welcome)
exten => s,n,Queue(test,T,,,32)
exten => s,n,Queue(test2,T)
exten => s,101,Background(business_hours_4_message)
exten => s,102,Voicemail(2001,s,300)
exten => 5,1,GoTo(incoming-reception-en,s,1)
exten => 9,1,Background(business_hours_4_message)
exten => 9,2,Voicemail(2001,s,300)
exten => i,1,GoTo(incoming-reception-work,s,1)
exten => h,1,Congestion(10)
exten => h,2,HangUp()
如何对来电进行录音? Asterisk 1.8(无 freepbx,仅限控制台)
您可以尝试使用 Monitor/StopMonitor 拨号规则程序来记录来电。使用以下模板:
same => n,Monitor(wav,''${UNIQUEID},m)
same => n,Set(FILEARG="/tmp/asterisk/monitor/${UNIQUEID}.wav")
.
.
same => n,Hangup()
exten => h,1,StopMonitor()
same => n,System(/usr/local/bin/record-file-to-database --file=${FILEARG})
检查您的 Asterisk 配置以获得 Monitor 输出文件夹的确切位置。
另见示例 here