- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于Windows CE的SIP软件电话的设计与实现
3.2.2 呼叫
本设计的 SIP 软件电话有两种呼叫模式:注册呼叫和Peer To Peer 呼叫。如果是呼叫一个公网的SIP 用户或是同一个私网的SIP 用户之间进行呼叫,就可以直接找到对方,而不必要通过代理服务器。下面以注册呼叫为例,终端注册成功后就可以进行呼叫。一个通过代理服务器的成功呼叫流程如图3 所示。
oSIP/eXosip 对消息的报告有2 种工作模式:事件模式和回调模式。本设计采用事件模式, 通过函数eXosip_event_wait 定时轮询获取SIP 事件。SIP 信令的实现如表2 。
3.3 语音通信模块
语音通信模块主要是对语音进行采样、编码压缩等处理,并封装成能在IP 网络上传输的RTP 包,接收端收到后解码,播放。语音通信模块程序流程如图 4:
RTP 传输模块通过使用开源的RTP 协议栈JRTPLIB 来实现,我们只需调用JRTPLIB 的少数几个函数就可以了。在通过SIP 信令建立会话后,准确地说是在主叫得知被叫应答即获取到事件EXOSIP_CALL_ANSWERED 后及被叫收到主叫的ACK 消息即获取到事件EXOSIP_CALL_ACK 后分别启动语音通信模块。会话结束(由呼叫模块控制)则关闭语音输入输出设备,结束语音流传输。
4 结束语
本文提出了一种 Windows CE 平台下基于SIP 协议的VOIP 软件电话终端的解决方案,并对方案的各模块及实现进行了详细的介绍。该软件电话实现了基于Windows CE 操作系统的PDA 用户的无线VOIP,通话话音清晰,延时较小,具有很好的实用价值。作为后续工作,还将在SIP 软件终端中增加视频功能。
本文作者创新点在于:本文提出了一种Windows CE 平台下基于SIP 协议的VOIP 解决方案,实现了基于Windows CE 的PDA 用户的无线VOIP 通信,为用户提供廉价、便捷、可移动的语音业务。
来源:维库开发网