【opensips(一)】ubuntu16.04安裝opensips

因爲之前接觸過kamailio,畢竟和opensips是同源的,很多使用方法、模塊都相似,安裝過程感到很熟悉,另外opensips有一個圖形控制界面menuconfig,能夠很方便的進行安裝、腳本生成及配置。

 

一、下載源碼

我下載的是當前穩定版本2.4.5:http://download.opensips.org/

解壓縮放進了目錄/usr/local/src/中。

二、安裝依賴

見源碼中的install以及Readme文件裏有相關說明。

可以看到如果想使用menuconfig就的安裝libncurses5-dev

切換root

1.安裝gcc    

sudo apt-get install build-essential


3.安裝mysql      

sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysqlclient-dev 

4.安裝其他:
 

sudo apt-get install perl libdbi-perl libdbd-mysql-perl libdbd-pg-perl libfrontier-rpc-perl libterm-readline-gnu-perl libberkeleydb-perl

sudo apt-get install bison flex libncurses5 libncurses5-dev

 

三、安裝

使用menuconfig(推薦):

在/usr/local/src/opensips-2.4.5執行:

make menuconfig

進入控制檯界面:

箭頭上下,空格/回車選擇,q返回上一級。

依次選擇:Configure Compile Options—> Configure Excluded Modules,按空格選中[*] db_mysql

這步是配置安裝的模塊

按q返回上一級,選擇→ Configure Install Prefix,我是安裝在默認的/usr/local/下,可以自己輸入想安裝的位置。

選擇 —> Save Changes 保存修改。

按q返回,選擇 —> Compile And Install OpenSIPS,回車安裝。

 

如果出現依賴錯誤,先通過apt-get安裝依賴。

安裝完opensips的目錄結構是:

/usr/local/sbin/

 裏面有可執行命令 opensips、opensipsctl (用來啓動/停止opensips)、 opensipsdbctl (用來創建數據庫)、opensipsunix等等

/usr/local/etc/opensips/

裏面有配置文件: opensips.cfg、opensipsctlrc、osipsconsolerc

/usr/local/lib64/opensips/

裏面是庫文件,其中/usr/local/lib64/opensips/裏面是當前opensips所支持的模塊, /usr/local/lib64/opensips/opensipsctl/ 是 /usr/local/sbin/中啓動命令要用到的文件。

四、配置

剛剛我們完成了opensips的編譯和安裝(除數據庫模塊),現在進行數據庫的安裝及配置以及opensips自身的配置。

1、數據庫安裝及配置

進入配置文件目錄:

cd /usr/local/etc/opensips

打開數據庫配置文件opensipsctlrc並修改

vim opensipsctlrc

把與mysql有關的註釋去掉(DB_PATH和USERCOL保留註釋)

創建數據庫(提示的兩個問題都選no)

opensipsdbctl create

2、opensips配置

進入/usr/local/etc/opensips/,運行osipsconfig命令。

osipsconfig

依次選擇—> Generate OpenSIPS Script —> Residential Script —> Configure Residential Script
選中如下幾項
[*] ENABLE_TCP
[*] USE_AUTH
[*] USE_DBACC
[*] USE_DBUSRLOC
[*] USE_DIALOG
USE_NAT如果需要使用rtpproxy的話就選擇,本次opensips是實現最基本的分機註冊和分機相互呼叫功能,故不用選擇。
按q返回,選擇 —> Generate Residential Script 回車,生成新的配置文件。按q(三次)退出命令
用生成的opensips_residential_xxx.cfg替換原先的opensips.cfg:

mv opensips_residential_2019-4-18_21:15:42.cfg  opensips.cfg
vim opensips.cfg

修改opensips.cfg

監聽端口:

以下爲非必須項,出現相應問題再配置

如果日誌中報錯找不到數據庫地址之類的,嘗試增加這一行:

modparam("uri", "db_url", "mysql://opensips:opensipsrw@localhost/opensips")

我的SIP軟電話註冊不上,將這個位置改動一下:

 

不使用menuconfig(簡述):

(參考https://blog.csdn.net/okhelp/article/details/82319290,和kamailio的安裝過程相同,可以參考我的kamailio安裝過程,當然配置文件的修改不能完全一樣)

1、在/usr/local/src/opensips-2.4.5下執行

make all

make install

2、具體模塊使用,單獨加載相應的模塊庫和配置模塊參數。

如加載MYSQL模塊:

#### USeR LOCation module
loadmodule "usrloc.so"
modparam("usrloc", "nat_bflag", 10)
modparam("usrloc", "db_mode",   2)
modparam("usrloc", "db_url",
    "mysql://opensips:opensipsrw@localhost/opensips") # CUSTOMIZE ME

opensips默認安裝完成後,會生成標準配置文件,該配置文件不需要數據庫即可以完成分機註冊和分機相互呼叫功能。

3、拷貝數據庫腳本

cp /usr/local/src/opensips-2.4.5/scripts/opensipsdbctl.mysql   /usr/local/lib64/opensips/opensipsctl/

cp /usr/local/src/opensips-2.4.5/scripts/mysql /usr/local/lib64/opensips/opensipsctl/  -a  

4、修改數據庫配置文件

vim   /usr/local/etc/opensips/opensipsctlrc

將下面幾項修改或者去掉註釋

5、創建數據庫(參考上面的)

opensipsdbctl create

五、使用獨立的log文件

opensips使用syslog服務,所以缺省情況下日誌會進入/var/log/message這個文件,如果希望使用獨立的log文件,將opensips的日誌保存在/var/log/opensips.log,可以這樣設置:

touch /var/log/opensips.log
chmod 777 /var/log/opensips.log
vi /etc/rsyslog.d/opensips.conf

增加如下內容

local0.*             /var/log/opensips.log

重啓syslog服務,啓動opensips,增加用戶和域名

service rsyslog restart
opensipsctl start
opensipsctl domain add xdty.org
opensipsctl add 1000 123456
opensipsctl add 1001 123456

服務啓動後,防火牆開啓tcp及udp的端口(我是直接關掉防火牆了=-=  :service iptables stop )

iptables -I INPUT -p tcp --dport 5060-j ACCEPT
iptables -I INPUT -p udp --dport 5060 -j ACCEPT

六、一些相關命令

查看進程命令:

ps aux | grep opensips

查看UDP鏈接狀態;

netstat -ulpn | grep opensips

 

查看TCP鏈接狀態:

netstat -tlpn | grep opensips

查看實時日誌:

tail -f /var/log/opensips.log

七.撥打電話(MicroSIP軟電話)

SIP電話配置:

撥打電話(這個是兩個電話都在本機):

抓包(馬賽克打的很是清奇QAQ):

我的CSipsimple不知爲何還是註冊不上,解決了再說,嗯。

參考:https://blog.csdn.net/chengzhangbiji/article/details/39693015

http://www.cnblogs.com/bjzhanghao/archive/2013/02/13/2910903.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章