asterisk要使用MYSQL实时认证peers,就必须安装asterisk的realtime 和 mysql 模块,这些模块在asterisk插件包中

下载地址是:http://www.asterisk.org/downloads

下载之后./configure 然后sudo make &&sudo make install && sudo make samples

重启asterisk,确保以下多个模块被正常加载

*CLI> module show like realtime

Module                         Description                                           Use Count
pbx_realtime.so            Realtime Switch                                        0
func_realtime.so           Read/Write values from a RealTime reposi 0
app_realtime.so            Realtime Data Lookup/Rewrite                 0
3 modules loaded

*CLI> module show like mysql

Module                                Description                                          Use Count
cdr_addon_mysql.so             MySQL CDR Backend                            0
app_addon_sql_mysql.so      Simple Mysql Interface                           0
res_config_mysql.so             MySQL RealTime Configuration Driver      0

如果正常加载,我们就能开始配置asterisk 和mysql了

1.首先我们应该在数据库的某个database中建立一张表用来存储peers和users数据

表的结构如下

CREATE TABLE sip_users (

id int(11) NOT NULL auto_increment,
name varchar(80) NOT NULL default '',
host varchar(31) NOT NULL default '',
nat varchar(5) NOT NULL default 'no',
type enum('user','peer','friend') NOT NULL default 'friend',
accountcode varchar(20) default NULL,
amaflags varchar(13) default NULL,
`call-limit` smallint(5) unsigned default NULL,
callgroup varchar(10) default NULL,
callerid varchar(80) default NULL,
cancallforward char(3) default 'yes',
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,
insecure varchar(4) default NULL,
language char(2) default NULL,
mailbox varchar(50) default NULL,
md5secret varchar(80) default NULL,
deny varchar(95) default NULL,
permit varchar(95) default NULL,
mask varchar(95) default NULL,
musiconhold varchar(100) default NULL,
pickupgroup varchar(10) default NULL,
qualify char(3) default NULL,
regexten varchar(80) default NULL,
restrictcid char(3) default NULL,
rtptimeout char(3) default NULL,
rtpholdtimeout char(3) default NULL,
secret varchar(80) default NULL,
setvar varchar(100) default NULL,
disallow varchar(100) default 'all',
allow varchar(100) default 'g729;ilbc;gsm;ulaw;alaw',
fullcontact varchar(80) NOT NULL default '',
ipaddr varchar(15) NOT NULL default '',
port smallint(5) unsigned NOT NULL default '0',
regserver varchar(100) default NULL,
regseconds int(11) NOT NULL default '0',
lastms int(11) NOT NULL default '0',
username varchar(80) NOT NULL default '',
defaultuser varchar(80) NOT NULL default '',
subscribecontext varchar(80) default NULL,
PRIMARY KEY (id),
UNIQUE KEY name (name),
KEY name_2 (name)
);

2.建立数据库用户并授权

grant select,insert,update,delete on asterisk.sip_users to username@localhost identified by 'username';

这里的username可以是你自己建立的 也可以是root 下面我以root为例

在mysql中的tirox中创建一张名为 sip_users的表

3. 编辑 /etc/asterisk/res_mysql.conf 以便asterisk访问数据库

[general]
dbhost = localhost

dbname = tirox

dbuser = root

dbpass = root

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

如果你在 /var/lib/mysql/mysql.sock 找不到 mysql.sock的话

你可以去/etc/mysql/my.cnf 找到

[client]
2port            = 3306
socket          = /var/run/mysqld/mysqld.sock

4. 编辑 /etc/asterisk/extconfig.conf

在 [settings]标签下面添加下面的内容 sippeers => mysql,tirox,sip_users
sipusers => mysql,tirox,sip_users

5. 编辑 /etc/asterisk/sip.conf

在 [general],标签下面添加下面的内容

rtcachefriends=yes

6.然后添加你的数据到sip_users表中去

例如:

insert into sip_users set name='6001',
context='video-call',
type='friend',
host='dynamic',
secret='123456',
nat='yes',
canreinvite='no',
dtmfmode='rfc2833',
disallow='all',
allow='all',
callerid='\"9001\" <9001>';

大功告成

现在如果你在asterisk终端下 使用sip show peers 无法找到对应的账号

那么之需要使用sip客户端填写账号 就能看到了

asterisk使用MYSQL认证的配置方法相关推荐

  1. mysql主从库配置方法

    2019独角兽企业重金招聘Python工程师标准>>> 一.mysql主从备份(复制)的基本原理 mysql支持单向.异步复制,复制过程中一个服务器充当主服务器,而一个或多个其它服务 ...

  2. windows下配置mysql主从复制_Windows下MySQL主从复制的配置方法

    MySQL主从复制允许将来自一个数据库(主数据库)的数据复制到一个或多个数据库(从数据库). 主数据库一般是实时的业务数据写入和更新操作,从数据库常用的读取为主. 主从复制过程: 1.主服务器上面的任 ...

  3. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  4. mysql++3307,mysql多实例配置方法

    Mysql多实例配置 1.什么是多实例? 在linux系统中代表:多个进程+多个线程+多个预分配内存结构 一般用来测试环境中,测试主从,高可用等. 多实例配置方案:(多个数据库管理系统)端口port分 ...

  5. mysql主从复制的配置方法和原理简介

    1.介绍 MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能.就是一台或多台MysQL数据库(slave,即从库)从另一台MNySQL数据库(master,即主库) ...

  6. oracle收购Mysql后,Mysql的安装配置方法

    自从Oracle收购MySQL后,略微发生了一些小小的变化,原来mysql安装完成后默认是没有密码的,但是新版的mysql安装完成后oracle提供了一个free password放着/root/.m ...

  7. httpd mysql认证_Apache Httpd服务器之认证与授权

    此篇文章,我们主要探讨下关于Httpd服务器的认证及授权. 所谓认证,在我的理解就是用户通过一个凭证进入服务器的过程,而授权是用户是否有权限获取服务器中的某个资源.认证负责的是整体,授权负责的是局部. ...

  8. 华为ac配置radius认证服务器_华为aaa配置 华为AAA认证典型配置举例 - 网络设备 - 服务器之家...

    华为aaa配置 华为AAA认证典型配置举例 发布时间:2017-03-06 来源:服务器之家 2.5 AAA典型配置举例 2.5.1 Telnet/SSH用户通过RADIUS服务器认证的应用配置 SS ...

  9. mysql8.0安装设置密码_mysql8.0.11安装配置方法图文教程 MySQL8.0新密码认证方式

    本文为大家分享了mysql8.0.11安装配置方法图文教程.MySQL8.0新密码认证方式,供大家参考,具体内容如下 1.前言 Oracle已经发布了MySQL8.0GA,GA在外国就是release ...

最新文章

  1. Http接口开发(自测服务端客户端)
  2. GridView 模版列编辑状态Dropdownlist 事件
  3. java 模式匹配算法_用Java匹配模式
  4. ftp上传当天文件的方法_五种方法将文件上传到FTP服务器
  5. 嵌入式应用开发第一阶段
  6. 飞桨第四节七日cv经典网络 2020.4.3
  7. python 函数式 panda_python – 反向中的Pandas分裂函数
  8. 找出OData service出错根源的小技巧
  9. [C++]vector创建二维数组
  10. 8、不与最大值相同的数字之和
  11. java json float_java – Json解析问题(值自动更改为float)
  12. 2018年计算机二级知识点,2018年计算机二级考试公共基础知识点:栈及其基本运算...
  13. html仿win10第一次开机效果,纯 HTML/CSS 高仿 Win10 加载动画
  14. 楼天成 中国大学生编程第一人
  15. vue-pdf 字体不显示
  16. 芯片后端设计的DRC是什么
  17. Ellisys Bluetooth Sniffer 文档 (EEN-BT09) - 访问链接密钥的方法
  18. free rainbow 分布式破解 WINDOWS 密码的最好选择!
  19. java+static知乎_用Java抓取知乎日报信息
  20. flume系列之:监控flume上个小时生成的HDFS文件是否有损毁,并发送告警信息

热门文章

  1. arm linux 开机电路_ARM Linux启动过程分析
  2. split 中文 java_Java String[] split() 方法
  3. 循环给对象创建属性名和属性值
  4. leetcode 73 矩阵置零 C++ 两种解法
  5. 获取本地 qt_用QT实现视频/音乐播放组件
  6. Linux-使用之vim出现的问题
  7. ELF 动态链接 so的动态符号表(.dynsym)
  8. 绝对定位和浮动的区别和运用
  9. Text段、Data段和BSS段
  10. js/css文件修改后浏览器本地缓存解决