Asterisk-sip(mysql)动态写入和拨号方案动态(Agi)

来源:互联网 发布:安卓反编译软件 编辑:程序博客网 时间:2024/05/17 02:35

sip动态写入(mysql版)

准备工作

  1. 查看Asterisk是否安装了支持mysql模块和一些必要的模块,在Asterisk控制台命令下输入 module show like realtime 和module show like mysql,确保被正常加载
    2.若没有加载则需要安装 ,进入Asterisk解压目录,
    • 执行./configure
    • 执行 make menuselect 选择要按照的组件
    • 执行 make
    • 执行 make install
    • 执行 make samples
  2. 安装完毕后查看数据库连接情况 realtime like mysql

数据库操作

  1. 建立一个数据库,数据了名叫asterisk
  2. 建立一张用来存储sip账户信息的表sippeers表的结构一点按照Asterisk推荐的表的结构来写,不然会出错,每个版本推荐的表的数据结构在Asterisk解压路径下contrib/realtime/mysql中直接导入里面的.sql文件到数据库中例如(/home/kalamodo/asterisk-13.13.1/contrib/realtime/mysql)导入命令(mysql -uroot -p(密码) 数据库名 < (导入的数据文件))
  3. 导入完成后修改Asterisk的res_config_mysql.conf 配置文件在[general] 中添加如图所示,然后再配置extconfig.conf 配置文件,在[settings] 中添加如图所示
  4. 往数据库中插入一条sip记录,就能就能动态增加sip了

实例

insert into sippeers set name='6004',secret='6004',type='friend',transport='tcp',context='Internal',nat='force_report',host='dynamic';

拨号方案动态

  1. 拨号方案采用agi脚,在拨号方案中执行脚本,exten =>1111,1,AGI(as_test.py),脚本文件默认存放在/var/lib/asterisk/agi-bin这个目录下,若不存放在需要填写绝对路径
  2. 在Asterisk控制台界面中 输入 agi show commands 查看本版本支持的agi命令
  3. agi脚本必须是可执行的程序
  4. 开源项目 pyst2封装了Asterisk 的agi命令 使用pip install pyst2 安装
  5. pyst2中封装了agi命令和manager命令,对于agi,我们使用Asterisk.agi类
0 0