1、FreeSWITCH 簡介
FreeSWITCH 是一個電話的軟交換解決方案,包括一個軟電話和軟交換機用以提供語音和聊天的產品驅動。FreeSWITCH 可以用作交換機引擎、PBX、多媒體網關以及多媒體服務器等。
FreeSWITCH 支持多種通訊技術標準,包括 SIP, H.323, IAX2 以及 GoogleTalk ,可以方便的與其他開源的PBX系統進行對接,例如 sipX, OpenPBX, Bayonne, YATE 或者 Asterisk.
FreeSWITCH 支持許多高級的 SIP 特性,例如 presence/BLF/SLA 、TCP TLS 和 sRTP,它還可以用來作爲類似於 SBC (Session Border Controller) 的透明代理。
FreeSWITCH的是一個跨平臺的開源電話交換平臺,具有很強的伸縮性。旨在爲音頻、視頻、文字或任何其他形式的媒體,提供路由和互連通信協議。它創建於2006年,填補了許多商業解決方案的的空白。FreeSWITCH的也提供了一個穩定的電話平臺,許多廣泛使用的免費電話就是在使用它開發的。
2、下載及安裝
windows版本下載地址:https://files.freeswitch.org/windows/installer/
百度雲盤:https://pan.baidu.com/s/1lBLH5XbLNuCynoaverpaWA 提取碼:6mrj
以下測試版本:FreeSWITCH-1.10.1-Release-x64.msi
下載後,雙擊按提示一步一步操作,安裝完成後在安裝目錄下選擇FreeswitchConsole.exe執行文件,以管理員的身份運行,這樣會打開命令行的工具並運行,運行時間爲30s左右;
如上圖所示啓動成功!
3、FreeSWITCH配置
FreeSwitch默認設置了20個用戶,如果需要更多的用戶,那麼只需要簡單的三步就可以完成。
- 在conf/directory/default/中增加一個用戶配置文件
- 修改撥號計劃(Dialplan)使其它用戶可以呼叫它
- 重新加載配置使其生效
要添加用戶Jason,分機號是1020,只需要到conf/directory/default目錄下,將1000.xml拷貝到1020.xml,然後打開1020.xml,將所有1000都改爲1020,並把effective_caller_id_name的值改爲Jason,然後保存退出。
如:<variable name="effective_caller_id_name" value="Jason"/>
接下來,打開 conf/dialplan/default.xml,找到
<condition fied=“destionation_number” expression=“^(10[01][0-9]) $” > 行,將其改爲:
<condition field=“destionation_number” expresstion=“^(10[01][0-9]|1020) $” >
保存退出,回到控制檯,然後執行reloadxml命令或按快捷鍵F6,使新的配置生效,那麼新用戶1020便添加成功。
如果你在某個運營商擁有SIP賬號,就可以配置撥打外部電話。
4、軟電話連接使用
FreeSwitch默認配置了1000~1019共20個用戶,你可以隨便選擇一個用戶進行配置(相當於已經在此服務器下注冊了20個用戶,用戶名分別是1000、1001、……),下面就將來測試這個服務器,支持SIP協議的客戶端軟件有:X-Lite、Zoiper、Boghe、IMSDroid等,這裏我們可以選用支持SIP協議的X-Lite、Boghe、IMSDroid來測試。
以下測試使用X-Lite,下載地址:https://www.counterpath.com/x-lite/
百度雲盤:https://pan.baidu.com/s/1DkZ9z__b6vGg8LEKMacQCw 提取碼:bf8w
下載安裝後,配置AccountSettings:
註冊成功後:
可用freeswitch客戶端fs_cli.exe 查看註冊信息:
命令:sofia status profile internal reg
5、發起外呼
在fs_cli.exe中執行命令:originate user/1000 &echo
上述命令在呼叫 1000 這個用戶後,便執行 echo 這個程序。echo 是一個迴音程序,即它會把任何它“聽到”的聲音(或視頻)再返回(說)給對方。因此,如果這時候用戶 1000 接了電話,無論說什麼都能聽到自己的聲音。
發起外呼指令後,PC上X-Lite便會振鈴。
將用戶1000和用戶1020建立通話 ,執行命令 :
originate user/1000 &bridge(user/1020)
在手機上也安裝個軟電話(AdoreSoftphone),配置1020用戶信息,確保1000和1020在同一WiFi下,這樣1000和1020就可以互相通話了,如在手機上撥號1000,PC上的X-Lite就會振鈴。