我的目标:客户端(SIP电话,我使用3CX电话)拨号到星号服务器,星号然后与外部关系数据库(与星号服务器不在同一位置)连接,如果数据库响应,星号服务器将播放语音文件(预定义的.gsm文件)以响应客户端.
我已经拥有的东西:我已经在VirtualBox中安装了AsteriskNow作为星号服务器,客户端使用软件电话在SIP通道中与Asterisk服务器连接.当客户端拨号到星号服务器时,服务器可以执行拨号计划.
我的问题:如果我想星号服务器建立到外部数据库的连接,例如MySQL.并访问请求数据,我是否需要让Dialplan调用AGI脚本来做到这一点?如果是这样,使用PHP创建AGI脚本更容易实现吗?如果没有,应该如何连接mysql?使用ODBC?
是否可以使用Dialplan而不是使用其他编程语言来操作星号服务器中的数据?但是似乎Dialplan不像其他编程语言一样具有完整的语法支持?
解决方法:
您可以在星号上使用ODBC.即使您可以将星号连接到Microsoft SQL Server.
如果要将日志数据保存在星号上,则可以使用CEL或CDR,也可以通过AMI接收事件.但是,如果要强制星号执行特殊任务(动态),则最好使用AGI.希望对您有所帮助.