OpenSIPS折騰筆記1——先讓OpenSIPS跑起來

語言: CN / TW / HK

一、系統配置和環境準備

1、設定時間

timedatectl set-timezone Asia/Shanghai
timedatectl set-local-rtc 1
timedatectl set-ntp true
echo "NTP=cn.ntp.org.cn">>/etc/systemd/timesyncd.conf
systemctl restart systemd-timesyncd

2、設定語言

    執行命令

dpkg-reconfigure locales

    #選擇語言環境zh_ch.utf8/gbk等中文,預設語音選擇zh_ch.utf8


#3、設定應用監聽非本機IP&網路引數優化

cat >> /etc/sysctl.conf <<EOF
net.ipv4.ip_nonlocal_bind = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 6000
EOF
sysctl -p

#3、安裝必須的工具軟體

apt-get install iptables tcpdump net-tools vim ftp ipvsadm libnl-3-200 libnl-genl-3-200 libnl-route-3-200 libsensors4 libsnmp-base libsnmp30 libsctp-dev libopts25 psmisc dirmngr

    #keepalived apt安裝版本較老

#4、配置環境

vim /root/.bashrc

#去註釋 ll 等

vim /usr/share/vim/vim80/defaults.vim
# 轉至第 70 行,修改為:
#     set mouse-=a
#新增一行
#    set paste
" 設定 Tab 鍵縮排的空格數
set tabstop=4
" 設定編輯器將多少空格視為一個縮排
set shiftwidth=4


#5、核心引數優化

cat >> /etc/security/limits.conf <<EOF
*  soft  core  4000000
*  hard  nofile  655360
*  soft  nofile  655360
*  hard  nproc  16384
*  soft  nproc  16384
EOF


二、安裝mysql依賴庫

wget https://dev.mysql.com/get/mysql-apt-config_0.8.9-1_all.deb
dpkg -i mysql-apt-config_0.8.9-1_all.deb 
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys (這個key有味精詞,好玩)
apt-get update
apt-get install libmysqlclient-dev

三、安裝OpenSIPS

cd /usr/src/

#1、下載OpenSIPS原始碼

#方式1. 從OpenSIPS網站下載

# 進入以下頁面,選擇原始碼包進行下載:

# http://opensips.org/pub/opensips/2.4.x/  

wget https://opensips.org/pub/opensips/2.4.x/opensips-2.4.6.tar.gz

# 方式2. GIT下載

#OpenSIPS的原始碼託管在GitHUB。執行以下命令可檢出OpenSIPS 2.4的最新版本:

git clone -b 2.4 https://github.com/OpenSIPS/opensips.git opensips-2.4


#2、安裝依賴和工具

apt-get install make automake git gcc g++ libncurses5-dev flex bison libxml2-dev libmysqlclient-dev


#3、編譯和安裝

make menuconfig  #  --->  Configure Compile Options  --->  Configure Excluded Modules --->  選定 [*] b2b_logic 和 [*] db_mysql  --->  返回  
                 #  --->  Configure Install Prefix ---> 輸入安裝目錄/usr/local/opensips/  ---> 返回  --->  Save Changes 返回  --->  Exit & Save All Changes
make all
make install


四、安裝mysql資料庫

#opensips主機可不安裝mysql伺服器,但需安裝資料庫客戶端,-- opensips資料庫使用指令碼建立之前不要建庫建使用者,但必須授權root遠端訪問

apt-get install mysql-server
vim /etc/mysql/mysql.conf.d/mysqlld.cnf #修改監聽地址
service mysql restart
mysql -uroot -p
-- CREATE USER 'opensips'@'%' IDENTIFIED BY 'ligen119';
CREATE USER 'freeswitch'@'%' IDENTIFIED BY 'ligen119';
-- CREATE DATABASE IF NOT EXISTS opensips DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE IF NOT EXISTS freeswitch DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
-- GRANT ALL PRIVILEGES ON opensips.* TO 'opensips'@'%'; 
GRANT ALL PRIVILEGES ON freeswitch.* TO 'freeswitch'@'%';
flush privileges;

-- 授權root遠端訪問

use mysql;
update user set host='%' where user='root';
grant all privileges on *.* to root@'%' IDENTIFIED BY 'ligen119';
flush privileges;
quit;


五、配置OpenSIPS

apt-get install mysql-client
cd /usr/local/opensips/etc/opensips
vim opensipsctlrc  #填寫資料庫資訊,並去註釋配置,並儲存
/usr/local/opensips/sbin
./opensipsdbctl create