随着网络和相关网络协议的发展,如何方便和快速地创建新业务是摆在业务提供商面前的重要课题。本文主要介绍了在SIP协议网络环境下业务创建的两种机制:呼叫处理语言CPL和SIP CGI规范。
1 简介
随着网络协议的发展,如SIP、RTP/RTCP、RSVP、H.323等的出现和部署,INTERNET逐渐成为语音、数据、视频等多种业务的承载网络,成为了提供多种业务的统一的网络平台。
传统的电话网络使用智能网技术(IN:Intelligence Network)以方便网络运营商添加业务而无需变动承载业务的电话网络。与之相对应的INTERNET必须有相应的机制来保证新的业务能够被很快的生成和部署。本文将介绍在SIP协议环境下业务创建的相关机制:呼叫控制语言(CPL: Call Processing Language)、SIP CGI(公共网关接口:Common Gateway Interface) 。
2 呼叫处理语言(CPL:Call Processing Language)
IETF的IPTEL工作组在RFC2824描述了CPL的框架以及实现的要求,随后在草案draft-ietf-iptel-cpl-06.txt定义了CPL语言的细节。用户可以通过CPL编写脚本文件,并上传到信令服务器(signaling server)。在用户发起或接收呼叫的过程中,信令服务器根据CPL脚本文件运行的结果动态为用户提供呼叫转移、遇忙前转等服务。
CPL脚本运行的网络模型由两部分组成:端系统(end system)和信令服务器(signaling server)。端系统(end system)指的是发起和接收信令信息和媒体流的设备,包括电话设备,PC电话客户端,自动语音系统等等。信令服务器是指中继和控制信令信息的设备。在SIP协议构建的网络中,指的是代理服务器,重定向服务器,注册服务器。
2.1 CPL的特点
CPL是用来控制和描述IP电话业务的语言。CPL的设计者并没有将CPL与某个信令协议紧密的关联起来,因此CPL是与底层的信令协议无关的脚本语言,可以与任何的底层协议配合使用,如H.323和本文侧重介绍的SIP协议等。
另外CPL在设计中还有下列的一些特点: * 描述业务(service)能力强; * CPL脚本通常在信令服务器上运行,有时也会在高级的客户端运行; * 由于CPL脚本在服务器上运行,为了服务器的安全,对它的表述能力又有所限制,例如没有提供循环和递归的机制; * 基于XML语言,语言分析比较简单,有很多现成的工具可以使用;
2.2 CPL语言的体系结构
众所周知,XML是一种元语言(metalanguage)。CPL正是在XML的基础上附加一些文本类型描述(DTD:Document Type Des cription)构造而成。因此,与XML表示一样,CPL语言呈树型结构,也使用标签,以及标签的属性来表示
| |