CN104767754B - Equipment is calculated for online communication session registered client - Google Patents
Equipment is calculated for online communication session registered client Download PDFInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1069—Session establishment or de-establishment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1083—In-session procedures
- H04L65/1089—In-session procedures by adding media; by removing media
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
- H04M7/0039—Services 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M7/00—Arrangements for interconnection between switching centres
- H04M7/0024—Services and arrangements where telephone services are combined with data services
- H04M7/0057—Services 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/40—Support for services or applications
- H04L65/403—Arrangements for multi-party communication, e.g. for conferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2201/00—Electronic components, circuits, software, systems or apparatus used in telephone systems
- H04M2201/50—Telephonic 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
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.
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)
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)
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 |
-
2010
- 2010-09-23 CN CN201510167323.4A patent/CN104767754B/en active Active
Patent Citations (4)
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 |