CN103338192A - Call invitation - Google Patents

Call invitation Download PDF

Info

Publication number
CN103338192A
CN103338192A CN2013102361423A CN201310236142A CN103338192A CN 103338192 A CN103338192 A CN 103338192A CN 2013102361423 A CN2013102361423 A CN 2013102361423A CN 201310236142 A CN201310236142 A CN 201310236142A CN 103338192 A CN103338192 A CN 103338192A
Authority
CN
China
Prior art keywords
callee
calling
client
caller
call
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102361423A
Other languages
Chinese (zh)
Other versions
CN103338192B (en
Inventor
M.拉西克
M.韦伦科
S.佐罗塔乔夫
C.S.奥利维尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1210600.1A external-priority patent/GB201210600D0/en
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN103338192A publication Critical patent/CN103338192A/en
Application granted granted Critical
Publication of CN103338192B publication Critical patent/CN103338192B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0024Services and arrangements where telephone services are combined with data services
    • H04M7/0057Services where the data services network provides a telephone service in addition or as an alternative, e.g. for backup purposes, to the telephone service provided by the telephone services network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Telephonic Communication Services (AREA)

Abstract

Network nodes established between a caller and a callee through the network, a computer program product and a method. In order to establish calling between a caller client of a caller and one or a plurality callee client of a callee, a plurality of call invitation are sent through different transmission mechanisms which includes push notification on a push channel.

Description

Call out and invite
Relevant application
The application is at 35 USC 119 or require the priority of the Britain application No.1210600.1 that submitted on June 14th, 2012 for 365 times, and the disclosure of this application integrally is herein incorporated.
Background technology
Exist and be used for by setting up live packet-based speech or the various communication systems of video call such as the such packet-based network in internet.For example, such system can use the speech agreement on the VoIP(the Internet) technology.A kind of communication system of popular type is to be structured on equity (P2P) topology.In traditional P2P system, each end user goes up at his or she user terminal (for example, desktop computer or laptop computer, panel computer or hand held mobile phone) separately the communication customer end application is installed.Each user then to P2P supplier's server registration in order to obtain certificate of certification.In the user terminal some also will become the node of distributed data base, and its user name with user in the P2P communication system is mapped to the address (IP address typically) of each user terminal in the network that this system implements thereon.Can carry out the communication between the end user then, involve centralized server in call setup or the verification process and not be used in.Alternatively, one or more nodes of the client query distributed data base on caller's terminal (namely, one or more terminals of other end users that relate in any other mode in the calling (not necessarily themselves)), in order to determine the callee's of expection the address of terminal.Then, the caller uses determined address to come to send to the callee calling out to invite, and the callee responds with the calling acceptance response.Caller and callee exchange their certificate of certification, so that authentication mutually.
Each user also safeguards contacts list, and this contacts list can be stored on P2P supplier's the server, even so that it also is available when the user signs in to different terminals.Other supplementary, the profile information (for example, avatar image or mood message) such as being used for each user also can be stored on the server.And client application is also intercoursed existence information.Existence information indication user's availability (availability) state, preferably, he or she defines oneself by the user at least in part for it.For example, it is off-line that existence can be indicated the user, is online but has been chosen as unavailable (" leaving in peace "), still online and be chosen as available.For example, each client is poll each contact person in its contacts list periodically, in order to determine their existence separately, and/or each client can the existence update cycle send to each contact person in its tabulation.Existence is typically directly signaled between the end user according to the P2P technology, and need not be via server.When calling out, caller's client determines according to up-to-date existence information whether the callee can be used to accept this calling.
Summary of the invention
In an embodiment of the present invention, network node is arranged to participate in the call setup between caller and callee by network.Network node comprises transmitter apparatus, and it is arranged to send in caller's client of caller and be implemented in and set up a plurality of versions that the calling of calling out is invited between one or more callee's clients on one or more callee's terminals of callee.Transceiver apparatus is arranged to send a plurality of versions of calling out invitation by multiple different pass through mechanism.One of pass through mechanism is included in the sending out notice that pushes on the channel.
The form that this summary is provided to simplify is introduced the selection of concept, and these concepts also will be described in the detailed description paragraph below.This summary neither plans to confirm key feature or the essential feature of theme required for protection, does not also plan to limit theme required for protection.Theme required for protection also is not limited to solve any or all the realization that has pointed out shortcomings in preceding system.
Description of drawings
In order to understand the present invention better and to show how the present invention can put into practice, as an example, with reference to the accompanying drawings, wherein:
Fig. 1 is the schematic diagram of communication system;
Fig. 2 is another schematic diagram of communication system;
Fig. 3 is another schematic diagram of communication system;
Fig. 4 is the schematic diagram of two user terminals; And
Fig. 5 is the schematic diagram of two user terminals and network element.
Embodiment
Become more and more popular along with moving the hand held mobile phone of using such as the such communication customer end of VoIP client, have the increasing end points of quantity (endpoint) to can be used for participating in VoIP communication system or other the packet-based communication system such, that pass through to implement internet etc.Yet, also the problem that may cause is, mobile phone handsets typically have more Limited resources than traditional desktop computer or laptop computer, for example, time per unit can only be carried out the processing cycle still less, each processing cycle has still less functional, has more limited memory resource (for example, RAM and/or Cache) and/or has still less screen area resource.Therefore, the operating system on some terminal (OS) may just place background state to some application.This can comprise communication customer end.Under background state, the application of backstageization or hung up fully or each unit interval was scheduled with the limited processing cycle can not detect the calling that enters to a certain extent and invite and/or handle traditional calling and invite.For example, if just operation in foreground state (foreground state) of Another application, if particularly other to be applied in processing, memory and/or source of screen aspect be (intensive) that concentrates, for example operate in screen mode toggle or have as current some other state main, primary or preferential application, then this may take place.An example is the computer game of playing at mobile phone.Under such situation, if client can not send that existence is upgraded or response from other user's existence poll, then the user may show as off-line from his or her existence.However, the user still may wish can be used for call accepted, for example, would rather the break of video recreation also not miss calling.Therefore, traditional existence concept begins to be broken.Similar problem may appear potentially on any terminal with the feature that can place some application background state to be conducive to one or more other application.
Be the speed of call signaling for another problem that may cause such as the such communication system of implementing at packet-based network of conventional P2P system, particularly before calling out by answer, how long spent, determined perhaps how long calling has not been spent by answer.Be a problem especially when this client that may work as the callee is in background state as discussed above, wherein the caller to be apprised of at him or she be that the calling invitation may must wait for attempted before unavailable is overtime with the callee.If this timeout period is longer, such as 30-60 second, even feasible callee's client is suspended and originally just can not accepts this calling at all, the caller finds also will wait for nearly one minute before calling can not be carried out that then this is gloomy especially for the caller at them.The call signaling time-delay also may occur in the communication system of other type.
The communication system of some other type uses sending out notice that communication event is notified to the destination user terminal.Sending out notice is under the excitation of server or another unit that starts, rather than the notice that sends from server under the excitation of destination terminal itself (that is, with pull opposite by the destination terminal).Therefore, sending out notice can be looked at as with the destination terminal asynchronous.
When calling invitation is sent out, may wish to allow to call out to invite to be delivered to callee's client in quick and reliable mode.Setup requests (or " call out and invite ") can provide by multiple pass through mechanism, calls out in order to set up.Pass through mechanism is described the mode of being transmitted of inviting of calling out.For example, pass through mechanism can comprise the agreement that sends calling invitation by it, and/or how calling invitation is routed by network.For example, three types pass through mechanism is: (i) equity mechanism, wherein calling out to invite is to use peer protocol to be routed by network, (ii) based on the sending out notice mechanism of application layer, call out to invite by means of it and be pushed to client application in callee's end by network, (iii) based on the sending out notice mechanism of operating system, call out invitation and be pushed to the operating system of callee's terminal by network by means of it.The a plurality of versions that send calling invitation can reduce call set-up time and call out the probability that invitation successfully is delivered to callee's client with improving.Call out each version of inviting and relate to same calling, and can use calling ID to come identifying call letters.Like this, call out a plurality of versions of inviting if callee's client receives, then callee's client can determine that each version of calling out invitation comprises identical calling ID, so they all are the versions of inviting for the same calling of this calling.Call out each version of inviting and to comprise the invitation ID that identifying call letters is invited.This allows to call out each version of inviting and is associated with this calling invitation.In other words, invite ID to allow callee's client to determine that each version of calling invitation relates to same calling and invites.If a plurality of callings are invited to same calling sends, then this is useful especially, and it makes each call out each version of inviting and can be associated with correct calling invitation.
In an embodiment, one of version that callee's client can answer calls be invited (for example, first version that the calling that receive at callee's client place is invited) is based upon the calling between caller and the callee thus.In order to set up calling, a version may be only need being invited by callee's client receipt of call.Because calling out each version of inviting is sent out by different pass through mechanism, so compare with sending by single pass through mechanism to call out to invite, sending to the time that at least one version that the calling of callee's client invites spends from caller's client can reduce.And, because calling out each version of inviting is to be sent out by different pass through mechanism, so compare with send calling invitation by single pass through mechanism, the reliability of at least one version that successful receipt of call is invited at callee's client place can increase.
Pass through mechanism can comprise at least two kinds of following mechanism: (i) based on the sending out notice based on operating system on the propelling movement channel of operating system, (ii) push application layer sending out notice on the channel in application layer, with the peer message that (iii) is connected in the equity by network.By each version of send to call out inviting simultaneously on multiple pass through mechanism, system can utilize best no matter which kind of pass through mechanism (for example, the fastest transmission or the most reliable transmission) at special time.Condition might change, and makes that so best a kind of pass through mechanism (for example, it has the fastest transmission or it is the most reliable) may change in time in the pass through mechanism.
Just as mentioned, now can the operational communications client application such as the such modern mobile device of hand held mobile phone, be used for passing through such as the such packet-based network in internet, rather than only via the special-purpose cellular voice channel of mobile phone, remove to carry out such packet-based communication or other packet-based speech or video call such as VoIP.By this ability, bring online and huge increase number of users that can call out.Yet, such user client is used and also may be found potentially: be in the background state when calling out, thus, the operating system suspends of client mobile device or be scheduled at the most so that unusual Limited resources-therefore in order to receive the calling that enters, client need be waken up.
Under such operating system system-wherein use and no longer guarantee will benefit from being carried out expansion at the such event-VoIP of background process such as the calling that enters, chat etc. or other communication supplier's structural system.For example, if the supplier wishes and can pass to the user of their communication system calling out (and other) notice, however the user is still online and can call out potentially after this manner even described user may use " backstageization " (or will use the backstageization by operating system) to relevant communication customer end, and then this will be favourable.The Call Block of client application also can be modified, and can be delivered to all end points reliably with the initial intention that guarantees the calling party, and the user should receipt of call there-if necessary, via sending out notice.
For example, consider that callee wherein just uses web browser or just waits for the use situation of his or her friend's calling (perhaps from foreign country, so former thereby would rather use VoIP for expense) at playing video game simultaneously at cell-phone or panel computer.Whether the callee is online according to existence status checkout friend, but the callee begins to browse or plays games and kills time when he or she is not online.Then, friend (caller) for example signs in to his or her client application at desktop computer subsequently, prepares to call out the callee.In an embodiment, callee's client may be modified as to the caller and shows that the callee is online, even callee's client application is because browser or recreation need expend high system resource, for example owing in browser, moving flash application or other applet operating system suspends or inhibition by the callee.In an embodiment of the present invention, caller's click-to-dial button is initiated the calling to the callee, and callee's operating system is configured to propose prompting, notifies him or she that the calling that enters is arranged.If being configured to make the callee to knock or click in response to this prompting, callee's client application accepts button, then client application is brought back into the foreground in callee's terminal, therefore allow the callee to answer this calling (speech or video), and beginning and his or her friend-caller-talk.
Under this example scenario, should be noted that some unit.The state of callee's client is hung up (termination) in the worst case potentially fully, and it can not be related to by the P2P session establishing method of routine after this manner.In an embodiment of the present invention, the callee may not know or not realize that his or her client application is suspended, since this may not finished by callee user clearly-in fact just in time opposite, this may be finished by operating system automatically, and the callee can be under such hypothesis: his or her client application is still in operation, and they are online and can contact.And, different with the conventional existence mechanism that is used for such system under this sight, preferably do not make existence depend on the P2P availability of (or not only depending on) client.
In order to support above sight, the supplier will preferably implement new Call Block and/or make necessary change for existing parts.
A target is to make callee's client to be waken up in reasonable time frame and scope and foundation and caller's client-side session (for example, P2P session).In order to keep call set-up time short as far as possible, the round trip (roundtrip) when session and call setup preferably should remain minimum as far as possible.
As what demonstrate under the above example scenarios, call out start flow and can support to signal via non-P2P messaging system the use situation of the intention of calling, it can arrive sending out notice by rollback (fall back) under the occasion of needs, in order to wake callee's client up.For example, this can be the sending out notice service that provides via the supplier by the operating system of discussing.
Setup requests (that is, call out and invite) provides by multiple pass through mechanism, calls out in order to set up, and reduces call set-up time thus and improves the probability that transmits.In other words, call out a plurality of versions of inviting and be to use different pass through mechanism, for example, the different routes by network send to callee's client from caller's client.Calling out each version of inviting can send on network concurrently.In this sense, call out invitation by using different pass through mechanism to disperse to be transmitted as a plurality of versions.And the callee can be associated with more than one user terminals.In other words, the callee can install the client software example in more than one terminal, and can sign in to communication system by using the client software example from these terminals.Therefore, the callee can contact via more than one callee's client of implementing in more than one callee's end.Call out each version of inviting and be sent to each callee's client of implementing in each the callee's end that is associated with the callee.Call out a plurality of versions of inviting and send to a plurality of callee's clients by sending via multiple pass through mechanism, call out the version of inviting and to improve in order to the speed that is delivered to callee's client and reliability and current mutual used speed and the reliability of callee.
Call Block can be updated, and changes for example to implement necessary client components in core library, caters to use situation, interoperability and backwards compatibility sight that all need in order to guarantee them.
The calling that enters that calling customer end part can be updated to allow callee's client to accept to receive via the sending out notice transmission method is invited.This can comprise one or more UI(user interfaces) the API(API) group, allow client UI layer that the payload information that receives is sent to Call Block, make and can carry out P2P session foundation and call setup and signaling.
Be delivered to the relevant information of calling in the payload of message of callee's end points for being included in via messaging system, call function preferably can be supported the service based on cloud, should receive from the message of transmitting infrastructure based on the service of cloud, and fill this message with calling out specific payload information.
Call notification preferably includes enough information, valid (informed) decision of whether answering this calling to allow the callee to make.This for example can comprise caller's name (user name and/or display name), caller's incarnation and/or call out the timestamp of inviting.Call notification also can comprise the information that allows callee's client to formulate acceptance response, such as handshake information and the information (for example, caller's user name and/or address) that makes that the caller can be contacted when responding.
In case the call notification device of transmission system is finished above step, just transmit call notification in order to be delivered to callee's end points at last.This preferably will receive under the occasion of sending out notice registered the going of the user who is invited into calling, or take place under the occasion that has open connection for client.Notice can be that (callee's client is on the foreground by directly connecting lastingly, and/or some background state) (callee's client is suspended, and/or some other background state) is via to the sending out notice based on the notification service of relevant operating system or under the occasion of needs.
Participate in the invitation of calling and under many situations, can be sent by calling party, such as: before the calling of reality is established, as a part of initiating; Or during the calling of just carrying out, another participant is added in the calling.
Fig. 1 is based on the schematic diagram of the communication system of traditional P2P example.Communication system comprises packet-based network 100, and wide area Internet network (the Internet) preferably is such as the internet.Communication system also comprises a plurality of end user's terminals 102, and each comprises transceiver apparatus, can operate to be coupled to internet 100, and each comprises the communication customer end application separately of the communication system of discussing.Each end user's terminal 102 for example can be got the form of desktop computer or laptop computer, panel computer or hand held mobile phone (or " mobile phone ").Each user terminal 102 is voip call in communication system or the potential end points of other packet-based communication.Illustrated on Fig. 1 is caller's end points 102a and callee's end points 102b.
According to the P2P principle of routine, the client application on one or more user terminal 102c presents the state that distributed address is searched the node of database.For the address of the user terminal 102b that determines the callee (for example, comprise the IP address), at step S10, in the client on caller's the user terminal 102a via the client communication on one of user terminal 102c of internet 100 and the node that serves as distributed data base.Client on caller's terminal 102a is Query Database node 102c by the user name that is sent in sign callee's callee in the communication system to database node 102c, and database node 102c returns the address of needed callee's user terminal 102b.At step S12, use this address to come setup requests or " invitation " (CI) are signaled to client on callee's the terminal 102b of expection then in the client on the caller party terminal 102a.In response, if the callee selects to accept this calling, then the client on callee's terminal 102b is beamed back the calling acceptance response with signal.Terminal 102a and the client on the 102b caller and callee also exchange certificate of certification with mutual identity verification.Session between client is therefore set up mutually is in order to send with from the traffic carrying capacity of the form of the real-time speech of microphone and/or video camera and/or the video content part as live voice or video call at their terminal 102,102b separately.Because address search is based on distributed data base, so do not need to involve central server for this reason.The carrying out of call set up signaling, authentication and call business amount do not need to involve central server yet.
In an embodiment, if owing to the NAT(Network address translators) or fire compartment wall 108, caller's user terminal 102a can not be directly and callee's user terminal 102b communicate, then client can be arranged to communicate via one or more relayings, the client implementation that these relayings also can be moved by the end user's terminal 102d one or more other users of P2P communication system.The user who carries out end user's terminal 102d of relaying needs not be the participant of calling (do not need to consume speech or the video content of calling, and in fact owing to encrypt, can not consume).However, the user who carries out end user's terminal 102d of relaying will agree such situation when he or she is signed in to the P2P communication system, and he or she can benefit from reciprocal arrangement under other occasion oneself.
Communication system also can comprise the back-end server 104 that is coupled to internet 100, wherein each client can be stored contacts list separately, this contacts list is the contacts list (preferably, communication system is configured to make the user to become each other contact person according to common protocol) of its relative users.Back-end server 104 can also be each user's stores profile information, for example, describes the avatar image of relative users for other user in communication system.Contact person's profile can be visited and show to each client, make the caller can see callee's profile information like this, and vice versa.
Communication system can also comprise the gateway 106 that is coupling between internet 100 and the circuit-switched network (not shown).Such network can be called as the PSTN(public switch telephone network), for example, ground line network or mobile cellular net are such as the 3GPP net.Client on user terminal 102 can also be set up and the more calling of black phone via gateway 106 thus.
Fig. 2 diagram is according to mixed P 2 P communication system embodiments of the invention, that revise.Some of Fig. 1 or all parts also still can exist with the system of Fig. 2 is parallel, but some parts is omitted from Fig. 2 for brevity.And, communication system comprise the VoIP supplier of communication service supplier-for example-network element 204, it has the form that is coupled to internet 100 and is arranged to move one or more server units of calling out control and notice software.Communication system also comprise be coupled to internet 100, one or more sending out notice services based on operating system (OS PNS) 202.Each of described one or more sending out notice services 202 based on operating system is associated with operating system separately, and is preferably provided to support via the available special-purpose sending out notice mechanism of the operating system of discussing by producer and/or the publisher of operating system.The form of the one or more server units that are arranged to move sending out notice software is got in described sending out notice service 202 based on operating system.
In the example system of Fig. 2, illustrated unit 102,202,204 is configured to move as follows.At step S20, in the client on caller's the user terminal 102a directly call out inviting (CI) to send to client on callee's the user terminal 102b, but it send to VoIP supplier's calling control and notification unit 204(message CI not necessarily be equal to be relevant to that message that Fig. 1 describes).Invite in response to the calling that receives from the caller, at step S22, VoIP supplier's calling control and notification unit 204 generate sending out notice request (PNR), and it sends to this sending out notice request based on the sending out notice of operating system and serves 202.In response to the sending out notice request that receives from VoIP supplier 204, at step S24, the sending out notice of OS service 202 sends based on the sending out notice (PN_OS) of the operating system operating system to callee's the user terminal 102b.Sending out notice based on operating system is received and is handled by the operating system on callee's user terminal 102b, makes it show Pop-up message at the screen of callee's user terminal 102b, to callee user's indication the event that enters is arranged.
In an embodiment of the present invention, message can be about the calling whether accepting to enter and point out the callee on the screen.If callee's client application is current by the backstageization, then whether message can about waking to point out callee's client application up user from background state on the screen.In an embodiment, these actions can be incorporated in the same prompting.If in response, the callee provides sure user's input, then operating system by be rescheduled to the complete operation level or at least scheduling control this calling for its enough resource, and wake the callee's client application on callee's terminal 102 up.
As what discuss in more detail below, in an embodiment, sending out notice PN_OS can comprise payload, it makes the client on callee's user terminal 102b can formulate the handshake information of returning, and this message is signaled back client on caller's user terminal 102a by internet 100, preferably, be directly by internet 100, rather than via any supplier's server or service unit 202 and 204.If the callee accepts the user prompt from operating system, then the operating system on callee's user terminal 102b is passed to the payload of sending out notice of small part up to callee's client application, in order to make it can formulate relevant response, and this response be sent back to the caller.
Fig. 3 diagram is according to mixed P 2 P communication system embodiments of the invention, another modification.Some of Fig. 1 and/or Fig. 2 or all parts also still can exist with the system of Fig. 3 is parallel, but some parts is omitted from Fig. 3 for brevity.
In the example system of Fig. 3, shown unit 102,204 is configured to move as follows.At step S20, in the client on caller's the user terminal 102a again directly call out inviting (CI) to send to client on callee's the user terminal 102b, but it send to VoIP supplier's calling control and notification unit 204(message CI not necessarily be equal to be relevant to that message that Fig. 1 or Fig. 2 describe).In an embodiment, this can be the step identical with that step that is relevant to Fig. 2 description, or in other embodiments, it can be step that replace or additional, that separate.Yet in this case, VoIP supplier unit 204 does not send (or not only sending) sending out notice request (PNR) to the sending out notice service 202 of operating system.But it directly formulates its application layer sending out notice (PN_AL), and it directly sends to this application layer sending out notice by internet 100 client on callee's the user terminal 102b.Client on callee's user terminal 102b can be handled this notice in application layer then, so that itself is by means of application layer mechanism, rather than above-mentioned operating system mechanism, comes to point out callee user about the calling that enters.
As what discuss in more detail below, in an embodiment, sending out notice PN_AL comprises payload, it makes the client on callee's user terminal 102b can formulate the handshake information of returning, and this message is signaled back client on caller's user terminal 102a by internet 100, preferably, be directly by internet 100, rather than via any supplier's server or service unit 202 and 204.In this case, if the client on callee's terminal 102b or be in foreground state (not being suppressed to be conducive to any other application), perhaps be in special background state and it was scheduled with the limited cycle thus, but still be enough to handle the calling that enters, callee's client can be by the communication that enters of listening to automatic network 100 during the cycle of the client that is used for the callee by operating system scheduling so, for example by using for callee's client being assigned with, listen on the web socket of callee's terminal 102b, and directly visit the payload of sending out notice.
Should be pointed out that the existence that can walk abreast of Fig. 1, two or more mechanism of 2 and 3, and any or all these mechanism can be used for signaling calling out and invite or notice.
In an application, at least callee's end points 102b comprises the have relatively limited resource portable terminal of (processing, memory and/or source of screen), and this portable terminal has such operating system, that is: it is easy to corresponding client application backstageization, be conducive to Another application, such as the video-game under certain environment.
Fig. 4 provides calling party's (caller) start end user's terminal 102a and called party's (callee) the schematic block diagram of destination end user's terminal 102b, and their form two end points (perhaps or even at Multi-Party Conference calling out two end points in the bigger quantity end points in the sight) of calling out.
Originating user terminal 102a comprises the communication customer end 402a(of corresponding operating system 400a, VoIP communication system and other potential application) and user interface 408a.VoIP client 402a is stored on the memory of origination terminal 102a (with the form such as the such tangible storage medium of electronics or magnetic storage apparatus), and is arranged to carry out at the treatment facility of origination terminal 102a.Client application 402a also is said to be in operating system 400a and goes up operation, carries out because it is scheduled for by operating system 400a.If have a plurality of application to exist and operation at terminal 102a, then operating system will be dispatched them and for example be come to carry out in the mode that replaces and/or in parallel processing resource, make each be applied under the control of operating system 400a like this and be assigned with so that some handles resource at least.When being scheduled, client application 402a can be via user interface 408a and user interactions, and can be via the transceiver apparatus of user terminal 102a in network 100 communications.As what discuss in more detail for destination terminal 102b, operating system can also be hung up the execution such as the such application of client application.
Destination user terminal 102b also comprises the communication customer end 402b of corresponding operating system 400b, VoIP communication system, such as email client 404 and video-game 406 such other application and user interface 408b.Communication customer end 402b is stored in the memory (with the form such as the such tangible storage medium of electronics or magnetic storage apparatus) of destination terminal 102b, and is arranged to carry out at the treatment facility of destination terminal 102b.VoIP client application 402b and other are used 404,406 and are said to be in upward operation of operating system 400b, because they are scheduled for by operating system and for example carry out in the mode that replaces and/or in parallel processing resource, make each be applied under the control of operating system 400b like this and be assigned with so that some handles resource at least.When being scheduled, VoIP client 402b can be via user interface 408b and user interactions, and can be via the transceiver apparatus of destination user terminal 102b in network 100 communications.Use 404 and 406 for other, when they were scheduled, situation was like this equally.
As mentioned above, operating system 400b can also have following ability, namely hangs up such application such as VoIP client 402b, or it is placed certain other background state, and it only is assigned with very limited processing stock number of each unit interval thus.
In an embodiment, the scheduling of being undertaken by operating system 400b comprises the ability that each application 402b, 404,406 is placed certain foreground state or background state.
The foreground state can comprise that foreground application wherein is the state of main, the dominant application that moving in the current time.The object lesson of this respect is the application that moves under screen mode toggle, and it is assigned with whole source of screen to be applied as cost with other therein.For example, video-game 406 can be given full frame or other dominant foreground state when operation, because the user may need full frame play games and/or play may consume quite a large amount of processing resources, make can to make limited processing resource or not handle resource to can be used for other application (using 402b and email client 204 such as VoIP).This sight may take place such as the such portable terminal of hand held mobile phone especially, in portable terminal compared with such as desktop computer, resource is relatively limited.
Another example of foreground state can comprise that wherein neither one is used the state that has the advantage state with respect to any other application, for example, the user of terminal 102b has the desktop of opening, do not use and be maximized, and VoIP uses 402b and is allowed enough processing resources to be used for complete operation by operating system 400b, and is not suppressed to be conducive to use such as video-game 406 such any other.
Yet when being in dominant foreground state such as video-game 406 such application, one or more other used 402b, 404 can be placed on background state by operating system 400b.VoIP client 402b can be specific candidate to this.Alternatively or additionally, At All Other Times, operating system 400b can be such application is placed on background state such as VoIP client 402b, in order to save battery resource.
Under such background state, VoIP client 402b or be suspended, this means it by operating system 400b scheduling with any processing cycle, perhaps be suppressed at the most, so that it compares the limited cycle that only is scheduled with the foreground state of non-inhibition.Under repressed state, client 402b may have only very limited functional, wherein it may not unilaterally handle calling invitation or the notice that enters, maybe may not call out invitation or notice by using full resource to handle, and full resource will be available under the other situation under higher functional status.
Under the state of foreground, VoIP client 402b can listen to invitation or the notice that enters fully, and it accomplishes this point by listening at the web socket 412 of destination user terminal 102b.Web socket is the network address and the combination that is assigned with the transport layer port of using for such application such as VoIP client 402b, and typically, the IP socket is the combination of IP address and port numbers.For example, under the state of foreground, VoIP client 402b may directly receive conventional P2P from origination terminal 102a and call out invitation (CI), and handle this invitation thereupon, so that call accepted, and/or possibility can receive and handle the application layer sending out notice (PN_AL) from VoIP supplier 204.
In an embodiment, under background state, VoIP client 402b does not have the cycle that is scheduled, and it must depend on based on the sending out notice of operating system service 202, or has the too limited cycle so that can not depend on except based on the sending out notice service of operating system anything.In this case, received by operating system 400b based on the sending out notice (OS_PN) of operating system, this operating system is presented at prompting on the screen on the terminal 102b of destination in response.The callee is notified in this prompting: have the communication event request to note, and the prompting user to select be to withdraw from screen mode toggle, still opposite making can be waken one or more dominant application up.The form of pointing out on the screen can have the Several Parameters that can be prescribed alternatively by operating system 400b domination in sending out notice.In certain embodiments, prompting can to user notification only be that this fact of unspecified (unspecified) communication event is arranged, and usually inquiry whether from full frame or holding state morning call.In other embodiments, prompting can comprise the additional information that some allows user to make valid decision, for example, is the indication of the calling that enters about communication event, and/or about the observable information of user (for example, display name) of caller's identity.Such additional information can derive from the payload of the sending out notice that receives.
And, if the event that user's acceptance enters, then the suitable API 410 between operating system 400b and VoIP client 402b can transmit some information of deriving from the sending out notice payload up to the application 402b that wakes up, make the VoIP client 402b on the terminal 102b of destination can formulate response, and this response is returned to origination terminal 102a.This payload information can comprise machine-readable identifier information, such as the user name of identifying call letters person in communication system, and/or in network 100 address of identifying call letters person's terminal 102a.
In alternative embodiment, can have the background state of VoIP client 402b, this VoIP client 402b is dispatched with the limited cycle by operating system 400b thus, but still be enough cycles to listen to the application layer sending out notice at socket 412 at least, with notice execution some processing at least to receiving, or even potentially in order to formulate acceptance response, and before waking up, this response is returned to origination terminal and (yet still need to wake up, so that actual the calling, that is, in case the speech that enters He go out and/or video flowing begin just to handle them).
By using the sending out notice service based on operating system, this notice is sent to operating system 400b, and at least one beginning is handled (although operating system 400b transmits at least some payload subsequently up to using 402b) by operating system.This is different from the application layer notice, wherein operating system 400b dispatches at least some cycles for application 402b, these cycles are enough to allow it listen to sending out notice at relevant socket, and the notice that receives is carried out some processing at least, and do not rely on any special sending out notice mechanism of operating system 400b.
Fig. 5 provides the schematic block diagram according to a calling control exemplary realization of the present invention, the VoIP supplier and notification unit 204.Network element 204 comprises: call controller 502, be coupled to the missed call register 504 of call controller 502, be coupled to call controller 502 and sending out notice center (hub) 506 based on the sending out notice service (OS PNS) 202 of operating system, the end points that enables to push (PEE) register 508, be coupled to the parser function 510 of call controller 510, be connected adapter 512 to what the caller's client 402a on originating user terminal 102a was coupled to call controller 502 with being used for.The module of each the be implemented as software in the unit 502,504,506,508,510,512, these softwares are stored on VoIP supplier 204 the memory of one or more server units (with the form such as the such tangible storage medium of magnetic or electronic storage device), and are arranged to move at one or more server units of VoIP supplier 204.Described one or more server unit comprise the treatment facility that is arranged to executive software and be arranged in the internet 100 or other so packet-based network carry out the transceiver apparatus of related communication.
Destination user terminal 102b can be registered as the end points (PEE) that enables to push, and the callee's client 402b on the terminal 102b of destination can be arranged in order to be able to receive one or more application layer sending out notice (PN_AL) from sending out notice center 506 via IP socket 412, and/or operating system 400b can be arranged in order to be able to receive from based on the service 202 of operating system, one or more sending out notice based on operating system (PN_OS).Under the latter's situation, the callee's client 402b on the terminal 102b of destination can be arranged in order to be able to receive from based on the one or more payload information in the sending out notice (PN_OS) of operating system via API 410.
In when operation, the VoIP client 402a of the caller on origination terminal 102a is by via internet 100 be connected adapter 512 formation and begin with being connected of call controller 502.This connection can provide discernible connection, so that be identified as being derived from specific known source by call controller 502 by any communication that receives from caller's client 402a with the given connection that is connected adapter 512.Connect the identity that adapter 512 can the authenticated calling person, so that by received any communication is identified as being derived from the source that its identity has been verified safely with the connection that is connected adapter 512.
At step S12, call out a version of inviting and use the equity connection to send to client 402b from client 402a as peer message by network 100.The calling technology by being relevant to Fig. 1 description more than using of inviting that is sent out as peer message is routed to client 402b from client 402a.In order to be received in the calling invitation that step S12 is sent out by using reciprocity pass through mechanism, client 402b must be in front stage operation at callee's terminal 102b.
In an embodiment, connecting adapter 512 provides front end component, and this front end component comes Authentication Client by using appropriate authentication mechanism (it can be privately owned), and the connection of the client that also terminates.Connect adapter 512 and can particularly for call controller, be used as the authoritative source (being relevant to the discussion of Fig. 5 referring to the back) of client identity for the remainder of service then.Therefore, in an embodiment, caller's identity need not provided in payload by caller oneself, and this is useful, because if not identity can be forged, and thereby will be fly-by-night.
At step S20 and/or step S30(corresponding to Fig. 2 and those shown steps of Fig. 3), the client 402a on caller's user terminal 102a uses via the connection that connects adapter 512 calling out the call controller 502 that another version of inviting (CI) sends to VoIP supplier 204.
Can see, call out two versions of inviting and be sent out concurrently by different pass through mechanism from client 402a.Under this meaning, call out to invite and scatter from client 402a.
In order to set up calling, two message that must the exchange Handshake Protocol, their form shake hands two halves---to another end points, second handshake information is agreed this calling as answer then from an end points for first.In an embodiment, the calling that sends from caller's client 402a is invited and is comprised the first handshake information HS1.
In an embodiment, HS1 can be that message is set up in the P2P session.In this case, it comprise the recipient who makes this message can continue with the sender consult the P2P transmission session enough information (such as, can be used for calling out).It can comprise the caller by its one or more IP address that can be related to, and comprises some out of Memory potentially.This message is used as the invitation that allows the P2P session set up.In case the session with encrypting of authentication is established, call signaling just can flow by this session.
Trunk information and user name are to divide some things open with HS1, and those can to work as when advancing HS1 unavailable or use in fallback mechanism when expiring.Yet, should be pointed out that to the invention is not restricted to P2P or mixed P 2 P layout that in other embodiments, some that session is set up or all follow-up phases can be via carrying out such as the such centralized unit of one or more servers.
Invite in response to the calling that receives from caller's client 402a, call controller 506 is formulated inner sending out notice request PNR_i then.
In an embodiment, this involves and quotes parser function 510 at step S50 call controller 502 and resolve the identifier information of caller and/or his or her user terminal 102a-" user's parsing " information (UR).The tabulation of the information that resolver 510 maintenance customers and/or user terminal are relevant, call controller 502 can be according to inquiring about this tabulation with the connection of having identified that is connected adapter 512.
The user resolves (UR) can be classified as two classes.The first kind is identifier information, and it will be used for allowing client 402b contact caller when response of callee.This can comprise:
The caller's user name of caller in the sign VoIP communication system; And/or
Address (IP address typically)-caller's originating user terminal 102b, that in network, identify it; With
-alternatively, additional routing iinformation is such as making to contact any one of caller or the sign of a plurality of relayings, for example 102c.
The second class UR information (it can be optional in an embodiment) is to allow the callee to make the information of the valid decision of answer calls about whether.This can comprise:
-caller's display name (being different from user name);
-caller's avatar image; And/or
-making the indication of the language of the calling that enters to callee notice, it can expand to the language template that is given for the grammer of notification message on the screen, because notification message will appear at callee's terminal 102b place on the screen.
In an embodiment, language or language template can be resolved according to callee and/or caller's identity.Caller's identity (for example, user name) also will be included in to call out and invite in (CI), and it can be used in this purposes and identifying purpose ground.
In an embodiment, parser function 510 also can comprise the License Check function, and it safeguards such user's tabulation, that is: the callee has stopped that described user contacts him or she.License Check plays the effect of the calling invitation that stops any caller who finds in next comfortable this tabulation, and only just carries out under the condition that the caller is not blocked for the step of the back of notifying the callee.
Suppose that this does not take place, call controller 502 is formulated and is comprised user's resolving information, HS1 message and calling out the payload (vide infra) of inviting any other relevant information that receives in (CI) so.At step S52, call controller 502 is forwarded to sending out notice center 506 to this payload then in inner sending out notice request PNR_i.
The additional information that can be included in the payload is as follows.
-timestamp, the time of invitation is sent in its indication.It is when overtime that this can be used for detecting the attempt of setting up calling.For example, being used for the overtime time limit can be in 30-60 scope second, in one embodiment, is 50 seconds.Timestamp can be included in from the calling invitation that caller's client 402a sends, in payload, be forwarded then, perhaps under timestamp also is not included in situation from the invitation that caller's client 402a receives, generated by call controller 502.
The encryption key of-key exchange scheme, it is caller's public keys (so content that the callee can decryption of calls person).This can be included in from the calling invitation that caller's client 402a sends, and in payload, be forwarded then, or alternatively, be stored in resolver 512, and by call controller 502 interpolations another example as user's resolving information.
The indication of the type of-end points 102a that starts (for example, is it mobile phone, panel computer, laptop computer or desktop computer? it moves any operating system, and it moves what version of VoIP client 402a, and/or what model it is).Again, this can be included in from the calling invitation that caller's client 402a sends, and is forwarded in payload then, or alternatively, is stored in resolver 512, and added as a part of resolving by call controller 502.
-call identifier (for example, Session ID) that be used for to call out, but its callee's client 402a or call controller 502 add.Again, this can be included in from the calling invitation that caller's client 402a sends, and is forwarded in payload then, or alternatively, is stored in resolver 512, and added by call controller 502.
-for talk title and/or other talk identifier called out, it is that this calling is as its a part of logic topic or contextual indication, for example under the situation of the part that call out to form the more extensive talk that involves IM message and/or previous calling.This is preferably obtained from invite from the calling of caller's client 402a.
Sending out notice center 506 receives inner sending out notice request PNR_i.In response, at step S53, its inquiry end points (PEE) register 508 of enabling to push is to check whether registered reception sending out notice of callee.PEE register 508 is safeguarded the user's of registered reception sending out notice (or ground of equal value is default if receive sending out notice, also removes registration and receives sending out notice) tabulation.For example, this can be to present to his or her option when the user enables new phone 102b for the first time, or the option of finding in the option screen of his or her terminal 102b.Subsequently, when as shown in sight under when attempting to call out, PEE register 508 is taken action, and just permits the sending out notice step of carrying out the back in order to only agree the callee that his or her equipment 102b can receive under the condition of sending out notice (or of equal value do not have to determine to withdraw from).
Suppose that the callee is registered at sending out notice, following two things one or both of are then finished at the sending out notice center:
-send outside sending out notice request PNR to based on the sending out notice service 202(of the operating system step S22 corresponding to Fig. 2), and then make again based on the sending out notice service 202 of OS the sending out notice (PN_OS) based on operating system are sent to operating system 400b(on the terminal 102b of destination corresponding to the step S24 on Fig. 2); And/or
-formulate application layer sending out notice (PN_AL), and it is directly sent to the client 402b(of the callee on the terminal 102b of destination corresponding to the step S32 on Fig. 3).
Can see, call out two versions of inviting and be sent out concurrently by different pass through mechanism from sending out notice center 506.Under this meaning, call out to invite and scatter from sending out notice center 506.Therefore, call controller 502 and sending out notice center 506 are handled at step S20 and are invited from the calling that client 402a receives, and call out a plurality of versions of inviting to generate.
In addition, at step S53, the sending out notice center can be sent back to call controller 502(callee to indication callee's end points number of messages (NEP) can make a plurality of device registration to PEE register 508).This can be made to follow the tracks of it by call controller can expect attendance report (attendance report, AR) (referring to step S56) from what equipment of callee potentially.
(under based on the situation of the sending out notice PN_OS of OS via OS PNS 202) taken action to come some the payload information at least that receives from call controller 502 is included in the sending out notice in sending out notice center 506.In an embodiment, the amount of payload information can will be included the type of sending out notice wherein according to it by sending out notice center 506, is based on application layer and also is based on operating system, selects.
Under the situation of the application layer sending out notice of being formulated by sending out notice center 506, this can comprise the payload information of any amount that reaches whole amounts discussed above, and comprises described whole amount or more.This can comprise the first handshake information HS1 of Handshake Protocol, with any information that reaches whole user's resolving informations (UR), comprise caller's user name, originating address, caller display name, be used for caller's avatar image (or to avatar image link) and language indicator or template.This payload information is provided for callee's client 402b in application layer sending out notice PN_AL.
If the client 402b on callee's terminal 102b receives application layer sending out notice PN_AL, then it extracts payload information, and uses this information to come the calling that enters to callee's notice.This can comprise the readable part of user of extracting user's resolving information, such as display name, avatar image (or the link of arriving avatar image) and/or language template, and uses it to generate notification message on the suitable screen.
For example, message can illustrate avatar image on the screen, and for example shows with English form " you have an incoming call from [display name] " or with the message of writing of French form " [display name] vous t é l é phoner ".The language of this message and grammer (that is language format) are stipulated by language template.Where grammatical norm for example comprises display name in sentence.
And, suppose that the callee answers this calling, then the client 402b on callee's terminal 102b is configured to from the payload of sending out notice that part of user's resolving information of extracting handshake information HS1 and being used for contact caller when response, formulate to call out acceptance response (CA) thus, and this response is signaled back the originating client 402a on caller's the terminal 102a.After receiving HS1, callee's client 402b formulates and calls out acceptance response CA, and it comprises half part of the answer of Handshake Protocol, HS2 message.At step S58, callee's client 402b is then according to associated user's resolving information of the address of the user name that comprises the caller at least and/or caller's terminal 102a, and this acceptance response is signaled back client 402a on the origination terminal 102a.
Preferably, this is done by using payload information, need before the callee determine whether to answer this callings any other signaling on network 100 retrieve identifier information for the terminal 102a that contacts the caller, or retrieving information is to he or she identifying call letters person.For these purposes, do not need backward for such as any supplier of unit 204 or 202 or the extra guide (referral) of operator infrastructure.Therefore, the quantity of round trip reduces in call signaling, this means for realizing that calling out the time of accepting can reduce.
In an embodiment, callee's client 402b can be only receives application layer sending out notice PN_AL under its time that is found in notice is in the situation of foreground (f/g) state, because under this state, it has the enough processing cycles that are scheduled, and can listen to and handle it when application layer sending out notice PN_AL is detected at IP socket 412.Yet, in some implementations, client 402b that might the callee can be assigned with special background state, though it is scheduled with downtrod processing time amount thus, it still has enough cycles and can detect and take action according to application layer sending out notice PN_AL.
At step S56, callee's client 402b can also indicate it to accept this calling attendance report (AR) report callback controller 502.Whether call controller 502 can use this to follow the tracks of calling and be answered, or whether it is overtime before calling out by answer.
Under the situation based on the sending out notice PN_OS of operating system that generates via service 202, this can comprise from the payload amount of information that reduces in the middle of the potentially useful information on load discussed above.For example, user's resolving information (UR ') that this can comprise handshake information HS1 and some selection preferably is the address of caller's user name and/or caller's user terminal 102a at least.Language or language template still can be used as payload information.This payload information is provided for the operating system 400b on the terminal 102b of destination in the sending out notice PN_OS based on operating system.
If the operating system 400b on callee's the terminal 102b receives the sending out notice PN_OL based on operating system, then it generates the next calling that enters to callee's notice of message on the screen.Alternatively, this can involve from some limited parameter of payload information extraction and be inserted on the predefined screen of operating system 400b the message format.For example, the operating system 400b that receives can determine from the payload that receives that caller's display name and suitable language template are the facts of English template " you have an incoming call from [display name] " or French template " [display name] vous t é l é phoner ".Yet the other side of message format can be arranged by operating system 400b on the screen, for example, and its size, its " the look and feel " and any figure that is associated.
For example, if the callee time of notice just under full frame or other dominant state playing video game 406 or use some other use, then operating system can be so that little notification message ejecting such as such unnoticed relatively position, the corner of screen.
Whether the message notifying callee will take any action on the screen that is generated by callee's operating system 400b, for example, answer the call, or do not ignore this notice and continue to play games 406.
As previously discussed, destination VoIP client 406b may be in backstage (b/g) state in the time of the notice that enters.If the callee selects to accept this calling really when the operation response system prompt, then operating system is waken callee's VoIP client 402b up.This can involve and finish the full frame of the application (for example, recreation 406) that before just moving or advantage state that other is such in the foreground.
Operating system 400b on callee's terminal 102b also will transmit a certain amount of at least payload information up to the VoIP client 402b of new recovery (restore), the first handshake information HS1 and some is used for the user's resolving information of contact caller when response at least preferably, that is, caller's user name and/or origination terminal address.When callee VoIP client 402b woke up, therefore it can formulate and comprise the calling acceptance response CA that returns handshake information HS2, and originating client 402a on caller's the user terminal 102a is returned in this response addressing.
Preferably, therefore the payload information that receives in sending out notice still be enough to formulate calls out acceptance response (CA), and before the callee determines whether to answer this callings, do not need any other signaling on the network 100 to retrieve identifier information for contact caller's terminal 102a, or retrieve and be used for to he or she identifying call letters person's information.Therefore, again, the quantity of round trip in call signaling, thereby be can reduce for calling out the time of accepting.
Again, at step S56, callee's client 402b can also indicate its call accepted attendance report (AR) report callback controller 502.Whether call controller 502 can use this to follow the tracks of this calling and be answered, or whether it is overtime before calling out by answer.
At step S60, when in case of necessity, call controller 502 upgrades missed call (missed call) register 504.504 storages of missed call register are for the information of callee's relevant missed call.If each version neither one of call out inviting is answered (for example, in their timeout period), then missed call register 504 is updated, and is stored as missed call for the callee with the information with relevant this calling.The callee can send and inquire network element 204, is used for retrieval for this callee's the information about missed call.If any version of call out inviting is answered, then stop missed call register 504 to be updated the details that to call out and be stored as missed call for the callee, even some version of calling invitation is not answered.Like this, if some version of call out inviting, but not all version do not answered, then missed call register 504 not indicating call do not connect.The calling ID that calls out in each version of inviting makes different versions to be associated with same calling and same calling invitation with the existence of inviting ID, makes missed call register 504 correctly to be upgraded like this.
The missed call mark can be implemented at callee's terminal 102b, even wherein client 402b does not operate in the foreground, the missed call mark also can be shown to the callee at terminal 102b.Missed call mark indication for the callee, its information is stored in the quantity of the missed call in the missed call register 504.Network element 204 can send a message to client 402b to upgrade the missed call mark.
In various embodiments, based on application layer with based on the machine-processed parallel existence of the sending out notice of operating system.The sending out notice center can walk abreast and attempt these two kinds of Notification Methods.
And, still can be used for conventional P2P called out at the caller's client 402a on the originating user terminal 102a and invite (CI, step S10) directly to send to callee's client 402b on the user terminal 102b of destination by internet 100.
Different pass through mechanism goes for different situations.Therefore, it can be favourable sending calling invitation by multiple pass through mechanism.For example, when client 402b operates in the foreground at terminal 102b place, invite or invite and at first to be received by client 402b in the calling that step S32 is sent out by the sending out notice system based on application layer in the calling that step S12 is sent out by the equity connection.Yet when client 402b is during in background state at terminal 102b place, it may not connect or invite via the sending out notice system receipt of call based on application layer via equity.Therefore, under these situations, inviting by the calling that sends based on the sending out notice system of operating system at step S24 can be for this calling, will be invited by first (and may be unique) calling that client 402b receives.Therefore, can recognize, call out each version of inviting by multiple pass through mechanism transmission the quick and transmission reliably of calling invitation under various conditions is provided.Network condition (for example, current load on the network 100) also can cause influence in various degree to the transmission that the calling on different pass through mechanism is invited.
In certain embodiments, HS1 can not be included in from callee's calling and invite in (CI) (step S20/S30).Alternatively, this exchange may require the callee to send HS1 to the caller in for the response of initial notification, and requires the caller to answer with the second handshake information HS2 then, in order to set up reverse session.
As mentioned above, network node (for example, caller's terminal 102a or controller network unit 204) can be arranged to send and call out a plurality of versions of inviting, call out to be used between caller's client 402a and one or more callee's client 402b, setting up.Calling out each version of inviting is sent out by multiple different pass through mechanism, each version of wherein calling out a plurality of versions of inviting comprises the identifier of calling, and one of pass through mechanism is included in the sending out notice (for example, at step S24 or S32) that pushes on the channel.
Call out a plurality of versions of inviting and all to be sent to the callee's client 402b that implements at callee's terminal 102b.Alternatively, different callee's client 402b of implementing of a plurality of versions of call out inviting different callee's terminal 102b that can be sent to the callee.For example, different callee's client 402b of implementing of each version of call out inviting different callee's terminal 102b that can be sent to the callee.
When one of version of calling out invitation was answered, perhaps behind predetermined time-out time (for example, 30 to 60 seconds), the version of calling out any not finishing (outstanding) of invitation can be cancelled.In certain embodiments, when one of version of calling out invitation was answered, calling out the uncompleted version of inviting may not be cancelled.In this case, if callee's client 402b has received certain version of the calling invitation that comprises specific invitation ID and (has for example made response thereupon, call out invitation or set up calling to user notification), and callee's client 402b receives another version that the calling that also comprises this specific invitation ID is invited then, and then callee's client 402b can invite ID determine that certain version of calling out invitation be received by using.Under the sort of situation, callee's client 402b can take further action.Therefore, when a version calling out invitation is answered, not that the uncompleted version of inviting is called out in cancellation, but the uncompleted version that can allow to call out invitation enters callee's client 402b, wherein callee's client 402b use is invited ID(or is used in certain embodiments and call out ID) next definite: because the version that calling is invited is by callee's client 402b reception, so it is next in response to receiving the redaction of calling out invitation not need to take action.
Method described herein can be implemented by the computer program product, and described computer program is included in the code that embodies on the non-transient state computer-readable medium.
In an embodiment, in case above call signaling be performed, just can by in conventional P2P mode between callee and caller exchange certificate and carry out the user in mutual mode and authenticate.Alternatively or additionally, when connecting adapter when forming the initial time verifying caller's who connects identity, authentication can be carried out by connecting the adapter concentrated area.Authentication be after above signaling by the situation finished of exchange certificate under, should be understood that, calling out acceptance response CA is not for one that successfully calls out absolute last criterion, but submit to the interim acceptance (it is not problem mostly, as long as communication be not malice) of authentication under most of situations.In other embodiments, authentication can only rely on by connecting the initial authentication for the caller that adapter carries out.
In certain embodiments, two stages that authenticate in setting up the process of calling out all can use.The first, it is own connecting adapter 512 authentications for caller's client, and the transmission that has authenticated by foundation sends to call controller 502 to invitation then.This is authentication for the first time, and it is used on the server 204 and authenticates the client.When the sending out notice that comprises HS1 arrived callee's client, this was to set up first step that authentic directly (P2P) connects between client, and this is that the occasion of authentication for the second time takes place.Phase I is centralized authentication, and opposite, second stage is the P2P authentication.
It will be appreciated that above embodiment is described as just example.
For example, though above content is to be described with respect to the mixed P 2 P system that is used for the execution voip call, technology disclosed herein may be used on the packet-based communication system of other type.Therefore, in alternative embodiment, after notice, session set up (such as, can be used for calling out) one, some or all of other stage can be alternatively via the centralized unit of one or more networks and carry out---such as one or more servers of one or more suppliers or network operator---.For the embodiment that wherein uses some P2P technology, should also be noted that term P2P is not the layout that is necessarily limited to go fully centralization under its wide significance.For example in some instances, have only medium (that is, calling out or the content of other session) between peer-to-peer, directly to transmit, and all other call signaling (comprising address search and authentication) take place via central location.
And, under the above occasion of describing any network element according to server, it will be appreciated that this is not limited to the individual server unit, perhaps be housed in the same shell or be positioned at the servers in same place.Can be used for implementing communication supplier function according to embodiments of the invention by the effective any logical network unit, any unit in one or more unit.And, though being communication according to the internet, above content is described, the present invention also can be used in by other packet-based communication network notice is provided, and/or informs communication by other packet-based communication network.
After providing the disclosure herein content, those skilled in the art can understand that other becomes example.The present invention is not limited by described embodiment, and is only limited by claims.

Claims (10)

1. network node (102a; 204), be arranged to participate in the call setup between caller and callee by network (100), this network node (102a; 204) comprising:
Transmitter apparatus, be arranged to send in caller's client (402a) of caller and be implemented in and set up a plurality of versions that the calling of calling out is invited between one or more callee's clients (402b) on one or more callee's terminals (102b) of callee, transceiver apparatus is arranged to send described a plurality of versions of calling out invitation by multiple different pass through mechanism
Wherein one of pass through mechanism is included in the sending out notice that pushes on the channel.
2. network node (the 102a of claim 1; 204), a plurality of versions of wherein call out inviting or: (i) all be sent to the callee's client (402b) that is implemented on callee's terminal (102b), perhaps (ii) be sent to each the different callee's client (402b) that is implemented on different callee's terminals (102b).
3. network node (the 102a of arbitrary aforesaid claim; 204), wherein first pass through mechanism in the pass through mechanism is included in based on the sending out notice based on operating system on the propelling movement channel of operating system, and wherein second pass through mechanism in the pass through mechanism is included in application layer and pushes application layer sending out notice on the channel.
4. the network node of arbitrary aforesaid claim (102a), wherein this network node is caller's terminal (102a) of implementing caller's client (402a) on it, and one of pass through mechanism is included in the peer message that the equity by network (100) connects.
5. the network node of each of claim 1 to 3 (204), wherein this network node is controller network unit (204), and wherein transmitter apparatus is to be arranged to receive the transceiver apparatus of inviting from the calling of caller's terminal (102a) of implementing caller's client (402a) on it, controller network unit (204) comprises treatment facility, and it is arranged to invite the described a plurality of versions that generate calling invitation according to the calling that receives.
6. the network node of claim 5 (204), wherein controller network unit (204) also comprise:
Missed call register (504), be configured to store the information for callee's relevant missed call, if wherein calling out each version neither one of inviting is answered, then missed call register (504) is updated, and is stored as missed call for this callee with the information with relevant this calling.
7. the network node of claim 6 (204), wherein controller network unit (204) also are configured to send a message to described one or more callee's clients (402b), in order to upgrade the missed call mark that will in the user interface of callee's client (402b), export, described missed call mark indication for this callee, its information is stored in the quantity of the missed call in the missed call register.
8. a computer program is included in the code that embodies on the non-transient state computer-readable medium, and described code is configured to feasible as the network node (102a at network (100); Finish following operation when being performed 204):
Send to be used for setting up between the one or more callee's clients (402b) on caller's client (402a) of caller and the one or more callee's terminals (102b) that are implemented in the callee a plurality of versions that the calling of calling out is invited, described code is configured to make and works as at network node (102a; When being performed 204), send described a plurality of versions of calling out invitation by multiple different pass through mechanism,
Wherein one of pass through mechanism is included in the sending out notice that pushes on the channel.
9. one kind is passed through network (100) is set up calling between caller and callee method, and this method comprises:
Send to be used between the one or more callee's clients (402b) on caller's client (402a) of caller and the one or more callee's terminals (102b) that are implemented in the callee, setting up a plurality of versions of the calling invitation of calling out, calling out described a plurality of versions of inviting is sent out by multiple different pass through mechanism
Wherein one of pass through mechanism is included in the sending out notice that pushes on the channel.
10. the method for claim 9, wherein said pass through mechanism comprises following at least two:
Based on the sending out notice based on operating system on the propelling movement channel of operating system;
Application layer sending out notice on application layer propelling movement channel; And
Peer message on the equity of passing through network (100) connects.
CN201310236142.3A 2012-06-14 2013-06-14 Network node and method for setting up calling between a caller and a callee Active CN103338192B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GBGB1210600.1A GB201210600D0 (en) 2012-06-14 2012-06-14 Call invites
GB1210600.1 2012-06-14
US13/655013 2012-10-18
US13/655,013 US9871930B2 (en) 2012-06-14 2012-10-18 Call invites

Publications (2)

Publication Number Publication Date
CN103338192A true CN103338192A (en) 2013-10-02
CN103338192B CN103338192B (en) 2017-07-18

Family

ID=48670837

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310236142.3A Active CN103338192B (en) 2012-06-14 2013-06-14 Network node and method for setting up calling between a caller and a callee

Country Status (1)

Country Link
CN (1) CN103338192B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270777A (en) * 2016-12-30 2018-07-10 统专利有限责任两合公司 Method, private branch exchange system and the communication network of VOIP communications are established between PBX system and first terminal equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299785A (en) * 2007-04-30 2008-11-05 华为技术有限公司 Method, system and service server for processing conversation
CN101854369A (en) * 2009-04-01 2010-10-06 升东网络科技发展(上海)有限公司 Remote information notification system and method
US20110158396A1 (en) * 2009-12-30 2011-06-30 Verizon Patent And Licensing, Inc. System for and method of re-using public domain identifications
US20120117250A1 (en) * 2010-04-07 2012-05-10 Justin Santamaria Multiple client computing device invitations for online communication sessions

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101299785A (en) * 2007-04-30 2008-11-05 华为技术有限公司 Method, system and service server for processing conversation
CN101854369A (en) * 2009-04-01 2010-10-06 升东网络科技发展(上海)有限公司 Remote information notification system and method
US20110158396A1 (en) * 2009-12-30 2011-06-30 Verizon Patent And Licensing, Inc. System for and method of re-using public domain identifications
US20120117250A1 (en) * 2010-04-07 2012-05-10 Justin Santamaria Multiple client computing device invitations for online communication sessions

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108270777A (en) * 2016-12-30 2018-07-10 统专利有限责任两合公司 Method, private branch exchange system and the communication network of VOIP communications are established between PBX system and first terminal equipment
CN108270777B (en) * 2016-12-30 2020-10-16 统一专利有限责任两合公司 Method for establishing a VOIP communication between a PBX system and a first terminal, private branch exchange system and communication network

Also Published As

Publication number Publication date
CN103338192B (en) 2017-07-18

Similar Documents

Publication Publication Date Title
US9654519B2 (en) Notification of communication events
EP2847979B1 (en) Multiple versions of call invites
EP2909970B1 (en) Notification of communication events
CN102893572B (en) For online communication session registered client computing equipment
CN1968123B (en) Automatic orchestration of dynamic multiple party, multiple media communications
US10630843B1 (en) Dialing into a meeting without entering information
EP2862343B1 (en) Notification of communication events
CN109586930A (en) Participant user adding method, first terminal, second terminal and processing server
US10375122B2 (en) Control apparatus, communications control system, and non-transitory recording medium that stores program
CN102215216A (en) Transitioning between circuit switched calls and video calls
CN103563314A (en) System and method for passive communication services
CN103401890B (en) Apparatus and method for the notice of communication event
CN110620672B (en) Multi-person session data processing method and device, computer equipment and storage medium
CN103338192A (en) Call invitation
CN108377217A (en) A kind of real-time communication method and device
CN103327089B (en) Notification of communication event
CN104767754B (en) Equipment is calculated for online communication session registered client
CN103338146A (en) Communication event notificaiton
CN109034645A (en) Translation on line system and server
KR20170100315A (en) System for providing conference call service using dtmf tone and method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150707

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150707

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant