sip动态写入(mysql版)
准备工作
- 查看Asterisk是否安装了支持mysql模块和一些必要的模块,在Asterisk控制台命令下输入 module show like realtime 和module show like mysql,确保被正常加载
Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)sip动态写入(mysql版)拨号方案动态 2.若没有加载则需要安装 ,进入Asterisk解压目录, - 执行./configure
- 执行 make menuselect 选择要按照的组件
- 执行 make
- 执行 make install
- 执行 make samples
- 安装完毕后查看数据库连接情况 realtime like mysql
数据库操作
- 建立一个数据库,数据了名叫asterisk
- 建立一张用来存储sip账户信息的表sippeers表的结构一点按照Asterisk推荐的表的结构来写,不然会出错,每个版本推荐的表的数据结构在Asterisk解压路径下contrib/realtime/mysql中直接导入里面的.sql文件到数据库中例如(/home/kalamodo/asterisk-13.13.1/contrib/realtime/mysql)导入命令(mysql -uroot -p(密码) 数据库名 < (导入的数据文件))
- 导入完成后修改Asterisk的res_config_mysql.conf 配置文件在[general] 中添加如图所示
Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)sip动态写入(mysql版)拨号方案动态 ,然后再配置extconfig.conf 配置文件,在[settings] 中添加如图所示
Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)sip动态写入(mysql版)拨号方案动态 - 往数据库中插入一条sip记录,就能就能动态增加sip了
实例
insert into sippeers set name='6004',secret='6004',type='friend',transport='tcp',context='Internal',nat='force_report',host='dynamic';
拨号方案动态
- 拨号方案采用agi脚,在拨号方案中执行脚本,exten =>1111,1,AGI(as_test.py),脚本文件默认存放在/var/lib/asterisk/agi-bin这个目录下,若不存放在需要填写绝对路径
- 在Asterisk控制台界面中 输入 agi show commands 查看本版本支持的agi命令
Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)sip动态写入(mysql版)拨号方案动态 - agi脚本必须是可执行的程序
- 开源项目 pyst2封装了Asterisk 的agi命令 使用pip install pyst2 安装
- pyst2中封装了agi命令和manager命令,对于agi,我们使用Asterisk.agi类
Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)sip动态写入(mysql版)拨号方案动态