Skip to main content

VoIP FAQ

Asterisk vs FreeSWITCH

  • Asterisk
    • 轻量
      • 资源占用少
      • 适合嵌入式 - 大多硬件网关直接集成
    • 社区支撑更好
    • 模块化程度更高
    • 线程资源共享 - 存在资源锁,性能弱于 fs
    • 主要定位是 PBX
  • FreeSWITCH
    • 原本是 Asterisk 开发者想要修复问题,最后完全重写
    • 对资源要求更高
    • 多租户,高并发
      • 适用于 SaaS 平台
      • 适合二次开发 - 协议允许
      • 适合集成
    • 集群能力 - 不同实例处理不同功能
    • 通道线程资源独立 - 对资源要求高,性能更高
    • XML 配置
    • 支持 XMPP - 提供 IM 能力
    • 不只是 PBX - 多协议通讯平台
    • 视频处理能力强
    • 支持 Linux, macOS, BSD 等平台
    • libfreeswitch 可作为库来使用
-SinceLicensebyderivative
Asterisk1999GPLDigiumFreePBX,Elastix,PBX in a Flash
FreeSWITCH2006MPLsipXcom,FusionPBX

VoIP 协议

ProtocolMeanNotes
SIPSession Initiation ProtocolSIP 基于标准的协议,大多数 VoIP 电话和服务都在使用或提供响应支持.
SCCPCisco Skinny Client Control ProtocolSCCP 是私有协议,主要用于 Cisco's Call Manager 和 IP 电话
MGCPMGCP 很老的 VoIP 协议,已经很少使用了.
H.323类似于 MGCP , 是很老的 VoIP 协议,已经很少使用了.
IAXAsterisk 内部协议 - 早期用于解决 NAT 问题

语音编码

CodedRateFidelity
GSM13 Kbps8k
iLBC15 Kbps
G.71164 Kbps
G.72248/56/64 Kbps
G.7228K-80k16k
G.72616/24/32/40 Kbps
G.72816 Kbps
G.7298 Kbps
OPUS6k-51k48k
SPEEX Narrowband14Kps-23Kps8k
SPEEX Wideband20800-5840016k

What is overlap dialing ?

影响按键之间的超时间隔, 关闭后, 网关会一个数字一个数字的接收, 开启后, 网关会有一定的等待延时, 例如 2s.

主要用于在拨号时处理歧义, 例如 23163441, 在接收到一部分的时候, 可能就已经开始拨号, 这是不对的, 应该等待输入完成

带宽

  • G711 PCMU, PCMA at ptime=20ms ~= 80kbps
  • G729 ~= 24kbps - 70%
    • ptime=60ms ~= 13.3kbps
  • IAX2 能一定程度减少带宽