日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

sip服务器的搭建

發布時間:2024/6/21 综合教程 23 生活家
生活随笔 收集整理的這篇文章主要介紹了 sip服务器的搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們都知道使用VOIP網絡電話,需要連接上sip服務器,這樣用戶之間才可以通信。
在這里,我就簡單介紹下如何搭建sip服務器。在windows系統下可搭建minisipserver,其官網為http://www.myvoipapp.com/,我們可以從中選取對應的版本,具體配置步驟見http://jingyan.baidu.com/article/03b2f78c744ab55ea237aef3.html。當然我們也可以下載Linux版本,安裝和使用教程見http://www.myvoipapp.com/docs/mss_services/linux/index.html,我就不再贅述。
這里我著重講解下如何在ubuntu下搭建OpensSIPS服務器,OpenSIPS是一個成熟的開源SIP服務器,除了提供基本的SIP代理及SIP路由功能外,還提供了一些應用級的功能。OpenSIPS的結構非常靈活,其核心路由功能完全通過腳本來實現,可靈活定制各種路由策略,可靈活應用于語音、視頻通信、IM以及Presence等多種應用。同時OpenSIPS性能上是目前最快的SIP服務器之一,可用于電信級產品構建。憑借其可擴展、模塊化的系統架構,OpenSIPS提供了一個高度靈活的、用戶可配置的路由引擎,可以為voice、video、IM和 presence等服務提供強大高效的路由、鑒權、NAT、網關協議轉化等功能。由于其穩定高效等特點,OpenSIPS已經被諸多電信運營商應用在自己的網絡體系中。

一.前提條件:

(1)mysql已經配置好

1 sudo apt-get install mysql-server
2 sudo apt-get isntall mysql-client
3 sudo apt-get install libmysqlclient-dev

(2)如果找不到curses.h,安裝sudo apt-get install libncurses5-dev

二.安裝:

1. 下載 opensips
http://www.opensips.org/Resources/Downloads,

我使用的是1.8版本,即可以git下來

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

2. 解壓后,進入opensips目錄

make all ,如果出錯,一般是缺少一些編譯工具,直接sudo apt-get install xxx(相應的工具)
make install
可能設置到權限不足的問題,為了省事,我們不妨在root用戶下進行操作

三.配置

1.opensips數據庫
cd /usr/local/etc/opensips/查看發現有三個文件,分別是opensips.cfg opensipsctlrc osipsconsolerc,然后vim將其對應的ip地址修改成自己主機上的。

2.開啟數據庫
/usr/local/sbin/opensipsdbctl create
如果出現以下錯誤
“ERROR: could not load the script in /usr/local/lib/opensips/opensipsctl/opensipsdbctl.mysql for database engine MYSQL
ERROR: database engine not loaded - tried 'MYSQL'”

1 cd /usr/local/lib64/opensips/opensipsctl/
2 cp $(你的opensips目錄)/scrips/*.mysql  ./
3 mkdir mysql
4 cp  $(你的opensips目錄)/scrips/mysql/*.sql ./mysql
5 cd /usr/local/share/opensips
6 cp $(你的opensips目錄)/scrips/*.mysql  ./
7 mkdir mysql
8 cp  $(你的opensips目錄)/scrips/mysql/*.sql ./mysql
如果ubuntu是32位的話,則為/usr/local/lib/opensips/opensipsctl

成功后,會有兩個選項,全選y
3.察看設置是否正確
/usr/local/sbin/opensipsctl -c

四.使用

1.開啟opensips服務
/usr/local/sbin/opensipsctl start
關閉stop 重啟restart
這里我遇到了ERROR:PID file/var/run/opensips.pid does not exist-- OpenSIPS start failed. 的問題。在這里使用tail -n 20 /var/log/syslog,可以查看錯誤原因,我發現是權限的問題,因而要sudo /usr/local/sbin/opensipsctl start 。

2.添加sip用戶
/usr/local/sbin/opensipsctladd username password 如:/usr/local/sbin/opensipsctl add 100 100
可以使用/usr/local/sbin/opensipsctlrm 100刪除用戶。

如果出現ERROR: domain unknown: use usernames with domain or set default domain in SIP_DOMAIN,說明環境變量未配置,所以vim /etc/environment,在里面寫入SIP_DOMAIN="你的IP Domain",而后再source下即可

默認的數據庫用戶為opensips,密碼為opensipsrw,當然你也可以設置成對應的用戶,直接在/usr/local/etc/opensips的配置文件修改對應的DBRWUSER,DBRWPW

3.查看sip用戶
可以使用mysql -u root -p而后輸入你的密碼,就能夠通過show databases;查看數據庫,再使用use opensips;并且show tables;就可以查看opensips數據庫里的表格,最后使用select * from subscriber;便能夠查看添加的sip用戶情況

4.可隨意找一款網絡電話進行測試,如sipdroid或linphone,設置用戶信息,發現仍然連接不上,這到底是什么原因呢?我查了很久,才發現是由于對應默認的端口5060未打開,因而使用sudo ufw allow 5060。再次測試,總算連接成功,而后就可以愉快地進行通話嘍!!!下面就是我測試成功的結果:


注意:如若不是公網IP,手機與服務器要確保在同一區域網里

總結

以上是生活随笔為你收集整理的sip服务器的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。