CN104767754B - Equipment is calculated for online communication session registered client - Google Patents

Equipment is calculated for online communication session registered client Download PDF

Info

Publication number
CN104767754B
CN104767754B CN201510167323.4A CN201510167323A CN104767754B CN 104767754 B CN104767754 B CN 104767754B CN 201510167323 A CN201510167323 A CN 201510167323A CN 104767754 B CN104767754 B CN 104767754B
Authority
CN
China
Prior art keywords
customer equipment
message
sms
client computing
computing device
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.)
Active
Application number
CN201510167323.4A
Other languages
Chinese (zh)
Other versions
CN104767754A (en
Inventor
A·马蒂亚斯
J·桑塔玛丽亚
J·伍德
J·阿布安
J·布朗
P·盖茨
N·克朗
A·H·维罗斯
B·托马斯
D·姚
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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
Priority claimed from US12/886,479 external-priority patent/US8423058B2/en
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN104767754A publication Critical patent/CN104767754A/en
Application granted granted Critical
Publication of CN104767754B publication Critical patent/CN104767754B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/1066Session management
    • H04L65/1083In-session procedures
    • 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/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0039Services and arrangements where telephone services are combined with data services where the data service is provided by a stream of packets which are rendered in real time by the receiving terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0057Services where the data services network provides a telephone service in addition or as an alternative, e.g. for backup purposes, to the telephone service provided by the telephone services 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/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2201/00Electronic components, circuits, software, systems or apparatus used in telephone systems
    • H04M2201/50Telephonic communication in combination with video communication

Abstract

This disclosure relates to calculate equipment for online communication session registered client.For online communication session, registered client calculates equipment.Registrar receives message from SMS (short message service) interconnecting device, it is unique telephone number for pushing label and client computing device that the message, which has for client computing device, SMS interconnecting device receives the SMS message with push label from client computing device, and the telephone number of client computing device is determined from the SMS message.Registrar keeps push label associated with telephone number and stores it in log-on data memory, is used for as online communication session invitation user.

Description

Equipment is calculated for online communication session registered client
The application is that international filing date is on September 23rd, 2010, national application number 201080066030.2, denomination of invention For the divisional application of the application for a patent for invention of " calculating equipment for online communication session registered client ".
Cross-reference to related applications
The U.S. Patent application No.12/886 submitted this application claims on September 20th, 2010,479 priority, and also It is required that on September 13rd, the 2010 U.S. Provisional Application No.61/382,479 submitted, the U.S. submitted on the 31st of August in 2010 are interim U.S. Provisional Application No.61/351,814 that application is submitted at No.61/378,924 and 61/378,926, on June 4th, 2010 and The U.S. Provisional Application No.61/321,865 and 61/321 that on April 7th, 2010 submits, 866 equity, thus these are applied Each is incorporated by reference.
The application may include and " Apparatus and Method For submitting, entitled on April 7th, 2010 Inviting Users to Online Sessions's (for inviting user to the device and method of on-line session) " is common The U.S. Provisional Application No.61/321 of pending, common specified (co-assigned), 832 related themes, this application is by drawing With being incorporated herein.
Apple iPhone 4 model machine obviously on March 25th, 2010 at apple engineer by when stealing, Not yet maturation of open and prescription in this application opportunity of the invention and not Apple Inc. to public Authorization.The US priority application that the application is based on not yet is submitted before apparent stealing.
Technical field
The embodiment of the present invention is related to the field of computer networking;And particularly for registering visitor for online communication session Family calculates equipment.
Background technique
Many embodiments for providing online communication session (such as instant message, video conference etc.) require to calculate The user installation software of equipment and/or registration service.Therefore it is established and the online communication session of another user as user Prerequisite, two users must register and/or install identical software.Many embodiments also maintain that there are persons (presence) (such as list of friends), allow users to determine other users state (such as it is online, offline, leave Deng).
The large-scale public network of such as internet, frequently have to smaller private network connection, such as by company, because The private network that spy net service provider or even personal family maintain.Very especially (nature) due to them, Public network must have identical ideas to network address, the i.e. distribution of public address.For a variety of reasons, the guardian of private network Often private network's selection uses private network address, these addresses are not to the unanimous a part of distribution.Therefore, it is Network flow from private network can pass through public network, it is necessary to which some form of individual/public network address turns over Translate (" NAT ").
The equipment for executing NAT operation changes the data packet being sent to except private network with the addressing in accordance with public network Scheme.Especially, the public address of Network Address Translator own is replaced with assigned port number (port number) Change the port number of initial private addresses and Bao.Network Address Translator also changes the data packet received, so as to private network On computer replace purpose with the correct private addresses of intended recipient (intended recipient) and port number Ground public address and port number.As used herein, if be applicable within a context, term address should be by It is construed to include both address and port number, as understanding those of ordinary skill in the art.
NAT has become increasingly common in modern network calculating.An advantage of NAT is it with making public network The consumption in location space is slack-off.For example, the TCP/IP addressing used on the internet, includes four character strings, each character string three A number, therefore limited address space is provided.In addition, certain parts of this address space are preserved for special use Or user, further consume the actual quantity of available address.However, if using NAT, private network or sub-network can be with Using any number of address, but a standardized public address only still is presented to the external world.This makes available address The practically unlimited system of quantity, because it is the same private addresses that each private network, which can theoretically use for accurate,.
The advantage that NAT is provided is increased safety, this not can determine that from computer those of on public network The fact that actual (i.e. private) network address of private network upper computer.This is because being existed by Network Address Translator Public address is only provided on public network.In addition, this public address can be corresponding to the upper any amount of calculating of private network Machine.
Different NAT types use different security levels.For example, using " full cone NAT ", once one internally Location (iAddr:iPort) is mapped to an external address (eAddr:ePort), then any external host can be by that will wrap It is sent to eAddr:ePort and sends the packet to iAddr:iPort.It utilizes " restricted cone NAT ", address is the outside of hAddr Host, just can be by sending the packet to eAddr only after iAddr:iPort sends the packet to hAddr in advance: EPort and send the packet to iAddr:iPort.The port of external host is incoherent.It utilizes " port restricted taper NAT ", Address/port is that the external host of hAddr:hPort only sends the packet to hAddr:hPort's in iAddr:iPort in advance Under the conditions of, iAddr:iPort can be sent the packet to and sending the packet to eAddr:ePort.Finally, using symmetrical NAT, each request from the same iAddr:iPort to specific destination IP address and port are mapped to uniquely eAddr:ePort.If the same internal host sends the packet to different destinations, different external address and port are used Mapping.Only packet can be sent back internal host from the external host that internal host receives packet.
Reciprocity (" P2P ") calculates the distributed network structure for referring to being made of calculate node, these calculate nodes make one Partially their resource is supplied directly to other network participants.Compared with traditional client/server model, in P2P network Peer (peer) establish direct access communication channel each other and be not only used as and client but also be used as server, in traditional visitor Server supply resource in family-server model and client consume resource.
Above-mentioned NAT operation causes many problems of P2P connection.For example, if peer one or two of position Behind one or more above-mentioned NAT types, is then established between two peers and be directly connected to become further difficult.This Problem is aggravated due to following truth: such as Apple iPodApple AppleWith various other equipment (such as RIMEquipment, PalmEquipment etc.) client set It is standby frequently to be moved between the network with different NAT embodiments.For example, can Wi-Fi network (such as 802.11b, g, N network);3G network (such as Universal Mobile Communication System (" UMTS ") network, High Speed Uplink Packet access (" HSUPA ") Network etc.);It is communicated in blueteeth network (referred to as personal area network (" PAN ")).Following customer equipment will be such as Other communications of WiMAX, advanced international mobile telecommunication (" IMT ") and advanced long term evolution (" LTE ") (only listing several) It is communicated on channel.
Hands-free (hands-free) unit (such as headphone, automobile toolbox) is commonly used in and is used for hand-free service The same position of calculating equipment (peer).For example, for include cellular telephone function calculating equipment for, including be used as hands-free list The hands-free unit of sense of hearing relaying between member and calculating equipment is common with the ability of position.
Summary of the invention
It describes a kind of for being online communication session (such as P2P video conference, P2P instant message etc.) automatic registered client Calculating equipment (" customer equipment ") (such as work station, laptop computer, palmtop computer, mobile phone, smart phone, more matchmakers Body phone, tablet computer, portable media player, global positioning system (GPS) unit, game system etc.) method and dress It sets.In one embodiment, after the event (such as calculating equipment power-on) for calculating equipment, customer equipment is automatically begun to Registration process for online communication session.Automatic registration process include will with identification label (token) (such as SMS is (short to disappear Breath service) message push (push) label) SMS message be transferred to SMS switching (transit) equipment (such as SMS gateway or SMS polymerizer (aggregator)).Identification label unique identification customer equipment, and in one embodiment, identification label is Push label, push label can contain the information for allowing push notification service location client equipment.Push notification service is implemented Identification label in example is also act as a kind of method established and trusted, that is, special notification is legal.In other embodiments, Registering uniquely tagged to customer equipment or customer equipment is mapped to uniquely tagged may be used to identification label and customer equipment It is related and a kind of identity for making customer equipment is provided has identified the relevant trusted methods of label with unique.
SMS interconnecting device determines the telephone number (such as header by checking SMS message) of customer equipment and by band There is IP (Internet Protocol) message of identification label and telephone number to be transferred to registrar.Registrar is based on identification mark Note and telephone number generate signature, and these are transferred to SMS interconnecting device to send customer equipment to.SMS switching is set Standby will include signature, identification marks and the SMS message of telephone number is transferred to customer equipment.Customer equipment then will be with label The IP message of name, identification label and telephone number is transferred to registrar.Registrar verifies the letter from customer equipment Breath, and by the associated storage between identification label and telephone number in online communication session log-on data memory (store) In.The identification label equipment to being combined in unique identification online communication meeting telephone network related to telephone number.
After customer equipment is registered, the user of customer equipment can be initiated and/or be received to online communication session The invitation of (such as Video chat/conference session, instant messaging session etc.).In one embodiment, the phone number of customer equipment Code is used as the online communication session endpoint identifier of online communication session.By example, the user of customer equipment can be invited The other users (multiple other users) of another customer equipment (other customer equipments) are (multiple using their telephone number Telephone number) it participates in online communication session.In some embodiments, customer equipment does not know the phone number of own originally Code.
Detailed description of the invention
The present invention may be better understood by reference to following description and the attached drawing for showing the embodiment of the present invention.? In attached drawing:
Fig. 1 is shown according to one embodiment, is the data flow diagram of online communication session registered client's equipment;
Fig. 2 is shown specifically the block diagram of the customer equipment of Fig. 1 according to one embodiment;
Fig. 3 is shown specifically the block diagram of the registrar of Fig. 1 according to one embodiment;
Fig. 4 shows the stream according to one embodiment, for the exemplary operation for online communication session registered client's equipment Cheng Tu;
Fig. 5 shows the exemplary registration data storage according to one embodiment;
Fig. 6 shows the conventional network topologi es of one embodiment;
Fig. 7 is shown according to one embodiment, and the data flow diagram of online communication session is established between customer equipment;
Fig. 8 shows the block diagram of the exemplary relay service according to one embodiment;
Fig. 9 shows one embodiment of application programming interfaces (API) structure according to one embodiment;
Figure 10 shows the exemplary registration data storage according to one embodiment;
Figure 11 shows the exemplary NAT compatibility table according to one embodiment;
Figure 12 is shown according to the example client device of some embodiments and in circuit switching (switching, switch) formula The graphic user interface transferred between calling and video call;
Figure 13 shows the customer equipment that Figure 12 of video preview is shown according to one embodiment;
Figure 14 shows according to the example client device of one embodiment and for receiving or declining video call invitation Graphic user interface;
Figure 15 and 16 shows the customer equipment being transferred to after video call according to one embodiment;
Figure 17 and 18 is shown according to one embodiment, in the circuit-switched call of only audio and video call Between the flow chart of exemplary operation transferred;
Figure 19 is shown according to one embodiment, is executed on the customer equipment that video call refuse information has been received The flow chart of exemplary operation;
Figure 20 is shown according to one embodiment, for being transferred to the customer equipment that circuit-switched calls from video call The flow chart of the exemplary operation of upper execution;
Figure 21 is shown according to one embodiment, for using e-mail address to identify as online communication session endpoint Symbol is the conventional network topologi es of online communication session registered client's equipment;
Figure 22 A-B is shown according to one embodiment, for e-mail address to be registered as online communication session endpoint mark Know the flow chart of the exemplary operation of symbol;
Figure 23 is shown according to one embodiment, and user is in order to be registered as online communication session endpoint mark for e-mail address Know symbol and the flow chart of the exemplary operation of initialization information is provided;
Figure 24 is shown according to one embodiment, for verifying the exemplary operation of e-mail address;
Figure 25 is shown according to one embodiment, has been executed in registration service when e-mail address has been verified The flow chart of exemplary operation;
Figure 26 is shown according to one embodiment, when user is with relevant to the same online communication session endpoint identifier When multiple customer equipments, for managing the data flow diagram for the exemplary operation invited;
Figure 27 shows the data flow diagram of the exemplary operation according to one embodiment, executed when direct P2P connects feasible;
Figure 28 shows the data flow of the exemplary operation according to one embodiment, executed when direct P2P connects infeasible Figure;
Figure 29 shows the data flow of the exemplary operation according to one embodiment, executed when online communication conversation end Figure;
Figure 30 is shown according to one embodiment, executes online communication session being transferred to another visitor from a customer equipment The flow chart of the exemplary operation of family equipment;
Figure 31 is shown according to one embodiment, exemplary with the online communication session of multiple users for initiating and setting up The flow chart of operation;
Figure 32 is shown according to one embodiment, the block diagram with the client computing device of hands-free unit interface;
Figure 33 is shown according to one embodiment, and client computing device receives invitation to video call, hand free device is made to ring It rings, answer of the reception from hand free device indicates, establish video call and audio is routed (route) to hand free device;
Figure 34 is shown according to one embodiment, and client computing device is the initiation of established video call by hand free device Video call and routing audio;
Figure 35 is shown according to one embodiment, and client computing device is in response to receiving the call request from hand free device And initiate video call;
Figure 36 is shown according to one embodiment, and client computing device routes to the audio of established video call hands-free Equipment;
Figure 37 is shown according to one embodiment, and client computing device is called in response to receiving the end from hand free device It requests and terminates video call;
Figure 38 shows the block diagram for the exemplary computer system that can be used in some embodiments;With
Figure 39 shows the block diagram for the example data processing system that can be used in some embodiments.
Specific embodiment
In the following description, many specific details are illustrated.However, it is understood that ground is, it is specific thin that these can not had to It saves and practices the embodiment of the present invention.In other instances, in order not to interfere understanding of the description, well-known circuit, Structure and technology are not shown in detail.Those of ordinary skill in the art's content included using description, it is appropriate to implement Function without with undue experimentation.
Described reality is pointed out to the reference of " one embodiment ", " embodiment ", " example embodiment " etc. in the description Applying example may include special feature, structure or characteristic, but each embodiment can need not include the special feature, knot Structure or characteristic.In addition, this phrase need not refer to the same embodiment.In addition, when combine one embodiment describe special feature, When structure or characteristic, to advocate it be in the knowledge of those skilled in the range, so as to reach make this feature, structure or The purpose that characteristic is combined with other embodiments, regardless of whether being explicitly described.
In following described and claimed, term " coupling " and " connection " and their derivative can be used. It should be understood that these terms are not intended as mutual synonym." coupling " for point out between each other can with or It directly can not physically or electrically contact, two or more elements of cooperation or interaction between each other." connection " is for pointing out Communication is established between two or more elements being mutually coupled.
It is registered automatically for online communication session
It describes a kind of for being online communication session (such as P2P video conference, P2P instant message etc.) automatic registered client Calculating equipment (" customer equipment ") (such as work station, laptop computer, palmtop computer, mobile phone, smart phone, more matchmakers Body phone, tablet computer, portable media player, GPS unit, game system etc.) method and apparatus.In one embodiment In, after the event (such as calculating equipment power-on) for calculating equipment, customer equipment is automatically begun to for online communication meeting The registration process of words.Automatic registration process includes will be with identification label (such as push label of SMS message) and customer equipment SMS (short message service) message of identifier is transferred to SMS interconnecting device (such as SMS gateway or SMS polymerizer).Identification label For online communication conversation message (such as invite request and receive invitation message) one customer equipment of unique identification, and at one In embodiment, identification label is push label, and push label can contain the letter for allowing push notification service location client equipment Breath.Identification label in push notification service embodiment is also act as a kind of approach established and trusted, that is, special notification is legal 's.In other embodiments, registering uniquely tagged to customer equipment or customer equipment is mapped to uniquely tagged may be used to Identification label is related to customer equipment, and be used to provide a kind of identity for making customer equipment to uniquely identified that label is related Trusted methods.Device identifier unique identification customer equipment and be normally based on one or more hwids (such as The sequence number of equipment, the ICC-ID (integrated circuit card ID) etc. of SIM (subscriber identity module) card).
SMS interconnecting device determines the telephone number (such as header by checking SMS message) of customer equipment and by band There is IP (Internet Protocol) message of identification label, device identifier and telephone number to be transferred to registrar.Registration service Device is based on identification label, device identifier and telephone number and generates signature, and these are transferred to SMS interconnecting device to pass Give customer equipment.SMS interconnecting device will include signing to be transferred to customer equipment with the SMS message of telephone number.Customer equipment Then the IP message with signature, device identifier, identification label and telephone number is transferred to registrar.
Registrar verifies the message from customer equipment and deposits identification label with being associated between telephone number It is stored in online communication session log-on data memory.Identification label is related to telephone number to exist to being combined unique identification Equipment in line communication session network.After customer equipment is registered, the user of customer equipment can initiate and/or receive Invitation to online communication session (such as Video chat/conference session, instant messaging session etc.).In one embodiment, objective The telephone number of family equipment is used as the online communication session endpoint identifier of online communication session.Pass through example, customer equipment User the other users (multiple other users) of another customer equipment (other customer equipments) can be invited to use them Telephone number (multiple telephone numbers) participate in online communication session.In some embodiments, customer equipment is not known originally The telephone number of road own.
Fig. 1 is shown according to one embodiment, is the data flow diagram of online communication session registered client's equipment.Fig. 1 includes visitor Family equipment 110, SMS network 120, registrar 140 and IP message data storage 150.Customer equipment 110 (such as work It stands, laptop computer, palmtop computer, calculate phone, smart phone, mediaphone, tablet computer, portable media broadcasting Device, GPS unit, game system etc.) it include that identification label 115 (identifies that label 115 can be push mark in one embodiment Note).Identification 115 unique identification customer equipment 110 of label receives (or declining) message to receive to invite request and invite, at this It is literary that this thing will be described in further detail below.117 unique identification customer equipment of device identifier and it is normally based on one or more A hwid (such as sequence number, ICC-ID (integrated circuit card ID) of SIM (subscriber identity module) card of equipment etc.).Visitor Ability and connection and transmission/reception IP message ability of the family equipment 110 including transmission and reception SMS message.
After registering online communication session, customer equipment 110 can initiate and/or receive to invite online communication session Please.Customer equipment 110 is identified by online communication session endpoint identifier in online communication session.Although implementing at one Online communication session endpoint identifier is the telephone number of customer equipment 110 in example, but online communication in other embodiments Session endpoint identifier be different identifier (such as user name (such as Apple ID), e-mail address, address, MAC Address or other identifier symbol).
SMS network 120 includes carrier S MSC (SMS service center) 125 and SMS interconnecting device 130 (such as SMS gateway Or SMS polymerizer).Carrier S MSC 125 is dedicated calculating carrier and receives and transmit SMS message.For example, carrier S MSC 125 transmission are sent to the SMS message of SMS interconnecting device 130 from customer equipment 110, and also transmission is sent from SMS interconnecting device 130 To the SMS message of customer equipment 110.SMS interconnecting device 130 separates mobile network with IP network.
Registrar 140 is the customer equipment that such as customer equipment 110 is registered in online communication session.For online communication meeting Words registered client's equipment includes making the identification label of equipment and the telephone number of equipment (or other online communication session endpoint marks Know symbol) it is related.Identification label is stored in online communication session registration with being associated between online communication session endpoint identifier In data storage 150.
Occur that (such as customer equipment powers on, online communication conversation applications (such as P2P in the part of handling affairs of customer equipment 110 Video conference application, the application of P2P instant message etc.) starting etc.) after, customer equipment 110 starts the note for online communication session Volume process.Registration process automatically begins to (no user interaction) in one embodiment, and registration process exists in other embodiments User starts after being selected as online communication session registered client equipment.
It is used as online communication session endpoint identifier in the telephone number of customer equipment 110, and therefore in log-on data In memory 150 in embodiment relevant to the identification label 115 of customer equipment 110, the telephone number of customer equipment 110 is necessary It is determined.Since customer equipment 110 does not know the telephone number of own, in some embodiments, customer equipment originally 110 telephone number transmits SMS message by customer equipment 110 to determine.For example, at operation 1, customer equipment 110 is by band There is it to identify that the SMS message of label 115 and device identifier 117 is transferred to SMS interconnecting device 130 by carrier S MSC 125. In some embodiments, SMS message phone number addressing, this telephone number can be full-length number or short code (it is a kind of usually be considerably shorter than complete telephone number telephone number-type), this telephone number be online communication session register and It is special to establish.The telephone number that SMS is addressed is stored in customer equipment (such as at carrier beam (carrier bundle) In).
Carrier S MSC 125 receives SMS message and transmits it to SMS interconnecting device 130.At operation 2, SMS switching is set Standby 130 determine the telephone number of customer equipment.For example, SMS interconnecting device 130 checks the header of SMS message to determine that client sets Standby 110 telephone number.After determining telephone number, SMS interconnecting device 130 will have telephone number, the knowledge of customer equipment 110 The IP message of label 115 and device identifier 117 is not transferred to registrar 140.Sometimes referred to as login request message.
Registrar 140 receives the telephone number including customer equipment 110, identification label from SMS interconnecting device 115 and device identifier 117 IP message, and generate signature.Signature can be telephone number based on customer equipment 110, know Not label 115 and/or device identifier 117, and (this thing will be described in greater detail herein below) for verification purposes.In some realities It applies in example, also uses random number when generating signature to illustrate the situation in place of multiple customer equipments have same phone number. At operation 5, signature, telephone number, device identifier and flag transmission are returned to SMS interconnecting device 130 by registrar 140 (such as in IP message).Sometimes referred to as registration reply message.
SMS interconnecting device 130 receives signature, telephone number, device identifier and label from registrar 140, and Generate the SMS message with signature and telephone number for customer equipment 110.At operation 6, SMS interconnecting device 130 is by band There is the SMS message (by carrier S MSC 125) of signature and telephone number to be transferred to customer equipment 110.
Customer equipment 110 receives and processing includes storing the SMS message of its telephone number.At operation 7, customer equipment 110 will be with its identification label 115, device identifier 117, its telephone number and the signature generated by registrar IP message is transferred to registrar 140.Sometimes referred to as register checking request message.
Registrar 140 is verified the data of the transmission of customer equipment 110 using signature.For example, registrar 140 pairs are compared by the signature that customer equipment 110 is sent with the signature generated during operation 4.If they are matched, Data are verified.It is assumed that data are that effectively, then registrar 140 will identify the phone of label 115 and customer equipment 110 Associated storage between number is in online communication session log-on data memory 150.
In an alternative embodiment, the user of equipment is prompted to enter the telephone number of customer equipment 110, rather than passes through transmission SMS message determine the telephone number of customer equipment 110.In these embodiments, customer equipment 110 by its telephone number (just As by user input as) and its identification label 115 be transferred directly to registrar 140, registrar 140 can To make their correlations in online communication session log-on data memory 150.
Fig. 5 shows the exemplary registration data storage 150 according to one embodiment.As shown in figure 5, each online communication Session ID record 510 all includes identification tag field 520 and telephone number field 525.In some cases, a telephone number Related to multiple identification labels is possible.For example, different customer equipments can have identical telephone number.In these feelings Under condition, these different customer equipments can have different identification labels.Therefore, when for phone relevant to multiple identification labels When number sends the invitation of online communication session, each equipment relevant to identification label will be invited by transmission.
Fig. 2 is shown specifically the block diagram of the customer equipment 110 according to one embodiment.By the exemplary embodiment of reference Fig. 4 Fig. 2 is described, Fig. 4 shows the flow chart for the exemplary operation for online communication session registered client's equipment.However, should manage The operation of solution, Fig. 4 can be by being different from the embodiment execution with reference to those of Fig. 2 discussion embodiment, and refers to Fig. 2 The embodiment of discussion is able to carry out the operation being different from reference to those of Fig. 4 discussion operation.
As shown in Fig. 2, customer equipment 110 include client's online communication session registration module (" client enrollment module ") 210, Carrier beam (multiple carrier beams) 215, identification label 115, device identifier 117, SMS module 220 and client's online communication session Log-on data memory (" client enrollment data storage ") 230.Client enrollment module 210 is to customer equipment 110 in order to online The registration of communication session is controlled.Carrier beam (multiple carrier beams) 215 includes the setting (settings) for being exclusively used in carrier, packet Include SMS interconnecting device for registration telephone number (such as number for SMS interconnecting device 130) and other be arranged (such as Access point name (APN) setting, multimedia messaging service (MMS) setting etc.).The transmission of SMS module 220 and reception SMS message.Visitor Related data (such as once determined customer equipment is registered in the storage of family log-on data memory 230 and online communication session 110 telephone number).
With reference to Fig. 4, at block 410, the thing of triggering online communication session registration is detected or received in client enrollment module 210 Part.The example of this event includes that customer equipment 110 powers on, user opens online communication application (such as P2P video conference Using, P2P instant message application etc.) etc..In some embodiments, registration is carried out when each customer equipment 410 powers on Process, although in other embodiments, customer equipment 110 executes registration process when first switching on power supply.Process is moved from block 410 Move block 415.
At block 415, client enrollment module 210 determines whether that effective identification for customer equipment 110 marks.If It does not identify label, or identifies that label is out of date, then process is moved to block 425, and optional movement is taken at block 425.Example Such as, in the embodiment using push label, customer equipment 110 can by push notification service, (it be typically remote from by request Customer equipment 110) it generates push label and initiates label generating routine.Push notification service generation is exclusively used in customer equipment 110 Push mark and return it to customer equipment 110.If there is effective identification label, then process is moved to block 420, The access of the client enrollment module 210 identification label 115 at block 420.Process is moved to block 428 from block 420.
At block 428,210 access arrangement identifier 117 of client enrollment module.Then process is moved to block 430, in block Client enrollment module 210 determines the telephone number for the SMS interconnecting device used in registration process at 430.For example, client Registration module 210 accesses carrier beam (multiple carrier beams) 215 to determine the telephone number of SMS interconnecting device.Telephone number can be with It is short codes or can be full-length number.It in this illustration, is SMS switching for the SMS interconnecting device of registration process Equipment 130.Process is moved to block 435 from block 430.
At block 435, there is the SMS message of identification label 115 and device identifier 117 to be transferred to fixed number (SMS interconnecting device 130).For example, client enrollment module 210 requests SMS module 220 will be with identification label 115 and equipment mark The SMS message for knowing symbol 117 is transferred to fixed number.SMS message with identification label is transferred to by SMS module 220 Determining number.Process is moved to block 440 from block 435.SMS message will be received by carrier S MSC 125, and carrier S MSC 125 will It sends SMS interconnecting device 130 to.
At block 440, SMS interconnecting device 130 determines the telephone number of customer equipment 110 based on received SMS message. For example, SMS interconnecting device checks the header of SMS message, the header of SMS message is by the telephone number including sender, at this In the case of sender be customer equipment 110.Process is subsequently moved to block 445, and SMS interconnecting device 130 sets client at block 445 Standby 110 telephone number, identification label 115 and device identifier 117 is transferred to (such as the IP in safety of registrar 140 In message).Process is moved to block 450 from block 445.
Fig. 3 is shown specifically the block diagram of the registrar 140 according to one embodiment.By the exemplary implementation of reference Fig. 4 Example description Fig. 3.It should be understood, however, that can be by being different from the embodiment execution with reference to those of Fig. 3 discussion embodiment The operation of Fig. 4, and the operation being different from reference to those of Fig. 4 discussion operation is able to carry out with reference to the embodiment of Fig. 3 discussion.Such as Shown in Fig. 3, registrar 140 includes server online communication session registration module 305, server online communication session registration Module 305 includes SMS switching interface 310, signature generator 315, customer equipment interface 325, authentication module 330, verify data Memory 335 and relating module 340.SMS switching interface 310 receives message from SMS interconnecting device 130 and transmits the message to SMS interconnecting device 130.For example, SMS switching interface 310 receives telephone number, identification label and equipment from SMS interconnecting device 130 Identifier array (tuple), and telephone number, identification label, device identifier and signature array (sometimes referred to as " are tested Card array ") it is transferred to SMS switching interface 310.Customer equipment interface 325 receives message and message can be transferred to client Equipment.For example, customer equipment interface 325 receives verifying array from customer equipment.
With reference to Fig. 4 is returned to, at block 450, signature generator 315 is the phone that it is received from SMS interconnecting device 130 Number, identification label and device identifier array generate signature.Signature will be used to verify the pairing of telephone number and identification label, Pairing is stored in log-on data memory 150 later.In some embodiments, signature is based on telephone number, identification mark Note and/or device identifier are (for example, password garbage (hash) is applied to telephone number, identification label and/or equipment mark Symbol or its certain part are known, to generate signature).In some embodiments, signature is also based on random number, to solve multiple clients Equipment has the situation of same phone number.Sign generator 315 will sign and optional telephone number, identification label and/or Device identifier is stored in verify data memory 335.Process then moves to block 455, the SMS switching interface at block 455 310 by signature, telephone number, device identifier and identification flag transmission to SMS interconnecting device 130.Process is moved to from block 455 Block 460.
SMS interconnecting device 130 receives signature, telephone number and identification label from registrar 140.At block 460, SMS interconnecting device is SMS message (pass through carrier S MSC 125) of the transmission of customer equipment 110 with signature and telephone number.Stream Journey then moves to block 465.
At block 465, SMS module 220 receives the SMS message with signature and telephone number and will signature and telephone number It is stored in client enrollment data storage 230.Process is moved to block 470 later, and client enrollment module 210 will at block 470 IP message with its telephone number, identification label 115, device identifier 117 and signature is transferred to registrar.Later Process is moved to block 475.
Customer equipment interface 325 receives telephone number, identification label, device identifier and signature from customer equipment.In block At 475, which is delivered to the whether effective authentication module 330 of determining data.For example, applied phase when with generation signature Same garbage function (hash function) is used in from the received telephone number of customer equipment, identification label and/or sets On standby identifier, and 330 pairs of results of authentication module and (being stored in the verify data memory 335) signature generated before It is compared.If signatures match, data are effective, and process is moved to block 480.
At block 480, the relating module 340 of registrar 140 is by the telephone number of customer equipment and customer equipment Associated storage between identification label is in log-on data memory 150.In some embodiments, registrar 140 can be with Login state message is transferred to customer equipment 110, customer equipment 110 is reminded to register whether success.
After customer equipment is registered, the user of customer equipment can initiate and/or receive to online communication session Invitation (such as Video chat/conference session, instant messaging session etc.).By example, the user of customer equipment can be invited The other users (multiple other users) of other customer equipments (other multiple customer equipments) are (multiple using their telephone number Telephone number) it participates in online communication session.In some embodiments, customer equipment does not know the phone number of own originally Code.Although it also can be used in other embodiments in the use of SMS message during registration has been described in embodiment The text message (such as MMS (multimedia messaging service, MMS)) of his type.
For online communication session registration email address
Although about being that online communication session endpoint identifier describes Fig. 1 by phone number registration, in other realities It applies in example, e-mail address is used as online communication session endpoint identifier.Figure 21 show use e-mail address as Online communication session endpoint identifier, the conventional network topologi es that registered client's equipment is used for for online communication session.Client Equipment 2110A-N is registered for online communication session using registration service 2130.For example, in one embodiment, client The user of equipment 2110A comes registration email address using online communication session client 2115, so as in order in network 2180 Online communication on (such as internet) and be used as online communication Session ID.
Figure 22 A-B is shown according to one embodiment, for e-mail address to be registered as online communication session endpoint mark Know the flow chart of the exemplary operation of symbol.Figure 22 A-B will be described with reference to exemplary embodiment shown in Figure 21.However, should Understand, the operation of Figure 22 A-B can be executed by being different from the embodiment with reference to those of Figure 21 discussion embodiment, and And the operation being different from reference to those of Figure 22 A-B discussion operation is able to carry out with reference to the embodiment of Figure 21 discussion.
At operation 2210, registration service 2130 receives the certification request from customer equipment 2110A.For example, with reference to retouching It states and Figure 23 of the exemplary operation of initialization information is provided for user, at operation 2310, online communication conversation applications 2115 (starting, start) is started on customer equipment 2110A.Process then moves to 2315 and customer equipment 2110A of operation and connects Input from the user is received, including the User ID and password and one or more e-mail address for registration, to be used as Online communication session endpoint identifier (multiple online communication session endpoint identifiers).Process then move to operation 2320 and Customer equipment 2110A is by User ID and password transmission to registration service 2130.
Although e-mail address is registered as online communication session endpoint identifier and can by customer equipment 2110A Not include telephony feature, but telephone number can be used for it rather than e-mail address sends online communication session and invites Please.Other than receiving the User ID for registration, password and one or more e-mail addresses, in some embodiments, User can also provide the information that country and/or region are currently located at about them, so that if user is not to including state The telephone number of family's code and/or area code initiates online communication session, then corresponding country code and/or area can be used Field code.For example, in the U.S., 7 digits setting local telephone calls can be used and (therefore do not need country code and region generation Code).Potential telephone system automatically determines countries and regions code and completes to call.However, not wrapped in customer equipment 2110A In the case where including telephony feature, when inviting user to online using the telephone number for not including country code and/or area code When communication session, customer equipment 2110A cannot rely on potential telephone system automatically to include country code and/or region generation Code.
At operation 2320, customer equipment 2110A reception is from the user, and what country and/or region is located at about them The input in (such as area code, state, province, city etc.).Process is moved to operation 2320 later, the customer equipment at operation 2320 2110A makes corresponding country and/or region telephone code and online communication conversation applications (application program, application) 2115 is related, if so that user initiates online communication session to the telephone number for not including country code and/or area code When use.For example, if the user indicate that they are located at the U.S. and user uses the 10 digit phone numbers for not including country code Code invites user to online communication session, then customer equipment 2110A is used for the national generation in the U.S. to telephone number addition automatically Code.
Referring again back to Figure 22 A, after receiving the certification request from customer equipment 2110A, provided user is used Name and password execute verification process.In one embodiment, registration service 2130 executes verification process, and in another implementation In example, subscriber lists service 2160 executes verification process.Subscriber lists service 2160 be to provide user accounting, certification and its The centralized service that he services.2160 pairs of user records 2165 of subscriber lists service are managed.In one embodiment, often A user being certified all from include different information (for example, one or more User ID, password, address, telephone number, Name, (it may also be pointed out that whether e-mail address is tested for the list of birthday, country, Email related to user Card)) including user record it is related.If authenticated successfully, process is moved to operation 2216.If authentification failure, process It is moved to operation 2214 and takes optional movement (such as registration service 2130 will point out that user name and/or password are incorrect Error message be transferred to customer equipment 2110A).
At operation 2216, registration service 2130 generates and/or access online communication session profile relevant to User ID (profile).For example, registration service 2130 may include to online communication session profile record 2150 be managed it is online lead to Believe session Accounting Server 2140.Each of in one embodiment, registering or registering for online communication session There is user corresponding online communication session profile to record.Each online communication session profile record can include and profile One group of one or more e-mail address of proofing states relevant, including them.Each online communication session profile note Record can also include the one or more for being respectively corresponding to the one or more customer equipments registered for online communication session Push label.Each profile record can also include the profile certificate for verifying certain communications from customer equipment (credential).Each profile record it may also be pointed out which customer equipment (as push mark point out) it is registered or Person is attempt to which e-mail address registered.
Process from operation 2216 be moved to operation 2218 and registration service 2130 will include profile ID (such as identification and institute The character string of the relevant profile of the User ID of offer) and the authentication answer of profile certificate be transferred to customer equipment 2110A.Certification is answered It recovers it can be pointed out that certification is successful.Process is moved to operation 2220 later and the reception of registration service 2130 is set from client The E-mail verifying of standby 2110A is requested, the request include one or more e-mail addresses for verifying, profile ID, The push of profile certificate and customer equipment 2110A mark.E-mail verifying request message can also include customer equipment 2110A Device id.Registration service 2130 then determines whether the profile certificate for profile ID is effective at operation 2222.If it Be it is invalid, then process is moved to operation 2224 and takes optional movement (such as registration service 2130 is by error message It is transferred to customer equipment 2110A).If their profile certificate is effective, process is moved to operation 2223.In operation 2223 Place, registration service 2130 keep push label related to profile.For example, online communication session Accounting Server 2140 marks push It is stored in the profile record for user.
It is moved to operation 2226 after process and registration service 2130 determines whether e-mail address is verified.Quilt The e-mail address of verifying is the e-mail address for having been verified as belonging to user's request, which requests the electronics Mail address is registered as online communication session endpoint identifier.Online communication session Accounting Server 2140 accesses user's Profile record 2150 is to determine whether e-mail address is verified.If profile record does not point out that e-mail address obtains E-mail-address verification request is transferred to subscriber lists service by verifying, then in some embodiments, registration service 2130 2160, to determine whether the user record 2165 for user points out that e-mail address is verified.If Email Location is unverified, then process is moved to operation 2227 and registration service 2130 makes verifying email message be sent to packet The e-mail address for including a link, can make when (or when being input into explorer) link is selected E-mail address is verified.For example, selection link makes to include e-mail address and for verifying testing for e-mail address The e-mail-address verification message of card label is sent.E-mail address can also be needed to verify by registration service 2130 to disappear Breath is transferred to customer equipment, which points out e-mail address unverified (and therefore needing to be verified) and can be with Point out that verifying email message is sent to e-mail address to be checked.Process is subsequently moved to operation 2410, will refer to Figure 24 description operation 2410.However, process is moved to operation 2228 if e-mail address is verified.
At operation 2228, registration service 2130 is with will pointing out out Email that e-mail address has been verified Location is proved to be successful message and is transferred to customer equipment 2110A.Process is moved to operation 2230 later and registration service 2130 receives Activation email request from customer equipment 2110A, which includes e-mail address, profile ID and profile certificate. Registration service 2130 then determines whether profile certificate is effective for profile ID at operation 2232.If they are not effective , then process is moved to operation 2224 and takes optional movement (such as error message is transferred to visitor by registration service 2130 Family equipment 2110A).If their profile certificate is effective, process is moved to operation 2240.
At operation 2240, registration service 2130 is generated or access is used for the e-mail certificate of e-mail address.Example Such as, in one embodiment, the Email that online communication session Accounting Server 2140 will be used for each of user and have verified that The e-mail certificate of address is stored in the profile record 2150 of the user.Process then moves to operation 2242 and registers Activation success message including e-mail address and e-mail certificate is transferred to customer equipment 2110A by service 2130.
Process is moved to operation 2244 from operation 2242 and registration service 2130 receives login request message, the message package Include the push label and customer equipment of e-mail address, e-mail certificate, profile ID, profile certificate, customer equipment 2110A The device id of 2110A.In one embodiment, request message is received at online communication session registrar 2145.Online Communication session registrar is managed online communication session log-on data memory 2155.Number is registered in online communication session Keep push label (and optional device id) related to profile according to memory 2155, which has one group of one or more electronics Mail address is as online communication session endpoint identifier (multiple online communication session endpoint identifiers).Therefore, online communication Each record in session log-on data memory 2155 represents the special installation with special push label and tool is used There is the online communication session profile of one or more e-mail addresses, these e-mail addresses can be used in inviting the equipment User to online communication session.Process is moved to operation 2246 from operation 2244.
At operation 2246, registration service 2130 (such as online communication session registrar 2145) determines profile certificate Whether effectively.If they be not it is effective, process is moved to operation 2250 and takes optional movement (such as registration clothes Error message is transferred to customer equipment 2110A by business 2130).If they are that effectively, process is moved to operation 2248 simultaneously And registration service 2130 (such as online communication session registrar 2145) determines whether e-mail address is effective.If it Be not it is effective, then process is moved to operation 2250.If they are effectively, process is moved to operation 2252.
At operation 2252, registration service 2130 (such as online communication session registrar 2145) makes with its push The customer equipment 2110A of label to have the profile of e-mail address it is related and by associated storage in log-on data memory In 2155.Process is subsequently moved to operation 2254, and registration service 2130 generate online communication session book keeping operation identifier and They are simultaneously transferred to customer equipment 2110A at operation 2256 by line communication session certificate.
There are the different modes for verifying e-mail address in different embodiments.It shows and is used for reference to Figure 24, Figure 24 Verify e-mail address exemplary operation flow chart, operation 2410 at customer equipment 2110A determine it whether include Client email, the client email include the verifying electronics postal for having been attempted to register and not yet receive affirmative The account of the e-mail address of part message.If it does not include this client email, process is moved to operation 2440, Otherwise process is moved to operation 2415.
At operation 2415, for verifying email message, (such as the verifying Email that transmits disappears in operation 2227 Breath) automatic periodic reinvestigation email account.In one embodiment, 2115 regular request electronics postal of online communication conversation applications Part client 2120 verifies verifying Email, and (client email 2120 can vote (poll) e-mail server 2170 It verifies verifying Email and verifies).Verifying email message is identified by one group of one or more standard, these standards Verification mark including From:field, To:field and for verifying e-mail address is (for each electronics being verified Verification mark can be uniquely for mail address).Verification mark can be located at the header or just of verifying email message Wen Zhong.If receiving verifying email message, process is moved to operation 2425 from operation 2420, and otherwise process is moved to Operation 2435.
At operation 2425, verifying email message is returned to online communication conversation applications 2115 and it analyzes and disappears Breath is so as to locating verification label.After locating verification label, online communication conversation applications 2115 will have verification mark, Email The e-mail-address verification message of address, profile ID and profile certificate is transferred to registration service 2130.Therefore in this implementation In example, e-mail address is verified automatically without requiring user clicks on links or verifying e-mail address.In a reality It applies in example, after receiving message and determining that profile certificate is effective, registration service 2130 will be pointed out to be successfully authenticated The E-mail verifying PUSH message (via push notification service 640) of e-mail address is transferred to equipment.Therefore, process from Operation 2425 is moved to the operation e-mail-address verification PUSH message to be received such as 2430 and customer equipment 2110A.
If verifying email message not yet receives, process is moved to operation 2435, and customer equipment is operating Determine whether to have been received at 2435 and points out to be attempt to the Email that the e-mail address of registration has been verified Verify PUSH message.If receiving this message, process is moved to operation 2445, and otherwise process moves back to operation 2415。
(customer equipment 2110A does not include client email, which includes for just at operation 2440 In the account for the e-mail address being registered), the E-mail verifying to be received having been received such as customer equipment 2110A pushes away Message is sent, which points out that the e-mail address for being attempt to registration has been verified.If receiving this message, Process is moved to operation 2445, and otherwise process stays at operation 2440.
At operation 2445, customer equipment 2110A shows that e-mail address has been verified, and inquires user's benefit With the e-mail address renewal of registration process.If customer equipment 2110A receives the input for pointing out renewal of registration process, Process is moved to 2455 and customer equipment 2110A of operation for the activation including e-mail address, profile ID and profile certificate E-mail request is transferred to registrar.Then the operation being illustrated starting at the operation 2230 of Figure 22 is executed.If objective Family equipment 2110A receives the input for pointing out that user is not desired to renewal of registration process, then process is moved to operation from operation 2450 2460 and process exit.
Figure 25 is shown according to one embodiment, is executed in registration service when e-mail address is verified The flow chart of exemplary operation.Operation 2510 at, registration service 2130 receive point out it is related to online communication session profile The e-mail-address verification status message that has been verified of e-mail address.E-mail-address verification status message Result as operation 2425 may be received, or as e-mail address in different ways (for example, user exists Verifying email message in the verified link for being verified e-mail address on click, the link can with trying Caption volume e-mail address in the different equipment of the equipment of online communication session for use in being sent) result that is verified is Through being received.
Process then moves to operation 2515 and registration service 2130 records in 2150 for Email profile The proofing state of location is updated.Process is moved to operation 2515 later and registration service 2130 is determined whether and wanted Ask the online communication session profile of verifying e-mail address (it not yet receives e-mail-address verification message) relevant Customer equipment.For example, registration service 2130 accesses profile record 2150 for online communication session profile which visitor determined Family equipment (such as passing through only push marker recognition) has required verifying e-mail address and which is not yet received To the e-mail-address verification message for the e-mail address.For each this customer equipment, registration service all will E-mail verifying push including profile ID, profile certificate and the e-mail address being verified at operation 2525 Message is transferred to the customer equipment.E-mail verifying PUSH message can also include that state is updated to point out e-mail address It has been verified.If without having required verifying not yet to receive the e-mail address of e-mail-address verification message Equipment, then process be moved to operation 2530 and process exit.
Establish online communication session
As shown in fig. 6, the conventional network topologi es implemented in one embodiment can respectively include between each other, pass through net Multiple the customer equipment A-N, 670A-N that network 660 is communicated with one or more services 610,620,630,640 and 650.Although by Be shown as a network cloud, but network 660 can include many different components, public network including such as internet and Such as local Wi-Fi network (such as 802.11n family wireless network or hotspot), local area ethernet, cellular data network The private network of (such as 3G, 4G, Edge etc.) and WiMAX network (only listing several).Customer equipment 670A-N can be by not Same network linking is connected to network 660.Such as customer equipment 670A may be connected to the family represented by network linking 675A Front yard Wi-Fi network, and customer equipment 670N can be connected to 3G network (such as universal mobile communications by network linking 675N System (" UMTS "), High Speed Uplink Packet access (" HSUPA ") etc.).Customer equipment 670A-N passes through its connected net Each of network link 675A-N can be coupled to by gateway and/or NAT (Network address translators) equipment (being not shown in Fig. 6) To the public network of such as internet, thus, it is possible to be communicated between different customer equipment 670A-N by public network.So And if two customer equipments are on the same local or private network's (such as same Wi-Fi network), two equipment Public network direct communication on the local/private network can be bypassed.It should be understood of course that the present invention is potentially former Reason is not limited to the particular set of network type or network topology.
Each of customer equipment 670A-N can service 610, invitation service 620, registration with data exchange (CDX) is connect Service 630, push notification service 640 and relay services 650 communicate.In one embodiment, service 610-650 can be implemented For the software executed in one or more physical computing devices of such as server.
In one embodiment, 610 operation of CDX service is online for establishing between two or more customer equipments The center of connection data needed for communication session exchanges point.Specifically, one embodiment of CDX service 610 is in response to client Device request can make external service and client communicated by the NAT of each customer equipment (i.e. by NAT " beating an a hole " with Reach equipment) and generate NAT and pass through data (sometimes referred to as " perforation (Hole Punch) " data).For example, implementing at one In example, CDX service detection communicates required outside ip address and port with customer equipment, and this information is supplied to client Equipment.In one embodiment, CDX service also receives and handles the customer equipment list generated by invitation service 620, and will Distribute to each customer equipment (as detailed below) for including in list to connection data effective and safe.
The user of customer equipment 670A-N invites user to participate in the online communication session of cooperation using invitation service 620 In (such as P2P video conference, P2P instant message chat/meeting etc.).For example, the user of customer equipment 670A will be by that will include The invitation request of the online communication session endpoint identifier of each other users is transferred to invitation service 620, request with one or One or more user's online communication sessions of multiple and different customer equipments.Online communication session endpoint identifier is in different implementations In example can it is different (such as telephone number, user name (such as Apple ID), e-mail address, address, MAC Address, Or other identifier symbol).Invitation service 620 requests to read (the multiple online communication meetings of online communication session endpoint identifier from invitation Talk about endpoint identifier), and lookup is executed in log-on data memory 655, it is identified with positioning and online communication session endpoint Accord with (multiple online communication session endpoint identifiers) relevant customer equipment (multiple customer equipments).
Customer equipment 670A-N registers online communication session using registration service 630.For example, in one embodiment, When customer equipment 670A-N each of power on and be activated on network when, it make its identification mark (such as it Push label) it is related to online communication session endpoint identifier.Association is stored in log-on data memory 655.One In a embodiment, customer equipment 670A-N about Fig. 4 registration service 630 described using being registered, to participate in leading to online Believe conversational services, and in other embodiments, registration process occur different (such as marked by providing their push and Both their online communication session endpoint identifiers).
Push notification service 640 is marked using the push of customer equipment 670A-N sending out notice being transferred to customer equipment 670A-N.In one embodiment, sending out notice is used to invite for online communication session transmissions.When the NAT type of customer equipment When failure is established in P2P connection between incompatible or customer equipment, relay services 650 are established online logical between customer equipment Believe session connection.
In one embodiment, using the opposite light weight of such as User Datagram Protocol (" UDP ") socket (packet) (ligheweight) network protocol establishes the communication between customer equipment and CDX equipment 610.As those skilled in the art As known, UDP socket connection does not need the dialogue of shaking hands for guaranteeing packet reliability, sequence or data integrity, and Therefore it does not consume as TCP socket connects so much packet processing cost (overhead).To the light weight of UDP, stateless sheet Matter (stateless nature) is useful for the server for answering the small inquiry from enormous quantity client.In addition, with TCP is different, and UDP is with packet broadcast (being coated with all devices being sent on local network in packet broadcast) and multicast (more Coating is sent to the subset of equipment on local network in point transmission) it is compatible.As described below, even if UDP can be used, can also lead to It crosses and passes through data using session key encryption NAT and maintain safety in CDX service 610.
It is contrasted with CDX the service 610 low expense, the light weight network protocol that use, in one embodiment, using such as pacifying Network protocol (the inherently secure network of the essential safety of full hypertext transfer protocol (" HTTPS ") Protocol customer equipment 670A-N and invitation service 620, registration service 630, push notification service 640 and/or relaying) are established Communication between service 650, essential safety network protocol depend on Secure Socket Layer (" SSL ") or Transport Layer Security (" TLS ") Connection.It is well known to those skilled in the art with these protocol-dependent details.
Fig. 7 is shown according to one embodiment, and the data flow diagram of online communication session is established between customer equipment.In Fig. 7 Example in, the user of customer equipment A 710 invites the user of customer equipment B 720 to online communication session (such as P2P video Meeting, P2P immediate news systems etc.).In this illustration, customer equipment A 710 sometimes referred to as initiates customer equipment, client The user of equipment B 720 is sometimes referred to as intended recipient, and customer equipment B 720 is sometimes referred to as intended recipient client Equipment.In some embodiments, online communication session invitation is the blind invitation (blind invitation) not occurred.For example, The user of customer equipment A 710 do not know the user of customer equipment B 720 currently whether it is online or it is free participate in it is online logical Believe in session.
Although being exclusively used in reference to the embodiment described of Fig. 6 and 7 using push label and sending out notice, other embodiments It is not so limited.For example, in other embodiments, customer equipment is ok any registration or mapping of uniquely tagged For keeping identification label related to customer equipment, and it is used to provide and makes the identity of customer equipment and unique label phase that identified The trusted methods of pass.
At operation 1, customer equipment A 710 requires its connection data of request from connection data exchange 610.Connection packet It includes and is exchanged each other for customer equipment to establish the information of online communication session (such as P2P session).Connection packet includes visitor The IP address (such as public ip address) of family equipment, the port number requested and other information (such as priority information etc.).Even Meet connection data (such as public/private IP address and port, customer equipment A that data exchange 610 determines customer equipment A 710 The NAT type of 710 NAT device).At operation 2, connection data exchange 610 returns to customer equipment A for data are connected 710。
At operation 3, online communication session invitation request is transferred to invitation service 620 to invite by customer equipment A 710 Customer equipment B 720 is to online communication session (such as P2P video conference, P2P instant messaging session etc.).In one embodiment In, invite connection data and online communication session endpoint identifier including customer equipment A 710, the company of customer equipment A 710 Connecing data may include that the NAT for the public/private IP address of customer equipment A 710 and port and for customer equipment A is set Standby NAT type, online communication session endpoint identifier (such as customer equipment B 720 related to the user of customer equipment B 720 Telephone number, the user name (such as Apple ID) of user, e-mail address, address, MAC Address etc.).It is online logical Letter session invitation request can take the form of HTTPS request and may include the visitor signed and issued by prespecified certification authority Family certificate.
At operation 4, invitation service 620 determines and includes the online communication session endpoint mark in the request of operation 3 Accord with relevant push label (multiple push labels).For example, invitation service 620 access log-on data memory 655 with determine with The relevant push label of online communication session endpoint identifier (multiple push labels).As shown in fig. 7, push label 725 is divided Dispensing customer equipment B 720 is simultaneously therefore related to its online communication session endpoint identifier.Figure 10 is shown to be implemented according to one The exemplary registration data storage 655 of example.As shown in Figure 10, each online communication session endpoint identifier record 1010 is wrapped Include push tag field 1015 and online communication session identification identifier field 1020.As shown in Figure 10, the same online communication session identification Symbol can be related to multiple push labels.In this case, multiple invitations (such as each push label one) will be transmitted.
Invitation service 620 will push request message transmission to push notification service 640.At operation 5, push notification service Online communication session invitation request is transferred to customer equipment B 720 in the form of sending out notice message by 640.Request includes connection The push label (push label 715) of data, online communication session endpoint identifier and customer equipment A 710.Invite request also May include the information for being exclusively used in online communication session, so as to customer equipment B 720 user provide about invitation (such as with Name in an account book, Real Name, telephone number or some combinations), purpose (such as P2P video conference, the P2P instant message meeting invited Words etc.) information.
Online communication session invitation request will be received and show on customer equipment B 720, if it is switched on simultaneously And it correctly operates.Inviting request includes the mechanism (such as accept button and refusal button) that user accepts or rejects invitation.Such as Fruit invites request to be declined, then the user of customer equipment A 710 can receive notice.Assuming that the user of customer equipment B 720 connects By request is invited, then at operation 6, customer equipment B 720 requests it to connect data from connection data exchange 610.Connection number Connection data (such as the NAT of public/private IP address and port, customer equipment B of customer equipment B 720 is determined according to exchange 610 The NAT type of equipment), and at operation 7, connection data are returned into customer equipment B 720.
Next received message is transferred to invitation service 620 at operation 8 by customer equipment B 720.Received message includes The connection data of customer equipment B 720 and further include customer equipment A710 push label.Received message can also contain related In it whether be between customer equipment A 710 and customer equipment B 720 before fail direct P2P connection trial repeating transmission Instruction.Received message can take the form of HTTPS message.
In some embodiments, invitation service 620 determines that the P2P between customer equipment A 710 and customer equipment B 720 connects It whether feasible connects.At operation 9, invitation service 620 determines whether the direct P2P connection between customer equipment A and B is feasible.Example Such as, in one embodiment, if pointing out that it is direct from what is failed before from the received received message of customer equipment B 720 Connection attempt (or stipulated number before failure be directly connected to attempt) repeating transmission, then invitation service 620 may infer that directly P2P connection is infeasible.In order to determine that feasibility, invitation service 620 can compare the NAT type for customer equipment A and B Data, to determine whether customer equipment A will support direct P2P to connect with the NAT device of B.In one embodiment, above-mentioned receiving The instruction for the trial that message fails before not including.But after being directly connected to trial what is failed, customer equipment 710-720 Any one of can transmit and point out to need special " relaying invite " request of relay connection (such as instead of grasping in Fig. 7 Make the invitation request at 3).In response, invitation service can call operation of relays described herein (as described below) automatically.
Certain combinations of known NAT type are incompatible to P2P connection is established.For example, full cone NAT can be removed Any other NAT type except the NAT for (the closed)/firewall closed is used to establish direct P2P connection.By right Than symmetrical NAT is merely able to be used to establish direct P2P connection by full cone NAT.Different NAT are combined in one embodiment The feasibility of type is elucidated in the NAT compatibility table 1110 shown in Figure 11, and column indicate a customer equipment in table 1110 The NAT type of (such as customer equipment A 710), and go indicate another customer equipment (such as customer equipment B 720) NAT class Type." 1.0 " in lattice point out that the NAT type in relevant row and column is compatibility and " 0.0 " points out that NAT type is incompatible 's.
If invitation service 620 determine direct P2P connection be it is feasible, invitation service 620, which will push, to be requested to be transferred to Push notification service 640, to transmit the receiving to request is invited.Therefore at operation 10B, push notification service 640 will be pushed The online communication session received message of notice form is transferred to customer equipment A 710.Received message includes customer equipment B 720 Connect data, online communication session endpoint identifier and push label.Received message will be displayed on customer equipment A 710. Since customer equipment A and B have mutual connection data, customer equipment A and B have enough information to establish directly P2P connection.Therefore at operation 11A, customer equipment A and B establish direct P2P connection using the connection data exchanged.It can be with Direct P2P is established by known mechanism (such as connect using interconnection system and establish (ICE) or other known P2P bindiny mechanism) Connection.
However, relaying is searched at operation 10B and is asked by it if invitation service 620 determines that direct P2P connection is infeasible It asks and is transferred to relay services 650, to determine one or more relay hosts for connection for customer equipment A and B.Relaying is searched Request can contain the networked information (such as NAT passes through/connect data and/or NAT categorical data) for customer equipment A and B, The information is used to select relay host appropriate for two customer equipments by relay services 650.
As shown in figure 8, in one embodiment, relay services 650 include relaying searching module 805, multiple relay hosts 815A-B and relay host database 810 containing the network information related with each relay host 815A-B.Although Fig. 8 is shown Two relay hosts, it should be appreciated that can have more or fewer relay hosts in some embodiments.Invitation service 620 Relaying search request is transferred to relaying searching module 805, relaying searching module 805 uses the network for being used for customer equipment A and B Information inquires relay host database 810.After receiving database result, relaying searching module 805 will at operation 11B Identify that the response of selected relay host 815A-B is supplied to invitation service 620.
In one embodiment, relaying searches response containing the junction labeling generated by relay services 650 and selected relaying The network address (IP address/port) of host 815A-B, the network address are used for relay connection by customer equipment A and B.At one In embodiment, junction labeling to relaying session it is related and by relay host 815A-B for be connected to relay services 650 it Customer equipment A and B are authenticated afterwards.Label can take various forms, including for example: unique ID relays session id code, in After the relevant digital certificate of session and/or unique encryption key.
Invitation service 620 will be pointed out the relaying response for carrying out relay connection being transferred to customer equipment A and B.In a reality It applies in example, the relaying response to customer equipment B may include the junction labeling and the network information for relay host 815B.One In a embodiment, the response to customer equipment B (around push notification service 640) can be directly transmitted because it be in response in The invitation received message of customer equipment B and sent.Invitation service 620 also transmits the relaying response to customer equipment A, the sound It should may include the junction labeling and the network information for relay host 815A.In this example, response is via sending out notice Service 640 is pushed to customer equipment A.
At operation 12B, customer equipment A 710 is established and middle following the service using the network information for relay host 815A The connection of business 650.Equally, at operation 13B, customer equipment B 720 is built using the network information for relay host 815B The vertical connection with relay services 650.In each of these business, all beaten in any NAT firewall of customer equipment A and B It opens new hole (hole), and the NAT for customer equipment A and B passes through/connects data and can be determined simultaneously by relay services 650 And customer equipment A and B (such as public port IP/ that equipment is used for by determining) is returned to respectively.In one embodiment, in After service 650 with customer equipment A and B implement using relaying NAT pass through (" TURN ") agreement, as those skilled in the art understand that As, which allows NAT or the subsequent element of firewall (Element) to receive by TCP or UDP connection and enters number According to.
At operation 14B, customer equipment A 710, which updates relaying, is transferred to invitation service 620, and the update is in operation 17B Place is forwarded to push notification service and is pushed to customer equipment B720.Equally, at operation 15B, customer equipment B 720 Relaying is updated and is transferred to invitation service 620, which is forwarded to push notification service 620 at operation 16B and is pushed away Give customer equipment A 710.Being updated by the relaying that customer equipment A 710 is transmitted can include session tokens, each equipment Online communication session endpoint identifier and passed through by the NAT that relay services 650 determine/connect data.
At operation 18B and 19B, customer equipment A and B establish online communication session connection by relay services 650 respectively. In one embodiment, the NAT of customer equipment B 720 is passed through/is connected data in customer equipment A 710 and be sent to relay services Relay connection can be established when 650, vice versa, thus relay services is allowed to determine the relay host for removing each peer The correct path of 815A-B.
Using above-mentioned technology, invitation service 620 can be embodied as to stateless service, stateless service is substantially that can rise It grade (scalable) and can restore, even if in the large scale system with enormous quantity customer equipment and so.For example, Because push notification service 640 can substantially position registered client equipment and set content push to registered client It is standby, so not needing the current location that invitation service 620 tracks each equipment.In addition, because equipment can transmission belt have request With the NAT of response pass through/connect data, so no longer needing invitation service 620 to maintain any first connection state information, thus Reduce the storage and processing demand of invitation service.This embodiment is particularly useful in large scale system.
Although the user that Fig. 7 describes customer equipment invites single user to online communication session, embodiment not by To such limitation.For example, in some embodiments, the user of customer equipment can invite multiple users to online communication meeting Words.For example, user can be by an invitation request message transmission with multiple online communication session endpoint identifiers to invitation Service, to invite multiple users of different clients equipment to participate in online communication session.
In some cases, user can have multiple users relevant to the same online communication session endpoint identifier Equipment.Figure 26 is shown when user has multiple customer equipments relevant to the same online communication session endpoint identifier, is used In the data flow diagram for the exemplary operation that management is invited.
At operation 2632, (being operated by user A) customer equipment A 2610 connects data for it and hands over from connection data Change 610 transmission request.At operation 2634, connection data exchange 610 returns to the connection data of customer equipment A.Client sets later It is standby that the online communication session invitation request with User ID B is transferred to invitation service 620, to invite user B to online communication meeting It talks about (such as P2P video conference, P2P instant messaging session, video call etc.).Inviting request includes the connection data of A.
Operation 2638 at, invitation service based on include invite request message in B ID and execute numbering directory search. In this illustration, numbering directory search operation is returned for the push label of customer equipment B1 and for the push of customer equipment B2 Label.Therefore, customer equipment B1 and B2 is related to the ID of B.At operation 2640, next invitation service 620 asks push It asks message to be transferred to push notification service 640, request message will be invited to be pushed to customer equipment B1 2615 and customer equipment B2 2620.Push notification service 640 transmits the online communication session invitation request of sending out notice form of message at operation 2642 Customer equipment B12615 is given, the online communication session invitation request of sending out notice form of message is transferred to visitor at operation 2644 Family equipment B2 2620.Each invitation request message include the connection data of customer equipment A 2610, user A use it is online The push of communication session end point identifier and customer equipment A 2610 mark.Inviting request can also include being exclusively used in online communication Session information (such as send inviter name (such as user name, Real Name, telephone number or some combination), invite Purpose (such as P2P video conference, P2P instant messaging session etc.) please etc.).Therefore, online communication session invitation request is sent out It gives and include in the original relevant each equipment of online communication session endpoint identifier invited in request.
In one embodiment, status message transmission is pointed out to invite to customer equipment is invited to be passed by invitation service 620 It is defeated by which customer equipment (which customer equipment).Therefore, at operation 2646, invitation service 620 will invite state more new biography It is defeated by customer equipment A 2610, which points out that online communication session invitation request is sent to customer equipment B1 2615 and visitor Family equipment B2 2620.In one embodiment, customer equipment A 2610 which customer equipment is received to invite carry out tracking and Inform the state of other customer equipment online communication sessions.
In one embodiment, display is invited request by customer equipment B1 2615 and customer equipment B2 2620, if it Connected power supply and can receive invitation request.In the example being shown in FIG. 26, the user of customer equipment B1 2615 will Receive invitation.Therefore at operation 2648, customer equipment B1 2615 requests it to connect data from connection data exchange 610.Connection Data exchange 610 determines the connection data of customer equipment B1 2615 and returns it to customer equipment B1 at operation 2650 2615。
Later at operation 2652, received message is transferred to invitation service 620 by customer equipment B1 2615.Received message The push of connection data and customer equipment A 2610 including customer equipment B1 2615 marks.Received message can also contain related In it whether be from before between customer equipment A 2610 and customer equipment B1 2615 fail direct P2P connection trial weight The instruction of hair.In addition, received message can also including A and B online communication session endpoint identifier and be used for customer equipment B1 2615 push label.
In some embodiments, after receiving the received message to online communication session, invitation service 620 determines direct Whether P2P connection is feasible.Therefore, at operation 2654, invitation service 620 executes directly in the way of describing before being similar to Whether P2P compliance check is feasible to determine the direct P2P connection between customer equipment A 2610 and customer equipment B1 2615. If customer equipment is compatible for direct P2P connection, the operation (starting from operation 2710) described with reference to Figure 27 is executed.Such as Fruit customer equipment is incompatible for direct P2P connection, then executes the operation (starting from operation 2810) described with reference to Figure 28.
The operation executed when direct P2P connects feasible is shown with reference to Figure 27, Figure 27, at operation 2710, invitation service Push request is transferred to push notification service 640 to transmit the receiving of 2615 pairs of customer equipment B1 invitation by 620.It is operating At 2712, the online communication session received message of sending out notice form is transferred to customer equipment A by push notification service 640 2610.This received message includes the connection data of customer equipment B1 2615 and the online communication that push label and user B are used Session endpoint identifier.
In one embodiment, receive point out customer equipment B1 2615 received invite received message after Some time, customer equipment A 2610 notify customer equipment B2 2620: customer equipment A 2610 has received invitation.Therefore, At operation 2714, the invitation of the online communication session endpoint identifier including user B is updated request by customer equipment A 2610 It is transferred to invitation service, and points out that customer equipment B1 2615 has received invitation.It invites to update and requests that invitation can also be ordered Service 620 is pointed out to invitation service 620: which customer equipment relevant to the online communication session endpoint identifier of user B It should receive and invite update message (in this illustration, customer equipment B2 2620, which should be received, invites update message).
Invitation service 620 executes numbering directory based on the online communication session endpoint identifier of user B and searches 2716, with determination The push of customer equipment B2 2620 marks.After push label has been determined, at operation 2718, invitation service passes push request It is defeated by push notification service 640, update message will be invited to be pushed to customer equipment B2 2620.At operation 2720, push is logical Know that the invitation update message of sending out notice form of message is transferred to customer equipment B2 2620 by service 640.Update message is invited to refer to Customer equipment B1 2615 has received online communication session invitation out.Customer equipment B2 2620 can show invitation update message And the state of the online communication session between customer equipment A 2610 and customer equipment B1 2615 can be maintained (such as online The duration etc. of communication session).As will refer to Figure 30 more detailed description, in one embodiment, customer equipment B2 2620 can transference request so that online communication session is transferred to customer equipment B2 from customer equipment B1 2615 2620。
Some time invited after received message is received in operation 2712, at operation 2722, customer equipment A 2610 and customer equipment B1 2615 establishes direct P2P connection using the connection data exchanged.It can be built by known mechanism Stand direct P2P connection (such as connect using interconnection system and establish (ICE) or other known P2P bindiny mechanism).It should be understood that It is that operation 2722 can be executed before or during operating 2714-2720.
It is in some cases, multiple although Figure 26 describes the example that only one customer equipment receives invitation message Customer equipment can receive the invitation to the online communication session for being directed toward a user.For example, client sets in some cases Standby B1 2615 and customer equipment B2 2620 can receive invitation.In one embodiment, customer equipment A 2610 establish and it Receive from it the online communication session of first customer equipment of received message.Customer equipment A 2610 can make to cancel message Be sent to other customer equipments (other multiple customer equipments) (for example, invitation service can be transferred to by cancelling message, and Next other described customer equipments (other multiple customer equipments) are pushed to via push notification service).
The operation 2654 for returning to Figure 26 is referred to, if between customer equipment A 2610 and customer equipment B1 2615 Direct P2P connection it is infeasible, then execute operation described in Figure 28.Figure 28 shows the execution when direct P2P connection is infeasible Exemplary operation data flow diagram.At operation 2810, invitation service 620 is transferred to middle following the service for search request 2810 is relayed Business 650, to determine the relay host used by customer equipment A 2610 and customer equipment B1 2615.Relaying search request can be with Containing the networked information (such as NAT passes through/connect data and/or NAT categorical data) for customer equipment, which is relayed Service 650 is for selecting relay host appropriate for customer equipment.As shown in figure 8, one embodiment of relay services 650 includes Multiple relay host 815A-B and relay host database 810 containing the network information relevant to each relay host.For example, Invitation service 620 is transferred to relay services 650 for search request is relayed, which is come using the network information for customer equipment Inquire relay host database 810.After receiving database lookup result, at operation 1210, relay services 650 provide knowledge Not Xuan Ding relay host 815A-B relaying search response.In one embodiment, relaying searches response containing by relay services 650 junction labelings generated and customer equipment in order to relay host 815A-B used in relay connection network address (IP Location/port).In one embodiment, junction labeling is related to relaying session and is used to connect by relay host 815A-B Customer equipment A 2610 and customer equipment B12615 are authenticated after to relay services 650.Label can be taken different Form, including for example: unique ID relaying session id code, digital certificate relevant to relaying session and/or unique encryption Key.
Then at operation 2814, relaying response is transferred to customer equipment B1 2615 by invitation service 620, which contains The instruction of relay connection will be carried out by having.In one embodiment, relaying response can include for selecting for customer equipment B1 2615 The junction labeling and the network information for the relay host selected.In one embodiment, relaying response can be transmitted directly to client Equipment B12615 (bypasses push notification service 640).At operation 2816, relaying response is also transferred to visitor by invitation service 620 Family equipment A 2610, the response include the junction labeling and the network information of the host for selecting for customer equipment A 2610.? In some embodiments, relaying response is pushed to mobile device A via push notification service 640.
At operation 2818, customer equipment A 2610 is then by the online communication session endpoint identifier including user B It invites to update and requests to be transferred to invitation service 620, and point out that customer equipment B1 2615 has received request.It invites and updates request It order invitation service 620 or can also be pointed out to invitation service 620 relevant to the online communication session endpoint identifier of user B Which customer equipment should receive invitation update message, and (in this illustration, customer equipment B2 2620 should receive invitation and update Message).
Invitation service 620 executes numbering directory based on the online communication session endpoint identifier of user B and searches 2820, with determination The push of customer equipment B2 2620 marks.After push label has been determined, at operation 2822, invitation service requests push It is transferred to push notification service 640, update message will be invited to be pushed to customer equipment B2 2620.At operation 2824, push The invitation update message of sending out notice form of message is transferred to customer equipment B22620 by notice service 640.Invite update message Point out that customer equipment B1 2615 has received online communication session invitation.Customer equipment B2 2620 can show that invitation updates and disappear Cease and can maintain online communication session between customer equipment A 2610 and customer equipment B1 2615 state (such as The duration etc. of line communication session).In one embodiment, customer equipment B2 2620 can transference request so that Line communication session is transferred to customer equipment B2 2620 from customer equipment B1 2615.
At operation 2826, customer equipment A 2610 is established in using the network information for its selected relay host After the connection of service 650.Equally, at operation 2828, customer equipment B2 2620 uses the network for its selected relay host Information establishes the connection with relay services 650.It, can be anti-in any NAT of customer equipment in each of these operations The NAT for opening new hole (hole) in wall with flues, and being used for customer equipment passes through/connect data can be true by relay services 650 Determine and returns to their (such as public ports IP/ by determining customer equipment).In one embodiment, relay services 650 and customer equipment A 2610 and customer equipment B1 2615 implements to pass through (" TURN ") agreement using relaying NAT, as this As field technical staff understands, the agreement allow NAT or the subsequent element of firewall by TCP or UDP connection receive into Enter data.
At operation 2830, customer equipment A 2610, which updates relaying, is transferred to invitation service 620, and invitation service 620 exists It operates to update to transfer to push notification service and relaying update is pushed to client at operation 2834 by relaying at 2832 and set Standby B1 2615.Equally, at operation 2836, customer equipment B1 2615, which updates relaying, is transferred to invitation service 620, invites clothes Business 620 updates relaying to transfer to push notification service 640 and update relaying at operation 2840 at operation 2838 to be pushed away Give customer equipment A 2610.The relaying update message transmitted by customer equipment A 2610 can include junction labeling, Mei Ge Line communication session identifier and by relay services 650 operation 2826 and 2828 determine NAT pass through/connect data.One It in a embodiment, executes relaying and updates operation, because the NAT information of one or more customer equipments may change.Finally, At operation 2842 and 2844, customer equipment A 2610 and customer equipment B1 2615 pass through relay services 650 and establish P2P respectively Connection.In one embodiment, it is able to respond and the NAT of customer equipment B1 2615 is passed through into/connection number in customer equipment A 2610 Relay connection is established according to relay services 650 are transferred to, and vice versa, relay services 650 is thus allowed to determine to each The correct path of the relay host of peer.
Figure 29 shows the data flow of the exemplary operation according to one embodiment, executed when online communication conversation end Figure.At operation 2910, the online communication session between customer equipment A 2610 and customer equipment B12615 is over.Example Such as, no matter customer equipment A 2610 or customer equipment B1 2615 all terminated online communication session (or used not Method terminate online communication session).During online communication session may have been passed through direct P2P connection or passed through After.
Some time after online communication session is over, at operation 2912, customer equipment A 2610 will be Line communication session updates request and is transferred to invitation service 620.Send online communication session updates to notify it is not online logical Believe the customer equipment B2 2620 of the role (part) of session, the termination of online communication session.The request of online communication session updates can To include the online communication Session ID of user B and order invitation service 620 or can point out to invitation service 620, with Which relevant customer equipment of user B (such as customer equipment B2 2620) will receive update.
Online communication session endpoint identifier of the invitation service 620 based on user B and execute numbering directory search operation 2914, To determine the push label of customer equipment B2 2620.After push label has been determined, at operation 2916, invitation service will be pushed Request is transferred to push notification service 640, and update message is pushed to customer equipment B2 2620.At operation 2720, push The online communication session updates message of sending out notice form of message is transferred to customer equipment B2 2620 by notice service 640.Online Communication session update message points out that the online communication session between customer equipment A 2610 and customer equipment B1 2615 has been tied Beam.
Figure 30 is shown according to one embodiment, executes online communication session being transferred to another visitor from a customer equipment The flow chart of the exemplary operation of family equipment.In the example being shown in FIG. 30, it is assumed that customer equipment B1 2615 and B2 2620 Each of receive to the online communication session started by customer equipment A 2610 invitation (each of which is shared in invitation Used in online communication Session ID), and customer equipment B1 2615 receives and establishes to exist with customer equipment A 2610 Line communication session (as described in Figure 26 and 27 or 28).In addition, customer equipment B2 2620 has been received and points out client Equipment B1 2615 has received the invitation invited and has updated.In the example being shown in FIG. 30, online communication session will be set from client Standby B1 2615 is transferred to customer equipment B2 2620.For example, it, which is already indicated above, in the user of customer equipment B2 2620 wants adapter tube Online communication session between customer equipment A 2610 and customer equipment B1 2615.In one embodiment, online communication session Using the state of the online communication session between 2115 display customer equipment A 2610 and customer equipment B1 2615, which permits Perhaps the user of customer equipment B2 2620 issues transfer online communication session request (such as by being clicking or press on customer equipment B1 The link provided in 2615 online communication conversation applications 2115 or virtual push button).
At operation 3010, customer equipment B2 2620 requests it to connect data and is operating from connection data exchange 610 Requested connection data (if it, which has no knowledge about it, connects data) is received at 3012.Then, at operation 3014, Ke Hushe Transfer request message is transferred to invitation service 620 by standby B2 2620, the message include customer equipment A 2610 push label and The connection data of customer equipment B2 2620.Transfer request message can also be identified including the online communication session endpoint of A and/or B It accords with and/or the push for customer equipment A 2610 marks.
Then, at operation 3016, push request is transferred to push notification service 640 by invitation service 620, so that push The Transfer Message of sending out notice form is transferred to customer equipment A 2610 by notice service 640.At operation 3018, invitation service 620, which also execute direct P2P compatibility, verifies to determine the direct P2P between customer equipment A 2610 and customer equipment B2 2620 It whether feasible connects.It for this exemplary purpose, is directly connected to be feasible, it should be appreciated, however, that online communication meeting Words transfer can also occur in relaying situation.
At operation 3020, transfer request message is transferred to customer equipment A 2610 by push notification service.Transfer request Message may include the online communication session endpoint identifier of B and the connection data for customer equipment B2 2620.Transfer request Message also indicates which equipment (such as customer equipment B2 2620) is requesting online communication Session Hand-off (such as to pass through client The device id and/or push label of equipment B2 2620).Transfer request message can make the online communication meeting of customer equipment A2610 Words also allow user to receive or decline transfer request using 2115 display transfer requests.Assuming that transfer request is received, then At operation 3022, customer equipment A 2610 establishes the direct P2P with customer equipment B2 2620 using the connection data exchanged Connection.It should be understood that the online communication session at this point between customer equipment A 2610 and customer equipment B1 2615 It is activation.Online communication session updates are then transferred to customer equipment B1 2615 by customer equipment A 2610, which points out Online communication session transfers to customer equipment B2 2620.In one embodiment, this update message is between customer equipment It is transmitted in existing online communication session.Then, customer equipment A 2610 is exchanged to and customer equipment B2 at operation 3026 2620 online communication session, and operating the online communication session dismantled at 3028 with customer equipment B1 2615.
Although by reference to a user is invited, to online communication session, (it can or not phase related to multiple customer equipments Close) embodiment is described, but in some embodiments, multiple users can be invited to online communication session.Figure 31 shows use In initiating and setting up the flow chart with the exemplary operation of the online communication session of multiple users.
Customer equipment 3110 requests it to connect data at operation 3132 from connection data exchange 610, and is operating Requested connection data are returned at 3134.At operation 3136, customer equipment A 3110 will invite request to be transferred to invitation Service 620, the request include the connection data of customer equipment A 3110, online communication session endpoint relevant to user B mark Symbol and online communication session endpoint identifier relevant to user C.Therefore, the user of customer equipment A 3110 is inviting multiple User is to online communication session.
Invitation service 620 is executed numbering directory search operation 3138 and is identified with the determining online communication session endpoint with user B Accord with push label relevant with the online communication session endpoint identifier of user C.In this illustration and for purposes of brevity, Numbering directory, which is searched, returns to customer equipment B 3115 relevant to the online communication session endpoint identifier of user B and with user C's The result of the relevant customer equipment C 3120 of online communication session endpoint identifier.Push is requested after invitation service 620 3140 are transferred to push notification service 640, by request push notification service 640 by PUSH message in the form of invitation be transferred to client Equipment B and C.Next push notification service 640 will invite request to be transferred to customer equipment B 3115 at operation 3142, and Request will be invited to be transferred to customer equipment C 3120 at operation 3144.Each invitation request message includes customer equipment A The push of 3110 connection data, the online communication session endpoint identifier that user A is used and customer equipment A 3110 marks.
In one embodiment, status message transmission is pointed out to invite to customer equipment is invited to be passed by invitation service 620 It is defeated by which customer equipment (which customer equipment).Therefore, at operation 3146, invitation service 620 will invite state more new biography It is defeated by customer equipment A 3110, which points out that online communication session invitation request is sent to customer equipment B 3115 and client Equipment C3120.In one embodiment, if customer equipment B 3115 and customer equipment C 3120 power on and can connect It receives and invites request, then display is invited request by them.
In the example being shown in FIG. 31, each invitation will be received.Therefore at operation 3148, customer equipment B 3115 request it to connect data from connection data exchange 610.Connect the connection number that data exchange 610 determines customer equipment B 3115 According to and operation 3150 at be returned to customer equipment B 3115.Equally, customer equipment C 3120 operation 3152 at from Connection data exchange 610 requests it to connect data.Connect data exchange 610 determine customer equipment C3120 connection data and Customer equipment C 3120 is returned at operation 3154.Then, customer equipment B 3115 disappears receiving at operation 3156 Breath is transferred to invitation service 620, and received message is transferred to invitation service at operation 3158 by customer equipment C 3120 620.Invitation service 620 then executes direct P2P compatibility verification 3160 and is connected to customer equipment A 3110 with the direct P2P of determination It is whether feasible between customer equipment B 3115 and between customer equipment A 3110 and customer equipment C 3120.For this A exemplary purpose, it is feasible that direct P2P, which is connected between customer equipment,.Therefore, using the connection data exchanged, client Equipment A 3110 is established at operation 3162 with customer equipment B 3115 and is connected for the direct P2P of online communication session, and Customer equipment A 3110 is established at operation 3164 with customer equipment C 3120 and is connected for the direct P2P of online communication session. In this illustration, customer equipment A 3110 has to serve as the host of online communication session.Therefore, in 3115 He of customer equipment B The data transmitted between customer equipment C 3120 are relayed by customer equipment A 3110.In other embodiments, in participant Between establish complete netted connection.In such an embodiment, it is built between customer equipment B 3115 and customer equipment C 3120 Stand another P2P connection.
Although embodiment described herein a kind of mechanism of registered client's equipment for online communication session is described, It is that in some embodiments, registration 140 can be implemented application programming interfaces (API) and is registered in allowing different application programs Line communication session end point identifier and push label.The API implemented in one embodiment, be by component software (hereinafter referred to as For the interface that " API implement component software ") is implemented, which allows different component softwares (hereinafter referred to as " API Calls software Component ") it accesses and uses one or more functions (function), method, procedure, data structure and/or implemented by API soft Other services that part component provides.For example, (it can be third party and develops the developer of API permission API Calls component software Person) it influences to implement the regulation feature that component software provides by API.There can be an API Calls component software or can have more In one this component software.API can be computer system or program library and provide, to support to from software application journey The source code interface of the request of the service of sequence.API can be provided with regard to programming language, which applies journey when building It can explain or compile when sequence, rather than be how to elaborate the clearly rudimentary description of data in memory.
The API definition language that API Calls component software uses when accessing and implementing the regulation feature of component software using API It makes peace parameter.For example, API Calls component software by by API exposure (expose) one or more API Calls (sometimes by Referred to as function or method calling) and access the regulation feature that API implements component software.API executes component software can be in response to API Calls from API Calls component software and pass through API return one value.Although the syntax and knot of API definition API Calls Fruit (such as how calling what API Calls and API Calls do), but API does not usually disclose how API Calls are completed by API Function as defined in calling.Different function calls or message implements software via calling software (API Calls component software) and API One or more application Program Interfaces between component are transferred.Transfer function calling or message may include publication, hair It rises, call, calling, receiver function calling or message, or function call or message being made a response.Therefore, API Calls software group Part can be with diverting call and API implements component software also with diverting call.
By example, API implements component software and API Calls component software can be operating system, library, device drives Device, API, application program or other software module are (it should be understood that API implements component software and API Calls component software can To be the software module of type of being same or different to each other).API Calls component software can be real with API on network by API Apply the local software component (i.e. in data processing system identical with API implementation component software) or long-range of component software communication Component software (i.e. in the data processing system different from API implementation component software).It should be understood that API implements software Component be also used as API Calls component software (i.e. it can to implemented by different API the API of component software exposure into Row API Calls), and API Calls component software can also be by implementing to be exposed to different API Calls component softwares API and be used as API implement component software.
API can permit the multiple API Calls component softwares write with different programming languages and API implementation component software leads to Letter (therefore API may include for implementing translation calling between component software and API Calls component software in API and returning Feature);But it can also implement API according to the programming language of regulation.
Fig. 9 shows one embodiment of API structure, which includes implementing the API implementation component software of API 920 910 (such as operating system, library, device driver, API, application program or other software modules).The regulation of API 920 can be by One or more functions that API Calls component software 930 uses, method, class, object, agreement, data structure, format and/or Other features of API implementation component software.API 920 can specify that at least one calling agreement, and calling agreement regulation API is real Apply how the function in component software receives parameter from API Calls component software and how the function returns result to API Calls component software.API Calls component software 930 (such as operating system, library, device driver, API, application program or Other software module), API Calls are carried out to access and use the API as defined in API 920 to implement software group by API 920 The feature of part 910.API, which implements component software 910, can return to API by API 920 by a value in response to API Calls Call component software 930.
It will be appreciated that it may include not by the regulation of API 920, also not offer that API, which implements component software 910, To other functions of API Calls component software 930, method, class, data structure and/or other features.It should be understood that API Calling component software 930 can with API implement component software 910 in same system or can be long range positioning and Component software 910 is implemented by network access API using API 920.Although Fig. 9 shows the API interacted with API 920 and exhales It is component software 930, it should be understood that, it can be (or identical with the language different from API Calls component software 930 Language) write other API Calls component softwares, API 920 also can be used.
API, which implements component software 910, API 920 and API Calls component software 930, can be stored in machine readable Jie In matter, which may include for storing the information with machine (such as computer or other processing systems) readable form Any mechanism.For example, machine readable media includes disk, CD, random access memory;Read-only memory, flash memory Equipment etc..
It transfers between circuit-switched calling and video call
In some embodiments, customer equipment can be exhaled from the circuit-switched call diversion for only establishing audio to video It cries, without significantly interrupting the communication between participant.For example, only establishing the participant choosing of the circuit-switched calling of audio It selects and is transferred to video call (it includes video frame and audio), this makes video call initiate message (form online communication session Invitation message) it is sent to other participants (other multiple participants) of calling.If other participant's (other multiple participations Person) receive video call invitation, P2P connection will be just established between the customer equipment of participant.Although P2P connection will be assisted Quotient, but participant can be called by the circuit-switched of only audio and be communicated.P2P connection is established and video is being joined After being communicated between side, customer equipment is transferred to video call.Then only the circuit-switched calling of audio is abandoned (drop), and participant can be communicated by video call.
Figure 12 shows according to the example client device 1210 of some embodiments and for calling and regarding in circuit-switched The graphic user interface transferred between frequency calling.Customer equipment 1210 includes loudspeaker 1255 (during speakerphone mode Using), forward sight (front facing) camera 1260 (its capture be used for video call video), (it catches microphone 1265 Catch sound), (its ear that customer equipment 1210 is usually maintained in user them during the call of receiver/loudspeaker 1270 Used when on piece) and display screen 1275 (it is touch screen in some embodiments).Customer equipment 1210 can also include double Aural headphone/earphone jack, proximity sensor, ambient light sensor, accelerometer (multiple accelerometers) and other assemblies.It should manage Solution, the structure of customer equipment 1210 are exemplary, and can be in embodiment using including more or fewer groups The different structure of part.
As shown in figure 12, graphic user interface 1205 is currently displayed on display screen 1275.The use of customer equipment 1210 Family is currently just participating in the call of only audio (using telephone number (408) 555-1234).Graphic user interface 1205 Several different options including being used for user during calling.For example, customer equipment 1210 inputs (example in response to receiving user Tapping or other scheduled gestures such as on icon appropriate) and execute following movement: when input is applied to end call diagram Terminate to call when marking 1250, be applied to silent icon 1220 in response to input and keep audio call mute, in response to inputting quilt It is applied to keypad icon 1225 and shows numeric keypad (such as in order to add other telephone numbers to calling), in response to Input is applied to the speaker icon 1230 (it changes audio output to loudspeaker 1255) and calling is set to loudspeaker electricity Words are applied to addition call icon 1235 in response to input and add a calling, are applied holding icon in response to input 1240 give and calling are set to holding, in response to inputting the contact person's column for being applied to contact icon 1245 and showing user Table, and be applied to video call icon 1215 in response to input and be transferred to video call.
Figure 17-18 is shown according to one embodiment, between the calling of the circuit-switched of only audio and video call The flow chart of the exemplary operation of switching.The exemplary embodiment of reference Figure 12,13 and 14 is described into Figure 17-18.However, should Understand, it can be by being different from executing with reference to the embodiment of the present invention of those of the discussion of Figure 12,13 and 14 embodiment The operation of Figure 17-18, and be able to carry out and be different from reference to Figure 17-18 discussion with reference to the embodiment that Figure 12,13 and 14 discuss The operation of those operations.
As shown in figure 17, customer equipment 1210 and 1410 is connected (visitor by the circuit-switched calling 1710 of only audio The user of family equipment 1210 or the user of customer equipment 1410 initiate calling).Therefore, user's energy of customer equipment 1210 and 1410 Enough communicated by established circuit-switched audio call.At block 1712, customer equipment 1210 is received for transferring To the input of video call.For example, user is defined by touching on video call icon 1215 or executing another Gesture and be selected as and be transferred to video call.
Process then moves to block 1714, and customer equipment 1210 makes video call invitation message (it has at block 1714 The form of online communication session invitation request message) customer equipment 1410 is sent to (as the phone by customer equipment 1410 As Number Reorganization).In some embodiments, online communication session is sent using structure described in Fig. 6 and 7 invite request Message.Process is moved to block 1716 later.
At block 1716, customer equipment 1210 determines whether audio passes through speaker-phone (such as loudspeaker at present 1255) it or by headphone/earphone jack is routed.If it is, process is moved to block 1720.If it is not, then stream Journey is moved to block 1718, and at block 1718, customer equipment 1210 passes through the speaker-phone of customer equipment 1210 (such as loudspeaker 1255 routing audios and process be moved to block 1720.
At block 1720, customer equipment 1210 shows that video preview forward sight camera 1260 be currently capturing, To allow the user of customer equipment 1210 to go to prepare video call (such as the correct position for removing customer equipment 1210 for video call It sets).Figure 13 shows customer equipment 1210 and shows that video preview 1310, video preview 1310 show that forward sight camera 1260 is current just In the video what is captured.Although in figure 13 illustrates, in some embodiments, not showing permission also on GUI 1305 User cancels the cancel button that video call is invited.Process is moved to block 1722 from block 1720.
At block 1726, customer equipment 1410, which receives, invites the video of user to the video call of customer equipment 1410 to exhale It is invitation message.Process is moved to block 1728 from block 1726.In some embodiments, customer equipment 1410, which has, is similar to client The structure of equipment 1210.For example, as shown in figure 14, customer equipment 1410 includes that (it is in speakerphone mode for loudspeaker 1455 Period use), forward sight camera 1460 (it captures the video for being used for video call), microphone 1465 (its capture sound), connect Receive device/loudspeaker 1470 (its usually in user during the call by ear that customer equipment 1410 is maintained at them when made With) and display screen 1475 (it is touch screen in some embodiments).Customer equipment 1410 can also include headphone/ear Machine transplanting of rice hole, proximity sensor, ambient light sensor, accelerometer (multiple accelerometers) and other assemblies.It should be understood that client The structure of equipment 1410 is exemplary, and can be in embodiment using the different knots including more or fewer components Structure.
At block 1728, the broadcasting of customer equipment 1410 points out the one or more audio tones for receiving message to remind this The user of message.Audio tones can different (such as audio tones can be similar in customer equipment in different embodiments The Call Waiting tone (although they are started by carrier relevant to customer equipment 1410) used on 1410, audio Tone can be unique and be exclusively used in video call etc.).In some embodiments, if customer equipment 1410 is not in user Ear beside (for example, as pointed out by the proximity sensor of customer equipment 1410), and/or if call currently just On speakerphone mode, customer equipment 1410 does not just play the audio tones for pointing out to receive video call invitation message. Process is moved to block 1730 from block 1728.
At block 1730, customer equipment 1410 shows video call invitation message, and optionally shows forward sight camera What video preview 1460 be currently capturing, and to allow the user of customer equipment 1410 to go to prepare video call, and flows Journey is moved to block 1732.Figure 14 shows the GUI 1405 that display video call invites 1440.As shown in figure 14, video call is invited 1440 include accept button 1432, declining button 1434 and video preview 1430, (it shows that forward sight camera 1460 is current What captures).Although Figure 141 0 shows the invitation 1440 of the video call including video preview 1430 (that is, 1430 quilt of video preview Video call is contained in invite in 1440), but in other embodiments, video preview 1430 be located at video call invitation 1440 it Have outside and/or with video call invitation 1440 overlapping.The user of customer equipment 1410 can choose accept button 1432 to receive Video call invitation (such as by tapping accept button 1432 or execute another pre- in accept button 1432 for inputting Determine gesture), and can select to decline button 1434 invite declining video call (such as by tapping decline button 1434 or It executes another kind and is declining the prearranged gesture on button 1434 for inputting).
At block 1732, customer equipment 1410 is determined for receiving whether the input of video call has been received (example Video call invitation has been received as whether user passes through selection accept button 1432).If customer equipment 1410 receives For receiving the input of video call, then process is moved to block 1734, and otherwise process is moved to block 1736.At block 1734, visitor Family equipment 1410 makes video call received message be transferred to customer equipment 1210.In some embodiments, using in Fig. 6 and 7 Received message is transferred to customer equipment 1210 by the structure of description.Process is subsequently moved to block 1810.
At block 1736, it is determined whether (such as user passes through for the input for having been received for refusing video call request Selection declines button 1434 and has had rejected video call invitation).It is exhaled if customer equipment 1410 is received for declining video The input of invitation is cried, then process is moved to block 1738, and otherwise process moves back to block 1732.At block 1738, customer equipment 1410, which make video call decline message, is transferred to customer equipment 1210.Customer equipment 1410 can also clear up video call invitation 1440 and stop show video preview 1430.In some embodiments, using structure described in Fig. 6 and 7 by video call It declines message and is transferred to customer equipment 1210.
At block 1722, customer equipment 1210 determines whether it receives video call from customer equipment 1410 and receive Message.If it is, process is moved to block 1816, otherwise process is moved to block 1724, and customer equipment 1210 is true at block 1724 Whether it receives video call from customer equipment 1410 and declines message calmly.If it is, process is moved to block 1910, it is no Then process moves back to block 1722.
With reference to Figure 18, (user of customer equipment 1410 has received video call invitation), Ke Hushe at block 1810 Standby 1410 determine whether audio passes through the wear-type of speaker-phone (such as loudspeaker 1470) or customer equipment 1410 at present Earphone is routed.If it is not, then process is moved to block 1812, audio routing is changed to from loudspeaker 1455 at block 1812 Speaker-phone (such as loudspeaker 1470), and process is moved to block 1814.If audio passed through speaker-phone or Headphone is routed, then process is moved to block 1814.
At block 1814, customer equipment 1410 shows that video preview forward sight camera 1260 be currently capturing. The operation in ability perfoming block 1814 as a result, video preview is not shown currently is served only as to be operating in block 1730.Process later Block 1820 is moved to from block 1814.
At block 1818 and 1820, customer equipment 1210 and 1410 is established mutual P2P and is connected.It can be by known Mechanism establish P2P connection (such as connect using interconnection system and establish (ICE) or other known P2P bindiny mechanism).Assuming that P2P Connection is successfully established, then process is moved respectively to block 1822 and 1824 from block 1818 and 1820, objective at block 1822 and 1824 Family equipment 1210 and 1410 by P2P connect between each other transmission video (video come from 1260 He of forward sight video camera 1460).In some embodiments, video had not only included video frame but also had included corresponding audio (respectively by 1210 He of customer equipment 1410 microphone 1265 and 1465 captures), and in other embodiments, video is to connect to be communicated by P2P with audio Separated stream.
Process is moved respectively to block 1826 and 1828 from block 1822 and 1824.At block 1826 and 1828, customer equipment 1210 and 1410 determine whether they have been received one or more video frames of the peer from them respectively.If They are that then process is moved respectively to block 1830 and 1832 from block 1826 and 1828.If they are not, process stays in block At 1826 and 1828, until one or more video frames have been received.
In some embodiments, customer equipment 1210 and 1410 waits a certain amount of time from place's reception video frame each other, And if they do not exchange video frame on that time, take optional movement.For example, in some embodiments, video Calling is cancelled and cannot establish the message of video call and is displayed on the screen of customer equipment 1210 and 1410.For many Reason may not be able to establish video call, including bandwidth is not enough for video call, and video frame cannot be transmitted or be received Deng.It is objective in other embodiments although customer equipment waits a frame video before proceeding in some embodiments Many frames (such as stream of video frames) to be received such as in the given time period of family equipment before proceeding.
At block 1830 and 1832, customer equipment 1210 and 1410 is transferred to video call respectively.It is transferred to video call Including showing the video received and changing audio routing to video call from circuit-switched audio call.In some realities It applies in example, video preview (such as video preview 1310) is moved to the corner (and size reduction) of screen, and from peer The video received is revealed.It is therefore to be understood that until audio routing has been changed from circuit-switched audio call Video call is changed to, participant can be communicated by circuit-switched audio call (that is, circuit-switched audio call Still it is established, and video call is being negotiated).After being transferred to video call, circuit-switched audio call can be put It abandons.Therefore, process is moved respectively to block 1834 and 1836 from block 1830 and 1832, the circuit-switched sound at block 1834 and 1836 Frequency calling is abandoned.
The customer equipment 1210 and 1410 after being transferred to video call is shown respectively in Figure 15 and 16.Such as Figure 15 institute Show, customer equipment 1210 shows video 1510, and it is assorted that video 1510 is that the forward sight camera 1460 of customer equipment 1410 is capturing Video.Customer equipment 1210 also shows that video 1515, video 1515 are the views what forward sight camera 1260 capturing Frequently.GUI 1505 further includes terminating video button 1520 and end video and call button 1525.Terminate video button 1520 to permit Family allowable terminates video call and returns to only audio call.Terminating video and call button 1525 allows user thoroughly to terminate to regard Frequency calling (such as terminate talk) with the user of customer equipment 1410.As shown in figure 16, customer equipment 1410 shows video 1610, video 1610 is that video the forward sight camera 1260 of customer equipment 1210 be currently capturing.Customer equipment 1410 also show that video 1615, video 1615 are the videos what forward sight camera 1460 is currently capturing.GUI 1605 is also Including terminating video button 1620 and terminating video and call button 1625.
Figure 19 is shown according to one embodiment, is executed on the customer equipment that video call refuse information has been received The flow chart of exemplary operation.At block 1910, the reception of customer equipment 1210 video call refuse information be (customer equipment 1410 User has had rejected video call invitation).Process is moved to block 1912 from block 1910, and customer equipment 1210 shows video Calling is rejected message and optionally plays the one or more audio tones for pointing out to receive video call refuse information.Stream Journey is subsequently moved to block 1914, and customer equipment 1210 stops the video preview of display own at block 1914.If audio is defeated Speaker-phone is changed in block 1718 before out, then customer equipment 1210 can also prompt user back to initial sound Frequency output (such as passing through loudspeaker 1270).
Figure 20 is shown according to one embodiment, for being transferred to the customer equipment that circuit-switched calls from video call The flow chart of the exemplary operation of upper execution.Video call 2010 is established between customer equipment 1210 and 1410 (can basis Video call is established with reference to the mechanism of the description of Figure 17 and 18, or can not transfer and establish from circuit-switched audio call Video call).At block 1712, customer equipment 1210 receives the input that the circuit-switched for being transferred to only audio calls. For example, with reference to Figure 15, the user of customer equipment 1210, which has selected for terminating video button 1520, (such as terminates view by tapping Frequency button 1520 executes another prearranged gesture on terminating video button 1520).Customer equipment 1210 will then be pointed out to turn The message for being connected to the circuit-switched calling 2014 of only audio is transferred to customer equipment 1410.
Next customer equipment 1210 initiates the request of circuit-switched audio call to customer equipment 1410 (such as client sets Standby 1210 call many a customer equipments 1410 automatically).In some embodiments, this executes in the background and does not need user Interaction.Calling is carried out by many a network elements (such as base station, mobile switching centre etc.) of carrier network foundation structure Routing.
Customer equipment 1410 receives and answers circuit-switched calling 2020.In one embodiment, customer equipment 1410 Show access into call request and can playing point out into call request audio tones (such as Call Waiting tone or other Tone), and user's intervention is needed to carry out answer calls.In another embodiment, the automatic answer calls of customer equipment 1410 and No user intervention (and the audio tones pointed out into call request may or may not be played).After calling obtains answer, Only the circuit-switched calling of audio is established 2030 between customer equipment 1210 and 1410.
After only the circuit-switched calling of audio is successfully established, customer equipment 1210 and 1410 is transferred to only sound respectively The calling 2032 and 2034 of frequency.For example, the calling for being transferred to only audio includes changing audio routing to circuit from video call Switch type calling stops the video that display is received, and stops transmission video.Customer equipment can also stop showing video preprocessor It lookes at.It is therefore to be understood that although the calling of circuit-switched only audio is being negotiated, 1210 He of customer equipment 1410 user still is able to be communicated by video call (that is, video call is still established, and the only circuit switching of audio Formula calling is being negotiated).After the circuit-switched calling of successful handover to only audio, the knot of customer equipment 1210 and 1410 Beam P2P connection 2040.The user of customer equipment 1210 and 1410 can then be called by the circuit-switched of only audio and be carried out Communication.
Although about tool, there are two the video calls of participant to describe the embodiment of the present invention, embodiment is not It is so limited, because can have multiple participants in video call.In such an embodiment, customer equipment can be shown Show multiple video flowings of each different participant in Video chat.
Although about tool, there are two the video calls of participant to describe the embodiment of the present invention, each participant Video is transmitted, but embodiment is not so limited.For example, in some embodiments, only one participant can incite somebody to action Transmission of video gives other participants (other multiple participants), and those other participants (other multiple participants) can be only Transmit audio.In some embodiments, each participant can determine whether to temporary at any point during video call Stop transmitting video.
In some embodiments, the quality based on the video transmitted during the calling of network condition dynamic regulation.For example, working as net When network is crowded, the bit rate of video can be reduced.Equally, when network is not relatively crowded, the bit rate of video can be increased.? In some embodiments, if network condition prevents video from being transmitted, participant's customer equipment is automatically forwarded to the electricity of only audio The calling of road switch type.Therefore, if bandwidth is brought down below certain level, participant's customer equipment can be automatically forwarded to only The circuit-switched calling (or the circuit-switched that user can be prompted to be transferred to only audio calls) of audio.
It is supported via the hand-free service of the hand free device for IP video call
In one embodiment, customer equipment include support by WPAN (wireless personal area network) (such as bluetooth, ZigBee etc.) function that is interacted with hand free device (such as headphone, automobile toolbox etc.), including support management with it is hands-free The IP video call of unit.Figure 32 is shown according to one embodiment, and the visitor of IP video call is managed with hands-free unit interface The block diagram of family equipment.Customer equipment 3210 includes initiating the ability of video call (such as to invite one or more recipients to existing Line communication session, which is video call) and receive the ability of video call.In some embodiments, client Equipment 3210 further includes cellular telephone components, to carry out and receive cellular calls and/or be accessed by cellular connection because of spy Net or other networks.
As shown in figure 32, customer equipment 3210 includes IP video call management device 3250, telephone supervisor 3260, audio pipe Manage device 3275 and hands-free manager 3270.In some embodiments, customer equipment 3210 further includes cellular call manager 3255. IP video call management device 3250 manages the application of P2P video call, including is existed as described above by IP video call service 3230 IP P2P video call is established on IP network 3235.In one embodiment, IP video call service 3230 includes invitation service 620, one among push notification service 640, registration service 630 and/or registration service 2130 and relay services 650 or It is multiple.Cellular call manager 3255 is managed cellular component, to use cellular audio calling service 3240 to pass through honeycomb Network 3245 carries out and receives the cellular calls of only audio.
IP video call management device 3250 and cellular call manager 3255 and telephone supervisor 3260 couple.Telephone Management Agency Phone operation of the management of device 3260 for both IP video call management device 3250 and cellular call manager 3255, including tracking Call history (cellular call of only audio is both also used for for video call) and the related other information with calling.Telephone Management Agency Device 3260 also with hands-free 3270 interface of manager, so as to for IP video call management device 3250 and cellular call manager 3255 Interests, via for IP video call and cellular call external hand free device provide hand-free service.In one embodiment, Common message lattice are used between IP video call management device 3250, cellular call manager 3255 and telephone supervisor 3260 Formula is mentioned with the hand-free service to agreement and type of call (cellular call of IP video call and only audio) for fundamental difference For supporting.Therefore, telephone supervisor 3260 provides the similar support for being used for hand-free service, whether is used for IP but regardless of hand-free service The cellular call of video call or only audio.This additionally avoids hands-free manager 3270 it is understood that whether hand-free service is used for The cellular call of IP video call or only audio, thus make hand-free service it will be appreciated that standard commands can be used in provide be used for The hand-free service of IP video call and the cellular call for only audio.
In one embodiment, telephone supervisor 3260 is also in IP video call management device 3250 and cellular call manager It is arbitrated between 3255.For example, telephone supervisor 3260 can make IP video call be placed in be kept into exchange to it is established only The cellular call of audio, and/or the cellular call of only audio is made to be placed in be kept into and exchange to IP video call.
Hands-free manager 3270 provides the support to hands-free processing.In one embodiment, hands-free manager 3270 is implemented Bluetooth protocol stack, compatible hands-free of bluetooth to be connected to such as bluetooth headset and Bluetooth car tool box setting It is standby.In a specific embodiment, hands-free manager 3270 implements bluetooth headset profile (profile) (for example, such as existing It is such defined in 1.2 specification of headphone profile (HSP) on December 18th, 2008) and/or bluetooth handsfree profile (example Such as, as defined in headphone profile 1.5 (HSP 1.5) specification on November 25th, 2005).Hands-free management Device 3270 allows hands-free unit 3220 to be used as sense of hearing relaying, for IP video call and for the only audio on the WPAN 3225 Cellular call, and execute other hand-free services.For example, the audio-frequency unit of calling can lead in the case where IP video call Cross hands-free unit 3220 rather than the loudspeaker of customer equipment 3210 is routed, and the video section called still passes through customer equipment 3210 (or passing through attached display) are shown.Hands-free unit 3220 further includes microphone to capture audio-frequency information, Zhi Houyin Frequency information is transferred to client computing device 3210.Therefore, during IP video call and/or only audio the cellular call phase Between, user is able to use hands-free unit 3220 to speak or listen to audio.
Hands-free manager 3270 is additionally in response to receive the input from hands-free unit 3220 and support other hand-free services, It is following for IP video call and/or only one or more among the project of the cellular call of audio including executing: to allow to use Family answer calls;Terminate calling;Place a call on holding;Make to call mute;Increase/reduction calling volume;Audio is shifted To customer equipment;Audio is transferred to hands-free unit;Arrange a calling;Redial last calling.Therefore, user is able to use Hands-free unit 3220 answers IP video call, terminates IP video call, and IP video call is placed in holding and/or mute, is increased Greatly/reduction IP video call volume, the audio for the IP video call that will be exported are transferred to the loudspeaker of customer equipment 3210, Audio from customer equipment 3210 is transferred to hands-free unit 3220, arranges an IP video call, and redial last IP Video call.
IP video call management device 3250, cellular call manager 3255 and hands-free manager 3270 are gone back and audio manager 3275 couplings.Audio manager 3275 passes through different resource routing IP video calls and the only audio of the cellular call of audio. For example, audio manager 3275 can make audio by being suitable for the loudspeaker of the customer equipment 3210 of speakerphone mode, leading to The loudspeaking for the customer equipment 3210 that excessive user uses when customer equipment 3210 being maintained on their ear during the call Device passes through headphone/headphone of the headphone or headphone that are inserted into customer equipment 3210 It jack and is exported by the hands-free unit (such as hands-free unit 3220) of same position.
Figure 33 is shown according to one embodiment, and customer equipment 3210 receives invitation to video call, hand free device is made to ring It rings, answer of the reception from hand free device indicates, establishes video call and audio is routed to hand free device.By reference Figure 32's Exemplary embodiment describes Figure 33.It should be understood, however, that can be by being different from reference to those of Figure 32 discussion embodiment Embodiment execute the operation of Figure 33, and be able to carry out with reference to the embodiment of Figure 32 discussion be different from reference to Figure 33 discussion that The operation operated a bit.
At operation 3310, IP video call management device 3250 receives the IP video call from another customer equipment and invites Please, which invites the user of customer equipment 3210 to participate in IP video call.The invitation of IP video call can be taken The form invited as described above.Request is invited in the processing of IP video call management device 3250, is included at operation 3315, is made to invite It is shown.For example, 1410 similar modes can be invited to show invitation request with calling with exemplary video shown in Figure 14.
In addition, IP video call management device 3250 generates call object 3320 and is transmitted to telephone supervisor 3260. Call object 3320 includes one group of parameter about calling.For example, call object parameter includes the state (such as connection) of calling With calling participant identifier (such as telephone number, e-mail address or other online communication session endpoint identifier), Starting time, it whether be exhalation or enter calling instruction and inside using the call identifier to identify calling among It is one or more.
In one embodiment, call object 3320 is general call object, when parameter is to be based on exhaling from IP video When being the information of invitation, call object 3320 has the cellular call that request and the only audio entered are invited for IP video call All common format.Therefore, when receiving the cellular call of only audio of entrance, cellular call manager 3255 generates identical Format enters call object.Therefore, from the viewpoint of telephone supervisor 3260, IP video call invite request or enter As only the cellular call of audio looks like.
Telephone supervisor 3260 stores information in a part in call object 3320 as call history structure.Phone Manager 3260 also generates into message related to calls 3322 and sends it to hands-free manager 3270.In one embodiment, such as Fruit have such as with customer equipment 3210 with the hand free device 3220 of position hand free device (for example, the core first of telephone supervisor 3260 The hand free device whether having with customer equipment 3210 with position looked into), then telephone supervisor 3260 is only transmitted into message related to calls 3322. In other embodiments, telephone supervisor 3260 will enter message related to calls 3322 and be sent to hands-free manager 3270, but regardless of being The no hand free device for having same position, and hands-free manager 3270 determines whether to abandon/ignore the message or according to whether have same Position hand free device and handle the message.For the purpose of Figure 33 and subsequent figure, it is assumed that hand free device 3220 is calculated with client and set Standby 3210 be same position.It in one embodiment, include call identifier into message related to calls 3322.
Enter message related to calls 3322 in response to receiving, hands-free manager 3270 makes a series of message be transferred to hands-free set Standby 3220, remind it to have the calling of entrance with user.As shown in figure 33, hands-free manager establishes the audio with hand free device 3220 Connection 3325 (such as synchronized links guiding (SCO) link), sends ring tone by established audio connection 3325 later Message 3330.This ring tone message is selected by customer equipment 3210 and can be customized by the user of customer equipment 3210. In one embodiment, the ring sound for the only cellular call of audio is different from for the ring tone message of IP video call It adjusts.In another embodiment, audio connection is just established until calling is obtained and being answered.In such an embodiment, ring mentions Awake message is sent to hand free device 3220, and hand free device 3220 is then local to be determined whether to play ring tone to remind use The calling (ring reminder message can also be sent before sending ring tone message 3330) that family enters.In this embodiment In, more than 3220 transmission ring reminder messages of hand free device can be given, until calling is answered or is terminated.
Some time after receiving ring reminder message and/or ring message 3330, hand free device 3220 transmit Point out that user has answered the message of answer 3335 of calling.For example, user has pressed on their hand free device 3220 Answer button or take action to answer calls on hand free device 3220.Hands-free manager 3270, which receives, to have returned It answers message 3335 and message 3340 will have been answered and be transferred to telephone supervisor 3260.In one embodiment, message has been answered 3340 include call identifier.Although not being shown in FIG. 33, hands-free manager 3270 may also respond to receive It answers message 3335 and will confirm that message and be transferred to hand free device 3220.
Telephone supervisor 3260 determines that answer calls message 3340 belongs to the calling (example pointed out in call object 3320 Such as by the way that the call identifier for including in message 3340 to be compared with the information stored by call object 3320), and will refer to The message 3345 answered is called out is transferred to IP video call management device 3250.In response to receiving this message, IP video call management device 3250 establishes IP video call at operation 3350.For example, IP video call management device 3250 makes IP Video call received message is sent to invitation service as described above, and is established using the calculating equipment for transmitting the invitation P2P connection (directly or by relaying).
Some time after having been set up IP video call, IP video call management device 3250 is by call object 3355 are transferred to telephone supervisor 3260.Call object 3355 includes the one group parameter similar with call object 3320, in addition to shape State changes from connection to connected.In one embodiment, call object 3355 is general call object, is had to The IP video call of foundation and all common format of the cellular call for the only audio having connected.
In addition, some time after having been set up IP video call, audio manager 3275 pass through hand free device The audio-frequency unit of the 3220 established IP video calls of routing.In one embodiment, IP video call management device 3250 or electricity Words manager 3260 requests audio manager 3275 to route audio by hand free device.Audio manager 3275 can also will be pointed out The message 3360 for being changed to through hand free device 3220 is transferred to hands-free manager 3270 by audio routing.If not yet built Vertical audio connection, then hands-free manager 3270 will be established and be connect with the audio of hand free device 3220.Assuming that there is established audio Connection, then the audio-frequency unit 3365 of video call is routed to hand free device 3220.Therefore, it is handled and is regarded by hand free device 3220 The audio-frequency unit of frequency calling, and the video section of video call is displayed on customer equipment 3210.
Figure 34 is shown according to one embodiment, and customer equipment 3210 initiates video call by hand free device and is to have been established Video call route audio.The exemplary embodiment of reference Figure 32 is described into Figure 34.It should be understood, however, that can lead to It crosses different from the embodiment with reference to those of Figure 32 discussion embodiment and executes the operation of Figure 34, and with reference to the reality of Figure 32 discussion It applies example and is able to carry out the operation being different from reference to those of Figure 34 discussion operation.
At operation 3410, IP video call management device 3250 sends one or more IP video call invitation messages Other customer equipments (multiple customer equipments) is given, to invite user (multiple users) to IP video call.IP video call is invited Please message (multiple IP video call invitation messages) form invited as described above can be taken.IP video call management device 3250 generation call objects 3415 are simultaneously transmitted to telephone supervisor 3260.Similar to call object 3320, call object 3415 include one group of parameter about calling and have general format.Telephone supervisor 3260 stores that information in calling A part in object 3415 as call history structure.
In one embodiment, telephone supervisor 3260 also generates the outgoing call message for pointing out an outgoing call 3420 and send it to hands-free manager 3270.In response to this message, hands-free manager 3270 is established and hand free device Ring tone message 3430, is then transferred to and exempts from by 3220 audio connection 3425 (if customization is sent with interior ring tone) Propose equipment 3220.In other embodiments, ring tone reminder message is only transferred to hand free device by hands-free manager 3270 3220, rather than establish ring tone in audio connection and transmission belt.
Some time after having sent IP video call and inviting, IP video call management device 3250 receive IP video Received message 3435 is called, IP video call received message 3435 can take the shape of video call received message as described above Formula.After having received such message, it establishes at operation 3440 and (such as is built with the P2P IP video call for receiving customer equipment The vertical P2P with the calculating equipment for receiving to invite is connect (directly or by relaying)).
Some time after IP video call has been set up, IP video call management device 3250 is by call object 3445 are transferred to telephone supervisor 3260.Call object 3445 includes the one group parameter similar with call object 3415, in addition to shape State changes from connection to connected.Call object 3445 also has general format.In addition, being had been set up in IP video call Some time later, audio manager 3275 route the audio portion of established IP video call by hand free device 3220 Point.In one embodiment, IP video call management device 3250 or telephone supervisor 3260 request audio manager 3275 to pass through Hand free device routes audio.Audio manager 3275 is it will also be noted that audio routing will be changed to through hand free device 3220 Message 3455 is transferred to hands-free manager 3270.If audio connection is not yet established, hands-free manager 3270 will be established and be exempted from Propose the audio connection of equipment 3220.Assuming that there is established audio to connect, then the audio-frequency unit 3460 of video call is routed to Hand free device 3220.Therefore, the audio-frequency unit of video call is handled by hand free device 3220, and the video of video call Part is displayed on customer equipment 3210.
Figure 35 is shown according to one embodiment, and customer equipment 3210 is in response to receiving the calling from hand free device 3220 It requests and initiates video call.The exemplary embodiment of reference Figure 32 is described into Figure 35.It should be understood, however, that can lead to It crosses different from the embodiment with reference to those of Figure 32 discussion embodiment and executes the operation of Figure 35, and with reference to the reality of Figure 32 discussion It applies example and is able to carry out the operation being different from reference to those of Figure 35 discussion operation.
Hands-free manager 3270 receives the call request 3510 from hand free device 3220.It can be selected in response to user The telephone number to be called or other online communication session endpoint identifiers and generate call request 3510.For example, user can be with Button is redialed on selection hand free device 3220, the last calling of button request is redialed and is redialed.Hands-free manager 3270 will exhale Request message 3520 is made to be transferred to telephone supervisor 3260.Whether telephone supervisor 3260 determines call request message 3520 Request calling to an identifier, the identifier is related to video call, and (and therefore call request message should be sent to IP video call management device 3250) or related to the telephone number of the cellular call for only audio (and therefore should be sent out Give cellular call manager 3255).For example, in the case where call request 3520 is to redial request, telephone supervisor 3260 Last call placed is accessed, which can be IP video call or the only cellular call of audio, to determine where to send Call request.As shown in figure 35, call request message 3525 is sent to IP video call management device 3250 by telephone supervisor.It exhales Being request message 3525 includes identifier (such as the telephone number, Email of the requested participant for video call Address or other online communication session endpoint identifiers).In response to receiving call request message 3525, in such as Figure 34 institute At the operation 3410 shown, IP video call management device 3250 makes IP video call invitation message be sent to the participation being noted Person.Just as described with reference to Fig. 34, remaining operation shown in Figure 35 is executed.Therefore, as user in the hands-free of same position At equipment act as a result, customer equipment 3210 support establish IP video call.
Figure 36 is shown according to one embodiment, and customer equipment 3210 routes to the audio of established video call hands-free Equipment 3220.There is established IP video call 3610 between customer equipment 3210 and other one or more customer equipments. It currently passes through the loudspeaker of customer equipment 3210 or the headphone by being inserted in customer equipment 3210 exports this The audio-frequency unit of calling.At operation 3615, IP video call management device 3250 is received for audio to be transferred to hand free device 3220 input.For example, the user of customer equipment 3210 provides input to IP video call application, so as to by audio conversion Move on to the hand free device of same position.In response to receiving this input, IP video call management device 3250 is by audio route requests 3620 are sent to audio manager 3275, will pass through the audio-frequency unit of 3220 route video calls of hand free device.Audio frequency controller Device 3275 can will point out that the message 3625 for being changed to through hand free device 3220 is transferred to hands-free management by audio routing Device 3270.If audio connection is not yet established, hands-free manager 3270 will be established and be connect with the audio of hand free device 3220 3630.Assuming that there is established audio to connect, then the audio-frequency unit 3635 of video call is routed to hand free device 3220.Cause This, after IP video call is established, customer equipment 3210 allows user that audio is transferred to hand free device.
It is directly inputted although Figure 36 is shown in response to being received at customer equipment, audio is transferred to hand free device, It is that in other embodiments, user can make audio be transferred to hand free device by the input at hand free device 3220 3220.In such an embodiment, hands-free manager 3270 receives the order for being used to shift audio from hand free device 3220. Then, the request for then re-routing audio is sent to audio manager 3275 by hands-free manager 3270.
In addition, though Figure 36, which is shown, is transferred to hand free device for audio, but in some embodiments, audio can also be from Hand free device is transferred to the loudspeaker (or headphone) of customer equipment 3210.This can in customer equipment 3210 and/or It is initiated at hand free device 3220.In such an embodiment, audio manager 3275 is received for audio to be routed to client The routing audio request (from IP video call management device 3250 or hands-free manager 3270) of equipment 3210 is simultaneously taken action like this.
Figure 37 is shown according to one embodiment, and customer equipment 3210 is in response to receiving the end from hand free device 3220 Call request and terminate video call.In response at hand free device 3220 user select to terminate calling (such as hand free device Conclusion button on 3220 is selected), hands-free manager 3270, which is received, terminates message related to calls 3710 from hand free device 3220. Hands-free manager 3270 is transferred to telephone supervisor 3260 for call request 3715 is terminated.In one embodiment, terminate calling Request 3715 includes for pointing out which calling will terminate the call identifier (in the case where there is multiple callings).Telephone Management Agency 3260 determination of the device calling to be terminated is related to IP video call management device 3250 and is sent to IP for message related to calls 3720 is terminated Video call management device 3250.Terminate message related to calls 3720 in response to receiving, IP video call management device 3250 makes IP video Calling is terminated and customer equipment 3210 is made to connect disconnection with P2P.Therefore, customer equipment 3210 uses the hand free device with position To support that user is allowed to terminate IP video call.
Figure 38 shows the block diagram for the exemplary computer system that can be used in some embodiments.For example, department of computer science The exemplary structure of system 3800 can be included in customer equipment 110,1210,1410,2110,2610,3210 etc., or retouch herein Other stated calculate in equipment.Although it is intended to generation it should be understood that Figure 38 shows the various assemblies of computer system Any special structure or mode that table interconnects component, because these details are unrelated to the invention.It will be appreciated that may be used also To use other computer systems with less component or more.
As shown in figure 38, with data processing system form computer system 3800, including with 3820 coupling of processing system The bus (multiple bus) 3850 that connects, power supply 3825, memory 3830 and nonvolatile memory 3840 (such as hard drive Device, flash memory, phase transition storage (PCM) etc.).Bus (multiple bus) 3850 can be by well known in the art various Bridge, controller and/or adapter are connected to each other.Processing system 3820 can be from memory 3830 and/or non-volatile memories Device 3840 fetches instruction (multiple instruction), and executes instruction to execute operation as described above.Bus 3850 is by component above It is interconnected and those components is mutually also connected to optional website (dock) 3860, display controller and display equipment 3870, input-output apparatus 3880 (such as NIC (network interface card), pointer control (such as mouse, touch screen, touch tablet Deng), keyboard etc.) and optional wireless transceiver (multiple wireless transceivers) 3890 (such as bluetooth, WiFi, infrared etc.).
Figure 39 shows the block diagram for the example data processing system that can be used in some embodiments.For example, at data Reason system 3900 can be handheld computer, personal digital assistant (PDA), mobile phone, portable game system, portable Media player may include that the tablet computer of mobile phone, media player and/or game system or hand-held calculating are set It is standby.As another example, the processing that data processing system 3900 can be network computer or be embedded in another equipment Equipment.
According to one embodiment, the exemplary structure of data processing system 3900 can be included in customer equipment 110, 1210, in 1410,2110,2610,3210 etc. or described herein other calculating equipment.Data processing system 3900 includes place Reason system 3920, processing system 3920 may include one or more microprocessors and/or system on integrated circuit.Processing system System 3920 and memory 3910, power supply 3925 (it includes one or more battery), audio input/output 3940, display control Device and display equipment 3960, optional input/output 3950, input equipment (multiple input equipments) 3970 and wireless transceiver (multiple wireless transceivers) 3930 couples.It will be appreciated that in certain embodiments, the other assemblies not being shown in FIG. 39 It is also possible to a part of data processing system 3900, and in some embodiments it is possible to using more less than shown in Figure 39 Component.In addition, it will be appreciated that, one or more bus not being shown in FIG. 39 may be used to well known in the art each Kind component interconnection.
Memory 3910 can store data and/or program, to be executed by data processing system 3900.Audio input/ Output 3940 may include microphone and/or loudspeaker, for example to play music and/or to be provided by loudspeaker and microphone Telephony feature.Display controller and display equipment 3960 may include graphic user interface (GUI).Wirelessly (such as radio frequency (RF)) Transceiver 3930 (such as WiFi transceiver, infrared transceiver, bluetooth transceiver, wireless cellular telephony transceiver etc.) can be used for It is communicated with other data processing systems.One or more input equipments 3970 allow user to provide a system to input.These inputs Equipment can be keypad, keyboard, touch tablet, multiple touch tablets etc..Other optional input/output 3950 can be for standing The connector of point.
It is able to use in one or more generations for calculating and being stored and executed on equipment (such as customer equipment, server etc.) Code and data implement technology shown in figure.This calculating equipment stored and transmitted using machine readable media (internally and/ Or equipment is calculated using other by network) and code (being made of software instruction) and data, such as non-instantaneous (non-transient, non- Transitory tangible machine-readable medium (such as machine-readable storage medium, such as disk);CD;Read-only memory; Flash memory device) and instantaneous (transient state, transitory) transmitting signal (such as electricity, light, sound or other forms Be transmitted signal-carrier wave, infrared signal, digital signal etc.).In addition, this calculating equipment generally includes one group and one The one or more processors of a or multiple other assemblies couplings, such as one or more non-instantaneous tangible machines of other assemblies Readable medium (with store code and/or data), user's input-output apparatus (such as keyboard, touch screen and/or display) and It is connected to the network (transmitting code and/or data to use instant exposure signal).The coupling of this group of processor and other assemblies is logical It is often by one or more buses and bridge (also referred to as bus control unit).Therefore, the non-instantaneous machine for calculating equipment is given Device readable medium is commonly stored the instruction for executing in this group of one or more processors of the calculating equipment.It can be used The various combination of software, firmware and/or hardware implements one or more components of embodiment.
Although being clicked by reference to automatic verifying e-mail address without user be included in verifying electricity herein Link in sub- email message describes operation, and verifying email message and verifying are used as online communication session endpoint identifier E-mail address it is related, but embodiment is not so limited.For example, in some embodiments, when for other When reason needs to verify e-mail address, it is performed with reference to the operation that automatic verifying e-mail address describes.For example, user It can be registered for a kind of service, as a part of registration process, which needs e-mail address to be verified as belonging to In the user.User provides e-mail address to service and receives message (such as webpage by display service), this disappears Breath is pointed out that e-mail address needs are verified and verify email message and sent or will be sent to and is provided E-mail address (verifying email message may include or can not include verified link).Application on customer equipment When the electronic mail account that the e-mail address for verifying message can be corresponded to automatic inspection is positioned with it, automatically Message is parsed with locating verification label and by the e-mail-address verification message including e-mail address and verification mark E-mail verifying server relevant to the service is transferred to verify e-mail address.Although the process in attached drawing illustrates The particular order of the operation executed out by some embodiments, it should be understood that, this sequence is exemplary (such as can Select embodiment that operation, the certain operations of combination can be performed in different, be overlapped certain operations etc.).
Although describing the present invention with regard to several embodiments, those skilled in the art will appreciate that the present invention is unlimited In described embodiment, but using change in the spirit and scope of the appended claims and progress can be changed in fact It tramples.Therefore description is considered as illustrative rather than restrictive.

Claims (15)

1. a kind of method for calculating equipment for the automatic registered client of online communication session, includes:
By registrar from short message service SMS interconnecting device received internet protocol message, the message includes for institute Stating client computing device is the telephone number that unique equipment specifically identifies label and the client computing device, the SMS Interconnecting device is received from the client computing device in response to the generation of the event at the client computing device and is transmitted automatically The SMS message with the identification label, the SMS interconnecting device is marked using the identification determines that client calculating is set The standby telephone number, the identification label position the client computing device containing permission push notification service and will push Notification message is transferred to the information of the client computing device;
Keep identification label safely associated with the telephone number, wherein the identification marks and is used to set up notice and is Legal trust, the client computing device being associated in unique identification online communication meeting telephone network;With
The association is stored in online communication session log-on data memory.
2. the method as described in claim 1, wherein powering on and transmit automatically in response to the client computing device has The SMS message of the identification label of the client computing device, the message from the SMS interconnecting device are passed It is defeated.
3. the method as described in claim 1, wherein identification label uses one or more hwid unique identifications The client computing device.
4. the method as described in claim 1, online communication session invitation ought be transferred to the client by, which further including, calculates When equipment, the association between the identification label and the telephone number is supplied to online communication session to be used and is invited It please service.
5. the method as described in claim 1 further includes, the equipment is made specifically to identify label and the phone number Before code is associated, following operation is executed:
Signature is generated based on one or more of identification label and the telephone number;
It will be transferred to the SMS interconnecting device including the message of the signature, the identification label and the telephone number, so as to Send the client computing device to;
The message with the signature, the identification label and the telephone number is received from the client computing device;With
Verifying is marked from the received identification of the client computing device and telephone number.
6. the method as described in claim 1, wherein the SMS interconnecting device is SMS gateway or SMS polymerizer.
7. a kind of for registering the registrar of multiple client computing devices, the registration service automatically for online communication session Device includes:
The short message service SMS switching interface of the registrar, for being registered from SMS interconnecting device received internet protocol Request message, the SMS interconnecting device receives SMS message from multiple client computing devices, at the client computing device After event, each login request message is passed from a client computing device in the multiple client computing device automatically automatically Defeated, each login request message includes:
For a client computing device in the multiple client computing device be unique equipment specifically identify label and The telephone number of the client computing device, the telephone number is determined by the SMS interconnecting device, wherein the equipment is specific Identification label sending out notice message and be transmitted to the client computing device containing allowing push notification service to position Information;With
Relating module, based on making the equipment specifically identify label with each client in the multiple client computing device The telephone number for calculating equipment is safely associated, wherein it is legal trust that each identification label, which is used to set up notice, each Association unique identification online communication understands the client computing device in telephone network and by the associated storage in online communication In session log-on data memory.
8. registrar as claimed in claim 7, wherein identification label is uniquely known using one or more hwids An other client computing device.
9. registrar as claimed in claim 7, further includes:
Signature generation module, for being from the received each identification label of the SMS interconnecting device and telephone number data to production Registration reply message is transferred to the SMS interconnecting device, each registration reply message by raw signature, the SMS switching interface Including signature, identification label and the telephone number for client computing device;
Customer equipment interface, for receiving registration checking request message from customer equipment, each registration checking request message is wrapped It includes for the signature from the received each data pair of the SMS interconnecting device;With
Authentication module, for using the number of the signature verification client computing device before generating the association between data pair According to right.
10. registrar as claimed in claim 7, wherein the SMS interconnecting device is SMS gateway or SMS polymerizer.
11. it is a kind of for registering the online communication session Accreditation System of multiple client computing devices automatically for online communication session, Include:
Short message service SMS interconnecting device receives SMS message, each of described SMS message from multiple client computing devices SMS message has unique identification client computing device and calculates after the event at the client computing device from the client The equipment of the self-propagating client computing device of equipment specifically identifies label, and wherein the SMS interconnecting device from described SMS message determines the telephone number of the client computing device, and wherein the SMS interconnecting device will further have it is described The identification label of multiple client computing devices and the Internet Protocol registration request message transmission of telephone number data pair are to registration Server;With
The registrar, safely association is comprising being that unique equipment specifically identifies label for client computing device With the data pair of the telephone number of the client computing device, notify to be legal letter wherein each identification marks to be used to set up Appoint, each identification marks unique identification client computing device, and the equipment specifically identifies that label is logical containing allowing to push Know positioning service sending out notice message and be transmitted to the information of the client computing device, wherein the registrar in The data pair are stored in online communication session log-on data memory.
12. system as claimed in claim 11, wherein each identification label is hard using the one or more of client computing device The part identifier unique identification client computing device.
13. system as claimed in claim 11, wherein the registrar is further generated for setting from SMS switching The signature of standby received each identification label and telephone number data pair, and will there is the signature for being used for client computing device, set The message of standby specific identification label and telephone number is transferred to the SMS interconnecting device.
14. system as claimed in claim 13, wherein SMS message is further transferred to the visitor by the SMS interconnecting device Family calculates equipment, and each SMS message has the signature generated by the registrar and for the client computing device Telephone number.
15. system as claimed in claim 14, wherein the registrar further receives message from client computing device, Each message includes that signature, telephone number and equipment specifically identify label;And
Wherein the registrar is based on generating from the received signature of the client computing device and by the registrar Signature, further verifying is from the received identification label of the client computing device and telephone number data pair.
CN201510167323.4A 2010-04-07 2010-09-23 Equipment is calculated for online communication session registered client Active CN104767754B (en)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US32186610P 2010-04-07 2010-04-07
US32186510P 2010-04-07 2010-04-07
US61/321,865 2010-04-07
US61/321,866 2010-04-07
US35181410P 2010-06-04 2010-06-04
US61/351,814 2010-06-04
US37892410P 2010-08-31 2010-08-31
US37892610P 2010-08-31 2010-08-31
US61/378,924 2010-08-31
US61/378,926 2010-08-31
US38247910P 2010-09-13 2010-09-13
US61/382,479 2010-09-13
US12/886,479 US8423058B2 (en) 2010-04-07 2010-09-20 Registering client computing devices for online communication sessions
US12/886,479 2010-09-21
CN201080066030.2A CN102893572B (en) 2010-04-07 2010-09-23 For online communication session registered client computing equipment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201080066030.2A Division CN102893572B (en) 2010-04-07 2010-09-23 For online communication session registered client computing equipment

Publications (2)

Publication Number Publication Date
CN104767754A CN104767754A (en) 2015-07-08
CN104767754B true CN104767754B (en) 2019-09-10

Family

ID=53718562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510167323.4A Active CN104767754B (en) 2010-04-07 2010-09-23 Equipment is calculated for online communication session registered client

Country Status (1)

Country Link
CN (1) CN104767754B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101865879B1 (en) * 2016-04-27 2018-06-12 주식회사 하렉스인포텍 System and method for providing financial transaction using pre-approval
US11243822B2 (en) * 2018-10-01 2022-02-08 Google Llc Automatic link based message verification

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1741675A (en) * 2004-08-27 2006-03-01 华为技术有限公司 System for session initial protocol user inserting mobile communication network and method thereof
CN1864429A (en) * 2003-10-03 2006-11-15 比特福恩公司 Network and method for registration of mobile devices and management of the mobile devices
EP1819124A1 (en) * 2006-02-08 2007-08-15 BRITISH TELECOMMUNICATIONS public limited company Automated user registration
CN101297574A (en) * 2005-10-25 2008-10-29 高通股份有限公司 Accessing telecommunication devices using mobile telephone numbers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1864429A (en) * 2003-10-03 2006-11-15 比特福恩公司 Network and method for registration of mobile devices and management of the mobile devices
CN1741675A (en) * 2004-08-27 2006-03-01 华为技术有限公司 System for session initial protocol user inserting mobile communication network and method thereof
CN101297574A (en) * 2005-10-25 2008-10-29 高通股份有限公司 Accessing telecommunication devices using mobile telephone numbers
EP1819124A1 (en) * 2006-02-08 2007-08-15 BRITISH TELECOMMUNICATIONS public limited company Automated user registration

Also Published As

Publication number Publication date
CN104767754A (en) 2015-07-08

Similar Documents

Publication Publication Date Title
CN102893572B (en) For online communication session registered client computing equipment
US8606306B2 (en) Multiple client computing device invitations for online communication sessions
US8583149B2 (en) Registering email addresses for online communication sessions
US8751667B2 (en) Supporting hands-free services via a hands-free device for IP video calls
CN102215216B (en) Between circuit-switched call and video call, change
CN104767754B (en) Equipment is calculated for online communication session registered client
CN103338146A (en) Communication event notificaiton

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant