[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] 以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。