VOIP网络电话中各应用模块间统一信令通信的方法转让专利

申请号 : CN201310340967.X

文献号 : CN103402037B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 肖振坚

申请人 : 厦门亿联网络技术股份有限公司

摘要 :

本发明提供一种VOIP网络电话中各应用模块间统一信令通信的方法,在VOIP网络电话中各应用模块进行初始化时,各应用模块创建对应的附属子模块;在VOIP网络电话中创建一信令模块,该信令模块提供统一的信令类型,并提供API接口;所述各附属子模块设置于信令模块内,且各应用模块根据所述信令类型设置相应的功能函数;信令交互在信令模块内实现,本发明实现多模块通信由复杂到简单化、代码框架的低耦合高内聚的特点;解决多模块间复杂逻辑通信的现象,完成多模块的统一通信。

权利要求 :

1.一种VOIP网络电话中各应用模块间统一信令通信的方法,其特征在于:在VOIP网络电话中各应用模块进行初始化时,各应用模块创建对应的附属子模块,且各附属子模块创建对应的消息队列;在VOIP网络电话中创建一信令模块,该信令模块提供统一的信令类型,并提供API接口;所述各附属子模块设置于信令模块内,且各应用模块根据所述信令类型设置相应的功能函数;在任意一应用模块对VOIP网络电话中其他一应用模块发起请求时,发起请求的应用模块调用信令模块提供的API接口传入一信令类型,并携带被请求的应用模块的消息ID,发起请求的应用模块对应的附属子模块接收到消息ID后,通过消息队列发送给被请求的应用模块的附属子模块,被请求的应用模块的附属子模块调用该被请求的应用模块设置的回调函数,通过回调函数执行信令类型对应的功能函数进行处理请求消息;处理后调用传输函数send()将处理后的结果通过被请求的应用模块的附属子模块和请求的应用模块的附属子模块回传给请求的应用模块,从而完成应用模块之间的通信;所述调用传输函数send()将处理后的结果通过被请求的应用模块的附属子模块和请求的应用模块的附属子模块回传给请求的应用模块具体为:调用传输函数send()将处理后的结果传给被请求的应用模块的附属子模块,被请求的应用模块的附属子模块通过对应的消息队列将结果发送给请求的应用模块的附属子模块;请求的应用模块的附属子模块调用回传的功能函数将结果传给请求的应用模块。

2.根据权利要求1所述的VOIP网络电话中各应用模块间统一信令通信的方法,其特征在于:所述信令类型包括:建立请求Setup Request、调用请求Alerting Request或设置响应Setup Response的类型。

3.根据权利要求1所述的VOIP网络电话中各应用模块间统一信令通信的方法,其特征在于:所述各应用模块对应的附属子模块的数据在信令模块中为共享的。

说明书 :

VOIP网络电话中各应用模块间统一信令通信的方法

技术领域

[0001] 本发明涉及VOIP网络电话技术领域,尤其涉及一种VOIP网络电话中各应用模块间统一信令通信的方法。

背景技术

[0002] 目前的VOIP网络电话中应用模块的通信机制一般是利用消息加数据传递方式,应用模块A要与应用模块B通信,则A模块需要发消息给B模块,B模块根据A模块发送的消息来实现业务处理,那如果业务需求变更,需要增加C模块与A、B模块的通信,那就造成C模块也向A、B模块发消息。那势必会出现复杂逻辑现象,是否有一种简单机制实现各应用模块的统一通信。现有的这种由需求模块向目的模块发起请求,目的模块进行业务处理后调用回调或消息机制通知需求模块;此方式要实现多模块通信,逻辑上显的较复杂,代码框架耦合度高。
[0003] 现有技术中公开了一种“中间件应用消息/事件模型”,见公开号为:CN1685693,公开日为:2005.10.19的中国专利;该系统包括:平台域,其具有软件构件和接口构件,所述接口构件具有:至少一个接口,用于为所述应用域中的应用程序或模块提供对所述软件构件的访问;以及消息传送机制,用于经由所述接口在所述平台域和所述应用域之间传送消息,所述消息传送机制包括:消息模型,用于使所述应用域中的应用程序或另一个模块可以在回调模式和全消息模式之间选择或切换,以便从所述平台域接收消息;以及消息处理程序,用于根据所述选择的模式路由消息。但是该发明的处理中间件应用消息的事件模型分为回调模式、全消息模式,根据应用程序选择其中一种模式处理事件,而本发明的VOIP网络电话中的多模块统一通信提到的是以信令模块作为中间桥梁,对应用模块来说,对附属子模块提供回调,多个附属子模块内部采用消息模式实现外部应用模块之间的通信。另外,该发明应用领域在无线电信系统的移动终端中,而本发明完全与此无关,本发明是在VOIP设备中多模块间进行的通信,应用的基础是信令过程。

发明内容

[0004] 本发明要解决的技术问题,在于提供一种VOIP网络电话中各应用模块间统一信令通信的方法,解决多模块间复杂逻辑通信的现象,完成多模块的统一通信。
[0005] 本发明是这样实现的:一种VOIP网络电话中各应用模块间统一信令通信的方法,在VOIP网络电话中各应用模块进行初始化时,各应用模块创建对应的附属子模块,且各附属子模块创建对应的消息队列;在VOIP网络电话中创建一信令模块,该信令模块提供统一的信令类型,并提供API接口;所述各附属子模块设置于信令模块内,且各应用模块根据所述信令类型设置相应的功能函数;在任意一应用模块对VOIP网络电话中其他一应用模块发起请求时,发起请求的应用模块调用信令模块提供的API接口传入一信令类型,并携带被请求的应用模块的消息ID,发起请求的应用模块对应的附属子模块接收到消息ID后,通过消息队列发送给被请求的应用模块的附属子模块,被请求的应用模块的附属子模块调用该被请求的应用模块设置的回调函数,通过回调函数执行信令类型对应的功能函数进行处理请求消息;处理后调用传输函数send()将处理后的结果通过被请求的应用模块的附属子模块和请求的应用模块的附属子模块回传给请求的应用模块,从而完成应用模块之间的通信。
[0006] 本发明具有如下优点:本发明设计了一信令模块,应用模块与信令模块采用回调与API接口形式,应用模块相互间靠信令模块来进行消息通信,由于所有通信都在信令模块内实现,利用这种方法可以解决多模块间复杂逻辑通信的现象,完成多模块的统一通信;且在通信的多模块间实现逻辑简单,各模块间关联性小,仅与公共的信令模块通信即可。

附图说明

[0007] 图1为本发明方法的原理框图。
[0008] 图2为本发明一实施例的原理框图。

具体实施方式

[0009] 请参阅图1所示,本发明为一种VOIP网络电话中各应用模块间统一信令通信的方法,在VOIP网络电话中各应用模块进行初始化时,各应用模块创建对应的附属子模块,且各附属子模块创建对应的消息队列;在VOIP网络电话中创建一信令模块,该信令模块提供统一的信令类型,并提供API接口;所述信令类型包括:建立请求Setup Request、调用请求Alerting Request或设置响应Setup Response的类型;所述各附属子模块设置于信令模块内,且各应用模块根据所述信令类型设置相应的功能函数;在任意一应用模块对VOIP网络电话中其他一应用模块发起请求时,发起请求的应用模块调用信令模块提供的API接口传入一信令类型,并携带被请求的应用模块的消息ID,发起请求的应用模块对应的附属子模块接收到消息ID后,通过消息队列发送给被请求的应用模块的附属子模块,被请求的应用模块的附属子模块调用该被请求的应用模块设置的回调函数,通过回调函数执行信令类型对应的功能函数进行处理请求消息;处理后调用传输函数send()将处理后的结果通过被请求的应用模块的附属子模块和请求的应用模块的附属子模块回传给请求的应用模块,从而完成应用模块之间的通信。
[0010] 其中,所述调用传输函数send()将处理后的结果通过被请求的应用模块的附属子模块和请求的应用模块的附属子模块回传给请求的应用模块具体为:调用传输函数send()将处理后的结果传给被请求的应用模块的附属子模块,被请求的应用模块的附属子模块通过对应的消息队列将结果发送给请求的应用模块的附属子模块;请求的应用模块的附属子模块调用回传的功能函数将结果传给请求的应用模块。
[0011] 另外,本发明中所述各应用模块对应的附属子模块的数据在信令模块中为共享的。
[0012] 下面举一具体实施例对本发明作进一步说明:
[0013] 请参阅图2所示,在VOIP网络电话中有A应用模块和B应用模块,则在模块A和模块B进行初始化时,对应生成附属子模块A和附属子模块B;且各附属子模块创建对应的消息队列;在VOIP网络电话中创建一信令模块,该信令模块提供统一的信令类型,并提供API接口;所述信令类型包括:建立请求Setup Request、调用请求Alerting Request或设置响应Setup Response的类型;所述各附属子模块设置于信令模块内,且各应用模块根据所述信令类型设置相应的功能函数;在A应用模块对B应用模块发起请求时,模块A调用信令模块提供的API接口Send()传入一信令类型,并携带模块B的消息ID,模块A对应的附属子模块A接收到消息ID后,通过消息队列发送给附属子模块B,附属子模块B调用模块B设置的回调函数Fun(),通过回调函数执行信令类型对应的功能函数进行处理请求消息;处理后调用传输函数send()将处理后的结果通过附属子模块B和附属子模块A回传给模块A,从而完成应用模块之间的通信。
[0014] 总之,本发明设计了一信令模块,应用模块与信令模块采用回调与API接口形式,应用模块相互间靠信令模块来进行消息通信,由于所有通信都在信令模块内实现,利用这种方法可以解决多模块间复杂逻辑通信的现象,完成多模块的统一通信;且在通信的多模块间实现逻辑简单,各模块间关联性小,仅与公共的信令模块通信即可。
[0015] 以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。