work Realtime Asterisk with MySQL.

Hi This is a How-to for the beginners to work Realtime Asterisk with MySQL.

Getting Asterisk-addons.


1. Download asterisk-addons tar ball from the asterisk.org site.
2. Untar it under /usr/src
3. cd /usr/src/asterisk-addons
4. make 
5. make install
6. This installs the module for mysql, "res_config_mysql.so" into your asterisk modules dir.
7. Copy "res_mysql.conf.sample" from "/usr/src/asterisk-addons/configs" and place it under "/etc/asterisk/"
8. Rename "res_mysql.conf.sample" it to "res_mysql.conf"

Creating database in MySQL.


I have created a database by name "test" with two tables "sip_buddies" and "extensions"

Create table "sip_buddies" using:


CREATE TABLE `sip_buddies` ( `id` int(11) NOT NULL auto_increment PRIMARY KEY, `name` varchar(80) NOT NULL UNIQUE KEY default , `accountcode` varchar(20) default NULL, `amaflags` varchar(13) default NULL, `callgroup` varchar(10) default NULL, `callerid` varchar(80) default NULL, `canreinvite` char(3) default 'yes', `context` varchar(80) default NULL, `defaultip` varchar(15) default NULL, `dtmfmode` varchar(7) default NULL, `fromuser` varchar(80) default NULL, `fromdomain` varchar(80) default NULL, `fullcontact` varchar(80) default NULL, `host` varchar(31) NOT NULL default , `insecure` varchar(4) default NULL, `language` char(2) default NULL, `mailbox` varchar(50) default NULL, `md5secret` varchar(80) default NULL, `nat` varchar(5) NOT NULL default 'no', `deny` varchar(95) default NULL, `permit` varchar(95) default NULL, `mask` varchar(95) default NULL, `pickupgroup` varchar(10) default NULL, `port` varchar(5) NOT NULL default ,`qualify` char(3) default NULL, `restrictcid` char(1) default NULL, `rtptimeout` char(3) default NULL, `rtpholdtimeout` char(3) default NULL, `secret` varchar(80) default NULL, `type` varchar(6) NOT NULL default 'friend', `username` varchar(80) NOT NULL default , `disallow` varchar(100) default 'all', `allow` varchar(100) default 'g729;ilbc;gsm;ulaw;alaw', `musiconhold` varchar(100) default NULL, `regseconds` int(11) NOT NULL default '0', `ipaddr` varchar(15) NOT NULL default , `regexten` varchar(80) NOT NULL default ,`cancallforward` char(3) default 'yes', `setvar` varchar(100) NOT NULL default ,);

Create table "extensions" using:


CREATE TABLE `extensions` ( `id` int(11) NOT NULL auto_increment primary key, `context` varchar(20) NOT NULL  default , `exten` varchar(20) NOT NULL default , `priority` tinyint(4) NOT NULL default '0', `app` varchar(20) NOT NULL default , `appdata` varchar(128) NOT NULL default) ;

Add some data into them, no need to enter all the details in sip_buddies, add only the necessary fields.

 

I have added a context like

name = 102

canreinvite = no

context = default

dtmfmode = rfc2833

host = dynamic

port= yes

type = friend

username = 102

secret = 102

 

进入MySQL的控制台:insert into sip_buddies(name,canreinvite,context,dtmfmode,host,port,type,username,secret) values('102','no','default','rfc2833','dynamic','yes','friend','102','102');

(if u r getting error in uploadin data, change the field type from NOT NULL to NULL)

Add some data into extensions table also.

500 default VoiceMailMain 123 default Playback welcome

Configuration in res_mysql.conf.


[general]

 dbhost = localhost

 dbname = voice

 dbuser = username

 dbpass = password

dbport = 3306

dbsock = /var/lib/mysql/mysql.sock

Configuration in extconfig.conf.


sipusers => mysql,voice,sip_buddies

sippeers => mysql,voice,sip_buddies

extensions => mysql,voice,extensions

 

Configuration in sip.conf.


[general]

rtcachefriends=yes

Configuration in extensions.conf.


[default]

switch => Realtime/default@extensions

Start the asterisk,


In the CLI mode,


CLI> realtime mysql status

This shows the status of your mysql connection, like

"Connected to voice@localhost, port 3306 with username root for 46 minutes, 9 seconds"

This confirms that u have successfully made the connection with mysql, try registering a softphone and dial 500, u will get the voicemail menu, and dialing 123 will playback welcome music file :)

### 回答1: qcustomplot_realtime.zip 是一个压缩文件,其中包含了实时绘制图表的 QCustomPlot 库的代码和示例。 QCustomPlot 是一个开源的 C++ 图表绘制库,用于在 Qt 框架下生成统计图表和科学图表。该库提供了丰富的绘图功能和灵活的配置选项,适用于各种图表类型,包括折线图、柱状图、饼图等。 qcustomplot_realtime.zip 这个压缩文件的主要目的是提供一个实时绘制图表的示例。在示例代码中,开发者可以学习如何使用 QCustomPlot 库来实时更新和显示数据,以及如何设置图表的样式和布局。 这个示例代码的实现逻辑通常包括以下步骤: 1. 创建 QCustomPlot 对象,并设置图表的标题、坐标轴标签等基本属性。 2. 创建数据容器,用来存储要绘制的数据。可以是数组、向量或其他数据结构。 3. 将数据连接到图表的绘制动作上,使得数据的变化能够实时更新到图表上。 4. 使用 QCustomPlot 提供的函数和方法,设置图表的样式,如轴线样式、数据点样式等。 5. 通过对数据容器进行更新,不断刷新图表的显示。 通过阅读 qcustomplot_realtime.zip 的示例代码,并按照其中的步骤进行相应的编码和配置,开发者可以实现自己的实时绘图功能,并以更直观的方式展示数据的变化趋势。 总之,qcustomplot_realtime.zip 提供了一个实时绘制图表的示例,通过该示例可以学习和掌握如何使用 QCustomPlot 库来实现实时数据的可视化。 ### 回答2: qcustomplot_realtime.zip 是一个压缩文件,其中包含了一个名为qcustomplot_realtime的项目。这个项目是基于C++和Qt框架开发的,用于实现实时绘制图表的功能。 首先,该压缩文件中包含了一些源代码文件和头文件,这些文件是通过Qt创建的一个基于QCustomPlot库的项目。QCustomPlot是一个强大的开源绘图库,可以用于在Qt应用程序中绘制各种类型的图表,如折线图、柱状图、饼图等。 在qcustomplot_realtime项目中,开发者已经实现了实时绘制图表的功能。通过使用QCustomPlot库提供的函数和类,该项目可以实时接收数据并将其可视化为图表。这对于需要实时监控和展示数据变化的应用程序非常有用,比如股票行情、实时传感器数据等。 在实时绘制图表的过程中,该项目还提供了一些交互式的功能。用户可以缩放和平移图表以查看不同时间段的数据。还可以使用鼠标在图表上进行选择和标记,以帮助用户更好地分析和理解数据。 qcustomplot_realtime项目还提供了一些设置项,使用户可以自定义图表的外观和样式。例如,可以自定义轴标签、图例、网格线等。这些设置项使得图表能够更好地适应用户的需求和个性化要求。 总之,qcustomplot_realtime.zip 是一个实现实时绘制图表功能的项目。通过使用该项目,开发者可以快速构建具有实时数据可视化功能的应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值