微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于Blackfin 533的SIP网络电话

基于Blackfin 533的SIP网络电话

时间:09-22 来源:3721RD 点击:

:一条是目标系统向服务器发送的REGISTER请求消息,另一条是服务器发送的200 OK消息。

\

(2) 呼叫过程

呼叫过程如图8所示。BF533网络电话(BP)先是向SER服务器发送了一条INⅥTE消息(M1),要求与远端客户机(RC)进行对话。SER马上回复一条100 Trying消息(M2)表示正在尝试连接。然后SER将INⅥTE消息加入相关的Record-Route和Via头部域以后成为消息M3,发送给RC。RC回复一个100 Trying消息(M4)给SER,然后再发送180Ringing(M5)给SER,表示正在响铃中。SER将M5中它的Via和Record-R0ute头部域去掉以后,成为消息M6发送给BP。在RC接受本次呼叫以后,它发送一个200 OK(M7)给SER。SER去掉Via以后,发送M8给BP。收到M8以后,BP发送ACK(M9)给RC。之后,双方之间的通话就建立了起来。当会话结束时,BP发送BYE(M11)给RC,之后,RC返回200 OK(M14),这次通话就结束了。(被叫过程和呼叫过程相似。)

\

(3)呼叫转接

该过程是通过扩展的SIP信令REFER来完成的,交互过程如图9所示。当BF533网络电话要将它和远端客户机1(RCl)的通话转接到远端客户机2(RC2)时,BF发送REFER(M1)给RCl,该信息中Refer-To字头标明了RC2的URL,之后RCl回复202 Accepted(M2)给BP表明接受转接。随后,RCl和RC2之间会有类似于通话建立过程的信令交互INVITE(M3),100 Trying(M4),180Ringing(M7)、200 OK(M10),RCl会通过NOTIFY将转接状态告知BP,最后RCl回复ACK(M13)给RC2建立通话,同时其与BP的通话就断开了。

\

(4)呼叫保持/恢复

呼叫保持并没有专门的信令,而是将INVITE信令体SDP中的Connection Information(c)参数设为空(即(IPV4)0.O.O.0)来实现的。 BF533网络电话远端客户机远端各尸机回复200 0K接受保持,如图10所示。同理,呼叫恢复就是将c参数恢复原值,过程与呼叫保持相同。

(5)电话会议

会议功能是在Blackfin 533上实现的,将不同Port的语音数据混合并发送给目的Port,即可让参与者听到多方的声音。通过测试,各项功能均已实现,而且通话质量良好。

结 语

本文提出并实现了一种基于Blackfin的SIP网络电话解决方案,介绍了整个系统的构成,包括硬件方案和软件方案,并展示了相关的功能。由于采用层次化设计,并提供了丰富的API接口,因此该方案有较强的可拓展性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top