一种会话发起方法和系统的制作方法

文档序号:7941194阅读:293来源:国知局
专利名称:一种会话发起方法和系统的制作方法
技术领域
本发明涉及通信领域,特别是指一种会话发起方法和系统。
背景技术
现有的视频会话系统中,在发起视频会话时要求主叫方和被叫方同时在线。本发明中所涉及的在线是指主叫方的终端(主叫终端)和被叫方的终端(被叫终端)同时与视频会话业务的服务器维持网络连接和心跳,如图1所示。需要发起视频会话时,主叫终端发送呼叫请求到服务器,再由服务器转发到被叫终端。但是,如图1所示的传统视频会话发起方式存在如下缺陷(I)由于需要主、叫双方都在线,因此主、叫双方都需要时刻和服务器保持网络连接,对服务器的处理能力有一定要求;(2)被叫方需要时刻和服务器保持网络连接和心跳,如果被叫终端为移动终端,那么这种方式对移动终端电量的消耗较大。(3)被叫方不在线时无法被呼叫,降低了呼叫的成功联通率。

发明内容
有鉴于此,本发明的主要目的在于提供一种视频会话发起方法和系统,在被叫方不在线时,实现会话的发起。为达到上述目的,本发明 的技术方案是这样实现的本发明提供了一种会话发起方法,该方法包括主叫终端向业务服务器发送呼叫请求消息,所述业务服务器根据所述呼叫请求消息向推送服务器发送呼叫通知消息;被叫终端接收所述推送服务器发送的呼叫通知消息后,与所述业务服务器建立网络连接,获取所述呼叫请求消息。所述主叫终端向业务服务器发送呼叫请求消息之前,该方法还包括被叫终端在所述业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,所述业务服务器记录所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。所述呼叫请求消息中携带主叫号码和被叫号码。所述主叫终端向业务服务器发送呼叫请求消息后,该方法还包括所述业务服务器保存所述呼叫请求消息,并根据所述呼叫请求消息中携带的被叫号码和自身记录的所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型。所述业务服务器根据所述呼叫请求消息向推送服务器发送呼叫通知消息,为所述业务服务器向查找的所述被叫终端的系统类型对应的推送服务器发送呼叫通知消息;所述呼叫通知消息中携带所述主叫号码和所述被叫终端的设备标识码。所述被叫终端接收所述推送服务器发送的呼叫通知消息,为所述推送服务器根据所述呼叫通知消息中携带的被叫终端的设备标识码将所述呼叫通知消息转发给对应的被叫终端。与所述业务服务器建立网络连接,获取所述呼叫请求消息,为所述被叫终端接收所述推送服务器发送的呼叫通知消息后,启动会话程序,并解析所述呼叫通知消息;所述被叫终端与所述业务服务器建立网络连接,并根据所述呼叫通知消息中携带的主叫号码从所述业务服务器 上获取所述呼叫请求消息。本发明还提供了一种会话发起系统,包括主叫终端、业务服务器、推送服务器和被叫终端,其中所述主叫终端,用于向所述业务服务器发送呼叫请求消息;所述业务服务器,用于根据所述呼叫请求消息向所述推送服务器发送呼叫通知消息;所述推送服务器,用于向所述被叫终端发送的所述呼叫通知消息;所述被叫终端,用于接收所述推送服务器发送的呼叫通知消息后,与所述业务服务器建立连接,获取所述呼叫请求消息。所述被叫终端,还用于在所述业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,所述业务服务器,还用于记录所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。所述业务服务器,还用于保存所述呼叫请求消息,并根据所述呼叫请求消息中携带的被叫号码和自身记录的所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型;并向查找的所述被叫终端的系统类型对应的所述推送服务器发送呼叫通知消息。所述推送服务器,还用于根据所述呼叫通知消息中携带的被叫终端的设备标识码将所述呼叫通知消息转发给对应的所述被叫终端。所述被叫终端,在接收所述推送服务器发送的呼叫通知消息后还用于启动会话程序,并解析所述呼叫通知消息;并与所述业务服务器建立网络连接,根据所述呼叫通知消息中携带的主叫号码从所述业务服务器上获取所述呼叫请求消息。本发明提出的会话发起方法和系统,由业务服务器告知推送服务器有被叫终端的呼叫请求,再由推送服务器通知被叫终端,然后被叫终端再与业务服务器建立网络连接,完成会话的发起。由此可见,被叫终端一开始并未和业务服务器之间有网络连接,处于离线状态,而是通过推送服务器获知有会话的呼叫请求消息后,再建立与业务服务器之间的网络连接。如此,无需被叫终端在线在方式降低了对服务器处理能力的要求,也减少了移动终端电量的消耗;另外,这种无需被叫终端在线就可实现会话发起的方式也提高了呼叫的成功联通率。


图1为传统视频会议发起方式示意图;图2为本发明视频会话发起方法流程图;图3为本发明实施例视频会话发起方法流程图。
具体实施例方式本发明被叫终端离线场景下会话发起的主要思想是由业务服务器告知推送服务器有被叫终端的呼叫请求,再由推送服务器通知被叫终端,然后被叫终端与业务服务器建立网络连接,完成会话的发起。其中,业务服务器即指提供会话业务的服务器;所谓的推送服务器取决于终端的应用系统,例如使用ios系统的终端对应的推送服务器为APNS服务器,使用机器人(Android)系统的终端对应的推送服务器为Google服务器。本发明会话发起方法如图2所示,包括步骤201,主叫终端向业务服务器发送呼叫请求消息,业务服务器根据呼叫请求消息向推送服务器发送呼叫通知消息。在主叫终端向业务服务器发送呼叫请求消息之前,需要先执行以下操作被叫终端在业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,业务服务器记录被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。进一步地,呼叫请求消息中携带主叫号码和被叫号码。主叫终端向业务服务器发送呼叫请求消息后, 业务服务器保存呼叫请求消息,并根据呼叫请求消息中携带的被叫号码和自身记录的上述映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型;进一步地,业务服务器向查找的被叫终端的系统类型对应的推送服务器发送呼叫通知消息,其中携带主叫号码和查找的被叫终端的设备标识码。进而,推送服务器根据呼叫通知消息中携带的被叫终端的设备标识码将呼叫通知消息转发给对应的被叫终端。步骤202,被叫终端接收推送服务器发送的呼叫通知消息后,与业务服务器建立网络连接,获取呼叫请求消息。被叫终端接收推送服务器发送的呼叫通知消息后,启动会话程序,并解析呼叫通知消息;然后被叫终端与所述业务服务器建立连接,并根据解析出的呼叫通知消息中携带的主叫号码从业务服务器上获取对应的呼叫请求消息。由此实现了会话的发起。从整个过程可以看出,被叫终端一开始并未和业务服务器之间有网络连接,处于离线状态,而是通过推送服务器获知有会话的呼叫请求消息后,再建立与业务服务器之间的网络连接,获取呼叫请求消息。下面以移动终端(主叫终端和被叫终端的类型为移动终端)的视频会话的发起为例对上述方案进行具体的描述,如图3所示,包括步骤301,被叫终端在业务服务器上进行如下项目的注册被叫终端的设备标识码Ml、被叫号码NI以及被叫终端的系统类型01。其中,对于被叫终端的设备标识M1,如果被叫终端使用的是ios系统,则每个移动终端有一个唯一的二进制码,为固定的32字节长;如果被叫终端使用的是Android系统,那么被叫终端可以向Google服务器注册获取自身的设备标识码,为不定长字符串。被叫号码NI即是指在使用业务时被叫用户的身份标识号码。例如,对于一个QQ用户而言,NI即为QQ号码,对于MSN用户而言,NI即为MSN用户名。由此可见,被叫用户使用被叫终端进行不同的业务时,可以具有不同的被叫号码。被叫终端的系统类型01,例如可以是ios或者Android等等。被叫终端将M1、N1以及01上传到业务服务器,业务服务器记录三者之间的映射关系(可以表不为Bind〈Nl, Ml, 01 ,完成被叫方在业务服务器的注册。步骤302,需要发起视频会话业务时,主叫终端向被叫终端发起呼叫,具体的主叫终端发送呼叫请求消息到业务服务器,该呼叫请求消息中携带主叫号码N2和被叫号码NI (该呼叫请求可以表示为Invite〈N2,Nl>)。业务服务器保存该呼叫请求消息Invite〈N2,NI〉。步骤303,业务服务器根据被叫号码NI以及记录的映射关系BincKNl,Ml, 01>查找对应的被叫终端的设备标识Ml和被叫终端的系统类型01。根据被叫终端的系统类型01,业务服务器向对应的推送服务器发送呼叫通知消息,根据01的不同,呼叫通知消息也不相同,例如,01指示为ios时,业务服务器向APNS服务器发送的呼叫通知消息为苹果通知推送服务(APNS,Apple Push NotificationService)通知消息;01指示为Android时,业务服务器向Google服务器发送的呼叫通知消息为 Android 云端到设备消息服务框架(C2DM, Android Cloud to Device Messaging)通知消息。

该呼叫通知消息中携带主叫号码N2和被叫终端的设备标识码Ml (该呼叫通知可以表示为Notification〈N2,Ml>)。根据被叫终端的设备标识码M1,推送服务器可以将呼叫通知消息发送给对应的被叫终端。步骤304,推送服务器将呼叫通知消息Notification〈N2,Ml>转发给被叫终端。被叫终端接收推送服务器转发的呼叫通知消息后,启动视频会话程序,并解析呼叫通知消息 Notification〈N2, Ml〉。步骤305 306,被叫终端与业务服务器建立连接,并根据解析出的呼叫通知消息中的主叫号码N2从业务服务器上获取对应的呼叫请求消息Invite〈N2,NI〉。获取到呼叫请求消息之后,再由被叫用户选择是否接受主叫用户发起的视频会话。需要指出的是,本发明的方式并不仅限于视频会话的发起,同样也适用于音频等会话的发起;并且本发明的方式也不仅限于移动终端,其他能够与业务服务器建立网络连接并且能够进行会话业务的终端均可。为了实现上述方法,本发明还提供了一种会话发起系统,包括主叫终端、业务服务器、推送服务器和被叫终端,其中主叫终端,用于向业务服务器发送呼叫请求消息;业务服务器,用于根据呼叫请求消息向推送服务器发送呼叫通知消息;推送服务器,用于向被叫终端发送的呼叫通知消息;被叫终端,用于接收推送服务器发送的呼叫通知消息后,与业务服务器建立网络连接,获取呼叫请求消息。被叫终端,还用于在业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,业务服务器,还用于记录被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。业务服务器,还用于保存呼叫请求消息,并根据呼叫请求消息中携带的被叫号码和自身记录的被叫终端的设 备标识码、被叫号码以及被叫终端的系统类型的映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型;并向查找的被叫终端的系统类型对应的推送服务器发送呼叫通知消息。推送服务器,还用于根据呼叫通知消息中携带的被叫终端的设备标识码将呼叫通知消息转发给对应的被叫终端。被叫终端,在接收推送服务器发送的呼叫通知消息后还用于启动会话程序,并解析呼叫通知消息;并与业务服务器建立网络连接,根据呼叫通知消息中携带的主叫号码从业务服务器上获取呼叫请求 消息。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种会话发起方法,其特征在于,该方法包括主叫终端向业务服务器发送呼叫请求消息,所述业务服务器根据所述呼叫请求消息向推送服务器发送呼叫通知消息;被叫终端接收所述推送服务器发送的呼叫通知消息后,与所述业务服务器建立网络连接,获取所述呼叫请求消息。
2.根据权利要求1所述会话发起方法,其特征在于,所述主叫终端向业务服务器发送呼叫请求消息之前,该方法还包括被叫终端在所述业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,所述业务服务器记录所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。
3.根据权利要求2所述会话发起方法,其特征在于,所述呼叫请求消息中携带主叫号码和被叫号码。
4.根据权利要求3所述会话发起方法,其特征在于,所述主叫终端向业务服务器发送呼叫请求消息后,该方法还包括所述业务服务器保存所述呼叫请求消息,并根据所述呼叫请求消息中携带的被叫号码和自身记录的所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型。
5.根据权利要求4所述会话发起方法,其特征在于,所述业务服务器根据所述呼叫请求消息向推送服务器发送呼叫通知消息,为所述业务服务器向查找的所述被叫终端的系统类型对应的推送服务器发送呼叫通知消息;所述呼叫通知消息中携带所述主叫号码和所述被叫终端的设备标识码。
6.根据权利要求5所述会话发起方法,其特征在于,所述被叫终端接收所述推送服务 器发送的呼叫通知消息,为所述推送服务器根据所述呼叫通知消息中携带的被叫终端的设备标识码将所述呼叫通知消息转发给对应的被叫终端。
7.根据权利要求6所述会话发起方法,其特征在于,与所述业务服务器建立网络连接,获取所述呼叫请求消息,为所述被叫终端接收所述推送服务器发送的呼叫通知消息后,启动会话程序,并解析所述呼叫通知消息;所述被叫终端与所述业务服务器建立网络连接,并根据所述呼叫通知消息中携带的主叫号码从所述业务服务器上获取所述呼叫请求消息。
8.一种会话发起系统,其特征在于,包括主叫终端、业务服务器、推送服务器和被叫终端,其中所述主叫终端,用于向所述业务服务器发送呼叫请求消息;所述业务服务器,用于根据所述呼叫请求消息向所述推送服务器发送呼叫通知消息;所述推送服务器,用于向所述被叫终端发送的所述呼叫通知消息;所述被叫终端,用于接收所述推送服务器发送的呼叫通知消息后,与所述业务服务器建立连接,获取所述呼叫请求消息。
9.根据权利要求8所述会话发起系统,其特征在于,所述被叫终端,还用于在所述业务服务器上进行被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的注册;相应的,所述业务服务器,还用于记录所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型三者之间的映射关系。
10.根据权利要求9所述会话发起系统,其特征在于,所述业务服务器,还用于保存所述呼叫请求消息,并根据所述呼叫请求消息中携带的被叫号码和自身记录的所述被叫终端的设备标识码、被叫号码以及被叫终端的系统类型的映射关系,查找对应的被叫终端的设备标识码和被叫终端的系统类型;并向查找的所述被叫终端的系统类型对应的所述推送服务器发送呼叫通知消息。
11.根据权利要求10所述会话发起系统,其特征在于,所述推送服务器,还用于根据所述呼叫通知消息中携带的被叫终端的设备标识码将所述呼叫通知消息转发给对应的所述被叫终端。
12.根据权利要求11所述会话发起系统,其特征在于,所述被叫终端,在接收所述推送服务器发送的呼叫通知消息后还用于启动会话程序,并解析所述呼叫通知消息;并与所述业务服务器建立网络连接,根据所述呼叫通知消息中携带的主叫号码从所述业务服务器上获取所述呼叫请求消息。
全文摘要
本发明公开了一种会话发起方法和系统,包括主叫终端向业务服务器发送呼叫请求消息,业务服务器根据呼叫请求消息向推送服务器发送呼叫通知消息;被叫终端接收推送服务器发送的呼叫通知消息后,与业务服务器建立网络连接,获取呼叫请求消息。通过本发明无需被叫终端在线即可实现会话的发起。
文档编号H04L29/06GK103051863SQ20111031619
公开日2013年4月17日 申请日期2011年10月17日 优先权日2011年10月17日
发明者周煜, 陈谦, 康师亮, 丘正元, 陈功 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1