It is necessary in many application with the dialplan that we need to qurey from the database and pass the result to the aserisk dialplan command.Previously we had to use to use AGI (Asterisk Gateway Interface) for accomplish this task.This is we need some programming part to be done.Non programmers don’t worry now an application called MYSQL() is avilable with asterisk 1.4 and above.We can use this application as normal asterisk application and can give the MSQL qurey inside it. For this to work we have to install asterisk-addon first.
syntax :
MYSQL(Connect connid dhhost dbuser dbpass dbname)
Connects to a database. Arguments contain standard MySQL parameters passed to function mysql_real_connect. Connection identifer returned in ${connid}. If the connection wasn’t possible, then ${connid} == “”.
MYSQL(Query resultid ${connid} query-string)
Executes standard MySQL query contained in query-string using established connection identified by ${connid}. Result of query is stored in ${resultid}.
MYSQL(Fetch fetchid ${resultid} var1\ var2\ …\ varN)
If any rows are available to select, ${fetchid} is set to 1 and a single row is fetched from a result set contained in ${resultid}. The return fields are assigned to ${var1}, ${var2} … ${varN} respectively. If no rows are left to select, ${fetchid} is set to 0 and ${var1}, ${var2} … ${varN} remain unchanged.
MYSQL(Clear ${resultid})
Frees memory and data structures associated with result set.
MYSQL(Disconnect ${connid})
Disconnects from named connection to MySQL.
Example
[mysqlcal] exten => 555,1,Answer exten => 555,n,MYSQL(Connect connid localhost bipin bipin voice_alerts) exten => 555,n,NoOp(${cnum}) exten => 555,n,NoOp(${jid}) exten => 555,n,MYSQL(Query resultid ${connid} INSERT INTO `callerinfo` (`number`) VALUES ('${CALLERID(num)}')) exten => 555,n,MYSQL(Query resultid ${connid} UPDATE `callerinfo` SET `status` = \'ANSWERED\' WHERE `job`=${jid} AND `number`=${cnum})
分享到:
相关推荐
* MYSQL:执行不同的mySQL数据库行为查Asterisk database找更多的信息 应用程序集成 * AGI:执行一套AGI适应程序 * DeadAGI:在中断的信道上执行AGI * EAGI:执行一套AGI适应程序 * EnumLookup:在ENUM中查找号码 ...
6. **实时数据库和AMIS**:学习如何使用实时数据库(如 MySQL)和 Asterisk Manager Interface (AMI) 来动态管理用户和配置,例如添加、删除用户或更改拨号计划。 7. **故障排查**:熟悉日志分析,学习如何查看 `...
同时,还会涉及如何使用Asterisk的数据库功能,如MySQL或SQLite,来存储和检索用户信息,以及实现动态电话簿和呼叫记录。 Asterisk的IVR系统也是其强大之处,允许创建交互式的语音菜单,使用户可以通过电话进行操作...
5. **MYSQL**: 执行MySQL数据库操作。 #### 应用集成 1. **AGI**: 执行AGI(Asterisk Gateway Interface)脚本。 2. **DeadAGI**: 在挂断的通道上执行AGI。 3. **EAGI**: 执行扩展AGI。 4. **EnumLookup**: 在ENUM...
4. 支持多种数据库,例如MySQL和PostgreSQL,用于存储配置和呼叫记录数据。 5. 支持多种编程语言,如C、Perl、PHP、Python和Java,为开发者提供了丰富的API接口来扩展和定制功能。 本书“Asterisk™: The Future of...
- **与数据库的联动**:为了更好地管理用户信息和通话记录,Asterisk经常与MySQL、PostgreSQL等数据库系统配合使用。 #### 六、Asterisk的发展前景 随着云计算和移动互联网的快速发展,Asterisk作为一种灵活的通信...
例如,可以通过MySQL数据库存储用户信息,或者使用AGI(Asterisk Gateway Interface)脚本来处理复杂的业务逻辑。 #### 总结 Asterisk是一款功能强大且高度灵活的电话交换平台,其在全球范围内被广泛应用,尤其是...
安装 Apache Web 服务器、MySQL 数据库和 PHP 解释器,构成 LAMP(Linux + Apache + MySQL + PHP)环境,通常用于运行 Web 应用程序。 3. **配置 PHP** ```bash sed -i 's/^date.timezone=.*/date.timezone=...
安装设置星号以将实时SIP对等存储在MySQL DB TODO中创建MySQL数据库并应用方案TODO 授予MySQL访问mysqladmin ... 授予AMI访问权限,通常在/etc/asterisk/manager.conf中[panel]secret = AMIPASSdeny = 0.0.0.0/0.0....
- 每个话机的优先级预先存储在MySQL数据库中,可以通过查询数据库获得每个话机的优先级值。 - 当当前优先级最高的话机挂断后,系统会从剩余的话机中选择优先级最高的一个,并赋予其AMI方式拨号的权限。 #### 二、...
5. **数据库集成**:演示如何将MySQL和PostgreSQL等关系型数据库与Asterisk结合使用,实现更强大的数据管理和应用功能。 6. **外部服务连接**:讲解如何将Asterisk与LDAP、日历、XMPP、Skype等外部服务相连接,以...
- **说明:** 显示cdr_mysql数据库的连接状态 - **命令:** `cdrstatus` - **说明:** 显示通话详细记录(CDR)引擎的状态信息 ##### 10. 数据库操作 - **命令:** `databasedel` - **用法:** `databasedel <family> ...
此外,还需要安装相关的依赖库,例如MySQL数据库用于存储用户信息和通话记录等数据。 - **配置过程**: - **基本配置**:设置网络参数、时间区、语言等基础信息。 - **电话线路配置**:根据实际情况配置VoIP网关、...
6. **实时数据库**:如MySQL或FreePBX,用于存储用户信息、分机配置等,以实现动态管理。 7. **性能优化**:包括CPU和内存管理、带宽优化以及日志分析,以确保系统的高效运行。 8. **安全措施**:学习如何保护...
5. **安装并配置数据库**:通常使用MySQL或PostgreSQL作为Asterisk的数据存储后端。 6. **配置网络和电话接口**:根据所用的T1卡(如Digium T100P)和网络环境进行相应的配置。 7. **测试电话连接**:使用测试电话...
数据库支持如 MySQL 或 PostgreSQL 可以通过 Asterisk 的内置库或自定义连接器实现。 通过这种方式,我们可以为 Asterisk 创建自定义的 CLI 命令,增强其功能,使其更好地适应业务需求。由于 Asterisk 是一个高度可...
总结来说,Asterisk Billing是一个使用Perl编写的开源计费系统,与Asterisk VoIP服务器配合,利用MySQL数据库进行计费数据的存储和处理。它提供了一个灵活的平台,允许企业根据自身需求定制计费规则,从而有效地管理...
- res_mysql.conf:MySQL数据库设置。 - features.conf:自定义按键配置。 - modules.conf:指定启动时加载的模块。 - logger.conf:日志设置。 2.1.1 sip.conf示例配置: ``` [101] type=friend secret=101 host=...
PHP与MySQL数据库的结合,使得AstWeb能够处理大量数据并实现高效的数据交互。 - **界面设计**:astweb.css文件包含了AstWeb的样式定义,用于定义网页的布局和视觉效果,使用户界面更美观且易于操作。 - **核心逻辑...