基于SIP协议软交换模型的设计与实现|七层协议模型

发布时间:2019-10-08 08:06:43   来源:公司研究    点击:   
字号:
摘要:本文提出了软交换出现的背景以及软交换技术相关的协议。以面向对象的方法在cisco的vocal软交换系统的基础上开发了一个企业级应用的软交换模型,系统是按照下一代网络(ngn)以及软交换的思想和技术路线来设计和实现的。

  关键词:下一代网络(ngn);软交换;sip协议

  

  引言

  

  目前传统的公众交换电话网(pstn)上传送着许多数据业务,由于快速增长的数据业务给并不适合传送数据业务的电话网造成了很大的压力。因此,基于分组技术的数据网与电路交换网最终必将走向融合,产生下一代由业务驱动的网络。软交换是下一代网络交换的核心,如果说传统电信网络是基于程控交换机的网络,而下一代网络则是基于软交换的网络。

  

  1系统开发的技术基础

  

  1.1软交换的概念

  我国信息产业部电信传输研究所对软交换的定义是:“软交换是网络演进以及下一代分组网络的核心设备之一,它独立于传送网络,主要完成呼叫控制、资源分配、协议处理、路由、认证、计费等主要功能,同时可以向用户提供现有电路交换机所能提供的所有业务,并向第三方提供可编程能力。”

  1.2 sip协议介绍

  会话初始化协议sip(session initiation protocol)是一个面向internet 会议和电话的简单信令协议,sip最初由ietf mmusic (multiparty multimedia session control) 工作组提出。Www.11665.coM它的主要目的是为了解决ip网中的

  信令控制,以及同软交换机的通信,从而构成新一代的通信平台。

  

  2 系统的总体设计和实现

  

  2.1系统的层次结构

  软交换采用业务与交换分离的设计思想,在系统设计结构上将软交换技术应用设计为三层结构,底层为用户接入层,中间为交换支撑层,最上面是业务实现层。系统的层次结构如图1所示。

  

  2.2呼叫管理服务器的设计与实现

  呼叫管理服务器处于该体系结构中的网络控制层,它是软交换系统的核心部分。呼叫管理服务器除了完成呼叫控制、连接控制和协议处理功能外,还将提供原来由网守设备提供的资源管理、路由以及认证、计费等功能。

  软交换系统的运行需要sip协议栈和sdp协议栈。客户端应该能够产生invite和ack请求,能够产生和解析call-id,content-length,content-type,cseq,from和to头部字段。呼叫管理服务器应该能够接收invite,ack,bye,cancel和register请求,应该能够产生和解析call-id,content-length,content-type,cseq,expires,from,max-forwards,via和to头部字段。为了能够使客户端和服务端能够使用rtp传输语音流,sdp协议应该能够产生和解析v,o,s,c,t,m和a头部字段。

  本系统以面向对象的方法设计了一个满足系统要求的最小sip和sdp协议栈。sip协议栈支持invite,ack,bye,register和cancel请求,支持100,180,200,300,400,500和600状态应答,支持subject,contact,call-id,content-length,content-type,cseq,expires,from,max-forwards,via和to头部字段。sdp协议栈支持v,o,s,c,t,m和a头部字段。sip和sdp中的头部字段都是以类的形式实现的,所支持的头部字段都是从一个抽象类header继承而来。抽象类header的定义如下:

  class header

  {

  public:

  header();

  virtual ~header() = 0;

  virtual string encode() const = 0;

  virtual void decode(const string& headerstring) = 0;

  virtual string getname() const = 0;

  };

  其中最主要的方法为decode,主要用来对相应的头部字段进行解析,getname方法返回当前的头部字段类的类名,encode方法用来产生相应的头部字段的字符串。

  其中sip协议栈的结构如图2所示:

  

  解析层是对sip消息进行解析和构造。解析层实现的关键在于各个头部字段类的设计及其相应decode方法的实现。解析层的实现借鉴了vocal开放源码中sipstack的头部字段类的设计方法,vocal的sipstack对rfc2543完全支持,但协议栈非常的庞大,设计的过程中参考了vocal的sipstack的头部字段类的设计形式实现了一个简洁,实用的sip协议栈,sip协议栈的大小还不到vocal的sipstack的1/10。

  

  3 结束语

  

  总之,基于sip协议软交换系统的前景非常广阔,在这个领域,有许多技术难题等待人们去解决。相信在大家的共同推动之下,软交换系统的应用将得到快速的发展。

  

  参考文献

  [1]强磊等编著.基于软交换的下一代网络组网技术[m].人民邮电出版社,2005

  [2]秦维佳.c/c++程序设计教程[m].机械工业出版社,2007

  [3]姚嫚,翟正军.mpls vpn网络的实现与应用[j]科学技术与工程,2007,(05)

  [4]朱亮,张永明.采用软交换技术实现msc冗灾备份[j]电信工程技术与标准化,2007,(01)