发明内容
本发明的目的是提供一种实现网络互通的服务器,该服务器能够实现IP网络和PSTN网络业务上的互通。
为达到上述目的,本发明采用的技术方案是:一种实现网络互通的服务器,它包括BCSM(基本呼叫状态模型)状态机、定位服务器、呼叫控制模块、业务交换功能模块、INAP(智能网应用协议)消息转换模块、PINT(电信网与因特网互通)协议栈、PINT通信模块、TCAP(事务能力应用部分)通信模块、INAP协议栈、PINT终端接口和信令网关接口;其中,呼叫控制模块分别与BCSM状态机、定位服务器和PINT通信模块信号相连;PINT通信模块与PINT协议栈以及通过PINT终端接口与PINT终端分别信号相连;业务交换功能模块分别与BCSM状态机、INAP消息转换模块和TCAP通信模块信号相连;TCAP通信模块与INAP协议栈以及通过信令网关接口与信令网关信号相连;
通过上述连接,当一个呼叫从PINT终端发起时,PINT通信模块接收到一个PINT业务请求消息,经过对PINT包进行解析,将该消息交给呼叫控制模块处理,呼叫控制模块通过对用户身份和业务请求的分析,首先通过PINT通信模块向PINT终端发送应答消息,并将该业务添加进BCSM状态机,等待业务交换功能模块进行处理。业务交换功能模块通过对BCSM状态机的扫描,如果发现了智能业务,通过INAP消息转换模块,将业务转换为INAP消息,再将INAP消息转交给INAP通信模块,经过INAP协议栈,将INAP消息转换为TCAP消息,发送给信令网关,同时,会收到信令网关的应答;
当一个业务由PSTN终端发起时,信令网关会向TCAP通信模块发送TCAP消息,TCAP通信模块通过调用INAP协议栈,将收到的TCAP消息转换为INAP消息,交由业务交换功能模块处理,业务交换功能模块通过对消息的分析和处理,将业务请求写入BCSM状态机中,等待呼叫控制模块对其进行处理;呼叫控制模块通过对BCSM状态机的扫描,得到该业务,再通过PINT通信模块将业务请求转换为PINT请求消息,发送给指定的PINT终端。
由上述方案可以看出,由于本发明所述的实现网络互通的服务器包括包括BCSM状态机、呼叫控制模块、业务交换功能模块、INAP消息转换模块、PINT协议栈、PINT通信模块、TCAP通信模块、INAP协议栈、PINT终端接口和信令网关接口,因此可以同时与IP网和PSTN网进行连接,接收来自PINT终端和PSTN网络的业务请求,对PINT和INAP消息进行处理,并且具有PINT消息和INAP消息的转换能力,既可以单独处理IP网或PSTN网的业务,又能够实现两个网络之间业务的互通。
附图说明
图1是本发明实施例的模块结构示意图;
图2是本发明实施例的逻辑结构示意图;
图3是本发明实施例的PINT通信模块消息接收过程流程图;
图4是本发明实施例的PINT通信模块消息发送过程流程图;
图5是本发明实施例的呼叫控制模块消息处理过程流程图;
图6是本发明实施例的呼叫控制模块业务扫描过程流程图;
图7是本发明实施例的业务交换功能模块INAP消息处理流程图;
图8是本发明实施例的业务交换功能模块业务扫描流程图;
图9是本发明实施例的TCAP通信模块消息接收过程流程图;
图10是本发明实施例的TCAP通信模块消息发送过程流程图;
图11是本发明实施例的PINT协议栈的PINT协议层次结构图;
图12是本发明实施例的INAP协议栈的INAP协议层次结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
本发明的逻辑结构参考图2。在逻辑上,PINT服务器是由代理服务器(Proxy Server),定位(Location)服务器和业务控制网关(SCGF)三个功能模块组成的,这三个模块共同完成PINT服务器的功能。其中代理服务器(Proxy Server)是最重要的一部分,也是PINT服务器的主体部分,它负责接收来自PINT终端和PSTN网络的PINT业务请求,进行呼叫控制,维护并保持业务状态模型,并将来自PSTN的业务信息传送给PINT终端,或将PINT终端的业务请求转交PSTN网络去执行。在PINT系统中,Location服务器用来对PINT终端和用户进行身份验证和鉴权,当代理服务器需要对用户或终端进行身份验证或权限检查时,它会将任务交由Location服务器来完成;SCGF是业务控制网关,它的主要作用是实现PINT消息和INAP消息的转换,主要是对PINT消息所表达的业务进行理解和辨认,再用对应的INAP消息将该业务描述出来,即将一个PINT消息转换为对应的INAP消息。PINT协议栈和INAP协议栈模块是两个支撑模块,它们为以上的模块提供消息编解码和通信服务支撑。
依据上述逻辑结构对本发明进行构造,从而形成的本发明的模块结构,参考图1。图1所述的实现网络互通的服务器1包括BCSM状态机2、定位服务器3、呼叫控制模块4、业务交换功能模块5、INAP消息转换模块6、PINT协议栈7、PINT通信模块8、TCAP通信模块9、INAP协议栈10、PINT终端接口11和信令网关接口12;其中,呼叫控制模块4分别与BCSM状态机2、定位服务器3和PINT通信模块8信号相连;PINT通信模块8与PINT协议栈7以及通过PINT终端接口11与PINT终端13分别信号相连;业务交换功能模块5分别与BCSM状态机2、INAP消息转换模块6和TCAP通信模块9信号相连;TCAP通信模块9与INAP协议栈10以及通过信令网关接口12与信令网关14信号相连。
通过上述连接,当一个呼叫从PINT终端13发起时,PINT通信模块8接收到一个PINT业务请求消息,经过对PINT包进行解析,将该消息交给呼叫控制模块4处理,呼叫控制模块通过对用户身份和业务请求的分析,首先通过PINT通信模块8向PINT终端13发送应答消息,并将该业务添加进BCSM状态机2,等待业务交换功能模块5进行处理。业务交换功能模块5通过对BCSM状态机的扫描,如果发现了智能业务,通过INAP消息转换模块6,将业务转换为INAP消息,再将INAP消息转交给INAP通信模块9,经过INAP协议栈10,将INAP消息转换为TCAP消息,发送给信令网关12,同时,会收到信令网关12的应答;
当一个业务由PSTN终端发起时,信令网关14会向TCAP通信模块9发送TCAP消息,TCAP通信模块9通过调用INAP协议栈10,将收到的TCAP消息转换为INAP消息,交由业务交换功能模块5处理,业务交换功能模块5通过对消息的分析和处理,将业务请求写入BCSM状态机2中,等待呼叫控制模块4对其进行处理;呼叫控制模块4通过对BCSM状态机2的扫描,得到该业务,再通过PINT通信模块8将业务请求转换为PINT请求消息消息,发送给指定的PINT终端13。
上面所述的PINT通信模块8包括PINT消息接收过程和PINT消息发送过程,分别用于接收来自PINT终端的PINT消息和用于发送PINT服务器给PINT终端的消息,其中:
PINT消息接收过程包含以下内容:首先对PINT终端接口进行扫描,如果没有收到消息则循环扫描该终端接口;如果收到消息,调用PINT协议栈识别所收到的消息是否合法,如果不合法,丢弃该消息,并继续扫描PINT终端接口,否则获取该消息,交给呼叫控制模块处理,然后继续对PINT终端接口进行扫描。参考图3。
PINT消息发送过程包含以下内容:首先扫描BCSM状态机的缓冲区,查找是否有消息发送,如果没有,则继续扫描上述缓冲区;如果有消息发送,调用PINT协议栈对消息进行编码,然后发送该编码后的消息;消息发送后,如果收到PINT终端的应答,表示发送成功,接着继续扫描缓冲区;如果没有收到PINT终端的应答,则进行发送计数,如果发送未超过指定次数,继续发送该消息,否则放弃该消息的发送,继续扫描BCSM状态机的缓冲区,准备发送下条消息。参考图4。
上面所述呼叫控制模块4括消息处理过程和业务扫描过程,分别用于处理接收来自PINT终端的PINT消息和用于扫描BCSM状态机,处理来自PSTN端的业务请求。其中:
消息处理过程包含以下内容:接收来自PINT终端的消息,判断该终端和用户是否合法,如果不合法,丢弃接收到的消息,继续接收来自PINT终端的消息;否则调用PINT通信模块,向PINT终端及用户发送应答;然后根据接收到的消息的业务种类进行相应的处理。例如:如果接收到业务请求消息,则将该消息所描述的业务添加到BCSM中,如果接收到业务查询消息,则在BCSM中查找该业务,并改变该业务的状态和参数信息,如果是业务终止消息,则从BCSM中删除该业务信息。参考图5。
业务扫描过程包含以下内容:首先扫描BCSM状态机的缓冲区,查找是否有来自PSTN的请求,如果没有,则继续扫描上述缓冲区;如果有,根据请求的内容进行相应处理,即,如果是业务请求,生成PINT业务请求消息,如果是业务应答,则生成PINT应答消息;然后调用PINT通信模块发送消息给PINT终端,如果收到PINT终端返回的应答,则改变业务状态,然后继续扫描BCSM状态机的缓冲区;如果没有收到PINT终端返回的应答,且没有超过指定的次数,则继续发送消息给PINT终端,如果超出指定的次数则放弃消息的发送,继续扫描BCSM状态机的缓冲区。参考图6。
上面所述业务交换功能模块5包括INAP消息处理过程和业务扫描过程,分别用于处理接收来自PSTN端的INAP消息和用于扫描BCSM状态机,处理来自PINT端的业务请求。其中:
INAP消息处理过程包含以下内容:接收来自PSTN端的INAP消息,调用TCAP通信模块,向PSTN端及用户发送应答;然后根据接收到的消息的业务种类进行相应的处理。如果接收到业务请求消息,则将该消息所描述的业务添加到BCSM中,如果接收到业务应答消息,则在BCSM中查找该业务,并改变该业务的状态和参数信息,如果是业务终止消息,则从BCSM中删除该业务信息。参考图7。
业务扫描过程包含以下内容:首先扫描BCSM状态机的缓冲区,查找是否有来自PINT终端的请求,如果没有,则继续扫描上述缓冲区;如果有,根据请求的内容进行相应处理,即,如果是业务请求,生成INAP业务请求消息,如果是业务应答,则生成INAP应答消息,如果是业务查询,生成INAP业务查询请求消息;然后调用TCAP通信模块发送消息给PINT终端,如果收到PINT终端返回的应答,则改变业务状态,然后继续扫描BCSM状态机的缓冲区;如果没有收到PINT终端返回的应答,且没有超过指定的次数,则继续发送消息给PINT终端,如果超出指定的次数则放弃消息的发送,继续扫描BCSM状态机的缓冲区。参考图8。
上面所述TCAP通信模块9包括TCAP消息接收过程和TCAP消息发送过程,分别用于接收来自PSTN终端的TCAP消息和用于发送PINT服务器给PSTN端的INAP消息。其中:
TCAP消息接收过程包含以下内容:首先对信令网关接口进行扫描,如果没有收到消息则循环扫描该接口;如果收到消息,调用INAP协议栈对所收到的消息进行解码,然后判断解码后的消息是否合法,如果不合法,丢弃该消息,并继续扫描PINT终端接口,否则获取该消息,交给业务功能交换模块处理,然后继续对信令网关接口进行扫描。参考图9。
TCAP消息发送过程包含以下内容:首先扫描BCSM状态机的缓冲区,查找是否有消息发送,如果没有,则继续扫描上述缓冲区;如果有消息发送,调用INAP协议栈对消息进行编码,然后发送该编码后的消息;消息发送后,如果收到PSTN端的应答,表示发送成功,接着继续扫描缓冲区;如果没有收到PSTN端的应答,则进行发送计数,如果发送未超过指定次数,继续发送该消息,否则放弃该消息的发送,继续扫描BCSM状态机的缓冲区,准备发送下条消息。参考图10。
在本发明的具体实现中,BCSM状态机是一个大的缓冲区,用来存储正在进行的业务状态信息,当一个业务发起时,就创建一条记录来记录业务的一些参数和状态信息,当业务状态发生变化时,就修改业务的参数和状态信息,当业务终止时,就删除该条记录。记录数据的变化完全由呼叫控制模块和业务交换功能模块来控制。
本发明的协议栈在具体实施中是满足下述情景下的事务需求而产生的:IP主机向IP网中的服务器发起一个请求,服务器将请求转发给电话网,由电话网来执行被请求的呼叫业务。为了传达出电话网会话中所需的足够信息,例如电话呼叫或发送传真,PINT协议将SIP协议和SDP协议结合在一起工作。SIP用来建立呼叫的参与者之间的联系,而SDP用来描述会话中交换的媒体(media)信息。PINT协议将这两种协议组合在一起,并且进行了扩展和增强。当一个PINT用户要激发电话网中的业务时,使用SIP来邀请(INVITE)远端的PINTServer加入会话,其中包含用户所要求的媒体信息的SDP描述。在PINT业务的执行过程中,媒体是通过电话网传输的,而不象SIP业务那样是通过IP网来传输。
本发明的PINT协议的层次结构参考图11。
INAP协议栈的实现参考图12。INAP协议是智能网各功能实体之间传递消息所用的一种高层通信协议,它定义了各个功能实体之间的应用层接口协议,操作以及各功能实体接收INAP消息后必须遵守的操作过程。原有的国际电联制定的INAP规范是在七号信令网的基础上定义的,而现在实现的INAP协议栈是在IP网的基础上实现的。也就是说,传输控制层由SCCP替换为UDP。基于IP的INAP协议是PINT代理服务器和信令网关之间的通信协议。