asterisk  配置默认是文本方式由文件管理,但是对于SIP用户,队列坐席这些数据,保存在 数据库中方便维护,Asterisk 通过realtime 引擎支持此功能,可以把其 配置文件写入 数据库维护,realtime分 两类,一类是 static 另一类是 realtime, static 意思是 配置文件数据保存在数据库中,系统启动后读取一次,如果这些数据在数据库中有改动,需要重新刷新才能同步到asterisk内存中,而realtime方式相反,asteirsk会自动查询数据库,比如配置SIP用户,直接在web后台配置数据,写入数据库,无需重启服务器或者sip模块即可 生效,一切都很自然。

下面 以realtime 方式 写入mysql数据库为例子:、

首先需要安装必要的软件包,

asterisk, MySQL server, libmysqlclient 和Asterisk-Addons

具体怎么安装自行解决。

查看Mysql数据库 状态:

/etc/init.d/mysql status 或 service mysqld status

启动mydql :

/etc/init.d/mysqld start 或 service mysqld start

修改Mysql 数据库密码:

mysql -u root -p test123

Realtime模式下,asterisk支持把SIP用户,队列,队列坐席,Meetme,musiconhold,voicemail 写入数据库,(1.8版本开始 也支持queue_log写入数据库)

SIP用户写入 mysql数据库,asterisk自动查找数据库验证用户,

创建 用户表:<请采用Asterisk推荐的最新数据库表结构>

CREATE TABLE `asterisk`.`sip_buddies` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(80) NOT NULL default '',
`accountcode` varchar(20) default NULL,
`amaflags` varchar(7) 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(20) 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',
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`),
KEY `name_2` (`name`)
) ENGINE=MyISAM;

配置 asterisk mysql 数据库 信息:

vim /etc/asterisk/res_mysql.conf

[general]
dbhost = localhost
dbname = test
dbuser = test
dbpass = test123
dbport = 3306

配置Asterisk  realtime模块 

vim /etc/asterisk/extconfig.conf

sipusers => mysql,general,sip_buddies
sippeers => mysql,general,sip_buddies

重启 Asterisk

asterisk -r

core restart now

realtime mysql status

查看 mysql realtime 配置

插入数据库 一个用户:

INSERT into sip_buddies (id, name, callerid, context, canreinvite, insecure, type, host, secret, allow, nat)
VALUES ('','8000','test','incoming','no','port,invite','friend','dynamic','test','all','yes')

软电话 注册。。。。验证 结果。

Asterisk realtime 之SIP用户动态写入mysql 数据库相关推荐

  1. python 并发 数据库_python写入mysql数据库

    scrapy爬虫成长日记之将抓取内容写入mysql数据库 前面小试了一下scrapy抓取博客园的博客(您可在此查看scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据),但是前面抓取 ...

  2. SparkStreaming读取Kafka数据源并写入Mysql数据库

    SparkStreaming读取Kafka数据源并写入Mysql数据库 一.实验环境 本实验所用到的工具有 kafka_2.11-0.11.0.2: zookeeper-3.4.5: spark-2. ...

  3. 爬取数据并写入MySQL数据库

    1.爬取思路总结概述: a.请求网页,获取json数据:request函数 b.使正则re 模块,提取出 { {--} }信息所在部分的字典 :re.search() c.为了防止连续请求中出现,IP ...

  4. jsp写入mysql数据库乱码_JSP写入MySQL数据库中出现乱码问题笔记

    1.在数据库链接字符串上要形如:jdbc:mysql://localhost:3306/db?useUnicode=true&characterEncoding=UTF-8(注意要加chara ...

  5. pandas读取大文件(chunksize)并通过sqlalchemy写入MySQL数据库

    pandas读取大文件(chunksize)并通过sqlalchemy写入MySQL数据库 在pandas中读取表类文件的时候有一个参数chunksize,只要指定了这个参数的数值,那么得到的结果就不 ...

  6. python爬取新闻并归数据库_Python爬取数据并写入MySQL数据库操作示例

    Python爬取数据并写入MySQL数据库的实例 首先我们来爬取 http://html-color-codes.info/color-names/ 的一些数据. 按 F12 或 ctrl+u 审查元 ...

  7. 关于log4net日志写入mysql数据库记录

    网上关于log4net日志写入mysql数据库的博客感觉比较少,所以这边搞定之后先过来记录一下. 首先新建个项目,我命名是log4netDemo,然后需要引入两个dll,一个是mysql.dll,一个 ...

  8. python爬取mysql数据_Python爬取数据并写入MySQL数据库的实例

    Python爬取数据并写入MySQL数据库的实例 来源:中文源码网    浏览: 次    日期:2018年9月2日 [下载文档:  Python爬取数据并写入MySQL数据库的实例.txt ] (友 ...

  9. python写入mysql数据库_python调用http接口,数据写入mysql数据库并下载录音文件

    写个脚本一共完成了三件事: 第一,python调用http接口, 第二,把调用到的数据写入mysql数据库, 第三,python调用wsdl接口,获取录音文件, import time import ...

最新文章

  1. UDP:用戶数据报协议(读书笔记之二)
  2. 【Flutter】Flutter 布局组件 ( PhysicalModel 组件 )
  3. 数据结构快速回顾——栈
  4. 会议季Mic Drop:您不应该错过的13场Java演讲
  5. Oracle/MySQL数据库的表间关联查询_多表关联查询的SQL语句详解
  6. [数据结构]求解迷宫最短路径问题
  7. 二叉树的建立与三种遍历
  8. 启动mysql失败:net start mysql服务名无效
  9. linux恢复deleted状态的文件,Linux恢复被删除的文件 How To Recover Deleted Files From Your Linux System ....
  10. 流计算精品翻译: The Dataflow Model
  11. 安装虚拟机vmware8.0.4版本
  12. 计算机系统中为何采用层次化存储体系,计算机组成原理与体系结构——层次化存储结构...
  13. kali android命令大全,让你的安卓设备跑起kali——kali for android
  14. win10分辨率不能调整_笔记本win10系统调整外接显示器分辨率的方法
  15. 配置Windows通过腾讯云服务器远程Ubuntu系统
  16. 软件环境(dev、sit、uat、prod、test)
  17. 企业能源管控平台在工业能效提升行动中的作用
  18. 六十一、2021 - 年终总结(正在拼搏奋斗的酷涛)
  19. Prodigal-原核生物基因预测
  20. windows下vs2015编译POCO及使用poco操作sqlite

热门文章

  1. C#反序列化 “在分析完成之前就遇到流结尾”
  2. 易支付系统源码_刷脸支付系统源码,插件源码合作模式有哪些,采购源码需要注意什么...
  3. 管理linux中文件共享,Linux操作系统文件管理器的共享
  4. 2014全国计算机二级vfp模拟试题和答案,2014年全国计算机二级考试VF模拟试题
  5. mysql数据库之事务与存储过程
  6. if else的使用以及如何从键盘获取数值
  7. Get Requests with Json Data Get Requests with Url Parameters
  8. [Swift]LeetCode482. 密钥格式化 | License Key Formatting
  9. 【网络流24题】No.7 试题库问题 (最大流,二分图多重匹配)
  10. 关于oracle sql语句查询时表名和字段名要加双引号的问题