Mhd*_*leh 3 sql odbc asterisk function
我在sql表中创建了一个write func odbc list记录文件:
[R]
dsn=connector
write=INSERT INTO ast_records (filename,caller,callee,dtime) VALUES
('${ARG1}','${ARG2}','${ARG3}','${ARG4}')
prefix=M
Run Code Online (Sandbox Code Playgroud)
并将其设置在拨号计划中:
exten => _0X.,n,Set(
M_R(${MIXMONITOR_FILENAME}\,${CUSER}\,${EXTEN}\,${DTIME})= )
Run Code Online (Sandbox Code Playgroud)
当我执行它时,我收到一个错误:ast_func_write: M_R 函数未注册:
请注意:带有Windows 的星号
小智 5
我看到的第一件事是你错误地执行了对函数的调用......你需要分配值,而不是参数......试试这个:
func_odbc.conf:
[R]
dsn=connector
prefix=M
writesql=INSERT INTO ast_records (filename,caller,callee,dtime) VALUES('${VAL1}','${VAL2}','${VAL3}','${VAL4}');
Run Code Online (Sandbox Code Playgroud)
拨号方案:
exten => _0X.,1,Set(M_R()=${MIXMONITOR_FILENAME}\,${CUSER}\,${EXTEN}\,${DTIME})
Run Code Online (Sandbox Code Playgroud)
如果这对您没有帮助,请继续我的列表:)
确保 func_odbc.so 正在被 Asterisk 加载。(来自 asterisk CLI:module show like func_odbc)...如果它没有被加载,它就不能“构建”你的自定义 odbc 查询函数。
关于 recluze 的回答......不是在这里叫你,而是在这里使用 PHP AGI 是严重的矫枉过正。func_odbc 函数工作得很好,为什么通过调用外部脚本(必须在 TOP 本身上使用解释器程序)来创建更多的开销和潜在的安全问题?