智能网原理通俗讲义.docx
《智能网原理通俗讲义.docx》由会员分享,可在线阅读,更多相关《智能网原理通俗讲义.docx(23页珍藏版)》请在冰豆网上搜索。
智能网原理通俗讲义
智能网原理通俗讲义
1初步了解智能网
1.1为什么要智能网,什么是智能网
要谈智能网,先得谈业务。
业务就是服务,它一能满足社会需求,二能给提供者带来经济效益,何乐而不为呢?
本文中的业务专指电信业务,就是电信运营商提供给用户的各种服务。
电信部门想方设法提供更多、更好的业务给社会,其中最主要的原因是经济利益的驱动。
绝大部分交换机除了提供基本的接续和交换功能外,还提供一些具有业务特征的有用功能(如呼叫前转,呼出限制等),但这些功能不属于智能网业务的范畴。
而大家熟知的200号业务、800号业务却不是交换机本身所带的功能。
那么电信部门如何提供这些业务呢?
让我们先假想一下:
如果采用将业务直接做在交换机软件中的做法,则每当要实现一种新业务或修改现有的业务时,就要修改所有交换机中的软件,这几乎是不可能的,因为网上运行着大量的不同厂家不同型号的交换机...。
如此以来,提供业务或维护、修改已运营业务的成本是不是很高呢?
因此为了更方便地开发和维护业务的运行,节省业务的开发、运营和维护成本,我们需要这样的假设:
交换机只完成最基本的功能(收号、放音、接续等)而不知道业务的存在,另外,再构建一个指挥中心,所有的交换机检测到指挥中心关心的事件后都向指挥中心汇报,然后听从指挥中心的命令。
这样以来,只需要让指挥中心知道对某类事件如何处理,则通过指挥中心对交换机的控制,等于所有交换机都知道如何处理了。
对事件按照不同的方式和逻辑步骤进行处理就形成了各种业务。
采用交换与业务分离的思想,建立一整套业务定义(即生成)、解释(即运行)和管理体系,从而能够在PSTN(公共电话交换网)、PSPDN(公众分组交换数据网)、ISDN(综合业务数字网)等网上快速、经济地提供丰富的业务。
这套体系就是智能网,它的产生、作用、组成和实现方式都孕育在这段话中。
1.2智能网到底都有些什么?
让我们用类比来理解智能网的组成:
ͼ1将智能网系统和计算机系统进行对比,发现很类似
1、计算机外设——交换机
计算机外设能够完成某种特定的功能,如光驱可以读盘,某种专用的绘图设备可用来绘图等。
交换机具有基本的接续和交换功能。
2、外设的驱动程序——INAP规程
外设要接受应用程序的控制和指挥,必须提供驱动程序或系统调用接口。
与此类似:
智能网中的业务控制中心要能够控制和指挥交换机,但普通的交换机并不会听从指挥中心的指挥(相当于应用程序无法指挥没装驱动程序的外设)。
因此,要实现智能网,还需要在指挥中心所管辖的交换机上增加一套SSP软件,这套软件的作用就是让交换机能听懂和执行指挥中心的命令,并且能够向指挥中心汇报关心的信息。
为了让所有厂商提供的交换机能和任何厂家提供的SCP打交道,需要大家共同遵循一种规范,这个规范就是ITU-T颁布的INAP规范(即智能网应用规程,定义了SCP和SSP间交互的规则)。
为了更好地适合中国的国情,电总对INAP稍做修改后颁布了CINAP,即中国的智能网应用规程。
SSP——业务交换点,它使交换机能够理解和执行指挥中心的命令并向指挥中心汇报其所关心的信息。
SSP之所以能够和SCP进行交互是因为大家都遵从INAP规范。
3、操作系统——业务控制点SCP(ServiceControlPoint)
操作系统运行各种应用程序以为使用者提供某种服务。
SCP运行各种智能网业务以为广大电信用户提供某些有用的服务。
SCP——业务控制点,即前面所说的指挥中心,它的作用是:
解释电信运营商加载的各种业务——即按其中规定的处理逻辑(方式和步骤)指挥SSP处理各种智能呼叫。
注:
一般直接拨被叫号码只完成通话功能的呼叫是普通呼叫,而通过拨特殊号码从而享受特殊服务的呼叫可认为是智能呼叫。
如想使用200号业务,而先拨特殊号码200,就引发了一次智能呼叫。
但是并不是所有的特殊号码都引发智能呼叫,如17900(IP电话)。
5、应用程序——业务(Service)
为了让计算机能够完成某种功能,需要在操作系统上运行适当的应用程序。
为了让智能网能够处理某种智能呼叫,需要给SCP加载一套处理该类呼叫的流程,即业务。
否则,SCP本身并不知道如何处理各种智能呼叫。
智能网的业务需要经过专门的工具编制,正如同VBScript通过VB平台开发一样,最后形成某种格式的文件,即业务文件,该文件规定了对某一种智能呼叫的处理方式和流程。
所谓加载业务,就是SCP读取业务文件,将业务逻辑放到内存的过程。
业务中规定的对某种呼叫的处理流程叫业务逻辑。
6、软件开发和编译平台——业务生成环境SCE(ServiceCreateEnvirionment)
编写应用程序需要使用软件开发和编译平台,如VC,VB等。
这些编程环境一般会提供一些API或控件供开发人员使用,以屏蔽底层实现或硬件的细节。
编写业务需要专门的工具,即SCE——业务生成环境。
在SCE中,SCE的作用是提供直观易用的业务编辑界面,并能够将用户编辑的最终结果生成SCP能够理解的文件,即业务文件,该文件规定了SCP对某种智能呼叫的处理流程。
7、API/控件——业务独立构件SIB(ServiceIndependentBlock)
计算机系统的编程环境一般会提供一些API或控件(在Unix下面一般为库函数和系统调用)供开发人员使用,以屏蔽底层实现或硬件的细节。
在业务生成环境SCE中,也可以看到智能网系统提供给业务开发人员类似的库函数或系统调用,那就是业务独立构件(SIB),开发人员通过在业务中调用这些SIB来完成业务需要的功能。
上述7个对比是了解智能网原理的关键。
但为了更好地管理和维护整个智能网系统,还需要了解下面三个重要的功能实体。
8、应用程序的配置/管理界面——SMAP(ServiceManagementAccessPoint)
一个复杂的应用程序可能要提供专门的配置/管理界面给用户,以让用户设置该应用运行所需的必要信息并能够对该应用进行管理。
同样的道理,用SCE把业务做好了,如果让SCP加载了该业务(通过SMAP加载业务),是不是就可以运营该业务了呢?
一般的回答是恐怕还不行。
智能网业务应该说是一种非常复杂的应用,自然在运行之前要获得很多相关的信息,包括:
数据库中的必须信息(如卡号业务中的表示卡号信息的表),该业务不同的管理员的不同权限,另外还需要其它的信息(一般为全局信息),如费率矩阵表,费率折扣表等。
配置这些必要的信息当然可以通过手工操作来完成,但这需要数据库专业知识且不直观,而且在某种情形下效率也不高,因此需要提供一种管理数据库和SCP业务加载情况的工具,即SMAP——业务管理接入点,让运营商能够方便地完成对业务运营的日常管理和维护。
SMAP的主要作用是:
发出各种维护命令(加载、卸载、激活、去激活某个业务,激活业务过滤,话务量控制,进行网络配置,统计等)给智能网系统,查询和修改数据库中的数据。
9、中间件——SMP(ServiceManagermentPoint)
计算机系统中时下流行三层结构,也就是应该在配置/管理界面和数据源之间有一层中间件。
SMP具有某些中间件的特征,但不是完善意义上的中间件。
SMP是SMAP与智能网系统(数SCP、数据库)之间的中介。
上述所说的许多操作其实都是SMAP将操作命令先发给SMP,SMP再将命令转发给SCP来完成的。
注:
在华为公司的智能网实现中,也是SCE同SCP间的中介,SCE生成的业务也需要通过SMP传递给SCP。
SMP——业务管理点,其主要作用是一个简单的中间件:
充当SMAP与智能网系统之间的中介;
注:
在华为公司智能网的实现中,SMP还从SSP取话单并完成结算,将计费信息提交帐务中心进行帐务分摊等。
SMAP和SMP合在一起被称为SMS(ServiceManagermentSystem)。
10、系统性能监视工具——网管
监视网上各设备的运行、连接和通信状况并提供告警、统计等维护功能。
注:
我司目前提供给客户的网管工具主要OMC和NetKey,NetAccess等。
1.3智能网体系结构
根据上节介绍,智能网的几个主要组成部分(或叫功能实体)是:
·SSP:
完成基本的交换功能,接收并完成SCP的指示/请求,向SCP上报必要的信息。
·SCP:
解释执行智能业务——按照各种业务逻辑指挥相关的SSP完成各种操作。
·SMAP:
发出各种维护命令,查询和修改数据库中的数据。
·SMP:
充当SMAP与智能网系统间的中介(在我司的智能网实现中还完成取话单和结算等功能)。
·SCE:
编制智能业务的工具,最后能将业务保存成SCP能够理解的格式。
其中SCP处于智能网的核心位置,它控制多个不同厂商的SSP(在下图中为C&C08SSP),完成对智能呼叫的处理。
另外它还接受SMS的管理。
SMP接收来自SMAP,并对SCP进行管理,即起到中介的作用,当然SMP还会完成其它功能。
SCP与SSP之间的消息为INAP消息。
其它实体之间的消息为自定义消息,如SMP和SCP之间的管理消息就是SCP和SMP项目组共同约定的。
业务文件格式也是SCE,SMP,SCP三个项目组共同约定的。
以我司智能网TELLIN为例,智能网的体系结构如下图所示,各部分的功能用图中右边的文字给予说明:
1.1如何搭建智能网
一种简单的智能网组网方式为:
SCP、SMP、SMAP、SCE位于同一局域网上,SCP通过No.7Server与SSP相连,SSP位于公共电话交换网(PSTN)上。
说明:
No.7Server是TCP/IP包与No.7信令包相互转换器,我司采用SAU,即信令接入单元,另外还有插卡方式,即在计算机中插入专门完成此功能的卡来实现TCP/IP与No.7信令的互相转换。
这种简单的组网方式如下图所示:
1.2华为公司智能网产品简介
有线智能网TELLIN,是我公司最早开发的的智能网产品。
TELLIN的组成部分为TELLIN-SCP、TELLIN-SMS和TELLIN-SCE。
我公司与TELLIN配套的SSP是C&C08SSP。
TELLIN也在公司内部简称智能网或标准智能网。
SMCP是我公司有线智能网推出的另一个产品,SMCP将TELLIN中的SCP和SMP合二为一,降低了组建和运营智能网的成本,适合于在本地局或中小规模的局上运营。
为了与TELLIN相区别,SMCP在公司内部也叫本地智能网。
我司目前的智能网的最高版本还处于CS-1阶段,还有许多CS-2阶段的特性需要进一步开发。
无线智能网WIN,是我公司继TELLIN之后推出的又一个智能网产品,主要用于在GSM移动通讯中提供智能业务。
我公司与无线智能网配套的SSP是GTSSP。
WIN-CDMA,是我公司2001年刚推出推出的智能网产品,主要用于在CDMA移动通讯中提供智能业务。
2智能网的核心概念:
业务
2.1业务的实质
智能网围绕业务而产生和发展。
智能网的基本思想是:
将流程制作成脚本,即业务,然后再由SCP(控制着交换机)对脚本进行解释,即对智能呼叫的流程进行控制,于是便可以向用户提供业务。
业务的实质就是一段流程(也包括流程用到的数据),在这点上业务和计算机系统中的应用程序没有本质区别。
如同普通的应用程序,一个业务也有如下特征:
1、业务逻辑要有一个入口
应用程序必须有一个约定的入口(如C中的main())。
业务也要有一个入口,该入口一般为BCP(基本呼叫处理)事件addressAnalyzed,由此事件激发SCP对相应业务逻辑的调用。
2、在业务中要说明需要由业务逻辑来处理的事件
如果我们编写一个Windows语言程序,我们会向操作系统登记自己所关心的一些事件。
只有登记了相关事件,操作系统才能在该事件发生后通知应用程序处理该事件。
业务运行之初也需要向交换机说明自己所关心的事件,当该事件发生后,交换机才会上报该事件给SCP(控制中心),否则,业务逻辑中无法处理该类事件。
注:
在TELLIN中,该功能是通过ArmEDP——即配置事件检测点SIB来完成的,该SIB一般位于业务的开始阶段。
3、业务要定义与业务相关的数据信息
应用程序为了运行,一般都要定义一些变量和数据结构,这些信息将被流程使用以完成预期的任务。
业务也需要定义一些表格和数据(分为CID和SSD数据)。
所谓CID——呼叫实例数据,相当于函数中的传址参数,它的值在该SIB内外都有效,一个CID数据(如表示被叫号码的CID变量和表示用户卡上余额的CID变量),可能随呼叫的不同而不同,并且在一个呼叫内也可能随呼叫流程而变化。
所谓SSD——业务支撑数据,相当于函数中的传值参数,它的值只在该SIB的执行过程中有效并保持不变(如输入口令时的尝试次数、拨号时号码间最大时间间隔等,一般都用SSD表示)。
业务中需要的其它大量信息一般在数据库中存放,即业务要定义一部分自己专用的表。
当然,业务除了使用自己定义的表以外,还可以使用全局表(如费率表,为所有业务公用)。
4、业务要规定对某些事件的处理流程
应用程序中的处理流程是应用程序的主体,程序的主体由各种顺序排列的语句和函数调用(函数调用其实也是语句)构成。
但程序的执行却是非顺序的(如遇到条件转移会改变执行语句的顺序)。
业务最主要的部分是业务流程。
原则上讲,业务流程可用任何方式进行描述。
但一般的做法是,业务流程由一系列相互间有顺序关系的小功能块构成。
这主要是为了便于运营商编制业务,业务是通过这种很好使用的功能块来构建的(正如函数是由语句构建的一样)。
这种功能块是智能网编程平台提供给用户的编程接口(相当C提供给用户的库函数或系统调用),它就是大名鼎鼎的SIB——独立于业务的构件(正如C提供的库函数和系统调用与你编制何种应用程序无关)。
5、业务要有结束点
业务应该在什么情况下结束是由业务的作者决定的。
一般有两种可能,正常流程执行完毕或遇到应该结束流程的事件(如被叫挂机)等。
在SCE界面上,BCPSIB提供了endProcess入口用来表示业务结束。
一个业务的形式描述是:
classService{
TableDefinetableDefine;//定义业务专用表的数据结构
CIDDefinecidDefine;//定义业务中使用的所有CID的数据结构
intsibNumber;//业务中的SIB个数
SIBsibList[sibNumber];//业务中的SIB链,表示业务逻辑
//注意,在此形式描述中,业务的入口和出口隐含在某种约定中,一种可能的情况是:
//固定用sibList[0]表示业务的入口,某个特殊的SIB表示业务的结束
}
业务一般以文件的方式存在。
在SCE中,业务以文件的方式保存和供再次编辑。
业务最初以文件的方式提供给SCP,SCP加载该业务后,会将业务文件中的信息读到内存中,即业务在SCP中的存在方式是内存中的结构(一般为链表,节点为SIB)。
在SCE中,业务制作者认为合适时,可以将该业务保存或进行生成。
2.2主要的智能网业务
·记帐卡呼叫(ACC,300号)业务
用户可以在任一个话机上进行呼叫,费用记在规定的帐号上。
·本地记帐卡呼叫(200号)业务
功能与300号类似,但只能在当地使用。
·校园卡(201号)业务
基本与200号相同,但是可以打市话,可以提供较小面值的卡出售。
·被叫付费(FPH,800号)业务
使用800号业务,呼叫的费用由被叫承担。
·大众呼叫(MAS)业务
提供一种类似热线电话的服务。
最主要的特征是瞬间高话务量。
呼叫者通过拨打公布的号码使用该业务并通过按键发表自己的意见。
该业务终止时,电信运营商可向租用此业务的媒介商(如电台、电视台等)提供各种统计数字。
·电话投票(VOT)业务
提供一种征询意见或民意测验的服务。
·通用个人通信(燯PT)业务
提供一种移动性的服务,业务用户*使用一个唯一的个人通信号码(PTN),可以接入任何一个网络并能跨越多个网络接收和发起任意类型的呼叫。
通用个人通信业务能按业务用户的要求,将UPT号码翻译成相应的通信号码并进行路由选择,将来话接到业务用户所指定的地方,目前,可以按临时转移号码或时间表两中方式选择路由;业务用户也可以使用PTN发起呼叫,呼叫不受地理位置的影响,但可能会受到终端能力和网络能力的限制。
·广域网集中用户交换机(WAC)业务
广域集中用户交换机业务(WAC)是把分布在不同交换局的“集中用户交换机”(CENTREX)组成一个虚拟的专用网络。
·虚拟专用网业务(VPN)
虚拟专用网业务是利用公用电话网的资源向某些机关、企业提供一个逻辑上的专用网。
以供这些机关、企业等集团在该专用网内开放业务。
1.1智能网业务的核心能力
虽然到现在,我们看到了好多智能网业务,好象各不相同,但是仔细分析,发现形形色色的智能网业务的目的一般还是通话,只不过是提供特殊的计费或路由方式而已。
而智能网业务的核心不外乎是对以下三个功能进行了灵活组装:
1、最主要的能力就是提供一种特殊的计费能力,即将计费方式和业务流程关联了起来,这是一般的计费系统很难做到的。
2、其次提供必须的认证功能(即用户名和密码校验)。
3、再次提供路由功能,这种机制是简单而直接的,路由功能的强弱完全依赖于业务的复杂度。
至于与用户的交互、事件上报等完全是围绕上面3大核心功能而转圈圈的。
1.2智能网业务的特征
智能网业务包括两个方面的特征:
1、对于不同的业务,用户能够明显地感受到业务流程的不同,这点与业务逻辑(即SIB链)有关;
2、对于不同的业务,管理员能够感受到与业务相关的数据的管理方面的不同,这点主要与SMAP有关。
智能网业务与其它智能新业务(如呼叫中心,112,114,168,1860等)的区别是:
1、智能网业务的目的一般还是通话,只不过是因为某种特殊原因需要提供特殊的计费或路由方式而已,且绝大部分业务的使用要占用长途中继,因而需要有计费功能,而增值新业务主要目的不是通话,是在本地提供信息类咨询或投诉申告受理等服务,因而一般不需要计费。
2、智能网业务流程全部自动化,不需要人工介入,而112、114等新业务却需要人工干预;
1.3如何使用智能网业务
普通的用户要使用智能网业务,一般有如下几步:
1、到电信运营商的营业厅就某个所需的业务进行申请/开户。
在小贩或商店购买200或300卡可以看作是一种特殊的申请/开户过程。
而用一个企业要开通800业务或VPN业务则必须到营业厅去申请/开户。
2、用户摘机后,不是直接输入被叫的电话号码,而是先输入一个特殊的号码(即接入码,如“200”或“800”)。
3、按照提示音进行操作,如提示输入卡号并以#结束,则输入卡号和#;提示在几个功能中进行选择,则按代表相应功能的数字键。
4、享受该业务提供的服务,如用200卡打长途和家人通话,用800打某个公司的免费服务电话。
5、服务结束或用户想结束服务,挂机。
注:
一般情况下,用户挂机后,智能网系统还需要对有关方进行计费,用户可以通过查询余额或收到话费通知单等感受到智能网有特殊的计费功能。
2智能网开发平台的用户接口——SIB(ServiceIndependentBlock)
一个SIB正如一个函数或系统调用一样,完成一个相对简单和单纯的功能。
这里,我们可以将SIB分成三类:
1、有一部分SIB需要处理(接收并处理或发送)INAP消息,这类SIB相当于计算机系统中的系统调用,直接和硬件/外设打交道,如:
·连接SIB(将呼叫连接到指定的目的地)
·申请计费SIB(要求交换机报告有关计费的信息)
·用户作用SIB(给用户放提示音和收集用户输入信息)
·配置EDP事件SIB(告诉交换机本业务关心/要处理哪些事件)
·限制SIB(在系统繁忙时根据某种规则过滤呼叫)
等等。
2、提供对临界状态或共享资源的协调控制或访问,这类SIB与INAP消息无关,比较特殊,可以将这类SIB看作计算机系统中一种低层次的库函数,如:
·分配SIB(根据用户指定的规则将呼叫分配到不同的时间或地方等)
·排队SIB(对呼叫进行排队以便系统以后进行处理)
·临界SIB(保证一段业务流程中的一段处理不被收到的其它消息打断,即事务性)
等等。
3、还有一类SIB与INAP消息无关,纯粹是一种一般意义上的编程元素,这种SIB相当于计算机系统中的库函数。
这种SIB可以说在本质上与智能网无关,但在任何编程环境中却都需要,如:
·分支SIB(相当于C语言中的switch语句)
·比较SIB(提供关系运算能力,如大于、等于、小于)
·算法SIB(提供常用的简单运算能力,包括对字符串的简单处理)
·业务数据管理SIB(提供常见、简单的数据库表访问能力)
等等。
点评:
如果采用C/C++或Java或某类Script写智能网业务的话,这类相当于库函数的SIB绝大部分显然是不需要的。
无论是库函数还是系统调用,也许在用户看来是一样的,其对外表现都是是函数原型(即有关函数参数和返回值的形式描述)。
SIB也一样,的牰酝獗硐中问绞瞧渲邪腃ID数据和SSD数据(相当于提供给业务编制者的参数),以及对该燬IB功能的说明。
一个SIB的形式描述是:
classSIBName{
intcidFp1;//CID参数1的地址,实为内存中CID数组的下标
intcidFp2;//CID参数2的地址,同样也是CID数组的下标
...
SSDType1ssd1;//SSD参数1
SSDType2ssd2;//SSD参数2
intexports[];//对出口数组中各出口的含义,
//要有约定,一般体现在该SIB的设计文档中。
BOOLfeaName();//完成SIB功能的方法feaName也可以放到别的类中,
//如呼叫自动机类中。
}
假如智能网开发平台要向业务编制人员提供一个给电话用户放提示音的燬IB,系统为了完成此放音功能,可能需要向业务编制人员了解所放语音的语种、编号,重复次数、执行完该SIB后下一个SIB的位置信息(即出口)等。
一般我们可以将出口设计成SSD数据。
在这里,将重复次数也设计成燬SD犑荩镏趾陀镆舯嗪偶瓤梢陨杓瞥蔂SSD犑菀部梢陨杓瞥蒀ID数据(不同的设计导致对该燬IB有不同的使用方式)。
于是,业务编制者在开发业务时,可以根据需要设定放音SIB的这几个参数(在SCE中一般会提供该燬IB的数据设定对话框),并指定完成该SIB后调度应该转向的下一个SIB。
一般地,出于对业务流程控制的目的,设计SIB时,都要为该SIB设计所需的几个出口,譬如可做如下约定:
·出口0:
错误出口
执行该SIB发生错误时,接下来应该走的SIB在SIB链中的位置。
·出口1:
情况1的出口
在执行过程中当情况1发生时,接下来应该走的SIB在SIB链中的位置。
·出口2:
情况2的出口
在执行过程中当情况2发生时,接下来应该走的SIB在SIB链中的位置。
...
注意上述出口的描述和定义是由SIB的设计者——即智能网的设计者提供的,而不是由业务制作者提供的。
业务制作者只是按照该设计,在编辑该SIB时指明各种情况下的出口就行了(一般通过从一个SIB的某个出口引出一条到另外一个SIB的连线来表示)。
上图所示的业务逻辑片段表明:
执行SIB1时,如果发生情况1,则转到SIB2开始执行;如果发生情况2,则转到SIB3执行;如果发生错误,则转到SIB4执行。
根据上边的介绍和分析,当业务流程走到刚才的放音S