天天看點

Asterisk-sip(mysql)動态寫入和撥号方案動态(Agi)sip動态寫入(mysql版)撥号方案動态

sip動态寫入(mysql版)

準備工作

  1. 檢視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
  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] 中添加如圖所示
    Asterisk-sip(mysql)動态寫入和撥号方案動态(Agi)sip動态寫入(mysql版)撥号方案動态
    ,然後再配置extconfig.conf 配置檔案,在[settings] 中添加如圖所示
    Asterisk-sip(mysql)動态寫入和撥号方案動态(Agi)sip動态寫入(mysql版)撥号方案動态
  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指令
    Asterisk-sip(mysql)動态寫入和撥号方案動态(Agi)sip動态寫入(mysql版)撥号方案動态
  3. agi腳本必須是可執行的程式
  4. 開源項目 pyst2封裝了Asterisk 的agi指令 使用pip install pyst2 安裝
  5. pyst2中封裝了agi指令和manager指令,對于agi,我們使用Asterisk.agi類
    Asterisk-sip(mysql)動态寫入和撥号方案動态(Agi)sip動态寫入(mysql版)撥号方案動态

繼續閱讀