我已经从Asterisk 1.6更新到Asterisk 11.我在星号拨号方案中使用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})
答案 0 :(得分:3)
最可能意味着你没有编译app_mysql和res_mysql。
对于新的拨号方案,建议使用res_odbc和func_odbc进行数据库访问。它将为您管理连接,只需要输入您想要的sql并像通常的dialplan函数一样使用。
此页面描述了如何使用func_odbc
http://www.voip-info.org/wiki/view/Asterisk+func+func_odbc
作为其他选项,您可以使用REALTIME函数,但使用起来更复杂。可以编译mysql实时,但不建议使用,因为mysql许可证问题(将来的版本中将被删除)