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版)撥号方案動态