我已经从 Asterisk 1.6 更新到 Asterisk 11。我在 asterisk 拨号方案中使用 MySQL 命令来访问 Asterisk 1.6 上的数据库,但现在这个命令似乎不起作用。在浏览了一些以前的帖子后,我猜想 Asterisk 11 不支持 MySQL 命令。有人可以告诉我什么可以替代 MySQL 以及我如何配置这样的替代方案吗?
以下是我在拨号方案中尝试做的事情:
exten => _xxxx,n,MYSQL(Connect connid localhost user pswd db)
exten => _xxxx,n(noerror),MYSQL(Query resultid ${connid} SELECT system FROM user_to_system WHERE callerID='${CID}')
exten => _xxxx,n(fetchrow),MYSQL(Fetch foundRow ${resultid} system)
exten => _xxxx,n,MYSQL(Clear ${resultid})
exten => _xxxx,n,MYSQL(Disconnect ${connid})
最佳答案
这很可能意味着您没有编译 app_mysql 和 res_mysql。
对于新的拨号方案,建议使用 res_odbc 和 func_odbc 进行数据库访问。它将为您管理连接,只需要输入您想要的 sql 并像通常的拨号计划功能一样使用。
本页介绍如何使用 func_odbc
http://www.voip-info.org/wiki/view/Asterisk+func+func_odbc
作为其他选项,您可以使用 REALTIME 函数,但使用起来更复杂。 mysql realtime 可以编译,但不推荐使用,因为mysql license 问题(将在以后的版本中删除)
关于mysql - 无法从 Asterisk 拨号方案访问mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35083760/