轉載自:http://blog.csdn.net/haolipengzhanshen/article/details/44672005
平臺:win7 32bit + vmware + centos6.6
opensips版本:1.8.2-tls
64bit,或者centos7下有些文件路徑可能不一樣,請自行google解決
一 準備工作
yum install gcc make
yum install flex bison ncurses libncurses-dev ncurses-devel
安裝Mysql數據庫
yum install mysql mysql-server mysql-libs mysql-devel
缺少什麼組件,自己百度去安裝.
二 下載源代碼並編譯
溫馨提示:很多命令需要root權限,而且電腦最好可以翻牆
wget http://opensips.org/pub/opensips/1.8.2/src/opensips-1.8.2_src.tar.gz
tar zxvf opensips-1.8.2_src.tar.gz
cd opensips-1.8.2-tls
下載源代碼,解壓,進入目錄
進入Opensips的安裝目錄(本人是/usr/etc/opensips)
make menuconfig
出現圖示如下:
將光標向下移動到Compile And Install OpenSIPs 按Enter
選擇連接數據庫模塊(如圖)
指定安裝目錄(可選)
藍色框爲用戶指定的安裝目錄
配置完成以後記得保存設置
之後進入到圖形界面進行安裝
三 修改相關配置文件
vi /usr/etc/opensips/opensipsctlrc 打開opensipsctlrc文件
把與mysql有關的註釋去掉(DB_PATH和USERCOL保留註釋)
啓動Mysql數據庫
service mysqld start
創建Opensips數據庫
opensipsdbctl create(提示的兩個問題都選no)
提示:
此處需要輸入Mysql數據庫的root密碼
方法:
方法1: 用SET PASSWORD命令
mysql -u root
mysql> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘newpass’);
方法2:用mysqladmin
mysqladmin -u root password “newpass”
如果root已經設置過密碼,採用如下方法
mysqladmin -u root password oldpass “newpass”
Osipsconfig
選擇ENABLE_TCP,USE_AUTH,USE_DBACC,
USE_DBUSERLOC,USE_DIALOG,
然後generate residential script
用生成的opensips_residential_xxx.cfg替換原先的opensips.cfg
vi /usr/etc/opensips/opensips.cfg(修改偵聽listen地址)
關閉防火牆:
/etc/init.d/iptables status //查看當前防火牆的狀態
/etc/init.d/iptables stop //關閉防火牆
chkconfig –level 35 iptables off //永久關閉防火牆
//至關重要的一步
opensipsctl start
注意事項:
在opensipsctl start開啓之前先要開啓:
Mysql數據庫,關閉了系統的防火牆,以及創建Opensips數據庫表成功.
如果啓動opensips時提示錯誤,檢查/var/log/messages
具體的指令:tail -20 /var/log/messages
通過查看messages日誌信息來定位錯誤.
例如在log裏發現“ERROR:uri:db_checks_fixup1: configuration error - no database URL is configured!”,
則在opensips.cfg裏的“loadmodule “uri.so””後添加modparam(“uri”, “db_url”,”mysql://opensips:opensipsrw@localhost/opensips”)即可。
創建測試用戶:
opensipsctl ul show //顯示當前在線用戶
opensipsctl add name pwd
示例:opensipsctl add [email protected](填寫你自己的Sip服務器地址)
四 如何抓包分析SIP包
在Opensips所在服務器上使用tcpdump可以抓取SIP包以便分析問題(注意要抓取的網卡是eth0或eth1):
tcpdump -nqt -s 0 -A -i eth0 port 5060 -w /home/capture_file_name.pcap
PS:這應該算是sip的第二篇了
本人qq:1985082200