用于浏览器始发规程的基于移动设备的代理的制作方法_3

文档序号:9794418阅读:来源:国知局
口 )”。
[0051 ]当浏览器202执行圈306中的ICE消息接发呼叫时,浏览器202预期来自代理204的有效返回信令响应。圈306中的呼叫解说可被代理204掩蔽的浪费的TURN消息接发。在一实施例中,代理204接收这些TURN消息,但是不在空中发送它们。代理204可在空中发送最小信息量以设立呼叫。在一实施例中,代理204从浏览器202接收TURN协议的呼叫以发送给目标对等体,并且丢弃这些呼叫中的一个或多个呼叫。确切而言,代理204可确定要向目标对等体发送SIP邀请以发起与该目标对等体的实时通信。
[0052]在一示例中,代理204发送具有至代理204的WebRTC会话点的请求,从而其可通过例如向目标对等体发送SIP邀请并使用SIP与该目标对等体通信来消除浪费的信令。用户可调用浏览器202中的API以设立WebRTC连接(例如,标准中的对等连接)并具有至例如IP地址127.0.0.1的WebRTC会话点,从而ICE消息接发通过代理204。这可能是有利的,因为代理204提供了浏览器202可能无法提供的优化。例如,浏览器202可能无法确定移动设备110如何耦合至网络(例如,经由蜂窝连接或WiFI),并且还可能无法确定移动设备110是否在NAT后面。由此,代理204可从始发对等体向目标对等体发送SIP邀请,不而是使用ICE以使得两个对等体可以协商它们之间的最佳可能媒体路径。
[0053]代理204可截取从浏览器202到目标对等体的用于发起实时通信连接的通信。代理204可在移动设备110上监听这些类型的通信。代理204可确定目标对等体是否经由蜂窝网络102可到达。在一示例中,目标对等体是蜂窝网络102的订户,并且代理204可以能够确定目标对等体是否经由蜂窝网络102可到达,因为代理204在蜂窝网络上且该蜂窝网络的运营商具有代理204使用的在场服务。当确定目标对等体经由该蜂窝网络可到达时,代理204可通过该蜂窝网络向该目标对等体发送使用不同于ICE的协议来通信的请求。在一示例中,该协议是SIP,尽管可以使用其他信令通信协议。
[0054]当WebRTCJavaScriptApp 302检测到代理204安装在移动设备110上时,WebRTCJavaScriptApp 302可能希望使用WebRTC与目标对等体设立呼叫。在一示例中,WebRTCJavaScriptApp 302具有目标对等体的号码,并且使用“呼叫始发”呼叫通过websocket(网页套接字)发送该号码。代理204可检测目标对等体是否在网络112上。如果目标对等体在网络112上,则代理204可直接向目标对等体路由消息。如所讨论的,代理204可使用SIP与目标对等体通信,而不是向目标对等体发送圈306中所解说的TURN消息。
[0055]在一实施例中,代理204向SIP注册表注册。运营商SIP注册器可被利用来提供提早呼叫接受/拒绝,并且可被用于在目标对等体当前未注册的情况下触发对目标对等体的由网络发起的寻呼。呼叫始发可利用运营商提供的对等凭证(例如,SIP统一资源标识符(URI))。如所讨论的,代理204可以模仿TURN服务器,并且作为结果,防止不必要的TURN信令或ICE连通性检查在空中进行。以此方式,代理204可避免在空中发送不必要的数据,由此优化向移动设备110供电的电池的电池寿命。
[0056]进一步,周期性ICE连通性检查也可被用作保活机制。移动设备上的应用启用的(在该情形中是浏览器启用的)保活机制具有已知的基于它们的实现的问题。代理204可以调制以及甚至阻塞基于ICE的保活数据。在一示例中,代理204确定保活消息被发送给目标对等体的速率,并且调制保活消息被发送给目标对等体的速率。调制速率可包括截取一个或多个保活消息并丢弃所截取保活消息中的一个或多个保活消息。
[0057]目标对等体可通过接受或拒绝SIP邀请来响应代理204。目标对等体可以在或可以不在运行类似于代理204的代理。如果目标对等体不在运行类似于代理204的代理,则消息可被路由至在目标对等体上运行的应用,并且代理204可与在目标对等体上运行的该应用通信。如果目标对等体在运行代理,则代理204和在该目标对等体上运行的另一个代理可彼此直接通信并且可丢弃从它们对应的浏览器离开的几乎所有消息。这两个代理可经由SIP消息接发来通信。
[0058]代理204可基于其具有的关于目标对等体的信息来丢弃消息。例如,当目标对等体位于防火墙之外时,代理204可能无法提供如以上所描述的那么高的效率。当目标对等体位于防火墙之外时,代理204可能不知道如何直接到达目标对等体。因此,代理204可发送TURN消息以确定如何到达目标对等体(例如,确认哪一个至该目标对等体的IP地址在防火墙之外被广播)并在该防火墙之外设立中继信道以到达该目标对等体。在最坏的情况下,代理204可将ICE消息接发简单地传递给各对等体,这可能在目标对等体在运营商防火墙之外的情况下发生。ICE存在低效,以使得可在限制浏览器始发话务在空中行进的同时利用IMS核心网能力(例如,对等体在场检测)。
[0059]进一步,当确定目标对等体在蜂窝网络上不可到达时,代理204向目标对等体发送使用ICE来通信的请求。例如,目标对等体可能在漫游。
[0060]在另一示例中,当WebRTCJavaScriptApp 302检测到代理204未安装在移动设备110上时,WebRTCJavaScriptApp 302建立与浏览器202的WebRTC连接而不利用任何代理来促进通信。在此类示例中,浏览器202可发送特定的所标记呼叫,并且接收如圈306中所解说的该特定的所标记呼叫WebRTCJavaScriptApp 302可从浏览器202接收关于WebRTCJavaScriptApp302无法与在例如IP地址127.0.0.1处的对象设立连接的消息,并且WebRTCJavaScriptApp 302可基于该消息来确定代理204未安装在移动设备110上。
[0061]如以上所讨论并在此进一步强调的,图1-3仅仅是示例,其不应当过度限制权利要求的范围。
[0062]II 1.示例方法
[0063]图4是解说根据一实施例的用于促进位于内部网络内的移动设备与目标对等体之间的通信的方法400的简化流程图。在一实施例中,该内部网络通过网络地址转译(NAT)与一个或多个外部网络分隔开。方法400并不意在限制并且可以用于其他应用中。
[0064]方法400包括框410-430。在框410,在移动设备上执行的代理处,截取用于发起与目标对等体的实时通信连接的通信,该移动设备耦合至蜂窝网络。在一示例中,代理204在移动设备110上执行,并且截取用于发起与目标对等体的实时通信连接的通信,其中移动设备11 Of禹合至蜂窝网络。
[0065]在框420,确定目标对等体是否经由蜂窝网络可到达。在一示例中,代理204确定目标对等体是否经由蜂窝网络可到达。在框430,当确定目标对等体经由蜂窝网络可到达时,通过蜂窝网络向目标对等体发送用第一协议通信的请求。在一示例中,当确定目标对等体经由蜂窝网络可到达时,代理204通过蜂窝网络向目标对等体发送用第一协议通信的请求。
[0066]还应当理解,附加的过程可以在以上所讨论的框410-430之前、期间或之后执行。还应当理解,本文中所描述的方法400的一个或多个框可以按需被省略、组合或以不同次序执行。
[0067]IV.示例无线设备
[0068]图5是解说根据一实施例的包括数字信号处理器的无线设备500的框图。无线设备500包括处理器(诸如数字信号处理器(DSP)501)以处理多个指令来促进位于内部网络中的无线设备500与目标对等体之间的通信,其中该内部网络通过NAT与一个或多个外部网络分隔开。在一个示例中,DSP 501根据方法400处理指令。移动设备110可以被实现为无线设备500。
[0069]图5还示出了耦合至DSP 501和显示器532的显示器控制器530。编码器/解码器(C0DEC)534也可耦合至DSP 501。扬声器536和话筒538可耦合至CODEC 534。附加地,无线控制器540可耦合至DSP 501和无线天线548。在一实施例中,DSP 501、显示器控制器530、存储器550、C0DEC 534以及无线控制器540被包括在系统级封装或片上系统设备556中。
[0070]在一实施例中,输入设备530和电源560耦合至片上系统设备556。此外,在一实施例中,如图5中所解说的,显示器532、输入设备530、扬声器536、话筒538、无线天线548和电源560在片上系统设备556的外部。显示器532、输入设备530、扬声器536、话筒538、无线天线548和电源560中的每一者可耦合至片上系统设备556的组件,诸如接口或控制器。无线设备的用户可以与另一用户通过
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1