在无线局域网的接入点中集成SIP代理服务器的可行性研究
2008-03-20
作者:郭志斌,时良平
摘 要:通过对比无线局域网" title="无线局域网">无线局域网和SIP服务拓扑结构" title="拓扑结构">拓扑结构的相似性,讨论了在无线局域网的接入点" title="接入点">接入点中集成SIP代理服务器的可行性,并且给出了具体的实现方法。
关键词:无线局域网 接入点 拓扑结构 SIP代理服务器
无线局域网技术和VoIP(Voice over Internet Protocol)技术都是当前非常流行的网络技术。如果能将无线局域网和VoIP有效结合,开发出集成两者功能的设备,将会有良好的市场前景。本文正是基于这一思路,通过比较无线网络和SIP服务拓扑结构的相似性来讨论开发这种集成设备" title="集成设备">集成设备的可行性。
1 相关协议简介
1.1 802.11b标准简介
无线局域网采用的是IEEE 802.11标准。为实现更高的数据通信带宽、更多的功能,促使无线局域网得到更快速的发展, IEEE组织对802.11标准进行了扩展和加强,发布了802.11b标准。
该标准工作在2.4G~2.4835GHz,采用直接序列扩频技术,最高可提供11Mbps的数据通信带宽,无需直线传播,支持动态速率转换,拥有三个互不重叠的子频道,室外传播范围可达300m。目前90%以上的无线局域网都是基于IEEE 802.11b技术,它是现今最为流行的无线局域网络标准。
1.2 SIP协议简介
会话初始化协议SIP(Session Initiation Protocol)是由互联网工程任务组IETF(The Internet Engineering Task Force)制定的面向 Internet 会议和电话的信令协议。
SIP是一个网络应用层的协议,它规定了建立、修改和终结多媒体会话的基本机制。这些多媒体会话包括多媒体会议、远程教育、IP电话和其他众多应用。
SIP中定义了用户代理和网络服务器两个基本要素。用户代理分为用户代理客户机元素UAC(User Agent Client)和用户代理服务器元素UAS(User Agent Server)。UAC用于初始呼叫,而UAS应答呼叫。SIP网络服务器提供多种类型的服务,可以分为SIP有状态代理服务器、SIP无状态代理服务器和SIP重定向服务器。UAC发出会话请求以后,SIP代理服务器接收请求,决定将这些请求传送到何处,并且完成向下一级服务器的传送,直至请求到达UAS。重定向服务器在接收到请求后,并不向下一级传送请求,而是向呼叫者发送响应,以指示被呼叫用户的地址。呼叫者可以根据响应,直接联系一下服务器上的被呼叫方。
2 无线局域网与SIP服务的拓扑结构
2.1 无线局域网的拓扑结构
根据无线接入点AP(Access Point)作用的不同,无线局域网WLAN(Wireless Local Area Net)可以实现点对点模式、基础结构模式、扩展业务模式" title="业务模式">业务模式等多种模式。扩展业务模式是最常用的模式。
扩展业务模式的形式比较多,本文重点介绍由多个基本服务集BSS(Basic Service Set)以及分布式系统DS(Distribution System)组成的扩展服务集ESS(Extended Ser-
vice Set)模式。扩展业务模式组网拓扑图如图1所示。在扩展服务区内,每个AP都覆盖一个独立的BSS,所有AP共享同一个扩展服务区标示符ESSID(Extended Service Set Identification)。分布式系统可以由以太网构成,在同一个扩展服务区内,无线网络设备可以实现无缝转接,以达到漫游的目的。
2.2 SIP服务的拓扑结构
SIP服务具有多种结构模式。较复杂的SIP服务模式是将重定向服务器与多个代理服务器相结合,其拓扑图如图2所示。图2中忽略了具体的网络连接方式,注重的只是SIP消息的传递过程。与用户代理1和用户代理2相关联的是代理服务器1,与用户代理3和用户代理4相关联的是代理服务器2。这里的重定向服务器集成了定位服务器的功能,每个用户代理必须首先在重定向服务器注册,才能发送SIP请求。
用户代理1与用户代理4之间建立会话的过程如图2所示。(1)用户代理1向代理服务器1发送SIP请求;(2)代理服务器1向重定向服务器转发请求,重定向服务器中集成了定位服务功能,确定转发请求的下一级服务器地址;(3)重定向服务器向代理服务器1发送重定向响应;(4)代理服务器1根据收到的响应,将SIP请求转发给代理服务器2;(5)代理服务器2将请求发送给最终接收请求的用户代理4,由用户代理4决定是否接受请求,并且将最终响应通过步骤(6)~(8)传回用户代理1。
2.3 相似性比较
对比图1和图2可以看出,图1中的AP和图2中的代理服务器都充当了一个小区的中心节点。图1中任何一个基本服务区的站点STA(Station)要与其他服务区的STA通信,都必须通过其所在小区的AP连接;图2中与代理服务器1关联的任何一个用户代理要与代理服务器2关联的用户代理建立会话,也必须通过代理服务器1来转发请求。另外,同一个基本服务区内的两个STA之间的通信,也必须通过AP来完成;而图2中与代理服务器1关联的用户代理1和用户代理2之间要建立会话,也必须通过代理服务器1来转发请求和响应。由此可见,AP与SIP代理服务器在两种拓扑结构图中的角色具有相似性。如果可以将SIP代理服务器的功能集成到AP中,则可以很方便地实现VoIP在无线局域网中的应用。并且,由于使用了集成设备,不需要专门配置SIP代理服务器,这为VoIP的应用节省了大量成本。使用这种专门的AP构建的无线局域网,只需要配置一台重定向服务器,就可以通过SIP无线网络电话或笔记本电脑(安装了SIP软件终端)拨打网络电话。因此,这种集成设备具有广阔的市场前景。
写字楼中利用这种AP可以设计两种无线IP电话解决方案。第一种方案是将每个房间的AP都换成集成了SIP代理服务器的专用AP。每个AP都通过有线网络接入广域网。第二种方案是每个房间仍然使用普通AP,每一层增加一个集成AP,每个普通AP都通过无线方式与集成AP连接,集成AP通过有线方式接入广域网。由于有了专用AP,无论使用哪种方案,只要无线局域网组网完成,再添置一台重定向服务器,就可以方便地使用VoIP功能。另外,把代理服务器的功能分散到诸多AP当中,也可以减小由于某台代理服务器故障而大面积影响使用的风险。
3 实现方式
设计中选用的AP采用μClinux操作系统和ARM7架构。SIP代理服务器程序,选取开源SIP协议库 osip2作为底层协议支持。传输层采用UDP套接字接收和转发消息实体,并通过循环冗余码CRC(Cyclic Redundancy Code)校验保证消息实体传输无误。程序中还包括实时传输协议RTP(Real-Time Transport Protocol)服务器,保证语音或者视频传输的正确性。AP不支持多线程技术,所以无法并发执行SIP服务器和RTP服务器。本设计采用的策略是在主循环的开始处等待时间t1,判断t1时间内有无SIP消息到达;如果有则执行SIP服务程序,否则判断RTP服务程序是否需要执行;若需要执行则启动RTP服务器,若无需执行,返回主循环开始处。t1暂定为2s。SIP服务程序也提供注册服务。AP采用多网卡架构,程序必须通过读取配置文件选取使用的网卡。根据嵌入式系统的要求,程序内所有的内存分配均采用动态分配。AP启动后并不运行代理服务程序,而是通过网络远程启动程序,这样保证AP在不运行代理服务程序时,可以作为普通AP使用,而不影响性能。
本文涉及的内容均基于科学研究目的,不具有任何商业用途。本项设计还需要在穿透防火墙和在无线局域网中无缝转接等方面做改进和测试。另外,在AP中集成新功能时,需要升级AP硬件的配置,如扩展AP的存储器等。此集成设备,节省了在无线局域网中应用VoIP的成本,节约了时间,简化了维护工作,为WLAN与VoIP的结合提供了可行的解决方案。
参考文献
1 Rosenberg J,Schulzrinne H.Session Initiation Protocol[S].RFC3261,2002
2 Handley M,Schulzrinne H.Session Initiation Protocol[S].RFC2543,1999
3 金 纯.IEEE802.11无线局域网[M].北京:电子工业出版社,2004