具体实施方式
本发明的具体实施参考图1。图1所述的网络互通业务仿真器包括SMS仿真模块1、SCP仿真模块2、SSP仿真模块3,上述SSP仿真模块3包括SSF子模块31、INSM子模块32和CCF子模块33,并且所述INSM子模块32与SSF子模块31及CCF子模块33分别相互信号连接。此外,本发明还包括互通PINT仿真模块4、互通GK仿真模块5和互通网络仿真模块6。
上述SMS仿真模块1,不仅要对IN网的业务管理,实际中还要增加基于IP网的IN业务的新的管理功能,主要包括业务加载、数据库管理、日志记录等;
上述SSP仿真模块3,不仅要满足《中国智能网设备业务交换点(SSP)技术规范》的要求,实际中为了绘制仿真业务消息流图还要增加与互通网络仿真模块6的消息传递功能。
上述互通PINT仿真模块4主要是接受PINT终端的SIP(会话起始协议)会话请求,进行消息的定位、转发和将IN侧消息的处理结果/响应回送给PINT终端。它包括PINT SCF子模块41、PINT INSM子模块42和PINT Client子模块43,所述PINT INSM子模块42与PINT SCF子模块41及所述PINT Client子模块43分别相互信号连接。
所述GK仿真模块5作为IP-SSP实现IP网上呼叫控制与IN业务控制的映射,以完成由IP网H323用户触发的IN业务,主要包括GK SSF子模块51、GK INSM子模块52和GK CCF子模块53,所述GK INSM子模块52与GK SSF子模块51及GK CCF子模块53分别相互信号连接;
所述网络仿真模块6不仅完成模拟网络编辑还要进行消息转发和接收,一方面将业务触发信息转发到IN侧或IP侧的接收模块,另一方面接收IN或IP侧的消息,它主要包括仿真网络编辑子模块61和业务流跟踪子模块62,其中的仿真网络编辑子模块61提供了构成仿真网络所需的各种组件,如仿真电话、PINT终端、H323终端等。
在上述模块中,SCP仿真模块2分别与SMS仿真模块1、SSF子模块31、PINT SCF子模块41及GK SSF子模块51分别相互信号连接;仿真网络编辑子模块61和业务流跟踪子模块62分别与CCF子模块33、PINT Client子模块43和GK CCF子模块53分别相互信号连接;CCF子模块33与PINT Client子模块43相互信号连接。
下面通过与仿真业务运行消息流跟踪相关模块的技术方案的说明,对本发明作进一步描述。
对于SSP仿真模块3,SSF子模块31是一个完全独立的模块,为了跟踪消息流,在本发明具体实施时,可以在SSF标准状态机的基础上进行修改,即不论是收到INAP(智能网应用协议)操作还是发送INAP操作SSF子模块31都要通过外部通道将信息经过INSM子模块32输出到CCF子模块33;同样CCF子模块33在标准的状态机基础上也要进行修改,不仅要将本身对INAP操作的处理输出到网络仿真窗口,而且要把INSM传来的SSF子模块31处理的INAP操作输出到网络仿真窗口,其中对不同消息和不同实例的对应关系由INSM子模块32来维护。
CCF子模块33整个的执行过程就是收发消息和处理消息。它将来往的消息分成两类,一类是呼叫和呼叫控制消息,一类是其它类型的消息。对于呼叫和呼叫控制消息,CCF子模块33通过一个状态链表来调度各个BCSM(基本呼叫状态模型)实例,取得消息对应的BCSM实例后,调用消息处理过程更新BCSM状态,完成相应的呼叫控制功能。对于其它类型的消息,CCF子模块33所做的工作仅仅是向消息目的地转发该消息而已。
在实现时根据呼叫的需要,可由INSM生成多个SSF实例。CCF子模块33产生一个呼叫后,呼叫信息被送到INSM子模块32,INSM子模块32判断该呼叫实例是否已经存在,如果不存在,它产一个新的SSF实例,该SSF实例发送“启动DP(配置点)”操作给SCP模块2,SCP模块2产生相应的业务实例,业务实例与CCF/SSF之间就建立了控制关系。CCF子模块33产生的呼叫信息送到INSM子模块32以后,经判断,该实例已经产生,那么就把信息转发到SSF子模块31,SSF子模块31经过处理以后,根据需要,以INAP操作的形式把消息发送到业务实例。业务实例发送给SSF子模块31的INAP操作,经过SSF子模块31的处理,根据需要,以CCF子模块33能识别的格式经INSM子模块32发送到CCF子模块33。
INSM子模块32主要是接收来自CCF子模块33中BCSM实例的消息,排队处理,重新打包,转发给SSF子模块31中相应的SSF实例;接收来自SSF子模块31中SSF实例的消息,排队处理,重新打包,转发给CCF子模块33中相应的BCSM实例;记录并管理SSF实例号和BCSM实例号的对应关系。
对于互通PINT仿真模块4,PINT SCF子模块41负责接收来自SCP模块2的INAP操作,并以自定义的数据结构通过PINT INSM子模块42发送给PINT Client子模块43,PINT Client子模块43再以PINT协议的形式发送给Client;来自Client的消息以PINT的形式发送给PINT Client子模块43,PINT Client子模块43再以内部形式通过PINT INSM子模块42发送给PINT SCF子模块41,PINT SCF子模块41再根据需要向SCP模块2发送INAP操作。SCP模块2在收到PINT业务触发消息后,将从SMS模块1已加载的业务队列中创建相应业务实例,然后业务实例依照业务流程与SSP模块3、SMS模块1分别进行消息交互和数据交互,而且PINT SCF子模块41和PINT Client子模块43的状态将会随之发生转移。此外向SCP模块2发送的INAP操作和从SCP模块2接收的INAP操作将由PINT SCF子模块41通过外部通道转发到网络仿真窗口进行实例跟踪流图绘制。
对于GK仿真模块5,为了实现基于IP网上的智能业务,需要对普通IP电话系统中的网守(GateKeeper)进行功能扩充。GK在完成本身的呼叫控制功能的同时,添加了业务交换功能,完成在IP网上触发的IN业务的仿真。因此GK主要由GK CCF,GK SSF,GK INSM三部分组成。GK CCF和GK SSF之间的接口采用自定义消息格式;GK SSF与SCP之间采用标准INAP消息编/解码实现交互。GK INSM主要是接收来自GK CCF中BCSM实例的消息,排队处理,重新打包,转发给相应的GK SSF实例;接收来自GK SSF实例的消息,排队处理,重新打包,转发给GK CCF中相应的BCSM实例;记录并管理GK SSF实例号和BCSM实例号的对应关系。
当用户拨入IN业务号时,GK CCF接收模块把消息转换为触发CCFBCSM状态机的事件,并生成GK CCF实例,GK CCF主控处理模块对GK CCF实例的BCSM事件进行处理,并指导BCSM状态机的跳转,不同的跳转将产生不同的GK SSF事件,通过GK INSM向GK SSF转发,GK SSF收到GK SSF事件并进行处理,导致GK_SSF状态机的跳转,同时产生向SCP模块2发送的事件,如果是新的呼叫就创建新的GK SSF实例,如果是已有的呼叫就对相应的GK SSF实例进行状态转移;GK SSF接收由SCP模块2发来的INAP消息,通过事件处理,使GK SSF状态机发生跳转,产生的BCSM事件由GK INSM转入到GK CCF实例中进行处理。如此就可完成一次完整的GK模块5与SCP模块2的消息交互。同样在交互过程中的各种消息要输出到消息跟踪窗口进行消息流图绘制。
对于网络仿真模块6,在网络编辑中,通过网络模型单元来构造模拟运行网络拓朴图,对网络单元的编辑、配置构成一个仿真网络。在网络仿真中处理两类消息:一类是用户消息,一类是转发消息。对用户消息主要有两种:网络编辑和业务触发,前者用来构造仿真网络,后者则是通过点击软终端,如仿真电话、PINT终端、H323终端触发业务运行,不同的终端触发业务发送的不同消息通过仿真网络的端口会选择不同的服务程序如CCF子模块33,PINT Client子模块43,GK CCF子模块53上传到SCP模块2。对于转发的消息正是网络仿真模块6一直在监听的从SCP模块2经过SSP、GK、PINT返回的消息,收到后仿真网络模块6将进行实例消息的区分,把不同实例的消息绘制在不同的窗口中,同时在模拟网络中的各实例触发终端及被连接的终端状态都将发生变化。
下面以CTD(点击拨号)业务为例,说明一下互通业务的仿真过程。
1、在仿真网络编辑中构造仿真网络,必需有两部仿真电话、一个PINT终端作为CTD终端。CTD的主叫号码和被叫号码分别设置为两部仿真电话的号码。
2、模拟的CTD终端向PINT Client发送业务请求(Invite)消息,PINT Client建立一个新的实例。PINT Client向PINT INSM转发带有PINT Client实例号的invite消息。同时仿真网络模块6为CTD呼叫实例创建一个跟踪窗口并绘制Invite消息。
3、PINT INSM收到Invite消息就生成一个新的PINT SCF实例,并把PINT SCF实例号与PINT Client的实例号对应起来加入到实例管理表中,之后PINT INSM将invite消息转发到新生成的PINT SCF实例中。
4、PINT SCF实例把Invite消息打包成业务请求(ServiceRequest)操作发送出去,然后转入等待建立连接状态。跟踪窗口绘制ServiceRequest操作。
5、ServiceRequest操作被SCP的管理进程收到,通过查找激活业务列表管理进程创建一个CTD业务实例,并把ServiceRequest操作转发到CTD业务实例中。
6、CTD业务实例收到ServiceRequest操作后,首先向PINT SCF发送业务请求报告(ServiceRequestReport)操作(原语类型为TC_BEGIN),然后向SSF发送启动试呼(InitateCallAttempt) 操作(原语类型为TC_BEGIN)。
7、PINT SCF收到业务实例发送的业务请求报告(ServiceRequestReport)操作后,以响应(Response)的消息类型向INSM发送消息。跟踪窗口绘制ServiceRequestReport操作。
8、PINT INSM收到来自PINT SCF的Response消息以后,根据PINTSCF的实例号查找PINT Client的实例号,然后通过CCF将带有PINTClient的实例号的Response消息发送给PINT Client。
9、PINT Client收到Response消息以后,根据PINT client的实例号查找到相应的业务实例,依照Response的类型做相应的处理,并把该消息转发到对应的CTD终端上。跟踪窗口绘制Response消息。
10、再说CTD业务实例向SSF发送一个启动试呼(InitateCallAttempt)操作后,操作被业务管理进程收到生成一个SSF的实例,并把InitateCallAttempt操作转发到新生成的SSF实例中。跟踪窗口绘制InitateCallAttempt操作。
11、SSF实例处理InitateCallAttempt操作,并向INSM转发“InitateCallAttempt”消息。
12、INSM收到“InitateCallAttempt”消息以后,向CCF转发该消息。因为此时并没有与当前SSF实例对应的CCF实例,INSM等待接受一个从CCF返回的BCSM实例应答消息。
13、CCF收到“InitateCallAttempt”以后创建BCSM实例,并把实例号放在BCSM实例应答消息中向INSM报告。然后等待业务逻辑的进一步指示。
14 INSM收到CCF发来的BCSM实例应答消息以后,把对应的BCSM实例号和业务实例号加入到实例对应表中。至此各个部分之间的联系完全建立起开了,业务逻辑可以指示PINT SCP和SSP进入状态转移。
15、进入到正常的状态转移之后,就是CTD业务中有关电话状态如摘机、语音提示、挂机等消息的绘制了。