28
2024
11
15:48:07

FreeSWITCH 电话软交换系统搭建:初始化安装&软电话客户端选取

介绍

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)

  1. 从 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 架构的安装包。

  2. 进行典型安装(Typical)。

  3. 将 FreeSwitchConsole.exe 添加至防火墙放行列表。

  4. 修改 /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]"/>
  5. 从 /conf/directory/default 目录下配置分机号(did)及密码;默认分机号为 1000 至 1019,密码为 $${default_password} 即 1234。详细分机设置及电话会议号码如下表所示[^3]

号码说明
9664保持音乐
9196echo,回音测试
9195echo,回音测试,延迟5秒
9197milliwatte extension,铃音生成
9198TGML 铃音生成示例
5000示例IVR
4000听取语音信箱
33xx电话会议,48K(其中xx可为00-99,下同)
32xx电话会议,32K
31xx电话会议,16K
30xx电话会议,8K
2000-2002呼叫组
1000-1019默认分机号
  1. 从 /conf/vars.xml 修改默认密码(注意:如果不修改此处的默认密码,通话连接将会被系统强制延迟[^1])

  2. 为 Azure 实例的网络安全组根据需要放行入站端口,如下表所示[^2]

FireWall PortsNetwork ProtocolApplication ProtocolDescription
1719UDPH.323 Gatekeeper RAS port
1720TCPH.323 Call Signaling
3478UDPSTUN service用于 NAT 穿透
3479UDPSTUN service用于 NAT 穿透
5002TCPMLP protocol server
5003UDPNeighborhood service
5060UDP & TCPSIP UAS用于 SIP 信令 (标准 SIP 端口,对于默认 ”Internal” 配置文件)
5070UDP & TCPSIP UAS用于 SIP 信令 (对于默认 “NAT” 配置文件)
5080UDP & TCPSIP UAS用于 SIP 信令 (对于默认 “External” 配置文件)
8021TCPESL用于 mod_event_socket
16384-32768UDPRTP/ RTCP multimedia streaming用于 SIP、交换以及其他协议的语音或视频的数据传输
5066TCPWebsocket用于 WebRTC
7443TCPWebsocket用于 WebRTC
  1. 以管理员身份运行 FreeSwitch

  2. 使用之前所填写的登录凭据在 SIP 客户端上进行注册,例如在 Zoiper 上,使用 [用户名]@[PBX/VoIP 运营商] ,如 1000@[服务器地址] ,密码为 1234

  3. 考虑到 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、macOSAndroidiOS 甚至 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 时代的设计风格,简单粗暴。

MizuDroid - Google Play

优点

  • 可以设定多个用户配置文件

  • 支持 Call Forward(Call Divert,呼叫转移)、Call Transfer(呼叫迁移)、Number Rewrite(号码重写)等功能

  • 功能非常强大

  • 没有广告,完全免费

缺点

  • 配置界面令人眼花缭乱

  • 用户界面较简陋

Reference




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://hqyman.cn/post/8653.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: