CN107251510A - 建立并且保持voip呼叫 - Google Patents

建立并且保持voip呼叫 Download PDF

Info

Publication number
CN107251510A
CN107251510A CN201580060468.2A CN201580060468A CN107251510A CN 107251510 A CN107251510 A CN 107251510A CN 201580060468 A CN201580060468 A CN 201580060468A CN 107251510 A CN107251510 A CN 107251510A
Authority
CN
China
Prior art keywords
equipment
callee
caller
relay server
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580060468.2A
Other languages
English (en)
Other versions
CN107251510B (zh
Inventor
曼普雷特·辛格
艾伦·A·克雷特
艾瑞克·詹姆斯·雷德
迈克尔·B·多诺霍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Woz EPP Co.,Ltd.
Original Assignee
WhatsApp LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by WhatsApp LLC filed Critical WhatsApp LLC
Publication of CN107251510A publication Critical patent/CN107251510A/zh
Application granted granted Critical
Publication of CN107251510B publication Critical patent/CN107251510B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/56Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP for VoIP communications
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/10009Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the number, the constitution or treatment of glass sheets
    • B32B17/10036Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the number, the constitution or treatment of glass sheets comprising two outer glass sheets
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10559Shape of the cross-section
    • B32B17/10577Surface roughness
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10559Shape of the cross-section
    • B32B17/10577Surface roughness
    • B32B17/10587Surface roughness created by embossing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10688Adjustment of the adherence to the glass layers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B17/00Layered products essentially comprising sheet glass, or glass, slag, or like fibres
    • B32B17/06Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material
    • B32B17/10Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin
    • B32B17/10005Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing
    • B32B17/1055Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer
    • B32B17/10761Layered products essentially comprising sheet glass, or glass, slag, or like fibres comprising glass as the main or only constituent of a layer, next to another layer of a specific material of synthetic resin laminated safety glass or glazing characterized by the resin layer, i.e. interlayer containing vinyl acetal
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/06Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material
    • B32B27/08Layered products comprising a layer of synthetic resin as the main or only constituent of a layer, which is next to another layer of the same or of a different material of synthetic resin
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/18Layered products comprising a layer of synthetic resin characterised by the use of special additives
    • B32B27/22Layered products comprising a layer of synthetic resin characterised by the use of special additives using plasticisers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/30Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/30Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers
    • B32B27/306Layered products comprising a layer of synthetic resin comprising vinyl (co)polymers; comprising acrylic (co)polymers comprising vinyl acetate or vinyl alcohol (co)polymers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B27/00Layered products comprising a layer of synthetic resin
    • B32B27/42Layered products comprising a layer of synthetic resin comprising condensation resins of aldehydes, e.g. with phenols, ureas or melamines
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B3/00Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form
    • B32B3/26Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form characterised by a particular shape of the outline of the cross-section of a continuous layer; characterised by a layer with cavities or internal voids ; characterised by an apertured layer
    • B32B3/30Layered products comprising a layer with external or internal discontinuities or unevennesses, or a layer of non-planar shape; Layered products comprising a layer having particular features of form characterised by a particular shape of the outline of the cross-section of a continuous layer; characterised by a layer with cavities or internal voids ; characterised by an apertured layer characterised by a layer formed with recesses or projections, e.g. hollows, grooves, protuberances, ribs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B7/00Layered products characterised by the relation between layers; Layered products characterised by the relative orientation of features between layers, or by the relative values of a measurable parameter between layers, i.e. products comprising layers having different physical, chemical or physicochemical properties; Layered products characterised by the interconnection of layers
    • B32B7/02Physical, chemical or physicochemical properties
    • CCHEMISTRY; METALLURGY
    • C03GLASS; MINERAL OR SLAG WOOL
    • C03CCHEMICAL COMPOSITION OF GLASSES, GLAZES OR VITREOUS ENAMELS; SURFACE TREATMENT OF GLASS; SURFACE TREATMENT OF FIBRES OR FILAMENTS MADE FROM GLASS, MINERALS OR SLAGS; JOINING GLASS TO GLASS OR OTHER MATERIALS
    • C03C27/00Joining pieces of glass to pieces of other inorganic material; Joining glass to glass other than by fusing
    • C03C27/06Joining glass to glass by processes other than fusing
    • C03C27/10Joining glass to glass by processes other than fusing with the aid of adhesive specially adapted for that purpose
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/20Repeater circuits; Relay circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • H04L65/1023Media gateways
    • H04L65/103Media gateways in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2250/00Layers arrangement
    • B32B2250/022 layers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2250/00Layers arrangement
    • B32B2250/40Symmetrical or sandwich layers, e.g. ABA, ABCBA, ABCCBA
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/10Properties of the layers or laminate having particular acoustical properties
    • B32B2307/102Insulating
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/30Properties of the layers or laminate having particular thermal properties
    • B32B2307/308Heat stability
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/50Properties of the layers or laminate having particular mechanical properties
    • B32B2307/538Roughness
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2307/00Properties of the layers or laminate
    • B32B2307/70Other properties
    • B32B2307/732Dimensional properties
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2605/00Vehicles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B32LAYERED PRODUCTS
    • B32BLAYERED PRODUCTS, i.e. PRODUCTS BUILT-UP OF STRATA OF FLAT OR NON-FLAT, e.g. CELLULAR OR HONEYCOMB, FORM
    • B32B2605/00Vehicles
    • B32B2605/006Transparent parts other than made from inorganic glass, e.g. polycarbonate glazings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Ceramic Engineering (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • General Chemical & Material Sciences (AREA)
  • Geochemistry & Mineralogy (AREA)
  • Materials Engineering (AREA)
  • Organic Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

提供一种系统、装置及方法用于建立和支持从一个计算/通信设备至另一计算/通信设备的VOIP(互联网协议承载的语音)呼叫。系统从呼叫者接收呼叫邀约,将呼叫邀约转发至被呼叫者,并且为各方识别用于中继它们的数字化语音通信的多个候选中继实体。各设备与一个或全部中继器绑定,并且它们中的一方或两方根据需要选择中继器中的一个用于呼叫的中继操作模式中。一个或多个中继器告知设备它们的外部网络地址,并且各设备通过系统将其(内部和外部)地址传递给彼此。设备尝试建立直接连接,以在端对端操作模式中进行它们的呼叫,但是可根据需要在端对端模式与中继模式之间动态地切换。

Description

建立并且保持VOIP呼叫
技术领域
本发明涉及计算机和电子通信领域。更具体地,提供一种用于建立并且保持VOIP(互联网协议承载语音,Voice Over Internet Protocol)呼叫的系统、装置以及方法。
背景技术
现有VOIP方案具有有限的灵活性,意味着如果参与VOIP呼叫的设备的地址(例如,IP地址)改变,VOIP连接通常失败并且一方或两方参与者必须重新发起呼叫。此外,根据现有的程序建立VOIP呼叫通常要求大量的协议协商,这可能减损用户的体验。
发明内容
在本发明的一些实施方式中,用于促进建立和保持VOIP呼叫的系统从呼叫者设备接收呼叫或呼叫邀约,将其转发至被呼叫者的设备,并且为两个设备识别可获得的用于中继它们的数字化语音通信的多个候选中继实体。每个设备与一个或全部中继绑定,以使得它们分配传输端点,并且如果并且当变得需要时,它们中的一方或两方选择一个中继来使用。
一个或多个中继将设备的外部网络地址通知给设备并且每个设备通过系统将其(内部和外部)地址传递给彼此。设备尝试建立端对端连接,以进行它们的呼叫,但是,可根据需要或视情况在端对端操作模式与中继操作模式之间动态地切换。
在一些实施方式中,随着一方或两方设备漫游至不同的网络,它们与所选择的中继(和/或一个或多个其他中继)重新建立通信,以获得它们的新的(外部)地址,并且再次与另一设备共享新的地址,并且它们继续尝试建立端对端连接。当不能连接时,设备使用所选择的中继来中继它们的数字化通信。
可将设备的地址确定优先级或确定次序,以指示哪一地址优先或更可能取得成功。例如,当一个设备漫游至另一设备使用的网络之外的网络时,可将该设备的外部地址优先化,Wi-Fi地址可优先于蜂窝地址(即,语音服务供应商的数据网络内的地址)等。
在涉及方法、储存介质、系统及计算机程序产品的所附权利要求书中具体公开了根据本发明的实施方式,其中,在一个权利要求范畴(例如,方法)中提及的任何特征也可在另一权利要求范畴(例如,系统)中要求保护。仅出于形式原因而选择所附权利要求中的从属关系或者向后引用。然而,也可要求保护由故意向后引用至任一之前权利要求而产生的任何主题(具体地,多项引用关系),使得权利要求及其特征的任何组合被公开并且能够被保护,而不管所附权利要求中是否选定出该从属关系。能够要求保护的主题不仅包括所附权利要求中记载的特征的组合,而且还包括权利要求中的特征的任何其他组合,其中,权利要求中提及的每个特征能够与权利要求中的任何其他特征或其他特征的组合相结合。进一步地,在单独权利要求中能够要求保护文中描述或描绘的任何实施方式及特征,和/或文中描述或描绘的任何实施方式及特征能够与文中描述或描绘的任何实施方式及特征任意组合地被保护或者与所附权利要求的任何特征组合地被保护。
在根据本发明的实施方式中,支持经由一个或多个计算机网络进行的语音呼叫的计算机实施方法,该方法包括:
从呼叫者设备接收呼叫邀约,其中,呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至呼叫者设备和被呼叫者设备;
从呼叫者设备和被呼叫者设备中的一方或两方中接收对多个候选中继服务器之中的一个中继服务器的选择;并且
以包括呼叫者设备、所选择的中继服务器以及被呼叫者设备的中继操作模式临时执行语音呼叫;
其中,在语音呼叫过程中,呼叫者设备和被呼叫者设备在中继操作模式与端对端操作模式之间切换至少一次,在端对端操作模式中,它们直接执行语音呼叫,而无需多个候选中继服务器中的任一个。
在根据本发明的实施方式中,方法可包括:
在多个候选中继服务器中的每个中继服务器处,接收来自呼叫者设备和被呼叫者设备中的每个设备的连接;并且
在多个候选中继服务器中的一个或多个中继服务器处,对呼叫者设备和被呼叫者设备中的每个设备识别设备的外部地址。
呼叫者设备和被呼叫者设备中的至少一方可基于识别的发送至多个候选中继服务器的通信与从多个候选中继服务器接收的通信之间的时间延迟选定所选择的中继服务器。
接收对多个候选中继服务器之中的一个中继服务器的选择可包括:
从呼叫者设备和被呼叫者设备中的第一设备接收所识别的时间延迟;
将收到的时间延迟转发至呼叫者设备和被呼叫者设备中的另一设备;并且
从另一设备接收对所选择的中继服务器的识别。
在根据本发明的实施方式中,方法可包括:在与多个候选中继服务器不同的通信服务器处:
接收呼叫者设备和被呼叫者设备的外部地址;并且
将外部地址转发至呼叫者设备和被呼叫者设备中的另一设备。
在根据本发明的实施方式中,方法可包括:在呼叫者设备和被呼叫者设备中的一方从第一网络漫游至第二网络之后:
在所选择的中继服务器处,从一方设备接收新的连接;
从所选择的中继服务器对一方设备识别该一方设备的新外部地址;
在通信服务器处接收新外部地址;并且
将新外部地址从通信服务器转发至呼叫者设备和被呼叫者设备中的另一方。
在根据本发明的实施方式中,方法可包括:响应与接收呼叫邀约,在与多个候选中继服务器不同的一组通信服务器处,:
确定被呼叫者设备与通信服务器中的一个之间是否存在当前通信连接;并且
如果被呼叫者设备与通信服务器中的一个之间不存在通信连接,则向被呼叫者设备发送关于呼叫邀约的推送通知。
仅在呼叫者设备和被呼叫者设备尝试发起端对端操作模式之后,才发起以中继操作模式临时执行的语音呼叫。
仅在呼叫者设备和被呼叫者设备执行下列操作之后,才发起以中继操作模式临时执行的语音呼叫:
建立端对端操作模式;并且
端对端操作模式随后失败。
在根据本发明的实施方式中,方法可包括:
在语音呼叫过程中,接收对多个候选中继服务器之中的第二中继的选择。
呼叫邀约可识别多个被呼叫者设备或多个被呼叫者设备的用户。
在根据本发明的实施方式中,一种非暂时性计算机可读介质可储存指令,当处理器运行指令时,使计算机执行支持经由一个或多个计算机网络执行的语音呼叫的方法,该方法可包括:
从呼叫者设备接收呼叫邀约,其中,呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至呼叫者设备和被呼叫者设备;
从呼叫者设备和被呼叫者设备中的一方或两方中接收对多个候选中继服务器之中的所选择中继服务器的选择;并且
以包括呼叫者设备、所选择的中继服务器、以及被呼叫者设备的中继操作模式临时执行语音呼叫;
其中,在语音呼叫过程中,呼叫者设备和被呼叫者设备在中继操作模式与端对端操作模式之间切换至少一次,在端对端操作模式下,它们直接执行语音呼叫,无需多个候选中继服务器中的任一个。
在根据本发明的实施方式中,一种用于支持经由一个或多个计算机网络执行的语音呼叫的系统可包括:
多个通信服务器,每个通信服务器均包括储存指令的非暂时性计算机可读介质,当处理器运行指令时,使通信服务器配置为:
从呼叫者设备接收呼叫邀约,其中,呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个中继服务器的地址发送至呼叫者设备和被呼叫者设备;并且
从呼叫者设备和被呼叫者设备中的一方或两方接收对多个中继服务器之中的一个中继服务器的选择;和
多个中继服务器,每个中继服务器均包括储存指令的非暂时性计算机可读介质,当处理器运行指令时,使中继服务器配置为:
以包括呼叫者设备、所选择的中继服务器、以及被呼叫者设备的中继操作模式临时执行语音呼叫。
每个中继服务器的计算机可读介质进一步储存指令,当处理器运行指令时,使中继服务器配置为:
从呼叫者设备和被呼叫者设备中的每个设备接收连接;并且
对呼叫者设备和被呼叫者设备中的每个设备识别设备的外部地址。
呼叫者设备和被呼叫者设备中的至少一方可基于识别的发送至多个中继服务器的通信与从多个中继服务器接收的通信之间的时间延迟选定所选择的中继服务器。
接收对多个中继服务器之中的一个中继服务器的选择可包括:
在通信服务器中的一个服务器处,从呼叫者设备和被呼叫者设备中的第一设备接收所识别的时间延迟;
将收到的时间延迟从一个通信服务器转发至呼叫者设备和被呼叫者设备中的另一设备;并且
在一个通信服务器处,从另一设备接收对所选择的中继服务器的识别。
在根据本发明的实施方式中,用于支持经由一个或多个计算机网络执行的语音呼叫的系统可包括:在通信服务器中的一个通信服务器处,
接收呼叫者设备和被呼叫者设备的外部地址;并且
将外部地址转发至呼叫者设备和被呼叫者设备中的另一方。
在根据本发明的实施方式中,用于支持经由一个或多个计算机网络执行的语音呼叫的系统,其中:
所选择的中继服务器的计算机可读介质进一步储存指令,当处理器运行指令时,使所选择的中继服务器在呼叫者设备和被呼叫者设备中的一方从第一网络漫游至第二网络之后配置为:
在所选择的中继服务器处,从一个设备接收新连接;并且
对一方设备识别该一方设备的新外部地址;以及
每个通信服务器的计算机可读介质进一步储存指令,当处理器运行指令时,使通信服务器配置为:
接收新的外部地址;并且
将新的外部地址转发至呼叫者设备和被呼叫者设备中的另一方设备。
在根据本发明的实施方式中,用于支持经由一个或多个计算机网络执行的语音呼叫的系统可包括:
客户端逻辑,在呼叫者设备和被呼叫者设备中的每个设备上运行并且包括指令,当处理器运行指令时,使处理器对于多个中继服务器中的每个中继服务器配置为:
将绑定请求发送至中继服务器;并且
如果从中继服务器收到确认,则测量绑定请求的发送与绑定请求的确认的接收之间的延迟。
客户端逻辑进一步可包括指令,当处理器运行指令时,使处理器配置为:
在呼叫者设备和被呼叫者设备中的一个设备处,接收通过呼叫者设备和被呼叫者设备中的另一设备测量的一个或多个中继服务器延迟;并且
基于在呼叫者设备和被呼叫者设备处测量的总中继服务器延迟选择一个中继服务器。
每个通信服务器的计算机可读介质可进一步储存指令,当处理器运行指令时,使通信服务器响应于收到呼叫邀约而配置为:
确定被呼叫者设备与通信服务器中的一个服务器之间是否存在当前通信连接;并且
如果被呼叫者设备与通信服务器之间不存在通信连接,则向被呼叫者设备发送关于呼叫邀约的推送通知。
仅在呼叫者设备和被呼叫者设备尝试发起端对端操作模式之后,才发起以中继操作模式临时执行的语音呼叫。
仅在呼叫者设备和被呼叫者设备执行下列操作之后,才发起以中继操作模式下临时执行的语音呼叫:
建立端对端操作模式;并且
端对端操作模式随后失败。
呼叫邀约可识别多个被呼叫者设备或多个被呼叫者设备的用户。
在根据本发明的进一步实施方式中,一个或多个计算机可读非暂时性储存介质包含软件,软件可操作为在被执行时,执行根据本发明或任意上述实施方式的方法。
在根据本发明的进一步实施方式中,一种系统包括:一个或多个处理器;和至少一个存储器,该至少一个存储器耦接至处理器并且包括由处理器可运行的指令,处理器可操作为在运行指令时执行根据本发明或任意上述实施方式的方法。
在根据本发明的进一步实施方式中,一种计算机程序产品,优选地,包括计算机可读非暂时性储存介质,可操作为在数据处理系统上被执行时,执行根据本发明或任意上述的实施方式的方法。
附图说明
图1是根据一些实施方式的用于建立并且保持VOIP呼叫的系统的框图。
图2A-B是示出根据一些实施方式的建立并且保持VOIP呼叫的方法的时序图。
图3是根据一些实施方式的用于支持VOIP呼叫的建立和保持的装置的框图。
具体实施方式
呈现以下说明以使本领域技术人员制造和使用文中描述的实施方式。所公开的实施方式的各种变形对本领域技术人员是易于显而易见,并且在不背离本公开的范围的情况下,文中限定的一般性原理可适用于其他实施方式和应用。
在一些实施方式中,提供的系统、装置及方法用于建立和保持两个设备之间的VOIP(互联网协议承载语音)通信会话(例如,VOIP呼叫)。VOIP连接是动态的,意味着它能够视情况或根据需要在不同模式之间来回切换,诸如其中通过另一实体(例如,中继服务器)来将设备的数字化音频通信进行中继的中继模式和其中各设备直接通信(即,无中继实体)的端对端(P2P)模式。
例如,各设备能够通过连接至例如同一接入点而建立端对端连接。然而,当一个或两个设备移动并且连接至不同的网络(例如,不同的Wi-Fi网络或接入点、移动运营商的网络)并且采用不同的地址时,它们可(临时)通过中继实体进行通信,至少直至它们重新建立端对端连接(如果它们曾经能够建立)。设备可出于交换文本或其他非音频内容的信令目的(例如,协商或重新协商P2P连接、识别对中继实体)和/或其他目的而在呼叫的整个期间与系统保持连接。
尽管将文中呈现的实施方式描述为实施为支持VOIP呼叫,但是可将系统、方法以及装置适用于因为它们并不采用例如互联网协议而并不严格符合VOIP呼叫的其他形式的数字化视频和音频(例如,语音)通信。
在一些实施方式中,可将文中描述的方法整合到移动和/或固定计算和/或通信设备(例如,智能电话、平板电脑)中安装的通信应用中。在一些具体的实施方式中,应用是其中除VOIP呼叫之外的经由符合IEEE 802.11标准(例如,连接)的数据通信信道来交换文本、图像、视频、语音记录和/或其他电子信息的通信应用。例如,应用可以是由WhatsApp Inc提供的Messenger应用。
图1是根据一些实施方式的用于建立和保持VOIP呼叫的系统的框图。
在这些实施方式中,通信系统120的用户操作其中运行相同或不同操作系统(例如,安卓、黑莓、iOS、诺基亚S40、塞班、视窗电话)的各种便携式通信设备。因此,设备102、104由不同的用户操作并且在功能、应用、实用性方面等方面进行类似或不同配置。然而,它们中的每个设备均执行由通信系统120托管(hosted)的通用通信应用的版本。
当用于参与文中描述的VOIP或一些其他形式的数字化音频通信时,设备102、104中的一个由呼叫者(或者主叫方)操作并且因此可被定义为呼叫者设备,而另一个由被呼叫者(或被叫方)操作并且因此可被定义为被呼叫者设备。
示出的设备102、104之间的数字化音频通信可以是直接(端对端模式下)或间接(中继模式下)的。在后者情况下,通信系统120内或隶属于通信系统120的中继服务器从各个设备接收数据包(packet)或其他通信要素(communication element)并且将它们中继给另一个或者朝着另一个进行中继。
系统120是用于托管由多个用户同时使用的通信应用或服务的数据中心、计算机网络或计算资源的其他协作集合或者至少是该应用或服务的服务器部分。如上所述,在一些实施方式中,应用为用户提供VOIP能力以及从他或她的通信设备(例如,设备102)与由一个或多个其他用户操作的通信设备(例如,设备104)间来往的文本、音频记录、照片、视频、以及多媒体的即时消息。
由系统120托管的通信应用与设备102、104兼容并且包括在设备的本地操作系统下运行的客户端逻辑。操作一种类型的设备并且订购一个通信服务器供应商的用户能够参与VOIP呼叫并且与操作其他类型的设备且订购其他通信服务供应商的用户交换消息。因此,VOIP呼叫者或主叫方可使用一个设备平台,而被呼叫者或被呼叫方使用不同的平台。
在一些实施方式中,被呼叫者或被叫方可使用耦接至POTS(旧式普通电话业务)的传统陆线电话参与呼叫。在这些实施方式中,系统120中的部件用作传统电话连接的端点并且提供模数转换和数模转换。
通信服务器122是系统120的托管用户与该系统连接并且促进用户之间的通信交换的前端部件。因为服务器122能够从各个用户接收用于传递至一个或多个其他用户的实时文本消息和聊天会话通信,所以服务器122可被称之为“聊天”服务器。尽管可将通过通信服务器122处理的一些消息定义为“聊天”消息,然而,它们并不局限于文本内容而是可(或还)包含嵌入的、附加的、或相关联(例如,链接的)媒体内容以及协议级消息。
通信服务器122还有助于在与系统120耦接的设备之间建立和保持VOIP呼叫。如下所述,例如,通信服务器120可中继或帮助建立相关的呼叫参数(例如,使用那种编解码器或编码方案,应用那种采样率),提供被动参与或主动参与呼叫的设备经其可传递非音频数据(例如,它们的网络地址、当前状态(status)、呼叫的接受或拒接)的路径、根据需要帮助从一个模式至另一模式的切换等。
通信服务器122还可用作系统120中的其他部件的入口。因此,当用户请求另一用户的状态或更新配置文件或其他信息时,例如,通过与他或她连接的通信服务器可将他或她的动作路由至适当的系统部件。
示出性地,只要用户与系统120是在线的并且在他或她的设备上运行应用,则包括VOIP呼叫期间,可以保持设备与通信服务器122之间的连接或会话。当用户关闭设备上的应用或终止呼叫时,他或她的连接可持续一段时间(例如,五分钟、十五分钟)。
状态服务器124维护用户和/或用户设备的状态或多种状态。因此,状态服务器储存一些或全部的用户配置文件,包括适用的偏好(例如,优选的可听和/或可视警报、显示给其他用户的状态信息)、设备类型/型号、配置文件照片等。由状态服务器关于用户维护的一些状态信息仅可在用户与系统120的当前连接的持续时间内存留;其他信息可无限期地存留。一个或多个状态服务器124还可确定或帮助确定数字化音频呼叫(例如,VOIP呼叫)的目标或潜在接收者的资格。
此外,状态服务器124储存根据需要向用户设备推送消息时所需的信息,诸如,经由用户的服务供应商与设备通信时所需的设备令牌。该设备令牌也可以或者可选地被称为“设备URI(统一资源标识符)”、“注册id”、“PIN”(个人识别码),或者可具有一些其他的名字。该令牌对特定设备或特定用户是唯一的。在一些情形中,诸如,当被呼叫者设备尚未(例如,经由通信服务器122)连接至系统120时,可将推送消息发送至该设备,以将其唤醒并且使其连接至系统,之后呼叫尝试或邀约可被传递,并且该令牌可被对应的服务供应商所要求以便传递消息。
在VOIP呼叫的中继操作模式过程中,使用中继服务器126以在呼叫者与被呼叫者设备之间中继数字化音频。在一些实施方式中,仅当端对端模式不可用时才执行中继操作模式。在中继模式过程中,通信设备可周期性地或定期地尝试激活端对端模式,尤其当设备之一改变网络—诸如从一种Wi-Fi网络改变至另一种网络、从Wi-Fi网络改变至移动运营商的网络(或反之亦然)等的任何时候。
系统120内可部署任意数目(例如,一个或多个)通信服务器、状态服务器、中继服务器、和/或其他服务器。在其他实施方式中,诸如通过被合并成更少的部件或划分出额外的部件而以不同的方式分配服务器122、124、126的功能。
系统120的服务器可以是包括适合于执行归因于它们的功能的不同的硬件资源(例如,处理器、存储器、通信接口)和软件资源(例如,程序代码、数据)的单独物理计算机系统。在一些可替代的实施方式中,任一或全部服务器可以是共享硬件和/或软件资源的虚拟计算机。因此,执行不同功能(或相同功能)的多个软件服务器模块可驻留于系统120内的一个服务器计算机上。
一个或多个网络150提供系统120与用户设备之间以及不同用户设备之间的通信路径,并且可包括数据和/或语音通信信道。为了执行数据通信,网络150可包括互联网、一个或多个内联网、LAN(局域网)、WAN(广域网)、和/或性质上可以是有线和/或无线的其他点到点或分布式连接。为了执行语音通信,一个或多个网络150可包括由不同电信服务供应商管理并且虚拟地实施任意无线技术,诸如全球移动通信系统(GSM)、增强数据率的GSM演进(EDGE)、长期演进(LTE)、码分多址接入(CDMA)、演进数据优化(EV-DO)等的有线和/或无线语音通信链路。
因此,网络150可包括图1中未示出的各种实体,诸如,路由器、网关、交换机、基站(例如,无线接入点、Node B、演进Node B等),和/或用于建立、维护、交换、或通过其他方式操纵数据和/或数字化语音连接的其他设备。
图2A和图2B形成了示出根据一些实施方式的建立并且保持VOIP呼叫的方法的时序图。
在这些实施方式中,呼叫者使用第一客户端设备(例如,智能电话、计算设备)操作其中特征支持与一个或多个他方进行VOIP和/或其他实时数字化音频通信的通信应用。呼叫者210表示呼叫者和/或呼叫者的设备。被呼叫者使用第二客户端设备操作同一应用或兼容的应用,并且被呼叫者240表示被呼叫者和/或被呼叫者的设备。
在一些实施方式中,可在多于两方之间建立呼叫。例如,来自呼叫者的呼叫邀约可识别多个不同的被呼叫者(或被呼叫者设备)或可包括对一组被呼叫者或一组设备进行识别的组标识符。
由包括一个或多个通信服务器(例如,聊天服务器)、中继服务器、和/或其他部件的应用主机系统(例如,图1中的系统120)托管、操作、或者通过其他方式管理通信应用。在一些实施方式中,通信服务器220可以是应用主机系统中的一些其他部件。此外,尽管将示出的方法描述为使用一个通信服务器与呼叫者和被呼叫者进行通信,然而,在其他方法中,可以采用两个或更多个协作的通信服务器,每个通信服务器均主持与其中一方的连接。
中继服务器230是应用主机系统的另一部件或者由与本文描述的应用主机系统协作地动作的另一实体提供。
在VOIP呼叫从呼叫者210至被呼叫者240发起之前,至少呼叫者设备连接至应用主机系统(例如,通信服务器220)。例如,呼叫者可以与一个或多个其他用户交换文本(例如,聊天)消息,其他用户可包括或可不包括被呼叫者240。因此,在呼叫者能够发起呼叫之前,其必须连接至系统。他可手动登录来验证其身份,或者他的设备可自动将其登录。示出性地,当用户启动应用或发起呼叫时,用户的设备可自动打开到应用主机系统的连接。
同样,在呼叫能够被连接至被呼叫者240之前(假设被呼叫者接受呼叫),她或他的设备需要登录。因此,尽管双方必须是应用的登入用户并且连接至系统,以便参与VOIP呼叫,然而,他们的设备可自动进行连接而在他们的角度上来说无需额外动作,除非根据需要操纵应用来进行VOIP呼叫或接受要约的呼叫。
因此,在时间250,呼叫者激活应用内的控制(control),允许他对被呼叫者发起实时数字化或数字音频呼叫。示出性地,控制可以设置在与被呼叫者对应的联系人或联系人卡片的列表内,设置在发送至被呼叫者或从被呼叫者接收的消息内或与该消息相关联地设置,或者设置在一些其他上下文中。呼叫邀约利用诸如应用主机系统知道的标识符(例如,电话号码、电子邮件地址)等识别呼叫者和被呼叫者(或他们的设备),提供呼叫者设备支持的音频参数(例如,(多个)编解码器、采样率)、呼叫者210的本地或内部地址(以及可能的端口)和/或其他信息。
作为响应,通信服务器220确认呼叫邀约并且根据需要,识别可获得的用于所请求呼叫的中继操作模式的一组中继服务器(包括图2A和图2B的中继服务器230)。在一些实施方式中,可以识别所有现存的中继服务器;在其他实施方式中,例如,基于呼叫者210和/或被呼叫者240的位置可以识别全部服务器的子集。中继细节示出性地包括至少一个地址(例如,和端口),诸如,IP(互联网协议)地址和TCP(传输控制协议)或UDP(用户数据报协议)端口、加上由应用主机系统产生并且验证已授权呼叫者210使用一个或多个中继服务器的中继令牌。应注意,此令牌可以与以上提及的设备令牌(或设备URI)不同。
除了向呼叫者210提供中继细节之外,通信服务器220还将呼叫邀约及相同或相似中继细节转发至被呼叫者240或者向被呼叫者240转发呼叫邀约及相同或相似中继细节。如果被呼叫者当前连接至应用主机系统,则在时间252,呼叫邀约被传递并且被呼叫者设备可响铃(或发出蜂鸣、振动、或呈现一些其他警报,取决于设备如何进行配置)。
然而,如果被呼叫者240当前并未连接至系统,则可向被呼叫者设备发送推送通知,以使应用开启并且连接至系统,使得呼叫邀约可被传递。例如,可以由设备的操作系统的供应商经由谷歌云消息(GCM)或苹果推送通知服务(APNS)传递或转发该通知。提供给被呼叫者240的中继细节可识别被识别给呼叫者210的相同中继服务器或者可识别一些其他组的可获得中继。被呼叫者设备还接收中继令牌,以授权其使用中继服务器230。
被呼叫者可拒绝或忽略呼叫邀约,在这种情况下,经由通信服务器220将拒绝返回至呼叫者(可能与拒绝原因一起),但是,图2A和图2B中所示的方法假设她接受或将要接受邀约的呼叫。
同时,在时间252之时或附近,呼叫者的及被呼叫者的设备与被识别给它们的包括中继服务器230的一些或全部中继服务器绑定,如果并且当它们采用中继操作模式时,这使得一个或多个中继服务器分配用于中继各方之间的数字化音频通信的端点。
中继服务器确认该绑定(如果它们能够绑定的话)并且向呼叫者设备及被呼叫者设备中的每个提供设备的外部地址,可替代地,外部地址可被称之为其反身地址或公共地址。在这些实施方式中,各个设备已获知其自身的本地或内部地址(例如,其本地网络内)并且能够将本地或内部地址提供至应用主机系统(例如,通信服务器220),但是,它们可能不知道它们的外部地址。
在所示出的方法中,在设备的本地网络内(例如,网络地址转换或NAT实体的一侧上)使用内部地址,而它们在这些网络外(例如,位于NAT实体的另一侧/公共侧上)通过它们的外部地址被知晓。通过与(多个)中继服务器230通信,设备获知它们的外部地址。
一旦收到其外部地址,呼叫者210将该地址报告给通信服务器220,通信服务器220将其转发给被呼叫者240。与该外部地址一起,呼叫者发送(并且通信服务器转发)与已绑定的(多个)中继服务器230相关的延迟信息。
具体地,在所示出的实施方式中,为了选择多个中继服务器中的一个,供各方在中继操作模式期间使用,它们基于发送至中继的通信(例如,绑定请求)以及中继响应(例如,它们的确认)中包含的延迟选定(或它们中的一个选定)单个中继服务器。
例如,呼叫者可计算其对各个中继服务器的请求以及它们的响应中包含的延迟,并且(与呼叫者的外部地址一起)将对做出响应的各个服务器观察出的延迟报告给被呼叫者。被呼叫者将其观察到的延迟相加到呼叫者所报告的值,以得出各个服务器的总延迟,然后,选择具有最低总延迟的中继服务器。如图2A中所示,被呼叫者可不发送其绑定请求并且开始测量延迟,直至其收到呼叫邀约之后,而呼叫者可以在知道中继服务器的细节(例如,它们的地址)后立即进行。
任一方或双方可在有限的时间段内或在整个呼叫过程中向未做出响应的中继服务器继续发送请求。因为即使在建立呼叫之后,一方也可继续获得延迟值,所以所选择的中继服务器可在建立呼叫之前和/或在呼叫过程中做出改变。
因此,各方的设候选择中继服务器,而非具有由应用主机系统为它们选择的一个中继服务器,并且能够非常快速地做出选择。在其他实施方式中,可以应用其他方法来选择一个中继服务器并且可考虑或可不考虑延迟或定时信息。
在时间256,被呼叫者接受所邀约(offered)的VOIP呼叫,并且接受消息、被呼叫者设备的外部地址和所选择的中继服务器的标识符(例如,地址)被发送至通信服务器220。作为接受消息的一部分,被呼叫者设备发送其与呼叫者设备已经提供的内容(例如,(多个)编解码器、采样率、地址/端口)对应的操作参数。如果仅向各方提供一个中继服务器,则被呼叫者可省去对所选择的中继服务器的识别,或者可简单确认对该一个服务器的选择或接受。如果多个中继服务器可用,并且被呼叫者在其接受呼叫邀约的时间以前尚未选择呼叫用的一个中继服务器,则可随后发送所选择的中继服务器的标识符。
在一些实施方式中,通信服务器220或一些其他系统部件可确定由一个或两个设备能够使用或将使用于呼叫的呼叫参数。对一方设备的参数的选择可取决于由该设备之前(成功)实施的参数、设备的当前配置和/或其他因素。
在接受呼叫不久之后,被呼叫者240尝试发起端对端(PZP)操作模式和中继操作模式中的一个或两者。
在所示出的方法中,两个设备首先转到中继操作模式,这是部分由于它们已经打开与中继服务器230的连接,但尚不能够建立或验证P2P连接性。然而,在一些其他实施方式中,设备首先尝试建立P2P连接及P2P操作模式。
然而,即使开始中继操作模式,被呼叫者240也开始试图验证与呼叫者210的连接性。示出性地,P2P连接性检查可包含:一个设备尝试联系在其知道的任何或所有地址(例如,内部和/或外部的)处的其他设备,以确定是否存在可行路径。如果若干次连接请求(例如,10次)失败,则可假定缺少连接性(并且在至少一段时间内终止检查)。
如果两个设备能够联系至另一个,它们可开始协商P2P连接。在所示出的方法中,渐进地执行协商(例如,当每一方设备变得意识到另一设备的(多个)有关地址),而非突然执行。
同时,通信服务器220向呼叫者210转发接受消息、被呼叫者的外部地址以及所选择的中继服务器的标识(例如,地址)。现在,呼叫者设备能够在与被呼叫者240协商(或尝试协商)开始P2P操作模式的同时,也开始与中继服务器230的数字化语音数据通信。
因此,在时间260之时或左右,呼叫者和被呼叫者能够在中继操作模式下开始它们的VOIP通信,但是,可以通过尝试联系彼此及交换任何必要的通信参数,继续尝试建立P2P模式。如果它们成功,它们将自动切换至该操作模式,作为喜欢的模式。然而,此外,VOIP呼叫可以是非对称的,意味着一方可在一种模式(例如,P2P)下发送数据,而另一方在另一种模式(例如,中继)下进行发送。这可仅在短暂时间段内、相当长的时间段内、或整个呼叫期间发生。
在一些实施方式中,在稍后时间一方或两方设备移动时,在这种情况下,它们连接至不同的网络,这意味着它们的内部地址和外部地址可能发生改变。
如图2B中所示,例如,在时间270,呼叫者设备移动(或被移动)并且连接至不同的Wi-Fi网络、移动运营商网络或其他网络。因此,呼叫者设备向中继服务器230(和/或其他中继服务器)发送新的绑定请求,中继服务器确认该绑定并且识别设备的新外部地址。新的绑定请求可包括系统之前提供给呼叫者210的同一令牌或者呼叫者设备可在新的绑定请求之前获得一个新的令牌。
然后,呼叫者210将其新的外部地址转发至通信服务器220(如果服务器未获知的话,加上其内部地址),并且通信服务器将(多个)新地址转发至被呼叫者240。呼叫者210还使用其新地址发起中继操作模式的新重复。
在时间272,一旦收到呼叫者的新外部地址,被呼叫者可回到中继操作模式。具体地,如果各方已经传送P2P并且被呼叫者停止经由P2P连接接收数据包,将立即经由中继服务器230开始VOIP呼叫的中继操作模式,但是,还将尝试重新协商P2P连接。如果失败,各方可保持于中继操作模式中。
同时,呼叫者210使用被呼叫者240的已知地址,开始试图从其(多个)新地址发起中继模式。如果成功,它们将协商P2P模式的操作。
在一些实施方式中,通过设备自身或一些其他实体,呼叫者210和/或被呼叫者240的地址被确定优先级,以反映各自应被给定的优先级。例如,Wi-Fi地址通常比蜂窝地址给予更高的优先级,并且内部地址优先于外部地址(如果双方的设备在同一网络内)。
然而,当呼叫中断时,诸如,当一个设备改变网络时,可临时给予其新外部地址最高的优先级而无论该地址在Wi-Fi网络内还是在蜂窝网络内。
应当理解的是,VOIP呼叫的建立和/或保持可从一种情景或环境改变至另一情景或环境,因此,这些任务中包含的通信的内容、格式以及顺序可从一种实施方式到另一实施方式而不同。具体地,任意给定的实体可以不同的定时发送或者接收图2A和图2B中所示的各种通信或类似通信,并且一些通信可与其他通信的路径相交或交叉。
例如,如果给定设备不能进行后台处理,则可比图2A和图2B中所示的稍后来执行一些动作(诸如,在接受呼叫之前,归属于被呼叫者240的这些动作)。
在图2A和图2B中的方法的一些实施方式中,每一方设备均保持与通信服务器220的持续连接(例如,TCP连接),但是,在中继模式和P2P模式的一个或两者中,经由无连接协议(例如,UDP)进行数字化语音通信。然而,如果UDP不可用,如果尝试建立UDP连接失败,或出于一些其他原因,设备可对数字化语音通信采用TCP或一些其他合适的协议。
在一些实施方式中,对呼叫质量进行监控,并且如果质量降至预定阈值以下,则可触发从一种操作模式至另一操作模式的切换。
图3是根据一些实施方式的用于支持VOIP呼叫的建立与保持的装置的框图。应当理解的是,在其他实施方式中,装置300可包括用于支持这些活动的多个独立或半独立部件,诸如,通信服务器、中继服务器、状态服务器、和/或应用主机系统的其他部件等。
图3中的装置300包括(多个)处理器302、存储器304、以及储存器306,储存器306可包括一个或多个电、光学和/或磁储存部件。装置300可耦接(永久或临时)至键盘312、定点设备314、以及显示器316。为清晰起见,装置可包括省去的其他部件,诸如,经由有线和/或无线通信链路通信的通信模块、与诸如其他储存设备、代理服务器、路由器、负载平衡器、网络服务器、其他装置等其他外部设备接口连接的接口部件。
装置的储存器306储存可被加载到存储器304中的逻辑以供(多个)处理器302运行。除操作和支持由该装置托管并且由多个用户使用的应用所必需的其他逻辑之外,这些逻辑包括连接逻辑322和中继逻辑324。储存器306还可包括下载到诸如智能电话、平板电脑、和/或其他设备等客户端设备中并且在它们上运行的可选客户端应用逻辑326。存储器304和/或储存器306还可储存由装置300产生或使用的各种数据,诸如,用户状态、用户账户状态、用户联系人列表、支持与用户客户端设备通信的参数等。
连接逻辑322包括用于接收并且管理与由装置300托管的通信应用的用户所操作的客户端设备进行的连接的处理器可执行指令。这些指令允许装置接收连接请求,应用(多个)正确的协议以建立/保持连接,终止连接,交换支持应用的协议消息,接收并且传送用户之间交换的通信,交换通信参数和/或用于进行VOIP呼叫的其他信息等。
中继逻辑324包括用于通过提供用于中继通信的传输端点、识别用户设备的网络地址、和/或采取其他动作而支持用户的数字化语音通信的处理器可执行指令。
可选的客户端逻辑326包括用于在用户的客户端设备上运行应用的处理器可执行指令,包括执行VOIP呼叫。因此,如上所述,客户端逻辑允许用户发起并且响应呼叫邀约、绑定一个或多个中继模块或服务器、测量与中继实体相关联的延迟、选择中继操作模式过程中所使用的一个中继、(当中继操作模式有效时)通过所选择的中继发送和接收数字化音频通信、与另一用户建立端对端通信连接、(当端对端模式操作有效时)将数字化音频通信直接发送至另一用户和从另一用户接收数字化音频通信、在改变网络之后重新建立通信连接等。
在一些实施方式中,连接逻辑322和中继逻辑324被合并,进一步细分或者在不同的装置中操作。
执行本发明中的一些实施方式的环境可包含诸如手持式计算机或通信设备等的通用计算机或专用设备。为清晰起见,可省去该些设备(例如,处理器、存储器、数据储存器、显示器)的一些细节。归属一个或多个任务或功能给它的诸如处理器或存储器等部件可以是临时被配置为执行该指定任务或功能的通用部件,或可以是被制造成执行该任务或功能的特定部件。文中使用的术语“处理器“指一个或多个电子电路、器件、芯片、处理核心、和/或被配置为处理数据和/或计算机程序代码的其他部件。
在具体实施方式中描述的数据结构和程序代码通常储存在非暂时性计算机可读储存介质中,其可以是能够储存供计算机系统使用的代码和/或数据的任何设备或介质。非暂时性计算机可读储存介质包括但不限于易失性存储器、非易失性存储器、诸如光盘驱动器、磁带、CD(压密盘)以及DVD(数字通用盘或数字视频盘)等的磁性及光学储存设备、固态驱动器和/或现在已知或后期开发的其他非暂时性计算机可读储存介质。
在具体实施方式中描述的方法及处理可体现为能够储存在上述的非暂时性计算机可读储存介质中的代码和/或数据。当处理器或计算机系统读取并且运行代码并且操纵介质中储存的数据时,处理器或计算机系统执行被体现为代码和数据结构并且被储存在介质内的方法和处理。
仅出于示出和描述之目的,呈现了对本发明的实施方式的以上描述。它们并不旨在穷尽本发明或将本发明局限于公开的形式。相应地,许多改造和变形对本领域技术人员是显而易见的。由所附权利要求而非前面的公开内容限定本发明的范围。

Claims (39)

1.一种支持经由一个或多个计算机网络进行的语音呼叫的计算机实施的方法,所述方法包括:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个候选中继服务器中对一个中继服务器的选择;并且
以包括所述呼叫者设备、所选择的中继服务器和所述被呼叫者设备的中继操作模式临时进行所述语音呼叫;
其中,在所述语音呼叫期间,所述呼叫者设备和所述被呼叫者设备在所述中继操作模式与端对端操作模式之间切换至少一次,在所述端对端操作模式中,所述呼叫者设备和所述被呼叫者设备直接进行所述语音呼叫,而没有所述多个候选中继服务器中的任一个。
2.根据权利要求1所述的方法,进一步包括:
在所述多个候选中继服务器中的各个中继服务器处,接收来自所述呼叫者设备和所述被呼叫者设备中的每个设备的连接;并且
在所述多个候选中继服务器中的一个或多个中继服务器处,对所述呼叫者设备和所述被呼叫者设备中的每个设备识别所述设备的外部地址。
3.根据权利要求2所述的方法,其中,所述呼叫者设备和所述被呼叫者设备中的至少一方基于识别的在发送至所述多个候选中继服务器的通信与从所述多个候选中继服务器接收的通信之间的时间延迟来选定所选择的中继服务器。
4.根据权利要求3所述的方法,其中,接收在所述多个候选中继服务器中对一个中继服务器的选择,包括:
从所述呼叫者设备和所述被呼叫者设备中的第一设备接收识别的所述时间延迟;
将所接收的所述时间延迟转发至所述呼叫者设备和所述被呼叫者设备中的另一设备;并且
从所述另一设备接收对所选择的中继服务器的识别。
5.根据权利要求2所述的方法,进一步包括:在与所述多个候选中继服务器不同的通信服务器处,
接收所述呼叫者设备和所述被呼叫者设备的所述外部地址;并且
将所述外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
6.根据权利要求5所述的方法,进一步包括:在所述呼叫者设备和所述被呼叫者设备中的一方设备从第一网络漫游至第二网络之后,
在所选择的中继服务器处接收来自所述一方设备的新连接;
从所选择的中继服务器对所述一方设备识别所述一方设备的新外部地址;
在所述通信服务器处接收所述新外部地址;并且
将所述新外部地址从所述通信服务器转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
7.根据权利要求1所述的方法,进一步包括:响应于接收所述呼叫邀约,在与所述多个候选中继服务器不同的一组通信服务器处:
确定所述被呼叫者设备与所述通信服务器中的一个通信服务器之间是否存在当前通信连接;并且
如果所述被呼叫者设备与所述通信服务器中的一个通信服务器之间不存在通信连接,则向所述被呼叫者设备发送关于所述呼叫邀约的推送通知。
8.根据权利要求1所述的方法,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备尝试发起所述端对端操作模式之后才发起。
9.根据权利要求1所述的方法,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备执行下列操作后才发起:
建立所述端对端操作模式;并且
所述端对端操作模式随后失败。
10.根据权利要求1所述的方法,进一步包括:
在所述语音呼叫期间,接收在所述多个候选中继服务器中对第二中继的选择。
11.根据权利要求1所述的方法,其中,所述呼叫邀约识别多个被呼叫者设备或多个被呼叫者设备的用户。
12.一种储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使计算机执行支持经由一个或多个计算机网络进行的语音呼叫的方法,所述方法包括:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个候选中继服务器中对选择中继服务器的选择;并且
以包括所述呼叫者设备、所选择的中继服务器和所述被呼叫者设备的中继操作模式临时进行所述语音呼叫;
其中,在所述语音呼叫期间,所述呼叫者设备和所述被呼叫者设备在所述中继操作模式与端对端操作模式之间切换至少一次,在所述端对端操作模式中,所述呼叫者设备和所述被呼叫者设备直接进行所述语音呼叫,而没有所述多个候选中继服务器中的任一个。
13.一种用于支持经由一个或多个计算机网络进行的语音呼叫的系统,
包括:
多个通信服务器,各通信服务器包括储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使所述通信服务器配置为:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;以及
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个中继服务器中对一个中继服务器的选择;以及
所述多个中继服务器,各中继服务器包括储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使所述中继服务器配置为:
以包括所述呼叫者设备、所选择的中继服务器和所述被呼叫者设备的中继操作模式临时进行所述语音呼叫。
14.根据权利要求13所述的系统,其中,各中继服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述中继服务器配置为:
接收来自所述呼叫者设备和所述被呼叫者设备中的每个设备的连接;并且
对所述呼叫者设备和所述被呼叫者设备中的每个设备识别所述设备的外部地址。
15.根据权利要求14所述的系统,其中,所述呼叫者设备和所述被呼叫者设备中的至少一方基于识别的在发送至所述多个中继服务器的通信与从所述多个中继服务器接收的通信之间的时间延迟来选定所选择的中继服务器。
16.根据权利要求15所述的系统,其中,接收在所述多个中继服务器中对一个中继服务器的选择,包括:
在所述通信服务器中的一个通信服务器处,从所述呼叫者设备和所述被呼叫者设备中的第一设备接收识别的所述时间延迟;
将所接收的所述时间延迟从所述一个通信服务器转发至所述呼叫者设备和所述被呼叫者设备中的另一设备;以及
在所述一个通信服务器处,从所述另一设备接收对所选择的中继服务器的识别。
17.根据权利要求14所述的系统,进一步包括:在所述通信服务器中的一个通信服务器处:
接收所述呼叫者设备和所述被呼叫者设备的所述外部地址;并且
将所述外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
18.根据权利要求17所述的系统,其中:
所选择的中继服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所选择的中继服务器在所述呼叫者设备和所述被呼叫者设备中的一方设备从第一网络漫游至第二网络之后配置为:
在所选择的中继服务器处接收来自所述一方设备的新连接;以及
对所述一方设备识别所述一方设备的新外部地址;以及
各通信服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述通信服务器配置为:
接收所述新外部地址;以及
将所述新外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
19.根据权利要求13所述的系统,进一步包括:
客户端逻辑,在所述呼叫者设备和所述被呼叫者设备中的每个设备上运行并且包括指令,所述指令在被处理器执行时,使所述处理器对于所述多个中继服务器中的每个中继服务器配置为:
将绑定请求发送至所述中继服务器;并且
如果从所述中继服务器接收到确认,则测量在所述绑定请求的发送与所述绑定请求的确认的接收之间的延迟。
20.根据权利要求19所述的系统,其中,所述客户端逻辑进一步包括指令,所述指令在被处理器执行时,使所述处理器配置为:
在所述呼叫者设备和所述被呼叫者设备中的一方处,接收由所述呼叫者设备和所述被呼叫者设备中的另一方测量的一个或多个中继服务器延迟;并且
基于在所述呼叫者设备和所述被呼叫者设备处测量的总中继服务器延迟来选择所述一个中继服务器。
21.根据权利要求13所述的系统,其中,各通信服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述通信服务器响应于所述呼叫邀约的接收而配置为:
确定所述被呼叫者设备与所述通信服务器中的一个通信服务器之间是否存在当前通信连接;并且
如果所述被呼叫者设备与所述通信服务器中的一个通信服务器之间不存在通信连接,则向所述被呼叫者设备发送关于所述呼叫邀约的推送通知。
22.根据权利要求13所述的系统,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备尝试发起端对端操作模式之后才发起。
23.根据权利要求13所述的系统,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备执行下列操作后才发起:
建立端对端操作模式;并且
所述端对端操作模式随后失败。
24.根据权利要求13所述的系统,其中,所述呼叫邀约识别多个被呼叫者设备或多个被呼叫者设备的用户。
25.一种支持经由一个或多个计算机网络进行的语音呼叫的计算机实施的方法,所述方法包括:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个候选中继服务器之中对一个中继服务器的选择;并且
以包括所述呼叫者设备、所选择的中继服务器以及所述被呼叫者设备的中继操作模式临时进行所述语音呼叫;
其中,在所述语音呼叫期间,所述呼叫者设备和所述被呼叫者设备在所述中继操作模式与端对端操作模式之间切换至少一次,在所述端对端操作模式中,所述呼叫者设备和所述被呼叫者设备直接进行所述语音呼叫而无需所述多个候选中继服务器中的任一个。
26.根据权利要求25所述的方法,进一步包括:
在所述多个候选中继服务器的每个中继服务器处,接收来自所述呼叫者设备和所述被呼叫者设备中的每个设备的连接;并且
在所述多个候选中继服务器中的一个或多个中继服务器处,对所述呼叫者设备和所述被呼叫者设备中的每个设备识别所述设备的外部地址;
优选地,其中,所述呼叫者设备和所述被呼叫者设备中的至少一方基于识别的在发送至所述多个候选中继服务器的通信与从所述多个候选中继服务器接收的通信之间的时间延迟来选定所选择的中继服务器;
优选地,其中,接收在所述多个候选中继服务器中对一个中继服务器的选择,包括:
从所述呼叫者设备和所述被呼叫者设备中的第一设备接收识别的所述时间延迟;
将所接收的所述时间延迟转发至所述呼叫者设备和所述被呼叫者设备中的另一设备;并且
从所述另一设备接收对所选择的中继服务器的识别。
27.根据权利要求26所述的方法,进一步包括:在与所述多个候选中继服务器不同的通信服务器处,
接收所述呼叫者设备和所述被呼叫者设备的所述外部地址;并且
将所述外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方;
优选地,进一步包括,在所述呼叫者设备和所述被呼叫者设备中的一方设备从第一网络漫游至第二网络之后:
在所选择的中继服务器处接收来自所述一方设备的新连接;
从所选择的中继服务器对所述一方设备识别所述一方设备的新外部地址;
在所述通信服务器处接收所述新外部地址;并且
将所述新外部地址从所述通信服务器转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
28.根据权利要求25至27中任一项所述的方法,进一步包括,响应于接收所述呼叫邀约,在与所述多个候选中继服务器不同的一组通信服务器处:
确定所述被呼叫者设备与所述通信服务器中的一个通信服务器之间是否存在当前通信连接;并且
如果所述被呼叫者设备与所述通信服务器中的一个通信服务器之间不存在通信连接,则向所述被呼叫者设备发送关于所述呼叫邀约的推送通知。
29.根据权利要求25至28中任一项所述的方法,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备尝试发起所述端对端操作模式之后才发起。
30.根据权利要求25至29中任一项所述的方法,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备执行下列操作后才发起:
建立所述端对端操作模式;并且
所述端对端操作模式随后失败。
31.根据权利要求25至30中任一项所述的方法,进一步包括:
在所述语音呼叫期间,接收在所述多个候选中继服务器之中对第二中继的选择。
32.根据权利要求25至31中任一项所述的方法,其中,所述呼叫邀约识别多个被呼叫者设备或多个被呼叫者设备的用户。
33.一种储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使计算机执行支持经由一个或多个计算机网络进行的语音呼叫的方法,所述方法包括:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个候选中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个候选中继服务器中对选择中继服务器的选择;并且
以包括所述呼叫者设备、所选择的中继服务器和所述被呼叫者设备的中继操作模式临时进行所述语音呼叫;
其中,在所述语音呼叫期间,所述呼叫者设备和所述被呼叫者设备在所述中继操作模式与端对端操作模式之间切换至少一次,在所述端对端操作模式中,所述呼叫者设备和所述被呼叫者设备直接进行所述语音呼叫,而没有所述多个候选中继服务器中的任一个。
34.一种用于支持经由一个或多个计算机网络进行的语音呼叫的系统,
包括:
多个通信服务器,各通信服务器包括储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使所述通信服务器配置为:
从呼叫者设备接收呼叫邀约,其中,所述呼叫邀约识别被呼叫者设备或被呼叫者设备的用户;
将多个中继服务器的地址发送至所述呼叫者设备和所述被呼叫者设备;以及
从所述呼叫者设备和所述被呼叫者设备中的一方或两方中接收在所述多个中继服务器中对一个中继服务器的选择;以及
所述多个中继服务器,各中继服务器包括储存指令的非暂时性计算机可读介质,所述指令在被处理器执行时,使所述中继服务器配置为:
以包括所述呼叫者设备、所选择的中继服务器和所述被呼叫者设备的中继操作模式临时进行所述语音呼叫。
35.根据权利要求34所述的系统,其中,各中继服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述中继服务器配置为:
接收来自所述呼叫者设备和所述被呼叫者设备中的每个设备的连接;以及
对所述呼叫者设备和所述被呼叫者设备中的每个设备识别所述设备的外部地址;
优选地,其中,所述呼叫者设备和所述被呼叫者设备中的至少一方基于识别的在发送至所述多个中继服务器的通信与从所述多个中继服务器接收的通信之间的时间延迟来选定所选择的中继服务器;
优选地,其中,接收在所述多个中继服务器中对一个中继服务器的选择,包括:
在所述通信服务器中的一个通信服务器处,从所述呼叫者设备和所述被呼叫者设备中的第一设备接收识别的所述时间延迟;
将所接收的所述时间延迟从所述一个通信服务器转发至所述呼叫者设备和所述被呼叫者设备中的另一设备;以及
在所述一个通信服务器处,从所述另一设备接收对所选择的中继服务器的识别。
36.根据权利要求35所述的系统,进一步包括,在所述通信服务器中的一个通信服务器处:
接收所述呼叫者设备和所述被呼叫者设备的所述外部地址;并且
将所述外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方;
优选地,其中:
所选择的中继服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所选择的中继服务器在所述呼叫者设备和所述被呼叫者设备中的一方设备从第一网络漫游至第二网络之后配置为:
在所选择的中继服务器处接收来自所述一方设备的新连接;以及
对所述一方设备识别所述一方设备的新外部地址;以及
各通信服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述通信服务器配置为:
接收所述新外部地址;以及
将所述新外部地址转发至所述呼叫者设备和所述被呼叫者设备中的另一方。
37.根据权利要求34至36中任一项所述的系统,进一步包括:
客户端逻辑,在所述呼叫者设备和所述被呼叫者设备中的每个设备上运行并且包括指令,所述指令在被处理器执行时,使所述处理器对于所述多个中继服务器中的每个中继服务器配置为:
将绑定请求发送至所述中继服务器;并且
如果从所述中继服务器接收到确认,则测量在所述绑定请求的发送与所述绑定请求的确认的接收之间的延迟;
优选地,其中,所述客户端逻辑进一步包括指令,所述指令在被处理器执行时,使所述处理器配置为:
在所述呼叫者设备和所述被呼叫者设备中的一方处,接收由所述呼叫者设备和所述被呼叫者设备中的另一方测量的一个或多个中继服务器延迟;并且
基于在所述呼叫者设备和所述被呼叫者设备处测量的总中继服务器延迟来选择所述一个中继服务器。
38.根据权利要求34至37中的任一项所述的系统,其中,各通信服务器的所述计算机可读介质进一步储存指令,所述指令在被处理器执行时,使所述通信服务器响应于所述呼叫邀约的接收而配置为:
确定所述被呼叫者设备与所述通信服务器中的一个通信服务器之间是否存在当前通信连接;并且
如果所述被呼叫者设备与所述通信服务器中的一个通信服务器之间不存在通信连接,则向所述被呼叫者设备发送关于所述呼叫邀约的推送通知。
39.根据权利要求34至38中的任一项所述的系统,其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备尝试发起端对端操作模式之后才发起;和/或
其中,以所述中继操作模式临时进行的所述语音呼叫只有在所述呼叫者设备和所述被呼叫者设备执行下列操作后才发起:
建立所述端对端操作模式;并且
所述端对端操作模式随后失败;和/或
其中,所述呼叫邀约识别多个被呼叫者设备或多个被呼叫者设备的用户。
CN201580060468.2A 2014-09-08 2015-08-26 一种用于建立并且保持voip呼叫的系统、装置以及方法 Active CN107251510B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/480,227 US10129412B1 (en) 2014-09-08 2014-09-08 Establishing and maintaining a VOIP call
US14/480,227 2014-09-08
PCT/US2015/046862 WO2016039985A1 (en) 2014-09-08 2015-08-26 Establishing and maintaining a voip call

Publications (2)

Publication Number Publication Date
CN107251510A true CN107251510A (zh) 2017-10-13
CN107251510B CN107251510B (zh) 2020-09-11

Family

ID=55459418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580060468.2A Active CN107251510B (zh) 2014-09-08 2015-08-26 一种用于建立并且保持voip呼叫的系统、装置以及方法

Country Status (11)

Country Link
US (1) US10129412B1 (zh)
EP (1) EP2993861B1 (zh)
JP (2) JP6505831B2 (zh)
KR (1) KR102334467B1 (zh)
CN (1) CN107251510B (zh)
AU (1) AU2015315695B2 (zh)
BR (1) BR112017004538A2 (zh)
CA (1) CA2959514A1 (zh)
IL (1) IL250738B (zh)
MX (1) MX2017003057A (zh)
WO (1) WO2016039985A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989343A (zh) * 2018-08-24 2018-12-11 携程旅游信息技术(上海)有限公司 Voip网络变更及兼容性处理方法、系统、设备和介质
CN110784489A (zh) * 2019-11-12 2020-02-11 北京风信科技有限公司 安全通信系统及其方法
CN113767610A (zh) * 2019-05-03 2021-12-07 泰友有限公司 呼叫处理的中继装置、由中继装置进行的呼叫处理方法及记录执行呼叫处理方法的程序的记录介质

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106230611B (zh) 2015-06-02 2021-07-30 杜比实验室特许公司 具有智能重传和插值的服务中质量监视系统
US11659012B2 (en) * 2015-06-15 2023-05-23 Apple Inc. Relayed communication channel establishment
CN108141721A (zh) * 2015-06-30 2018-06-08 株式会社途艾普 路由方法及执行此的网络实体
US10567217B2 (en) * 2016-02-29 2020-02-18 Whatsapp Inc. Techniques to perform the dynamic configuration of load-balanced relay operations
CN108282251B (zh) 2017-01-06 2021-03-16 腾讯科技(深圳)有限公司 一种链路调整方法、装置及服务器
US10630739B2 (en) * 2017-06-27 2020-04-21 Atlassian Pty Ltd Parallel peer to peer connection establishment in WebRTC conferencing
KR101982163B1 (ko) * 2017-08-22 2019-05-24 라인 가부시키가이샤 인터넷 전화 서비스의 통화 자동 연결 방법 및 시스템
US10880342B2 (en) * 2018-03-15 2020-12-29 Jive Communications, Inc. Dynamically controlling communication channels during a communication session
WO2019175843A1 (en) * 2018-03-16 2019-09-19 Hike Private Limited A system and method for attaching a media item to a voip call
US11050798B2 (en) * 2019-05-31 2021-06-29 Mitel Networks Corporation Methods for establishing peer-to-peer communications using distributed call ledgers
CN112118273B (zh) * 2019-06-19 2023-04-07 杭州萤石软件有限公司 一种数据交互方法、系统及第一客户端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
US20130308628A1 (en) * 2012-05-15 2013-11-21 Viber Media, Inc. Nat traversal for voip
US20140153409A1 (en) * 2012-11-30 2014-06-05 Vonage Network, Llc Systems and methods of routing ip telephony data packet communciations
US20140269674A1 (en) * 2013-03-12 2014-09-18 Vonage Network, Llc Method and apparatus for rapid setup of a telephony communication using multiple communication channels

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020196923A1 (en) 2001-06-25 2002-12-26 Longboard, Inc. System and method of call processing
JP4161782B2 (ja) * 2002-04-18 2008-10-08 松下電器産業株式会社 モバイルノードおよび移動通信方法
JP2004180003A (ja) * 2002-11-27 2004-06-24 Kitt Peak:Kk 通信ネットワークシステムおよび通信の接続方法
US7644166B2 (en) * 2003-03-03 2010-01-05 Aol Llc Source audio identifiers for digital communications
US7583660B2 (en) 2005-04-19 2009-09-01 At&T Corp. Method and apparatus for enabling peer-to-peer communication between endpoints on a per call basis
JP2007124486A (ja) 2005-10-31 2007-05-17 Toshiba Corp 通信制御方法
US7657015B1 (en) * 2005-12-28 2010-02-02 At&T Corp. Method and apparatus for processing multiple services per call
KR100810759B1 (ko) * 2006-02-17 2008-03-07 엔에이치엔(주) P2p 파일 전송 시스템 및 방법
US8688822B2 (en) * 2006-07-05 2014-04-01 Oracle International Corporation Push e-mail inferred network presence
US20080159313A1 (en) * 2006-12-28 2008-07-03 Nokia Corporation Interworking policy and charging control and network address translator
JP4886612B2 (ja) 2007-06-12 2012-02-29 パナソニック株式会社 Ip通信装置およびip通信方法ならびに呼制御サーバ
US8078110B2 (en) * 2007-07-09 2011-12-13 Qualcomm Incorporated Techniques for choosing and broadcasting receiver beamforming vectors in peer-to-peer (P2P) networks
CN101431464A (zh) * 2007-11-06 2009-05-13 阿里巴巴集团控股有限公司 一种优选客户端之间数据传输路径的方法及其装置
EP2109339B8 (en) * 2007-12-12 2016-05-25 Panasonic Intellectual Property Management Co., Ltd. Data transmitting and receiving system, terminal, relay device, and data transmitting method
KR101519600B1 (ko) 2008-07-01 2015-05-12 삼성전자주식회사 인터넷 전화 시스템의 통화 처리 방법 및 그 장치
CN101594242A (zh) * 2009-06-23 2009-12-02 腾讯科技(深圳)有限公司 一种传输视频数据的方法、系统和装置
JP2011124770A (ja) * 2009-12-10 2011-06-23 Panasonic Corp Vpn装置、vpnネットワーキング方法、プログラム、及び記憶媒体
JP5174799B2 (ja) * 2009-12-17 2013-04-03 株式会社エヌ・ティ・ティ・ドコモ 無線基地局システム及び中継装置
CN101977178A (zh) * 2010-08-09 2011-02-16 中兴通讯股份有限公司 基于中继的媒体通道建立方法及系统
CN103098108B (zh) * 2010-11-25 2017-09-08 松下电器(美国)知识产权公司 通信设备
KR20120063586A (ko) 2010-12-08 2012-06-18 삼성전자주식회사 분산 안테나를 적용하는 이동 통신 시스템에서 채널상태 정보 송수신 방법 및 장치
US9264459B2 (en) 2010-12-16 2016-02-16 Palo Alto Research Center Incorporated SIP-based custodian routing in content-centric networks
WO2013012225A2 (ko) * 2011-07-15 2013-01-24 엘지전자 주식회사 무선 접속 시스템에서 장치 간 통신 중 핸드오버 수행 방법 및 이를 위한 장치
WO2013145522A1 (ja) * 2012-03-28 2013-10-03 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
GB2500648B (en) * 2012-03-28 2014-06-25 Toshiba Res Europ Ltd Wireless communication methods and apparatus
US9049122B2 (en) * 2012-09-11 2015-06-02 Cisco Technology, Inc. Bandwidth probing messages
US9148519B1 (en) * 2013-01-02 2015-09-29 8X8, Inc. Intelligent media relay selection
KR20140092630A (ko) * 2013-01-16 2014-07-24 삼성전자주식회사 사용자장치, 통신서버 및 그 제어방법
ES2555653T3 (es) 2013-02-22 2016-01-07 Telefónica Digital España, S.L.U. Método y sistema para conferencia de telecomunicación basada en una red entre pares (P2P) y en servidor de retransmisión central combinado que usa un protocolo de telefonía y conferencia
US9241044B2 (en) * 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
US9515995B2 (en) * 2013-12-27 2016-12-06 Futurewei Technologies, Inc. Method and apparatus for network address translation and firewall traversal
US9794164B2 (en) * 2014-08-27 2017-10-17 Tangome, Inc. Mobile relay network intelligent routing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
US20130308628A1 (en) * 2012-05-15 2013-11-21 Viber Media, Inc. Nat traversal for voip
US20140153409A1 (en) * 2012-11-30 2014-06-05 Vonage Network, Llc Systems and methods of routing ip telephony data packet communciations
US20140269674A1 (en) * 2013-03-12 2014-09-18 Vonage Network, Llc Method and apparatus for rapid setup of a telephony communication using multiple communication channels

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108989343A (zh) * 2018-08-24 2018-12-11 携程旅游信息技术(上海)有限公司 Voip网络变更及兼容性处理方法、系统、设备和介质
CN108989343B (zh) * 2018-08-24 2021-03-05 携程旅游信息技术(上海)有限公司 Voip网络变更及兼容性处理方法、系统、设备和介质
CN113767610A (zh) * 2019-05-03 2021-12-07 泰友有限公司 呼叫处理的中继装置、由中继装置进行的呼叫处理方法及记录执行呼叫处理方法的程序的记录介质
CN113767610B (zh) * 2019-05-03 2023-03-24 泰友有限公司 呼叫处理的中继装置、由中继装置进行的呼叫处理方法及记录执行呼叫处理方法的程序的记录介质
CN110784489A (zh) * 2019-11-12 2020-02-11 北京风信科技有限公司 安全通信系统及其方法
CN110784489B (zh) * 2019-11-12 2020-07-10 北京风信科技有限公司 安全通信系统及其方法

Also Published As

Publication number Publication date
IL250738B (en) 2019-07-31
CN107251510B (zh) 2020-09-11
BR112017004538A2 (pt) 2017-12-05
JP6505831B2 (ja) 2019-04-24
MX2017003057A (es) 2017-11-17
IL250738A0 (en) 2017-04-30
AU2015315695B2 (en) 2020-02-27
EP2993861A1 (en) 2016-03-09
KR20170134307A (ko) 2017-12-06
JP2019149798A (ja) 2019-09-05
CA2959514A1 (en) 2016-03-17
KR102334467B1 (ko) 2021-12-06
JP2017532851A (ja) 2017-11-02
WO2016039985A1 (en) 2016-03-17
AU2015315695A1 (en) 2017-03-30
EP2993861B1 (en) 2019-10-30
US10129412B1 (en) 2018-11-13

Similar Documents

Publication Publication Date Title
CN107251510A (zh) 建立并且保持voip呼叫
US11470023B2 (en) Session initiation method and device
CN101364883B (zh) 一种多终端会话方法及通讯系统以及相关设备
US10057426B2 (en) Speaker priority for conference calls
CN103517266B (zh) 移动网络侧激活移动终端的方法和移动网关系统
CN103299596B (zh) 用于实时通信的同步带宽预留的方法和系统
CN102299967A (zh) 移动座席系统、网关、移动终端及实现移动座席的方法
CN107580789A (zh) 针对一个电信设备路由多个号码
CN101277473A (zh) 改变分组交换域的状态的方法、终端、网络设备
CN109274695A (zh) 可视频的售后客服系统
CN106797379B (zh) 使用合成标识符的电话会议系统
BRPI0806105B1 (pt) método e sistema para acesso de conferência de multimídia de rede
CN104125221B (zh) Ims终端设备多软终端资源共享和应用协同装置及方法
CN104902111A (zh) 一种基于Web RTC多方通话建立的方法、设备和系统
CN104580247A (zh) 基于ims多方通话的信息同步方法和信息同步装置
WO2008044265A1 (en) Call connection processing method and message transmitting and receiving proxy device
CN1988546A (zh) 获取会话起始协议消息传输路径的方法及系统
CN103973721B (zh) 多媒体会议参加方法、控制方法、传输方法、装置及系统
CN100531149C (zh) 更改会话路径的方法、会话终端、中继节点
CN104852932B (zh) 统一通信被动sip呼叫方法及系统
CN104348708A (zh) 留言的实现方法及装置
CN104052784A (zh) 集成了语音和数据的web电话
CN108140229A (zh) 将设备信息传送给服务与通信相关联的计算设备的应用服务器
CN107852577A (zh) 一种补充业务实现方法、终端设备和ims服务器
JP5983602B2 (ja) 通話連動システム、宅内制御装置、通話連動方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Woz EPP Co.,Ltd.

Address before: California, USA

Patentee before: WHATSAPP Inc.

CP01 Change in the name or title of a patent holder