Sip服務器搭建全過程
參考文檔:http://blog.csdn.net/jhope/article/details/53129122
參考文檔:https://www.cnblogs.com/xlwm/p/4414207.html
參考文檔:http://blog.csdn.net/Richar1/article/details/50949506
參考文檔:http://blog.csdn.net/lhh1002/article/details/6131733
參考文檔:http://blog.csdn.net/canglonghacker/article/details/30537709
環境:ubuntu14.04
虛擬機網絡適配器改爲橋接模式(自動)
橋黑板,重點提醒:
*****安裝過程中及時使用虛擬機快照功能*****
快照使用:https://jingyan.baidu.com/article/1709ad806e1ebb4635c4f048.html
極度鬱悶:安裝過程中提示錯誤,網上查找都說在目錄/var/log目錄下有對應的日誌文件,但我實際安裝過程中雖然有生成這些文件,但是不會更新記錄錯誤信息,很是鬱悶。下面所說的問題解決方法,都是自己查找資料,實驗得出來的,按照這個操作步驟,及時使用虛擬快照功能(防止誤操作從頭來過),將sip服務器搭建起來是沒有問題的。
有知道日誌是什麼回事的請告知!!!
1. 關於mysql數據庫
a) 安裝mysql
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
這裏輸入的密碼是root數據庫的密碼
b) 卸載mysql
刪除mysql的數據文件
sudo rm /var/lib/mysql/ -R
刪除mysql的配置文件
sudo rm /etc/mysql/ -R
自動卸載mysql(包括server和client)
sudo apt-get autoremove mysql* --purge
sudo apt-get remove apparmor
檢查是否卸載乾淨
dpkg -l | grep mysql # 若沒有返回,說明已完成卸載
2. 關於opensips安裝
過程中可能涉及到權限問題,爲了方便在root操作
a) 下載opensips
官網下載地址:http://www.opensips.org/Resources/Downloads
我這裏使用的是在虛擬機下git直接下載
git clone https://github.com/OpenSIPS/opensips.git -b2.2 opensips-2.2
b) 編譯opensips
最最重要的就是把db_mysql模塊編譯進去
make menuconfig 執行此命令直接退出,會在源碼根目錄下生成Makefile.conf文件(使用左右鍵進入/返回菜單;opensis中默認是不支持mysql的,需要手動修改Makefile.conf文件)
修改Makefile.conf文件:
在exclude_modules中刪掉db_mysql,
在include_modules中添加db_mysql,
修改安裝目錄爲PREFIX=/usr/local/opensips/
make all
make install
c) 配置opensips
cd /usr/local/opensips/
目錄結構如下
這裏有兩個文件需要修改,opensipsctlrc和oepnsips.cfg
修改opensipsctlrc文件
將對應字段的註釋打開,部分需要手動修改
ip爲自己主機ip
修改opensips.cfg文件(這個地方是個天坑)
使用make menuconfig菜單工具生成一個opensips.cfg文件
這一步記住自己菜單中生成的 .cfg文件名
退出菜單後
cd etc/
mv opensips_residential_2018-2-7_3\:59\:1.cfgopensips.cfg
cp opensips.cfg /usr/local/opensips/etc/opensips/opensips.cfg
這裏之後開始真正地修改opensips.cfg文件
d) 創建opensips數據庫
cd /usr/local/opensips/sbin
檢測配置文件語法
./opensips -C
創建數據庫
./opensipsdbctl create
MySQL password for root:輸入安裝mysql時的(root)密碼
報錯1:
解決方法:
修改my.cnf文件
vi /etc/mysql/my.cnf
重新啓動mysql
報錯2:
解決方法:
mysql安裝的root數據庫密碼爲1
%使所有外部ip地址都能訪問使用mysql
e) 開啓opensips服務
./opensipsctl start #開啓opensips服務
./opensipsctl stop #關閉opensips服務
./opensipsctl restart #重啓opensips服務
報錯1:
解決方法:
vi/usr/local/opensips/etc/opensips/opensips.cfg
修改爲modules實際路徑
f) 添加sip用戶
./opensipsctl add username password #添加用戶
./opensipsctl rm username #刪除用戶
g) 查看sip用戶
可以使用mysql -u opensips -p而後輸入你的密碼,就能夠通過show databases;查看數據庫,再使用use opensips;並且show tables;就可以查看opensips數據庫裏的表格,最後使用select * from subscriber;便能夠查看添加的sip用戶情況
默認的opensips的數據庫密碼爲opensipsrw
h) 查看在線用戶
./opensipsctl ul show
./opensipsctl online
這個時候查詢還沒有效果,先進行下一步使用Linphone註冊sip賬戶,註冊之後再查看就會顯示在線
3. 關於Linphone安裝
a) PC機安裝Linphone
百度軟件中心(普通下載):http://rj.baidu.com/soft/detail/35293.html?ald
b) 手機安裝Linphone
綠色資源網(其他下載地址):http://www.downcc.com/soft/342710.html
c) 設置PC機Linphone
Options->SIP賬戶管理
1. 填寫自己的顯示名稱,隨便填,不重要;
2. 填寫自己sip服務器上已經註冊的賬戶;
3. 添加sip代理賬戶;
4. 按格式填寫,IP爲PC機IP地址,5060默認端口;
5. 按格式填寫,IP爲SIP服務器地址,5060默認端口;
添加聯繫人
1. 點擊添加Linphone聯繫人;
2. 填寫聯繫人名稱;
3. 按格式填寫,IP爲SIP服務器地址,5060默認端口;
4. 自動識別,不用改;
d) 設置手機端Linphone
註冊sip用戶
4.sip服務器註冊用戶的usrname;
5.sip服務器註冊用戶的password;
6.sip服務器的IP地址;
7.選擇UDP;
9.直接選擇Maybe later,其他不用管;
10.圓點變綠表示自己在線,才能和其他客戶端通信;
11.自動填充的格式,IP爲sip服務器地址;
添加聯繫人
2.撥打用戶的名稱,不重要;
3.按格式填寫,聯繫人的sip地址,ip爲sip服務器地址,5060爲默認端口;
4.sip服務器註冊好的sip用戶名稱;
按手機添加聯繫人理解
4. 互相撥打電話測試