我用mysql&安装星号1.8 odbc插件,如何使用func_odbc保存mysql上的MixMonitor()文件?
答案 0 :(得分:0)
不幸的是,您不能使用MixMonitor直接保存在SQL表上。
相反,我建议您编写一个脚本(例如在PHP中),检查/ var / spool / asterisk / monitor文件夹中的新文件,在SQL中导入文件,然后删除该文件。
您可以使用2-3个字段(uniqueid,content,filename)为“录制”创建一个新的SQL表,并且您可以轻松链接CDR和录制数据。
由于所有录制文件都将保存在SQL数据库中,您还可以创建一个ramdisk来存储文件,如果您有大量呼叫,这将减少服务器上的磁盘i / o;)
答案 1 :(得分:0)
你可以创建一个表记录并使用func_odbc.conf
示例:
func_odbc.conf
[R]
dsn=asterisk
prefix=M
writesql=INSERT INTO records (wav,contact,agent,uniqueid) VALUES ('${VAL1}','${VAL2}','${VAL3}','${VAL4}');
extensions.conf
exten => _0[2345679].,1,NoOp(${CALLERID(num)})
exten => _0[2345679].,n,Set(FILENAME=Poste---${CALLERID(num)}__${STRFTIME(${EPOCH},,%d-%m-%Y_%Hh%Mm%Ss)}__Appel-Sortant---${EXTEN}_UI-${UNIQUEID})
exten => _0[2345679].,n,Set(M_R()=${FILENAME}\,${EXTEN}\,${CALLERID(num)}\,${UNIQUEID})
exten => _0[2345679].,n,MixMonitor(${FILENAME}.wav,b)
exten => _0[2345679].,n,dial(SIP/gsm2/2${EXTEN})