应急指挥语音网关单元,以嵌入式 Arm Linux 为基础,实现手台、车台与 SIP 话机间半双工语音通信,同时支持四路不同分组通信,并提供 web 界面实现组间语音调度,如通话组合并、拆分等功能。使用 c 语言开发了 SIP 协议和 RTP 协议,实现通话控制与语音传输。
系统稳定可靠,最终以硬件产品形式对外出售。
1 语音采样,配合驱动程序实现对手台车台等设备的语音采样。
2 SIP 协议,为具备数字按键的手台设备提供拨号、呼叫、应答、挂断等大部分 SIP 电话相关功能,兼容市面大部分 PBX 设备。
3 RTP 语音传输,以 UDP 协议为基础开发的语音传输协议。
4 简单的语音调度功能,实现 4 路通话间任意调度。
项目共 3 人参与研发,其中 1 名硬件工程师,2 名软件工程师,我作为项目负责人,除协调软硬之间的关系外,还作为软件开发主力,开发了整体架构和 SIP\RTP协议。
项目使用 epoll 模型处理网络连接及数据传输,并使用 c 语言实现了大部分 SIP 协议栈和 RTP 传输协议(实现接收端数据包重排),融入语音压缩及解压功能。