介绍
FreeSWITCH 是一个跨平台的开源电话软交换系统,与 Asterisk 类似,常被用于开发各类视频会议系统、客服系统、电话转接等服务。FreeSWITCH 可以被当作一个 PBX(Private Branch eXchange)作为内部电话交换机使用,也可以对接第三方 SIP 落地网关,将语音业务延伸至传统语音通信网,实现电话业务的内外网互通。
部署
运行环境:Microsoft Azure A3 (4 vCPU, 7 GB RAM)
操作系统:Windows Server 2016
连接方式:客户端 (4G / WLAN) <-> Internet <-> Azure (10.0.0.0/24)
从 windows_installer/installer/" style="margin: 0px; padding: 0px; text-decoration-line: none; background-color: transparent; transition: color 0.3s ease 0s; box-sizing: border-box; border-bottom: 1px solid var(--color-text-a); font-size: 1em;">files.freeswitch.org 下载 x64 架构的安装包。
进行典型安装(Typical)。
将
FreeSwitchConsole.exe
添加至防火墙放行列表。修改
/conf/sip_profiles
目录下的external.xml
及internal.xml
,将value
字段修改为 Azure 实例的公网 IP 地址(如下方所示)。1
2<param name="ext-rtp-ip" value="[external_ip]"/>
<param name="ext-sip-ip" value="[external_ip]"/>从
/conf/directory/default
目录下配置分机号(did)及密码;默认分机号为1000
至1019
,密码为$${default_password}
即1234
。详细分机设置及电话会议号码如下表所示[^3]
号码 | 说明 |
---|---|
9664 | 保持音乐 |
9196 | echo,回音测试 |
9195 | echo,回音测试,延迟5秒 |
9197 | milliwatte extension,铃音生成 |
9198 | TGML 铃音生成示例 |
5000 | 示例IVR |
4000 | 听取语音信箱 |
33xx | 电话会议,48K(其中xx可为00-99,下同) |
32xx | 电话会议,32K |
31xx | 电话会议,16K |
30xx | 电话会议,8K |
2000-2002 | 呼叫组 |
1000-1019 | 默认分机号 |
从
/conf/vars.xml
修改默认密码(注意:如果不修改此处的默认密码,通话连接将会被系统强制延迟[^1])为 Azure 实例的网络安全组根据需要放行入站端口,如下表所示[^2]
FireWall Ports | Network Protocol | Application Protocol | Description |
---|---|---|---|
1719 | UDP | H.323 Gatekeeper RAS port | |
1720 | TCP | H.323 Call Signaling | |
3478 | UDP | STUN service | 用于 NAT 穿透 |
3479 | UDP | STUN service | 用于 NAT 穿透 |
5002 | TCP | MLP protocol server | |
5003 | UDP | Neighborhood service | |
5060 | UDP & TCP | SIP UAS | 用于 SIP 信令 (标准 SIP 端口,对于默认 ”Internal” 配置文件) |
5070 | UDP & TCP | SIP UAS | 用于 SIP 信令 (对于默认 “NAT” 配置文件) |
5080 | UDP & TCP | SIP UAS | 用于 SIP 信令 (对于默认 “External” 配置文件) |
8021 | TCP | ESL | 用于 mod_event_socket |
16384-32768 | UDP | RTP/ RTCP multimedia streaming | 用于 SIP、交换以及其他协议的语音或视频的数据传输 |
5066 | TCP | Websocket | 用于 WebRTC |
7443 | TCP | Websocket | 用于 WebRTC |
以管理员身份运行
FreeSwitch
。使用之前所填写的登录凭据在 SIP 客户端上进行注册,例如在 Zoiper 上,使用
[用户名]@[PBX/VoIP 运营商]
,如1000@[服务器地址]
,密码为1234
。考虑到 NAT 对于连接可能构成影响,需要启用 SIP 客户端的 STUN 并使用 TCP 而非 UDP 进行连接。与此同时,对于客户端也应该配置为“始终允许后台运行”和“允许无限制地使用数据连接”,并开启“自动运行”。
参考文献
[^1]: FreeSWITCH very slow - Stack OverFlow
[^2]: Firewall - FreeSWITCH - Confluence
[^3]: FreeSWITCH 初步
[^4]: 百问 FreeSWITCH
网络上有许多开源或闭源的 SIP / H.323 客户端,但是大多不尽人意,有的界面复杂难以上手,有的功能较简单,可设定的参数较少。在此选取几款免费的客户端做推荐。
1. Zoiper (全平台)
Zoiper 是一套非常成熟的 VoIP 客户端解决方案,跨 Windows、macOS、Android、iOS 甚至 Windows Phone 全平台。
优点
支持的功能较全面,例如 TLS 加密语音、WiFi 下后台驻活等,还有一些付费功能加钱即可使用
支持视频通话,可以设置分辨率
支持配置多个账户
缺点
属于共享软件,部分功能需要付费,例如 PUSH 推送、G.722 语音编码等
有广告
2. PolyCom RealPresence Mobile - Phone (iOS / Android)
宝利通公司出品的多媒体会议客户端,支持 SIP 和 H.323 协议,跨 iOS 和 Android 平台,是目前我在用的一款对 H.323 支持比较好的客户端。
第一次运行会提示输入宝利通网关地址,跳过此页面即可设置自己的语音网关。
优点
界面简洁大方,设置容易
支持配置内网、外网网守
支持根据网络状态(3G、4G/WiFi)调节语音速率
缺点
没有高级设置,无法调整一些细节参数
3. MizuDroid (Android)
一款功能非常强大的 SIP 软电话客户端,仅支持 Android。采用了 Android 4.x 时代的设计风格,简单粗暴。
优点
可以设定多个用户配置文件
支持 Call Forward(Call Divert,呼叫转移)、Call Transfer(呼叫迁移)、Number Rewrite(号码重写)等功能
功能非常强大
没有广告,完全免费
缺点
配置界面令人眼花缭乱
用户界面较简陋
Reference
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://www.hqyman.cn/post/8653.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
休息一下~~