发明内容
本发明的目的在于提供一种在融合业务系统上实现群组消息业务的方法和系统,使得用户发送信息给多个用户时,不需要用户分别进行消息的多次发送,而由融合业务系统代理完成。
为实现上述发明目的,本发明提供一种实现群组消息业务的方法。
该方法包括以下步骤。
步骤A:发送客户端向会话和消息处理模块发送消息,所述发送消息中包含群组标识、发送客户端标识;
步骤B:会话和消息处理模块根据所述群组标识、发送客户端标识,得到目的客户端信息;
步骤C:会话和消息处理模块根据所述目的客户端信息,将消息发送给目的客户端。
进一步地,还包括以下步骤:
步骤D:在所述发送消息还包括需要回执的标识信息时,在发送客户端需要回执信息的情况下,目的客户端发送回执信息到会话和消息处理模块;
步骤E:会话和消息处理模块收到回执消息时,判断是否为针对同一发送消息的重复回执消息,如果是重复回执消息,则丢弃;如果不是重复回执消息,则设置等待时间,等待时间结束后,会话和消息处理模块将所述回执信息整合成一条回执消息发送给所述发送客户端。
更进一步地,步骤B还包括:
步骤B1:所述会话和消息处理模块进行鉴权,并判断所述群组标识信息是否为本域管理的信息;
步骤B2:如果是,则作为控制会话和消息处理模块,得到所述目的客户端信息;
步骤C还包括:
步骤C1:所述控制会话和消息处理模块进行鉴权,并判断所述目的客户端是否为本域所属的客户端;
步骤C2:如果是,则从取出每个目的客户端地址,向所述每个目的客户端发送所述消息。
进一步地,还包括:
步骤B3:如果所述会话和消息处理模块判断所述群组标识信息不是本域管理的信息,则作为参与会话和消息处理模块,将信息转发给所述控制会话和消息处理模块;
步骤B4:所述控制会话和消息处理模块得到所述目的客户端信息。
更进一步地,还包括:
步骤C3:如果所述控制会话和消息处理模块判断所述目的客户端不是本域所属的客户端,则将所述目的客户端所属的域的会话和消息处理模块作为参与会话和消息处理模块,将信息发给所述参与会话和消息处理模块;
步骤C4:所述参与会话和消息处理模块将信息发给所述目的客户端。
更进一步地,还包括:
步骤E1:会话和消息处理模块收到回执消息时,判断群组标识信息不是本域管理的信息,则作为参与会话和消息处理模块,将信息转发给所述控制会话和消息处理模块;
步骤E2:控制会话和消息处理模块收到所述回执信息后,判断所述发送客户端是否属于本域管理的客户端,如果是,则将回执信息发送给所述发送客户端,如果不是,则将发送客户端所属的域的会话和消息处理模块作为参与会话和消息处理模块,将回执信息发给所述参与会话和消息处理模块;
步骤E3:所述参与会话和消息处理模块将回执信息发送给所述发送客户端。
本发明的另一方面,提供一种实现群组消息业务的系统,应用于融合业务系统,包括:
承载网络,用于本域内客户端以及会话和消息处理模块之间进行信息交互或不同域间的信息交互;
会话和消息处理模块,用于根据所述群组标识、发送客户端标识,得到目的客户端信息;用于根据所述目的客户端信息,将消息发送给目的客户端。
进一步地,还包括一个或多个域,每一个域都包括一承载网络和一会话和消息处理模块;
所述会话和消息处理模块,还用于判断所述群组标识信息是否为本域管理的信息,如果是,则作为控制会话和消息处理模块,如果不是,则作为参与会话和消息处理模块;还用于在判定所述群组标识信息不是本域管理信息时,将消息转发到其他域的会话和消息处理模块;
所述控制会话和消息处理模块,用于根据所述群组标识信息,将消息发送到目的客户端所属域的参与会话和消息处理模块,
所述参与会话和消息处理模块,用于将收到的消息发给所述目的客户端。
更进一步地,所述参与会话和消息处理模块,还用于在域内客户端和所述控制会话和消息处理模块之间进行回执消息的交互;
所述控制会话和消息处理模块,还用于在发送消息的客户端所在域的参与会话和消息处理模块和目的客户端所在域的参与会话和消息处理模块间,进行回执消息的交互。
本发明技术方案,使得用户发送信息给多个用户时,不需要用户分别进行消息的多次发送,而由一个系统代理完成。
具体实施方式
下面将结合附图及实施例对本发明的技术方案进行更详细的说明。
图1为本发明提供的实现群组消息业务的系统的结构图。如图1所示,本发明系统可以包括多个域,每个域都包括SIP/IP CORE承载网和会话和消息处理模块。图1所示系统包括3个域,域A、域B和域C。本实施例中,域A和域C的会话和消息处理模块作为参与会话和消息处理模块,域B的会话和消息处理模块作为控制会话和消息处理模块。其中,每个域都有其所属的客户端,本实施例仅表示出部分客户端,如图,客户端1属于域A,客户端2和客户端3同属于域C。各域的会话和消息处理模块通过SIP/IP CORE承载网与所属客户端互通信息,各域之间通过SIP/IP CORE承载网互通信息。
图2为本发明提供的实现群组消息业务的方法发送端一侧流程图。下面结合附图2对方法流程进行较为详细的阐述。
以下步骤为发送客户端一侧将信息发给控制会话和消息处理模块的流程。
步骤101:客户端1发送消息内容,消息整体长度小于1300个字节,直接采用SIP协议的Message方法进行内容发送,其中request_uri字段为预先订好的群组标识信息,P_Preferred_Identity字段携带有发送者的标识信息,Accept_Contact字段包含融合业务标识信息;
步骤102:SIP/IP CORE承载网络收到消息后,依据用户标识和Accept_Contact字段信息将消息发送请求转发给客户端1归属的融合业务系统的域A的参与会话和消息处理模块;
步骤103:客户端1归属的融合业务系统的域A的会话和消息处理模块对用户进行鉴权,判断客户端1是否具有发送消息的权限,如果不具有权限,则结束流程;如果有权限,检查request_uri字段中的群组标识是否本域管理的群组,如果不是本域群组,则将消息发送给域A的SIP/IP CORE承载网络;
步骤104:域A的SIP/IP CORE承载网络依据群组标识信息将消息发送给融合业务系统的域B所属的SIP/IP CORE承载网络;
步骤105:域B的SIP/IP CORE承载网络将消息发送给群组信息归属的域B的会话和消息处理模块,由作为控制会话和消息处理模块进行后续处理。
下述步骤为发送客户端一侧处理响应消息的流程。
步骤106:控制会话和消息处理模块向域B所属的SIP/IP CORE承载网络发送响应消息;
步骤107:域B所属SIP/IP CORE承载网络向域A所属SIP/IP CORE承载网络发送响应消息;
步骤108:域A所属SIP/IP CORE承载网络向域A所属的参与会话和消息处理模块发送响应信息;
步骤109:域A所属的参与会话和消息处理模块经判断发送客户端为本域所属客户端,向域A所属SIP/IP CORE承载网络发送响应信息;
步骤110:域A所属SIP/IP CORE承载网络向发送客户端发送响应信息。
下述步骤为发送客户端一侧处理回执消息的流程。
步骤111:控制会话和消息处理模块接收到Message Delivery Notification回执消息后,发送给域B所属的SIP/IP CORE承载网络;
步骤112:域B所属的SIP/IP CORE承载网络将Message Delivery Notification回执消息发送给域A所属的SIP/IP CORE承载网络;
步骤113:域A所属的SIP/IP CORE网络将Message Delivery Notification回执消息发送给域A所属的参与会话和消息处理模块进行处理;
步骤114:域A所属的参与会话和消息处理模块将回执消息发送给域A所属的SIP/IPCORE承载网络;
步骤115:域A所属的SIP/IP CORE承载网络将回执消息发送到发送客户端。
以下步骤为发送客户端一侧处理回执消息响应信息的处理流程。
步骤116:发送客户端将200OK响应消息发送到域A所属的SIP/IP CORE承载网络;
步骤117:域A所属的SIP/IP CORE承载网络将200OK响应信息发送到域A所属的参与会话和消息处理模块;
步骤118:域A所属的参与会话和消息处理模块经判断,将200OK响应消息发送给域A所属的SIP/IP CORE承载网络;
步骤119:域A所属的SIP/IP CORE承载网络,将200OK响应消息发送给域B所属的SIP/IP CORE承载网络;
步骤120:域B所属的SIP/IP CORE承载网络将200OK响应消息发送给控制会话和消息处理模块。
图3所示为为本发明提供的实现群组消息业务的方法目的端一侧流程图。下面结合附图3对方法流程进行较为详细的阐述。
以下步骤为控制会话和消息处理模块将信息发给客户端2的流程。
步骤201:域B所属的SIP/IP CORE承载网络将消息发送到控制会话和消息处理模块,控制会话和消息处理模块判断群组标识是本域管理,并且发送者可向此群组发送内容,则取出群组中的目的客户端地址;
步骤202:控制会话和消息处理模块向域B所属的SIP/IP CORE承载网络发送消息,其中消息中包含目的客户端地址,例如是客户端2的地址;
步骤203:域B所属的SIP/IP CORE承载网络将消息发送到客户端2归属的域C的SIP/IP CORE承载网络;
步骤204:域C的SIP/IP CORE承载网络依据目的地址信息将消息发送到域C的参与会话和消息处理模块,由参与会话和消息处理模块进行处理;
步骤205:参与会话和消息处理模块将消息发送到域C的SIP/IP CORE承载网络;
步骤206:域C的SIP/IP CORE承载网络将消息发送到客户端2;
以下步骤为目的客户端向控制会话和消息处理模块发送200OK响应消息的流程。
步骤207:客户端2发送200OK响应消息给域C的SIP/IP CORE承载网络;
步骤208:域C的SIP/IP CORE承载网络发送200OK响应消息给域C的参与会话和消息处理模块;
步骤209:域C的参与会话和消息处理模块经判断,发送200OK响应消息给域C的SIP/IP CORE承载网络;
步骤210:域C的SIP/IP CORE承载网络发送200OK响应消息给域B的SIP/IP CORE承载网络;
步骤211:域B的SIP/IP CORE承载网络发送200OK响应消息给域B的控制会话和消息处理模块。
步骤212为控制会话和消息处理模块将信息发给客户端3的流程。
步骤212:采用与步骤202到步骤211类似的做法,控制会话和消息处理模块从群组信息中取出下一个目的客户端地址,将消息发送到客户端3。
以下步骤为目的客户端向控制会话和消息处理模块发送回执消息的流程。
步骤213:客户端2发送回执消息给域C的SIP/IP CORE承载网络;
步骤214:域C的SIP/IP CORE承载网络将回执消息发送给域C的参与会话和消息处理模块;
步骤215:域C的参与会话和消息处理模块经判断,确认群组标识不是本域管理的信息,将回执消息发送给本域的SIP/IP CORE承载网络;
步骤216:域C的SIP/IP CORE承载网络将回执消息发送到域B的SIP/IP CORE承载网络;
步骤217:域B的SIP/IP CORE承载网络将回执消息发送给域B的控制会话和消息处理模块。
以下步骤为控制会话和消息处理模块向客户端2返回200OK响应消息的步骤。
步骤218:控制会话和消息处理模块向域B的SIP/IP CORE承载网络返回200OK响应消息;
步骤219:域B的SIP/IP CORE承载网络向域C的SIP/IP CORE承载网络发送200OK响应消息;
步骤220:域C的SIP/IP CORE承载网络向域C的参与会话和消息处理模块发送200OK响应消息;
步骤221:域C的参与会话和消息处理模块经判断,确认目的客户端属于本域,向域C的SIP/IP CORE承载网络发送200OK响应消息;
步骤222:域C的SIP/IP CORE承载网络向客户端2发送200OK响应消息。
以下步骤是客户端3发送回执信息的处理流程。
步骤223:采用与步骤213到步骤222类似的做法,客户端3向控制域的会话和消息处理模块发送回执消息;
步骤224:如果在收到客户端2的回执消息时,没有立即收到客户端3的回执消息,控制会话和消息处理模块会设定一个定时器,等待客户端3的回执消息到达,如果在定时器时间内客户端3的回执信息到达,则控制会话和消息处理模块将两个回执消息整理成一条回执消息,如果再定时器时间内没有到达,则直接发送客户端2返回的回执消息到域B的SIP/IP CORE承载网络,如果客户端2发送重复的回执消息,控制会话和消息处理模块会丢弃重复的回执消息;
步骤225:域B的SIP/IP CORE承载网络向控制会话和消息处理模块返回与回执消息对应的响应消息,会话和消息处理模块收到此消息后,确认某个回执消息已发送,并记录下来,避免后续发送重复的回执消息。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。