首页 > 专利 > 华为技术有限公司 > 一种登陆VOIP网络的方法及鉴权服务器专利详情

一种登陆VOIP网络的方法及鉴权服务器   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2010-11-10
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2011-09-07
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2014-07-09
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2030-11-10
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201010538893.7 申请日 2010-11-10
公开/公告号 CN102137090B 公开/公告日 2014-07-09
授权日 2014-07-09 预估到期日 2030-11-10
申请年 2010年 公开/公告年 2014年
缴费截止日
分类号 H04L29/06H04M7/00 主分类号 H04L29/06
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 5
权利要求数量 6 非专利引证数量 0
引用专利数量 4 被引证专利数量 0
非专利引证
引用专利 US7369537B1、US7369537B1、EP2096833A1、CN101860536A 被引证专利
专利权维持 7 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 华为技术有限公司 当前专利权人 华为技术有限公司
发明人 郑洪伟 第一发明人 郑洪伟
地址 广东省深圳市龙岗区坂田华为总部办公楼 邮编
申请人数量 1 发明人数量 1
申请人所在省 广东省 申请人所在市 广东省深圳市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
深圳市深佳知识产权代理事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
彭愿洁、李文红
摘要
本发明实施例提供一种登陆VOIP网络的方法及鉴权服务器。一种登陆VOIP网络的方法,包括:接收客户端发送的登陆请求消息,所述请求消息中包括所述客户端的标识信息;查询与所述客户端的标识信息对应的探测记录,所述探测记录中包括探测客户端的标识信息和用于表明所述探测客户端登陆方式的对应信息;根据查询结果及所述探测记录返回所述客户端的登陆方式,以使所述客户端根据所述登陆方式登陆至VOIP网络。本发明实施例中,通过鉴权服务器中的探测记录,可以直接向客户端提供适合的登陆方式以登陆至VOIP网络,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
  • 摘要附图
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图1
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图2
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图3
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图5
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图4
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图6
    一种登陆VOIP网络的方法及鉴权服务器
  • 说明书附图:图7
    一种登陆VOIP网络的方法及鉴权服务器
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2021-12-17 专利权的转移 登记生效日: 2021.12.07 专利权人由华为技术有限公司变更为苏州鱼得水电气科技有限公司 地址由518129 广东省深圳市龙岗区坂田华为总部办公楼变更为215010 江苏省苏州市高新区长江路556号5幢704室
2 2014-07-09 授权 授权
3 2011-09-07 实质审查的生效 IPC(主分类): H04L 29/06 专利申请号: 201010538893.7 申请日: 2010.11.10
4 2011-07-27 公布 公布
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种登陆VOIP网络的方法,其特征在于,包括:
接收客户端发送的登陆请求消息,所述请求消息中包括所述客户端的标识信息;
查询与所述客户端的标识信息对应的探测记录,所述探测记录中包括探测客户端的标识信息和用于表明所述探测客户端登陆方式的对应信息;
根据查询结果及所述探测记录返回所述客户端的登陆方式,以使所述客户端根据所述登陆方式登陆至网络电话VOIP网络;
其中,所述探测客户端登陆方式的对应信息通过如下方式获得:接收探测客户端发送的探测报文,所述探测报文中包括所述探测客户端的标识信息;根据所述探测报文判断所述探测客户端所处的网络环境;根据所述网络环境确定适合所述探测客户端的登陆方式;
建立与所述探测客户端的标识信息对应的探测记录;其中,所述探测报文为会话初始协议SIP的invite报文和/或实时传输协议RTP的RTP报文;
其中,所述接收探测客户端发送的探测报文包括:接收探测客户端发送的invite报文的第一哈希值;则所述建立与所述探测客户端的标识信息对应的探测记录,包括:计算所述invite报文的第二哈希值;若所述第一哈希值与所述第二哈希值不同,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中存在SIP协议的应用层网关SIP ALG设备的信息;若所述第一哈希值与所述第二哈希值相同,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中不存在SIP ALG设备的信息;
或者,
所述接收探测客户端发送的探测报文包括:监控与探测客户端协商确定的用户数据包协议UDP端口;在所述UDP端口接收所述探测客户端发送的RTP报文;
则所述建立与所述探测客户端的标识信息对应的探测记录,包括:若接收到所述RTP报文,且所述RTP报文中的所述标识信息与预存标识信息相同,则记录与所述RTP报文中的标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口开放的信息;若接收不到所述RTP报文,或接收到的RTP报文中的所述标识信息与预存标识信息不同,则记录与所述RTP报文中的所述标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口封闭的信息。

2.根据权利要求1所述的方法,其特征在于,所述根据查询结果及所述探测记录返回所述客户端的登陆方式,包括:
若查询不到与所述客户端的标识信息对应的探测记录,则向所述客户端返回使用SVN隧道登陆的登陆方式;
若查询到与所述客户端的标识信息对应的探测记录,且所述探测记录中包括用于表明所述invite报文传输过程中存在SIP ALG设备的信息,和/或所述探测记录中包括表明所述UDP端口封闭的信息,则向所述客户端返回使用SVN隧道登陆的登陆方式;
若查询到与所述客户端的标识信息对应的探测记录,且所述探测记录中包括用于表明所述invite报文传输过程中不存在SIP ALG设备的信息,且所述探测记录中还包括表明所述UDP端口封闭的信息,则向所述客户端返回使用SVN隧道登陆的登陆方式。

3.根据权利要求1所述的方法,其特征在于,所述根据查询结果及所述探测记录返回所述客户端的登陆方式,包括:
若查询到与所述客户端的标识信息对应的探测记录,且所述探测记录中包括用于表明所述invite报文传输过程中不存在SIP ALG设备的信息,和/或所述探测记录中包括用于表明所述UDP端口开放的信息,则向所述客户端返回使用SIP消息登陆的登陆方式。

4.根据权利要求1所述的方法,其特征在于,所述根据查询结果及所述探测记录返回所述客户端的登陆方式,包括:
若查询到与所述客户端的标识信息对应的探测记录,且所述探测记录中包括用于表明所述invite报文传输过程中存在SIP ALG设备的信息,且所述探测记录中还包括表明所述UDP端口开放的信息,则向所述客户端返回使用超文本传输协议HTTP隧道登陆的登陆方式。

5.根据权利要求1所述的方法,其特征在于,所述标识信息包括手机号、身份标识ID或电子邮件E-mail地址。

6.一种鉴权服务器,其特征在于,包括:
消息接收单元,用于接收客户端发送的登陆请求消息,所述请求消息中包括所述客户端的标识信息;
记录查询单元,用于查询与所述客户端的标识信息对应的探测记录,所述探测记录中包括探测客户端的标识信息和用于表明所述探测客户端登陆方式的对应信息;
结果反馈单元,用于根据查询结果及所述探测记录返回所述客户端的登陆方式,以使所述客户端根据所述登陆方式登陆至VOIP网络;
所述鉴权服务器还包括:
报文接收单元,用于接收探测客户端发送的探测报文,所述探测报文中包括所述探测客户端的标识信息,根据所述探测报文判断所述探测客户端所处的网络环境并根据所述网络环境确定适合所述探测客户端的登陆方式;其中,所述探测报文为会话初始协议SIP的invite报文和/或实时传输协议RTP的RTP报文;
记录建立单元,用于建立与所述探测客户端的标识信息对应的探测记录。
其中,
所述报文接收单元,具体用于接收探测客户端发送的invite报文的第一哈希值;
所述记录建立单元包括:
计算子单元,用于计算所述invite报文的第二哈希值;
记录子单元,用于当所述第一哈希值与所述第二哈希值不同时,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中存在SIP ALG设备的信息;当所述第一哈希值与所述第二哈希值相同时,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中不存在SIP ALG设备的信息。
或者,
所述报文接收单元包括:
监控子单元,用于监控与探测客户端协商确定的UDP端口;
接收子单元,用于在所述UDP端口接收所述探测客户端发送的RTP报文;
所述记录建立单元,具体用于当接收到所述RTP报文,且所述RTP报文中的所述标识信息与预存标识信息相同时,则记录与所述RTP报文中的标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口开放的信息;当接收不到所述RTP报文,或接收到的RTP报文中的所述标识信息与预存标识信息不同时,则记录与所述RTP报文中的所述标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口封闭的信息。
说明书

技术领域

[0001] 本发明涉及移动通信技术领域,尤其涉及一种登陆VOIP网络的方法及鉴权服务器。

背景技术

[0002] VOIP(Voice over Internet Protocol,网络电话)是将模拟声音讯号(Voice)数字化,以数据封包的形式在IP数据网络上做实时传递。VOIP最大的优势是能广泛地采用Internet和全球IP互连的环境,提供比传统业务更多、更好的服务。
[0003] 通常客户端登陆VOIP网络的方式有多种,例如正常登陆、通过http(HyperText Transfer Protocol,超文本传输协议)隧道登陆和通过SVN隧道登陆等。每种登陆方式适应不同的场景,但在客户端登陆VOIP网络之前均需要首先通过鉴权服务器的鉴权。
[0004] 其中,正常登陆方式即客户端通过SIP(Session Initiation Protocol)信令发送登陆请求消息至鉴权服务器,待鉴权通过后,客户端通过SIP消息实现到VOIP网络的登陆,SIP消息体中携带有地址信息,客户端和对端根据这些地址进行报文的应答,消息体中还承载媒体流通道的地址和端口号,该地址和端口号都是在信令交互协商过程中动态分配的。在通过VOIP方式提供SIP通话能力情况下,由于用户网络情况复杂,极易导致客户端采用该正常登陆方式无法登陆到VOIP网络。在正常登陆方式无法实现登陆的情况下,客户端可以选择其它登陆方式,但是各登陆方式应用于不同的场景,且在一定的条件下才能实现登陆,例如,通过http隧道登陆的方式应用于客户端和VOIP网络之间具有中间设备SIP ALG(Session Initiation Protocol ALG,SIP协议的应用层网关)设备的场景下;通过SVN(Subversion)隧道登陆的方式,应用在校园网采用特殊拨号软件上网场景中。
[0005] 由于客户端无法获知所处的网络场景,因此,现有技术中客户端在进行登陆方式的选择时,需要采用逐个试验的方式直至碰到适合的登陆方式才能登陆至VOIP网络,所以登陆至VOIP网络的方法效率很低。

发明内容

[0006] 本发明实施例提供一种登陆VOIP网络的方法及鉴权服务器,能够节省客户端登陆至VOIP网络的时间,提高登陆效率。
[0007] 为了解决上述技术问题,本发明实施例的技术方案如下:
[0008] 本发明实施例提供一种登陆VOIP网络的方法,包括:
[0009] 接收客户端发送的登陆请求消息,所述请求消息中包括所述客户端的标识信息;
[0010] 查询与所述客户端的标识信息对应的探测记录,所述探测记录中包括探测客户端的标识信息和用于表明所述探测客户端登陆方式的对应信息;
[0011] 根据查询结果及所述探测记录返回所述客户端的登陆方式,以使所述客户端根据所述登陆方式登陆至VOIP网络。
[0012] 本发明实施例还提供一种鉴权服务器,包括:
[0013] 消息接收单元,用于接收客户端发送的登陆请求消息,所述请求消息中包括所述客户端的标识信息;
[0014] 记录查询单元,用于查询与所述客户端的标识信息对应的探测记录,所述探测记录中包括探测客户端的标识信息和用于表明所述探测客户端登陆方式的对应信息;
[0015] 结果反馈单元,用于根据查询结果及所述探测记录返回所述客户端的登陆方式,以使所述客户端根据所述登陆方式登陆至VOIP网络。
[0016] 现有技术中,客户端在无法采用正常登陆方式登陆VOIP网络时,需要在多种登陆方式中逐一选择,直至能够实现登陆,该方法效率极低,极大的浪费了登陆时间,降低了客户体验。而本发明实施例中,通过鉴权服务器中的探测记录,可以直接向客户端提供适合的登陆方式以登陆至VOIP网络,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。

实施方案

[0024] 为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制本发明。
[0025] 下面结合附图和实施例,对本发明的技术方案进行描述。
[0026] 参照图1,为本发明实施例一种VOIP网络的方法流程图。
[0027] 该方法可以包括:
[0028] 步骤101,接收客户端发送的登陆请求消息。
[0029] 在客户端登陆至VOIP网络之前,均需要先通过鉴权服务器的鉴权,现有技术中,该鉴权服务器仅用于对客户端的鉴权,在本发明实施例中,还用于向客户端返回适合该客户端登陆VOIP网络的登陆方式,以节省客户端对登陆方式的试验和选择时间。
[0030] 客户端可以采用正常登陆流程,也即向鉴权服务器发送SIP消息以请求登陆,在鉴权服务器接收到客户端的登陆请求消息后,可以先对请求消息中包含的信息进行鉴权,该信息可以是预先分配至客户端的鉴权随机数等,此处为现有技术,不再赘述。鉴权通过后,或者接收到请求消息后直接转入下一步骤,该请求消息中包括客户端的标识信息,以便于鉴权服务器根据该标识信息查询探测记录,标识信息可以是客户端的手机号或ID等。
[0031] 步骤102,查询与所述登陆请求消息中的标识信息对应的探测记录。
[0032] 探测记录为预先由鉴权服务器获得的,该探测记录中记录了一些探测客户端的标识信息和用于表明探测客户端登陆方式的对应信息,例如可以直接记录有一些客户端标识信息和分别适合这些客户端登陆VOIP网络的登陆方式,或者记录有客户端标识信息和与这些客户端对应的网络场景,其中,客户端的网络场景也就决定了客户端可采用的登陆方式。该探测记录可以是以数据表或其它形式存储在鉴权服务器的登陆方式数据库或java向量对象中。该探测记录的具体获得可以是鉴权服务器通过预先接收探测客户端发送的探测报文后,建立的与探测报文中的客户端标识信息对应的探测记录,具体过程请参见后续实施例的描述。
[0033] 鉴权服务器在接收到客户端的请求消息后,获得该请求消息中包含的用于标识该客户端的标识信息,例如该客户端的手机号、身份标识ID或电子邮件E-mail地址等,然后根据该标识信息去查询探测记录。
[0034] 步骤103,根据查询结果及探测记录返回客户端的登陆方式,以使客户端根据登陆方式登陆至VOIP网络。
[0035] 本步骤中,鉴权服务器根据是否查询到该客户端的探测记录,以及若查询到后,探测记录中的用于表明该客户端登陆方式的信息,最终确定适合该客户端采用的登陆方式,然后返回该客户端,客户端从而可以应用该登陆方式登陆至VOIP网络。
[0036] 现有技术中,客户端在无法采用正常登陆方式登陆VOIP网络时,需要在多种登陆方式中逐一选择,直至能够实现登陆,该方法效率极低,极大的浪费了登陆时间,降低了客户体验。而本发明实施例中,通过鉴权服务器中的探测记录,可以直接向客户端提供适合的登陆方式以登陆至VOIP网络,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0037] 下面通过具体实例对上述方法进行说明。
[0038] 参见图2,为本发明实施例一的方法流程图。
[0039] 本实施例中,客户端A要登陆至VOIP网络,登陆方法可以包括:
[0040] 步骤201,探测客户端向鉴权服务器发送invite报文。
[0041] 本实施例中,探测客户端通过向鉴权服务器发送invite报文作为探测报文,来探测客户端和鉴权服务器之间是否存在SIP ALG,从而可以确定探测客户端的网络场景,进而可以确定适合探测客户端的登陆方式。
[0042] 由于SIP LAG设备会对消息体中IP地址进行修改,完成私网穿越,所以在invite报文经过SIP LAG设备时,报文的哈希值会发生变化,所以如果invite报文从客户端传输至鉴权服务器后,报文的hash值发生变化,则说明传输过程中存在SIPALG,所以,本实施例中,可以由客户端向鉴权服务器发送invite报文的第一哈希值,该报文第一哈希值的发送可以通过以下方式实现。
[0043] 首先,探测客户端将其标识信息,例如手机号等,添加至invite消息模板中生成invite报文。具体的,探测客户端可以使用一个通常的invite消息模板进行组包,在branch为0的情况下计算invite报文净荷的第一哈希值,然后还可以将该哈希值放入branch值的前16位,后面填入探测客户端向鉴权服务器认证时使用的随机值。
[0044] 步骤202,鉴权服务器接收探测客户端发送的invite报文。
[0045] 步骤203,鉴权服务器建立与invite报文中的标识信息对应的探测记录。
[0046] 鉴权服务器接收到探测客户端发送的invite报文后,在数据库中建立探测记录,首先,将该报文中探测客户端的手机号和该报文的源IP地址记入记录,然后取出branch值的前16位,将branch值填0后计算报文的净荷的第二哈希值,然后比较第一哈希值和第二哈希值,以确定探测客户端所处的网络场景,如果两值相同,则说明,该invite报文在传输过程中未经过SIP ALG设备,然后,在探测记录中记录用于表明invite报文传输过程中不存在SIPALG设备的信息;如果不同,也即报文的哈希值发生变化,则说明在传输过程中存在SIP ALG设备,然后,在探测记录中记录用于表明invite报文传输过程中存在SIPALG设备的信息。
[0047] 在本实施例中,通过在数据库中标记invite正确值的字段来表明是否存在SIPALG设备,例如,若两哈希值相同,则说明不存在SIPALG设备,将invite正确值的字段标记为1;若不同,则说明存在SIPALG设备,将invite正确值的字段标记为0。
[0048] 本实施例中鉴权服务器建立的多个探测客户端的探测记录可以为:
[0049] 探测客户端1的手机号--invite正确值字段“1”
[0050] 探测客户端2的手机号--invite正确值字段“0”
[0051] 探测客户端3的手机号--invite正确值字段“1”
[0052] 以上步骤201~203为鉴权服务器通过接收探测客户端的探测报文,然后建立该探测客户端的探测记录的过程。以上步骤与后续步骤的顺序可以根据需要进行调整。
[0053] 步骤204,鉴权服务器接收客户端A发送的登陆请求消息。
[0054] 客户端A向鉴权服务器发起正常的登陆流程,可以通过SIP消息向鉴权服务器发送登陆请求,该请求中包含了用于标识该客户端A的标识信息,在本实施例中可以是客户端A的手机号等。
[0055] 步骤205,鉴权服务器查询与标识信息对应的探测记录。
[0056] 鉴权服务器根据客户端A的手机号码,在数据库中查询对应的探测记录,如步骤203中所示的探测记录。
[0057] 步骤206,根据查询结果及探测记录向客户端A返回对应的登陆方式。
[0058] 如果客户端A在步骤204之前未向鉴权服务器发起过探测报文,则在本步骤中,鉴权服务器无法查询到与客户端A手机号对应的探测记录,在该情况下,鉴权服务器会向客户端A发送使用SVN隧道登陆的登陆方式,客户端A即可根据该登陆方式登陆至VOIP网络。
[0059] 如果客户端A在步骤204之前已经通过步骤201发送了探测报文,并且鉴权服务器通过步骤202~203建立了客户端A的探测记录,则在本步骤中,如果查询到探测记录为:客户端A的手机号--invite正确值字段“1”,则说明在客户端A到鉴权服务器之间不存在SIP ALG,则鉴权服务器会向客户端A返回SIP登陆方式,客户端A即可根据该登陆方式登陆至VOIP网络。
[0060] 如果查询到的探测记录为客户端A的手机号--invite正确值字段“0”,则说明在客户端A到鉴权服务器之间存在SIP ALG,则鉴权服务器会向客户端A返回HTTP+RTP登陆方式,客户端A即可根据该登陆方式登陆至VOIP网络。
[0061] 本实施例通过探测客户端发送invite报文作为探测报文,可以使得鉴权服务器直接判断出目前客户端所处的网络环境,待客户端发送登陆请求时,鉴权服务器可以根据探测记录,直接向客户端提供适合的登陆方式以登陆至VOIP网络,将客户端探测网络环境的时间从以前的十多秒缩减至1s内即可完成,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0062] 参照图3,为本发明实施例二的方法流程图。
[0063] 本实施例中,客户端B要登陆至VOIP网络,登陆方法可以包括:
[0064] 步骤301,探测客户端a向鉴权服务器发送RTP(Real-time TransportProtocol,实时传输协议)报文。
[0065] 在本实施例中,探测客户端a通过向鉴权服务器发送RTP报文作为探测报文,来探测网络中的媒体通道UDP(User Datagram Protocol,用户数据包协议)端口是否为打开状态,从而可以确定探测客户端a的网络场景,进而可以确定适合探测客户端a的登陆方式。
[0066] 由于UDP端口很多,例如IMS使用的语音流端口从10000-65534,防火墙不一定会全部开放这些端口,所以在探测客户端a发送RTP报文之前,首先探测客户端a与鉴权服务器进行协商,以确定发送RTP报文的端口,还可以在鉴权服务器中记录协商的探测客户端a的标识信息作为预存标识信息,本实施例中,预存标识信息为探测客户端a的手机号。本实施例中以端口15000、30000、45000为例作为协商确定的UDP端口。
[0067] 首先,探测客户端a将标识信息添加至通用的RTP报文中,本实施例中,探测值为探测客户端a的手机号。具体的,探测客户端a采用通用的RTP报文,在此报文的净荷中,前15位填入探测客户端a的手机号,剩余位填入探测客户端a向鉴权服务器认证时使用的随机值,然后探测客户端a将生成的RTP报文分别发送至端口15000、30000、45000中。
[0068] 步骤302,鉴权服务器监控与探测客户端a协商确定的UDP端口。
[0069] 步骤303,鉴权服务器在UDP端口接收探测客户端a发送的RTP报文。
[0070] 步骤304,鉴权服务器建立与RTP报文中的探测客户端的标识信息对应的探测记录。
[0071] 在本实施例中,假设鉴权服务器在端口15000没有接收到RTP报文,则说明该端口处于封闭状态,则在鉴权服务器中可以记录用于表明该UDP端口封闭的信息,本实施例中通过设置端口号的验证字段值为0,来表示封闭状态,建立的该探测客户端a的探测记录为:
[0072] 探测客户端a手机号--端口15000验证字段“0”
[0073] 若在端口30000、45000中能接收到RTP报文,还可以进一步判断接收到的RTP报文是否为协商的探测客户端a发送的报文,具体的可以判断RTP报文中的标识信息与鉴权服务器中的预存标识信息是否相同,在本实施例中也即在鉴权服务器记录的协商的探测客户端a的手机号中查找是否有该RTP报文中携带的手机号,若有,则说明该端口对该探测客户端a为开放状态,则在鉴权服务器中记录用于表明该UDP端口开放的信息,本实施例中通过设置端口号的验证字段值为1,来表示开放状态,则本步骤中建立的该探测客户端a的探测记录为:
[0074] 探测客户端a手机号--端口30000验证字段“1”
[0075] 探测客户端a手机号--端口45000验证字段“1”
[0076] 若在鉴权服务器记录的协商的探测客户端a的手机号中查找不到该RTP报文中携带的手机号,也即在端口30000、45000没有接收到探测客户端a的RTP报文,同时接收到的RTP报文为另一探测客户端b发送的报文,则在本步骤中除了可以记录该探测客户端a的探测记录为:
[0077] 探测客户端a手机号--端口30000验证字段“0”
[0078] 探测客户端a手机号--端口45000验证字段“0”还可以创建与RTP报文中的标识信息对应的探测记录,也即创建探测客户端b的探测记录:
[0079] 探测客户端b手机号--端口30000验证字段“1”
[0080] 探测客户端b手机号--端口45000验证字段“1”
[0081] 以便于探测客户端b有登陆需求时,由鉴权服务器直接根据该探测记录将相应的登陆方式返回至探测客户端b。
[0082] 以上步骤301~304为鉴权服务器通过接收探测客户端的探测报文,然后建立该探测客户端的探测记录的过程。以上步骤与后续步骤的顺序可以根据需要进行调整。
[0083] 步骤305,鉴权服务器接收客户端B发送的登陆请求消息。
[0084] 客户端B向鉴权服务器发起正常的登陆流程,可以通过SIP消息向鉴权服务器发送登陆请求,该请求中包含了用于标识该客户端B的标识信息,在本实施例中可以是客户端B的手机号。
[0085] 步骤306,鉴权服务器查询与标识信息对应的探测记录。
[0086] 鉴权服务器根据客户端B的手机号码,在数据库中查询对应的探测记录,如步骤304中所示的探测记录。
[0087] 步骤307,根据查询结果及探测记录向客户端B返回对应的登陆方式。
[0088] 如果客户端B在步骤305之前未向鉴权服务器发起过探测报文,则在本步骤中,鉴权服务器无法查询到与客户端B手机号对应的探测记录,在该情况下,鉴权服务器会向客户端B发送使用SVN隧道登陆的登陆方式,客户端B即可根据该登陆方式登陆至VOIP网络。
[0089] 如果客户端B在步骤305之前已经通过步骤301发送了探测报文,并且鉴权服务器通过步骤302~304建立了客户端B的探测记录,则在本步骤中,如果查询到探测记录为:客户端B的手机号--端口30000验证字段“1”,则说明在端口30000对客户端B开放,则鉴权服务器会向客户端B返回SIP登陆方式(正常方式),该登陆方式中还可以包括开放的端口号,以使客户端B根据该登陆方式从开放的端口号登陆至VOIP网络。
[0090] 本实施例通过探测客户端发送RTP报文作为探测报文,可以使得鉴权服务器直接判断出目前UDP端口对客户端的开放状态,待客户端发送登陆请求时,鉴权服务器可以根据探测记录,直接向客户端提供适合的登陆方式以登陆至VOIP网络,将客户端探测网络环境的时间从以前的十多秒缩减至1s内即可完成,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0091] 参照图4,为本发明实施例三的方法流程图。
[0092] 本实施例中,客户端C要登陆至VOIP网络,登陆方法可以包括:
[0093] 步骤401,探测客户端向鉴权服务器发送SIP协议的invite报文作为探测报文。
[0094] 该步骤与前述实施例中的步骤201类似,此处不再赘述。
[0095] 步骤402,探测客户端向鉴权服务器发送RTP报文作为探测报文。
[0096] 该步骤与前述实施例中的步骤301类似,此处不再赘述。
[0097] 步骤403,鉴权服务器接收探测报文,并创建与探测报文中的标识信息对应的探测记录。
[0098] 本步骤与前述实施例中的步骤202~203以及步骤302~304类似,此处不再赘述。
[0099] 在本步骤中,创建的探测记录时可以根据接收到的invite报文和RTP报文创建探测客户端的探测记录。
[0100] 如果接收到的invite报文的第一哈希值与后续计算的invite报文的第二哈希值不同,则在探测记录中记录用于表明invite报文传输过程中存在SIPALG设备的信息;若第一哈希值与第二哈希值相同,则记录用于表明invite报文传输过程中不存在SIPALG设备的信息。
[0101] 如果在协商的UDP端口接收到RTP报文,且RTP报文中的标识信息与预存标识信息相同,则在探测记录中记录用于表明UDP端口开放的信息;若在协商的UDP端口接收不到RTP报文,或接收到的RTP报文中的标识信息与预存标识信息不同,则在探测记录中记录用于表明UDP端口封闭的信息。
[0102] 假设鉴权服务器通过上述步骤创建了多个探测客户端的探测记录为:
[0103] 探测客户端c手机号--invite正确值字段“1”--端口30000验证字段“1”;
[0104] 探测客户端d手机号--invite正确值字段“0”--端口45000验证字段“0”;
[0105] 探测客户端e手机号--invite正确值字段“1”--端口30000验证字段“0”;
[0106] 探测客户端f手机号--invite正确值字段“0”--端口45000验证字段“1”;
[0107] 以上步骤401~403为鉴权服务器通过接收探测客户端的探测报文,然后建立该探测客户端的探测记录的过程。以上步骤与后续步骤的顺序可以根据需要进行调整。
[0108] 步骤404,鉴权服务器接收客户端C发送的登陆请求消息。
[0109] 客户端C向鉴权服务器发起正常的登陆流程,可以通过SIP消息向鉴权服务器发送登陆请求,该请求中包含了用于标识该客户端C的标识信息,在本实施例中可以是客户端C的手机号。
[0110] 步骤405,鉴权服务器查询与标识信息对应的探测记录。
[0111] 鉴权服务器根据客户端C的手机号码,在数据库中查询对应的探测记录,如步骤403中所示的探测记录。
[0112] 步骤406,根据查询结果及探测记录向客户端C返回对应的登陆方式。
[0113] 如果客户端C在步骤403之前未向鉴权服务器发起过探测报文,则在本步骤中,鉴权服务器无法查询到与客户端C的手机号对应的探测记录,在该情况下,鉴权服务器会向客户端C发送使用SVN隧道登陆的登陆方式,客户端C即可根据该登陆方式登陆至VOIP网络。
[0114] 如果客户端C在步骤403之前已经通过步骤401发送了探测报文,并且鉴权服务器通过步骤402~403建立了客户端C的探测记录,则在本步骤中,鉴权服务器可以根据探测记录向客户端C返回适合的登陆方式,以使客户端C登陆至VOIP网络。
[0115] 若查询到与客户端C的手机号对应的探测记录,且探测记录中包括用于表明invite报文传输过程中存在SIP ALG设备的信息,和/或探测记录中包括表明所述UDP端口封闭的信息,则向客户端C返回使用SVN隧道登陆方式;若查询到与客户端C的手机号对应的探测记录,且探测记录中包括用于表明invite报文传输过程中不存在SIP ALG设备的信息,和/或探测记录中包括用于表明所述UDP端口开放的信息,则向客户端C返回使用SIP登陆方式;若查询到与客户端C的手机号对应的探测记录,且探测记录中包括用于表明invite报文传输过程中不存在SIPALG设备的信息,且探测记录中还包括表明UDP端口封闭的信息,则向客户端C返回使用SVN登陆方式。
[0116] 根据步骤403中的探测记录,在本实施例中,具体返回的登陆方式如下:
[0117] 如果查询到探测记录为:客户端C的手机号--invite正确值字段“1”--端口30000验证字段“0”;则鉴权服务器会向客户端C返回SVN登陆方式;
[0118] 如果查询到探测记录为:客户端C的手机号--invite正确值字段“0”--端口30000验证字段“1”;则鉴权服务器会向客户端C返回HTTP+RTP登陆方式;
[0119] 如果查询到探测记录为:客户端C的手机号--invite正确值字段“1”--端口30000验证字段“1”;则鉴权服务器会向客户端C返回正常登陆方式(SIP);
[0120] 如果查询到探测记录为:客户端C的手机号--invite正确值字段“0”--端口30000验证字段“0”;则鉴权服务器会向客户端C返回SVN隧道登陆方式。
[0121] 本实施例通过探测客户端发送探测报文,可以使得鉴权服务器直接判断出目前客户端所处的网络环境,待客户端发送登陆请求时,鉴权服务器可以根据探测记录,直接向客户端提供适合的登陆方式以登陆至VOIP网络,将客户端探测网络环境的时间从以前的十多秒缩减至1s内即可完成,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。而且,使选择登陆方式的过程对用户透明,也避免了所有私网用户都采用SVN或SVN隧道方式登陆,从而减轻了对隧道和网络性能的要求。
[0122] 以上是对登陆VOIP网络的方法的详细说明,下面对应用所述方法的设备或系统进行介绍。
[0123] 参照图5,为本发明实施例一种鉴权服务器的结构示意图。
[0124] 该鉴权服务器可以包括:
[0125] 消息接收单元501,用于接收客户端发送的登陆请求消息,该请求消息中包括所述客户端的标识信息。
[0126] 记录查询单元502,用于查询与标识信息对应的探测记录,探测记录中包括探测客户端的标识信息和用于表明探测客户端登陆方式的对应信息。
[0127] 结果反馈单元503,用于根据查询结果及探测记录返回客户端的登陆方式,以使客户端根据登陆方式登陆至VOIP网络。
[0128] 鉴权服务器的消息接收单元501接收到客户端的登陆请求消息后,可以先对请求消息中包含的信息进行鉴权,该请求消息中包括客户端的标识信息,以便于鉴权服务器根据该标识信息查询探测记录,标识信息可以是客户端的手机号或ID等。鉴权服务器的消息接收单元501在接收到客户端的请求消息后,获得该请求消息中包含的用于标识该客户端的标识信息,例如该客户端的手机号或ID等,然后由记录查询单元502根据该标识信息去查询探测记录。该探测记录为预先由鉴权服务器获得的,该探测记录中记录了一些探测客户端的标识信息和用于表明探测客户端登陆方式的对应信息,例如可以直接记录有一些客户端标识信息和分别适合这些客户端登陆VOIP网络的登陆方式,或者记录有客户端标识信息和与这些客户端对应的网络场景,其中,客户端的网络场景也就决定了客户端可采用的登陆方式。该探测记录可以是以数据表或其它形式存储在鉴权服务器的登陆方式数据库或java向量对象中。该探测记录的具体获得可以是鉴权服务器通过预先接收探测客户端发送的探测报文后,建立的与探测报文中的客户端标识信息对应的探测记录。结果反馈单元503根据是否查询到该客户端的探测记录,以及若查询到后,探测记录中的用于表明该客户端登陆方式的信息,最终确定适合该客户端采用的登陆方式,然后返回该客户端,客户端从而可以应用该登陆方式登陆至VOIP网络。
[0129] 本发明实施例中,通过鉴权服务器的上述单元,可以直接向客户端提供适合的登陆方式以登陆至VOIP网络,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0130] 参见图6,为本发明实施例另一种鉴权服务器的结构示意图。
[0131] 该鉴权服务器除了可以包括消息接收单元601、记录查询单元602和结果反馈单元603之外,还可以包括:
[0132] 报文接收单元604,用于接收探测客户端发送的探测报文,所述探测报文中包括所述探测客户端的标识信息。
[0133] 记录建立单元605,用于建立与所述探测客户端的标识信息对应的探测记录。
[0134] 本实施例中,报文接收单元604,具体用于接收探测客户端发送的invite报文的第一哈希值。
[0135] 记录建立单元605包括:
[0136] 计算子单元6051,用于计算所述invite报文的第二哈希值。
[0137] 记录子单元6052,用于当所述第一哈希值与所述第二哈希值不同时,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中存在SIP ALG设备的信息;当所述第一哈希值与所述第二哈希值相同时,记录与所述探测客户端的标识信息对应的探测记录,所述探测记录中包括用于表明所述invite报文传输过程中不存在SIPALG设备的信息。
[0138] 本实施例中,探测客户端通过向鉴权服务器发送invite报文作为探测报文,来探测客户端和鉴权服务器之间是否存在sip lag,从而可以确定探测客户端的网络场景,进而可以确定适合探测客户端的登陆方式。鉴权服务器的报文接收单元604接收到探测客户端发送的invite报文的第一哈希值后,由记录建立单元605在数据库中建立探测记录,具体的,由计算子单元6051计算invite报文的第二哈希值,然后由记录子单元6052根据第一哈希值和第二哈希值的比较结果,建立探测记录。在鉴权服务器的消息接收单元601接收到客户端的登陆请求消息后,由记录查询单元602根据该标识信息去查询探测记录。结果反馈单元603根据是否查询到该客户端的探测记录,以及若查询到后,探测记录中的用于表明该客户端登陆方式的信息,最终确定适合该客户端采用的登陆方式,然后返回该客户端,客户端从而可以应用该登陆方式登陆至VOIP网络。
[0139] 本实施例通过上述单元可以直接判断出目前客户端所处的网络环境,待客户端发送登陆请求时,鉴权服务器可以根据探测记录,直接向客户端提供适合的登陆方式以登陆至VOIP网络,将客户端探测网络环境的时间从以前的十多秒缩减至1s内即可完成,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0140] 参见图7,为本发明实施例另一种鉴权服务器的结构示意图。
[0141] 该鉴权服务器也可以包括消息接收单元701、记录查询单元702、结果反馈单元703、报文接收单元704和记录建立单元705。
[0142] 本实施例中,报文接收单元704包括:
[0143] 监控子单元7041,用于监控与探测客户端协商确定的UDP端口。
[0144] 接收子单元7042,用于在所述UDP端口接收所述探测客户端发送的RTP报文。
[0145] 记录建立单元705,具体用于当接收到所述RTP报文,且所述RTP报文中的所述标识信息与预存标识信息相同时,则记录与所述RTP报文中的标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口开放的信息;当接收不到所述RTP报文,或接收到的RTP报文中的所述标识信息与预存标识信息不同时,则记录与所述RTP报文中的所述标识信息对应的探测记录,所述探测记录中包括用于表明所述UDP端口封闭的信息。
[0146] 本实施例中,探测客户端通过向鉴权服务器发送RTP报文作为探测报文,来探测网络中的媒体通道UDP端口是否为打开状态,从而可以确定探测客户端的网络场景,进而可以确定适合探测客户端的登陆方式。监控子单元7041,对与探测客户端协商确定的UDP端口进行监控,当接收子单元7042在监控的UDP端口接收到探测客户端发送的RTP报文后,由记录建立单元705建立探测记录。在鉴权服务器的消息接收单元701接收到客户端的登陆请求消息后,由记录查询单元702根据该标识信息去查询探测记录。结果反馈单元703根据是否查询到该客户端的探测记录,以及若查询到后,探测记录中的用于表明该客户端登陆方式的信息,最终确定适合该客户端采用的登陆方式,然后返回该客户端,客户端从而可以应用该登陆方式登陆至VOIP网络。
[0147] 本实施例通过上述单元直接判断出目前UDP端口对客户端的开放状态,待客户端发送登陆请求时,鉴权服务器可以根据探测记录,直接向客户端提供适合的登陆方式以登陆至VOIP网络,将客户端探测网络环境的时间从以前的十多秒缩减至1s内即可完成,节省了客户端登陆至VOIP网络的时间,提高了登陆效率,改善了用户体验。
[0148] 上述装置实施例中各单元的具体实现过程请参见前述方法实施例中相应部分的描述,此处不再赘述。
[0149] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

附图说明

[0017] 图1是本发明实施例一种VOIP网络的方法流程图;
[0018] 图2是本发明实施例一的方法流程图;
[0019] 图3是本发明实施例二的方法流程图;
[0020] 图4是本发明实施例三的方法流程图;
[0021] 图5是本发明实施例一种鉴权服务器的结构示意图;
[0022] 图6是本发明实施例另一种鉴权服务器的结构示意图;
[0023] 图7是本发明实施例另一种鉴权服务器的结构示意图。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号