Asterisk func_odbc用于保存mysql上的MixMonitor()文件?

时间:2013-02-19 07:48:29

标签: odbc asterisk func

我用mysql&安装星号1.8 odbc插件,如何使用func_odbc保存mysql上的MixMonitor()文件?

2 个答案:

答案 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})