java voip 的sip服务器搭建_用树莓派搭建低成本VOIP服务器与电话系统
利用 Asterisk 來實現一個低成本的電話系統
在研究了一些為小企業提供VoIP(Voice over Internet Protocol)和IP電話服務,包括支持新趨勢 UC(統一通信)的技術解決方案之后,我個人認為用樹莓派提供一個非常低成本的解決方案是完全可行的。相對于100美元的投資和一個專用的 VoIP/UC 服務器解決方案,樹莓派和相應配件在成本方面的優勢是無法比擬的。
樹莓派的解決方案是通過在 Raspbian 系統上運行 Asterisk VoIP/UC 軟件來實現的。這個開源解決方案提供了高度靈活的配置項,當然也可以用于許多不同的領域和應用。
本文說明了 VoIP/UC 的解決方案并不一定是高風險的,在實施的時候也不一定是需要很高投入的。
簡介
在過去的幾十年中,電話技術發展迅速,從模擬通信遷移到了基于VoIP的數字通信和IP電話。這也讓統一通信成為了可能,統一通信是對實時通信服務,例如即時消息(聊天),電話,數據共享,視頻會議,語音識別等和非實時通信服務,例如語音信箱,電子郵件、短信和傳真等的集成。統一通信并不是指某一個單一的產品,而是一系列提供了一致的,統一的,跨多個設備和媒體類型的用戶界面和用戶體驗的產品。(http://en.wikipedia.org/wiki/Unified_communications)
VoIP 是利用某個網絡協議,比如SIP協議 (Session Initiation Protocol) 和 RTP協議 (Real-time Transport Protocol) 等,從而實現通過因特網來傳輸聲音。
基礎
要實現一個 VoIP/UC 解決方案,系統必須滿足各種行業標準,而且網絡設備也必須能夠區分出對語音視頻數據和其他類型數據的使用。
基本組件
本方案對硬件和軟件的要求很簡單。你需要做的可能只是下載軟件而已。
硬件:
樹莓派
4 GB SD卡 (最低配置)
1A 電源
網線
可選的 SIP 電話或者 SIP適配器(本文使用 Dlink DPH-150SE)
?
軟件:
Raspbian
Asterisk 通信軟件
LinPhone 虛擬電話軟件 (支持 iOS, Android, Blackberry, Linux, Windows and OSX)。你可以通過下面鏈接下載。 http://www.linphone.org
安裝
初始安裝設置的時候,你可能需要使用一個USB鍵盤和鼠標連接到 Raspberry Pi 上,再連上一個顯示器。配置成功以后,樹莓派就可以不需要這些而自己運行了。
獲取 Asterisk 軟件最好的和最容易的方法是從這個網站 (http://www.raspberry-asterisk.org/downloads)下載最新的 SD 卡映像文件,它是一個預裝了 Asterisk 通信軟件和 FreePBX 圖形用戶界面的 Raspbian 系統。該映像文件是通過在這個網頁上(http://www.raspberrypi.org/documentation/installation/installing-images/)的步驟被寫到SD卡上的。
當系統啟動后,用 root 身份和 raspberry 密碼登陸。如果愿意,你也可以遠程登陸樹莓派系統。在 Windows 上安裝 PuTTY SSH 客戶端并用 root@raspbx 連接樹莓派。如果是蘋果的 Mac,只需簡單的打開終端,輸入命令 SSH root@raspbx.local 。你可能以后會想禁止通過 SSH 登陸 root 用戶,因為這有可能造成一個安全漏洞。當你登錄系統以后,你需要運行的第一個命令是:
raspbx-upgrade
這個命令將更新所有的軟件到最新版本,包括 Raspbian 和 Linux 內核。
接下來你需要做的是配置靜態IP地址。你需要在你的路由器或者貓上指定你想使用的靜態IP地址,網絡掩碼和網關。命令:
ifconfig
將提供你當前的IP地址,網絡掩碼。你的新的靜態IP地址的前三個字節應該跟你當前的IP相同,最后一個字節必須在你的路由器當前已使用的動態IP地址范圍之外。如果想查找網關地址,請輸入:
netstat -r
通過下面的命令編輯 interface 文件:
nano /etc/network/interfaces
編輯好的 interface 文件應該看起來跟下面截圖中的一樣。
注意你需要將 eth0 那一行上的 “dhcp” 替換為 “static”, 并確保你使用的是 鍵來達到需要的縮進。
保存這個文件以后,重啟樹莓派讓新的網絡設置生效。現在開始,你就可以使用新的靜態IP或者 raspbx 主機名了。例如我現在就可以使用 PuTTY 通過靜態IP來連接樹莓派: root@172.31.15.11 。
Asterisk的配置
我們現在要通過 FreePBX 的圖形用戶界面來配置 Asterisk 軟件。這樣可以讓整個配置過程變得簡單和容易。 FreePBX 是已經在我們下載的那個映像文件里預裝好了的軟件。
如下所示的是一個示例架構圖:
要運行 FreePBX, 請打開瀏覽器并在地址欄輸入 http://raspbx 或者樹莓派的靜態 IP 地址。(對于蘋果的 Mac,你需要輸入 http://raspbx.local)。這樣就打開了 FreePBX 的管理界面。
這里有三個選項:
FreePBX Administration 用于配置 Asterisk
User Control Panel 供用戶調整他們的個人設置
Get Support 將打開 FreePBX 的官方網站
點擊 FreePBX Administration, 默認的登錄名是 admin,登陸密碼也是 admin。這個軟件的菜單有多種選項,包括分機(Extensions),會議(Conferences)和響鈴組(Ring Groups)等。請點擊分機(Extensions)。
由于當前沒有分機存在,所以你將添加一個新的分機。Device 選項請選擇 Generic SIP Device,然后點擊提交(Submit)進入下一個頁面。這個頁面也有很多的選項,但我們只需要設置用戶分機號碼為 300,顯示名稱為 Walberto 和密碼為 ext300。單擊 Submit 添加該擴展。
在屏幕的右邊,點擊 300 來查看你剛剛添加的分機。驗證端口(port)選項被設置為 5060。點擊 Submit 提交,然后點擊那個紅色的 Apply Config 按鈕來保存所做的更改。
重復這個過程添加其它你需要的分機號,在這里我添加了 301 和 302 分機。
現在,我們需要配置 IP 電話。這個過程根據你的電話設備的型號而不同,在這里我們將使用 Dlink DPH-150SE 作為一個示例。最重要的設置是禁用 DHCP 選項,確認 SIP 電話端口號為 5060,還有注冊的服務器是你的樹莓派的 IP 地址。在后面的章節中,我們將通過 Proxy 選項來啟用服務器注冊。
對于 SIP Account 設置選項,我們需要輸入之前通過 FreePBX 添加分機時使用的數據。Authentication User Name 就是之前添加的分機號碼,而 Authentication Password 就是我們之前設定的那個密碼(即ext300)。
虛擬電話配置
啟動 Linphone 并在 Options 菜單中選擇 Preferences。確認網絡設置如下圖所示。
在 Multimedia settings 選項中, 確認 Echo cancellation 被選上。在 Manage SIP Accounts 選項中輸入你的顯示名稱。在我的例子中,虛擬電話的分機號為302, 所以用戶名也為 302。由此而生成的 SIP 地址為<302>。單擊 Add 按鈕在 Asterisk 上注冊該分機的帳號。302>
按照下圖所示,輸入你的 SIP identity 和 SIP Proxy address(即你的樹莓派的 IP地址)。
然后你將被要求輸入密碼。對于302分機,我設定的密碼是 ext302。單擊確定,注冊就完成了。
通過 FreePBX 和 Asterisk 可以實現各種服務,如會議室,IVR(交互式語音應答),呼叫組等,還可以通過普通的PSTN電話,SIP中繼線或互聯網進行呼入和呼出。
未來
VoIP和互聯網通訊的發展正在推動統一通信系統融合成一個整體的系統和環境。 FreePBX 和 Asterisk 是一個非常好的例子,它演示了如何用很低的成本來實現復雜的通訊系統。
總結
以上是生活随笔為你收集整理的java voip 的sip服务器搭建_用树莓派搭建低成本VOIP服务器与电话系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql配置环境变量(win 10)_
- 下一篇: Python3——JSON