CN103338192B - Network node and method for setting up calling between a caller and a callee - Google Patents

Network node and method for setting up calling between a caller and a callee Download PDF

Info

Publication number
CN103338192B
CN103338192B CN201310236142.3A CN201310236142A CN103338192B CN 103338192 B CN103338192 B CN 103338192B CN 201310236142 A CN201310236142 A CN 201310236142A CN 103338192 B CN103338192 B CN 103338192B
Authority
CN
China
Prior art keywords
callee
calling
client
sending out
out notice
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310236142.3A
Other languages
Chinese (zh)
Other versions
CN103338192A (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 Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GBGB1210600.1A external-priority patent/GB201210600D0/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
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

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

Set up the network node, computer program product and method of calling between a caller and a callee by network.In order in caller's client of caller and implement to set up between one or more callee's clients in one or more callee's terminals of callee to call, multiple versions that calling is invited are sent.Multiple versions that calling is invited are sent by a variety of different pass through mechanism.One of pass through mechanism is included in the sending out notice pushed on channel.

Description

Network node and method for setting up calling between a caller and a callee
Related application
The application requires the Britain application No.1210600.1 submitted on June 14th, 2012 under 35 USC 119 or 365 Priority, the disclosure of which is integrally herein incorporated.
Background technology
In the presence of for by packet-based network as such as internet set up live packet-based speech or The various communication systems of video call.For example, such system can use VoIP(Voice protocol on internet)Technology.One The communication system for planting popular type is built in equity(P2P)In topology.In traditional P2P systems, each end user exists His or she respective user terminal(For example, desktop computer or laptop computer, panel computer or hand held mobile phone)On Communication customer end application is installed.Each user then to the server registration of P2P suppliers to obtain certification certificate.User is whole Some of end is also by the node as distributed data base, and the user name of user in P2P communication systems is mapped to this and is by it The address for each user terminal united in the network implemented thereon(Typically IP address).Then it can carry out finally using Communication between family, and be not used in involving the server of centralization in call setup or verification process.Alternatively, in caller Terminal on client query distributed data base one or more nodes(That is, it is related in any other manner in calling Other end users(It is not necessarily themselves)One or more terminals), to determine the end of expected callee The address at end.Then, calling invitation is sent to callee by caller using identified address, and callee uses Calling receives response to be responded.Caller and callee exchange their certification certificate, so as to mutual authentication.
Each user also safeguards contacts list, and the contacts list can be stored on the server of P2P suppliers, Make it that it is also available when User logs in is to different terminals.Other auxiliary informations, are such as used for each The profile information at family(For example, avatar image or mood message), can also be stored on server.Moreover, client application Also existence information is intercoursed.The availability of existence information instruction user(availability)State, it is preferable that it is extremely Partially by user, he or she defines oneself.For example, existence can be offline with instruction user, it is online but has selected as not It can use(" leaving in peace "), or it is online and selected to be available.For example, each client can connection of the poll at it periodically It is each contact person in list, to determine their own existence, and/or each client can be existence more Newly it is sent periodically to each contact person in its list.Existence typically according to P2P technologies directly end user it Between signal, and without via server.When making a call, the client of caller is according to newest existence information Determine whether callee can be used to receive the calling.
The content of the invention
In an embodiment of the present invention, network node be arranged to participate in by network caller and callee it Between call setup.Network node includes transmitter apparatus, and it, which is arranged to send, is used for caller's client in caller With implementing to set up between one or more callee's clients in one or more callee's terminals of callee Multiple versions that the calling of calling is invited.Transceiver apparatus is arranged to send calling invitation by a variety of different pass through mechanism Multiple versions.One of pass through mechanism is included in the sending out notice pushed on channel.
This summary is provided to introduce the selection of concept in simplified form, and these concepts are also by following detailed description It is described in paragraph.This summary is both not intended to confirm the key feature or essential feature of theme claimed, does not also beat Calculate limitation theme claimed.Theme claimed is also not necessarily limited to solve to have referred in any or all of of preceding system Go out the realization of shortcoming.
Brief description of the drawings
In order to be best understood from how the present invention and the display present invention can put into practice, by way of example, refer to the attached drawing, its In:
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 NE.
Embodiment
The hand held mobile phone applied with communication customer end as can running such as VoIP client increasingly flows OK, there is the increasing end points of quantity(endpoint)Available for participate in VoIP communication systems or it is other it is such, by because In the packet-based communication system that spy's net etc. is implemented.However, it is also possible to which the problem of triggering is, mobile phone handsets are typically There is more limited resource than traditional desktop computer or laptop computer, for example, time per unit can only be performed less Process cycle, each process cycle has less feature, with more limited memory resource(For example, RAM and/or Cache)And/or with less screen area resource.Therefore, the operating system in some terminals(OS)May be just Some applications are placed in background state.This may include communication customer end.Under background state, the application on backstage or complete Hang up or each unit interval is scheduled with limited process cycle, can not detect that the calling of entrance is invited to a certain extent And/or the traditional calling of processing is invited.If for example, another application is just in foreground state(foreground state)Middle fortune OK, particularly if other application is to concentrate in terms of processing, memory and/or source of screen(intensive), for example, transport Row is in screen mode toggle or with some other states as current main, primary or preferential application, then this may send out It is raw.One example is the computer game played on a cellular telephone.If it that case, client can not send presence Property update or response the existence poll from other users, then user may be shown as from the point of view of his or her existence from Line.Nevertheless, user still may want to can be used for receiving calling, for example, would rather break of video game also not missed call. Therefore, traditional existence concept starts to be broken.Be conducive to one with some applications being placed in background state The problem of potentially may occurring similar in any terminal of the feature of individual or a number of other applications.
For communication system as the conventional P2P systems such as implemented on a packet-based network may trigger it is another One problem is the speed of call signaling, particularly calling by answer before taken how long, or determine calling not By answer take how long.When this client that may work as callee is in background state as discussed above especially into Problem, wherein caller he or she be apprised of with callee be it is unavailable before may have to wait for attempted calling and invite Please time-out.If the timeout period is longer, such as 30-60 seconds so that even if originally the client of callee is suspended and Just the calling can not be received at all, caller will also wait up to one minute before they have found that calling can not be carried out, then this It is especially gloomy for caller.Call signaling delay may also occur in other types of communication system.
Some other types of communication systems notify communication event to give destination user terminal using sending out notice.Push away It is under the excitation of server or another originating unit, rather than from service under the excitation of destination terminal in itself to send notice The notice that device is sent(That is, it is opposite with being pulled by destination terminal).Therefore, sending out notice be seen as destination terminal different Step.
When calling, which is invited, to be sent, it may be desirable to allow calling to invite and be delivered to callee with quick and reliable way Client.Setup requests(Or " calling is invited ")It can be provided by a variety of pass through mechanism, to set up calling.Transmission machine The mode being passed is invited in system description calling.For example, pass through mechanism may include the agreement invited by its transmission calling, and/or Calling is invited and how route by network.For example, the pass through mechanism of three types is:(i) reciprocity mechanism, wherein calling is invited It is route using peer protocol by network, the sending out notice mechanism of (ii) based on application layer, calling is invited by means of it Client application in callee's end, and the sending out notice machine of (iii) based on operating system are pushed to by network The operating system for being pushed to callee's terminal by network by means of it is invited in system, calling.Send the multiple of calling invitation Version, which can reduce call set-up time and improve calling, invites the probability for being successfully delivered to the client of callee.Calling The each version invited is related to same calling, it is possible to identify calling using calling ID.So, if callee is objective Family termination receives multiple versions that calling is invited, then callee's client can determine that each version that calling is invited includes phase Same calling ID, therefore they contribute to the version that the same calling of the calling is invited.Each version that calling is invited can Including calling the invitation ID invited for identifying.Each version that this allows calling to invite is associated with calling invitation.Change sentence Talk about, each version that inviting ID allows callee's client to determine that calling is invited is related to same calling and invited.If Multiple callings, which are invited, to be sent for same calling, then this is particularly useful, and it causes each version that each calling is invited Originally can be associated with correct calling invitation.
In embodiment, one of version that callee's client can be invited with answer calls(For example, will be in callee First version that the calling received at client is invited), thus set up calling between a caller and a callee.In order to Calling is set up, may only need to receive the version that calling is invited by callee's client.Each version invited due to calling This is sent by different pass through mechanism, so compared with sending calling invitation by single pass through mechanism, from caller The time that at least one version that the calling that client is sent to callee's client is invited is spent can be reduced.Moreover, Because each version that calling is invited is sent by different pass through mechanism, so being exhaled with being sent by single pass through mechanism Invitation is made to compare, the reliability at least one version that calling is invited is properly received at callee's client to be increased Plus.
Pass through mechanism may include at least two following mechanism:(i) based on operating system push channel on based on The sending out notice of operating system, (ii) pushes the application layer sending out notice on channel in application layer, and (iii) is passing through network Peer message on peer to peer connection.By sending each version that calling is invited simultaneously on a variety of pass through mechanism, system can be Special time using it is best no matter which kind of pass through mechanism(For example, most fast transmission or most reliable transmission).Condition has can It can change, so that best a kind of pass through mechanism in pass through mechanism(For example, it have most fast transmission or it be most may be used Lean on)It may change over time.
As noted, modern mobile devices can run communication customer end now such as hand held mobile phone Using to be used for by packet-based network as such as internet, rather than only via the special honeybee of mobile phone Nest voice channel, goes to perform packet-based communication or other packet-based speeches or video call as such as VoIP. By this ability, online and number of users that is can calling huge increase is brought.However, the client of such user should With may also potentially be found:At in calling in background state, thus, the operating system of client mobile device is hung The calling for rising or being at most scheduled with very limited amount of resource-therefore in order to receive entrance, client needs to be waken up.
Under such operating system system-calling that wherein application no longer guarantees such as to enter in background process, The structural system of event-VoIP or other communications providers as chat etc. will benefit from being extended.For example, such as Fruit supplier is wanted to calling(With it is other)Notice passes to the user of their communication system, even if the user may Related communication customer end is applied " backstage "(Or backstage will be applied by operating system)However user is still in Line and it can potentially call after this manner, then this will be favourable.The Call Block of client application can also be changed, with Ensure calling party initial intention can be reliably transmitted to all end points, there user be able to should receive calling- If desired, via sending out notice.
For example, it is contemplated that wherein callee is regarded just on hand-held phone or panel computer using web browser or play The calling of his or her friend is played and waited simultaneously to frequency(Perhaps from foreign country, so would rather be used for cost reasons VoIP)Use situation.Whether callee is online according to existence status checkout friend, but exhaled when he or she is not online The person of crying starts to browse or plays game to kill time.Then, friend(Caller)Then for example sign in on the desktop His or her client application, prepares calling callee.In embodiment, the client of callee may be modified as to Caller shows that callee is online, even if the client application of callee is due to browser or playing needs consuming high System resource, such as due to running flash applications or other applet in a browser by the operating system of callee Hang up or suppress.In an embodiment of the present invention, caller's click-to-dial button, initiates the calling to callee, called The operating system of person is configured to propose prompting, notifies that he or she has the calling of entrance.The client application of callee by with If be set to so that callee taps or clicked on accept button in response to the prompting, client application is callee's Foreground is brought back into terminal, therefore allows callee to answer the calling(Speech or video), and start and his or her friend Friend-caller-talk.
Under this example scenario, it shall be noted that some units.The state of callee's client is in the worst case Potentially hung up completely(Termination), after this manner it can not be related to by conventional P2P session establishing methods.In the present invention Embodiment in, callee may be unaware that or not realize that his or her client application is suspended, because this may be not Once-in fact contrast was clearly completed by callee user, this may be automatically performed via operating system, and by Caller can be under such hypothesis:His or her client application is still in operation, and they are online and can joined System.Moreover, in such a scenario, it is different from the being conventionally present property mechanism for such system, existence is not made preferably Depend on(Or do not depend solely on)The P2P availabilities of client.
In order to support that the scene of the above will be preferably carried out new Call Block and/or for existing part there is provided person Make necessary change.
One target be so that callee's client can be waken up and set up in reasonable time frame and scope with The session of caller's client(For example, P2P sessions).In order to keep call set-up time as short as possible, in session and call setup Round trip immediately(roundtrip)Minimum should be preferably remained as far as possible.
Demonstrated under example scenarios as more than, calling start flow can be supported to need to pass via non-P2P message Delivery system signals the use situation of the intention of calling, and it can retract under the occasion of needs(fall back)To pushing away Notice is sent, to wake up callee's client.For example, this can be carried via the supplier by the operating system discussed The sending out notice service of confession.
Setup requests(That is, calling is invited)There is provided by a variety of pass through mechanism, to set up calling, thus reduce and exhale It is setup time and improves the probability of transmission.In other words, multiple versions that calling is invited are to use different pass through mechanism, example Such as, it is route by the difference of network, callee's client is sent to from caller's client.Calling each version invited can be with Concurrently sent on network.In this sense, calling is invited is disperseed as multiple by using different pass through mechanism Version is passed.Moreover, callee can be associated with more than one user terminal.In other words, callee can be with Client software example is installed in more than one terminal, and can be by using the client software from these terminals Example and sign in communication system.Therefore, callee can be implemented via in more than one callee's end What more than one callee's client can be contacted.Each version that calling is invited is sent to associated with callee Each callee's client that each callee's end is implemented.Call what is invited by being sent via a variety of pass through mechanism Multiple versions and multiple callee's clients are sent to, the version that calling is invited is available for delivery to callee's client Speed and reliability and callee currently interaction speed used and reliability can be improved.
Call Block can be updated, and be changed with for example implementing necessary client components in core library, to ensure it Cater to institute's use situation in need, interoperability and a backwards compatibility scene.
Calling customer end pieces can be updated to allow callee's client to receive to connect via sending out notice transmission method The calling of the entrance of receipts is invited.This may include one or more UI(User interface)API(API)Group, it is allowed to visitor The UI layers of payload information transmission reception in family end is to Call Block so that can carry out P2P session establishments and call setup and Signaling.
It is delivered to for be included in via messaging system in the payload of the message of callee's end points The relevant information of calling, call function can preferably support the service based on cloud, and service reception that should be based on cloud is come autobiography The message of infrastructure is passed, and this message is filled with specific payload information is called.
Call notification preferably includes enough information, to allow callee to be made whether to answer the with good grounds of the calling 's(informed)Determine.This for example may include caller's name(User name and/or display name), caller incarnation, and/or Call the timestamp invited.Call notification, which may also include, allows callee's client to formulate the information for receiving response, such as holds Hand message and the information that caller is contacted in response(For example, caller's user name and/or address).
Once the call notification device of transmission system completes above step, just transmission call notification is exhaled to be eventually transferred into The person's of crying end points.This preferably will go to receive under the occasion of sending out notice the user for being invited into calling is registered, or right Occur under the occasion that there is open connection for client.Notice can be by directly persistently connection(Callee visitor Family end is on foreground, and/or some background states)Or under the occasion of needs(Callee's client is suspended, and/or some Other background states)It is via the sending out notice to the notice service based on related operating system.
Participating in the invitation of calling can be sent by MPTY in most cases, such as:It is established in actual calling Before, it is used as a part for initiation;Or another participant is added in calling during the calling just carried out.
Fig. 1 is the schematic diagram of the communication system based on traditional P2P examples.Communication system includes packet-based network 100, preferably wide area Internet network(Internet), such as internet.Communication system also includes multiple end user's terminals 102, each including transceiver apparatus, it is operable to be coupled to internet 100, and each include discussed communication system Respective communication customer end application.Each end user's terminal 102 can for example take desktop computer or laptop computer, put down Plate computer or hand held mobile phone(Or " mobile phone ")Form.Each user terminal 102 is the voip call in communication system Or the potential end points of other packet-based communications.That illustrated on Fig. 1 is caller's end points 102a and callee's end points 102b。
According to conventional P2P principles, the client application on one or more user terminal 102c is presented in a distributed manner The state of the node in location searching data storehouse.For the user terminal 102b that determines callee address(E.g., including IP Location), in step S10, the client on the user terminal 102a of caller is via internet 100 with serving as distributed data base One of the user terminal 102c of node on client communication.Client on the terminal 102a of caller is by data Storehouse node 102c is sent in the user name of the callee of mark callee in communication system and inquires about database node 102c, And database node 102c returns to the user terminal 102b of required callee address.In step S12, in calling party Client on terminal 102a is then using this address come setup requests or " invitation "(CI)It is signaled to pre- Client on the terminal 102b of the callee of phase.As response, if callee's selection receives the calling, called Client on person's terminal 102b beams back calling with signal and receives response.In caller and the terminal 102a and 102b of callee On client certification certificate is also exchanged to verify identity mutually.Therefore client sets up session from each other, so as at it Respective terminal 102, send with Real-time voice and/or video content from microphone and/or video camera on 102b The portfolio of form be used as live voice or a part for video call.Because address search is to be based on distributed data base, So central server need not be involved for this.Call set up signaling, certification and the progress of call business amount are also without leading Relate to central server.
In embodiment, if due to NAT(Network address translators)Or fire wall 108, the user terminal 102a of caller Directly it can not be communicated with the user terminal 102b of callee, then client can be arranged to via one or more relayings Communicated, these relaying can also by one or more of the other user in P2P communication systems end user's terminal 102d The client implementation of upper operation.The end user's terminal 102d relayed user needs not be the participant of calling(It is not required to The speech or video content of calling are consumed, and in fact can not be consumed due to encryption).Nevertheless, relayed End user's terminal 102d user will have agreed to such situation when he or she is signed in P2P communication systems, and he or Herself can benefit from reciprocal arrangement in other situations.
Communication system may also include the back-end server 104 for being coupled to internet 100, wherein each client can be deposited Respective contacts list is stored up, the contacts list is the contacts list of its relative users(Preferably, communication system by with It is set to so that user turns into mutual contact person according to common protocol).Back-end server 104 can also store letter for each user Shelves information, for example, describing the avatar image of relative users for other users into communication system.Each client can be visited Ask and show the profile of contact person, so that caller can see that the profile information of callee, and vice versa.
Communication system can also include being coupling in internet 100 and circuit-switched network(It is not shown)Between gateway 106.Such network is referred to alternatively as PSTN(Public switch telephone network), for example, landline network or mobile cellular net, such as 3GPP nets.Thus client on user terminal 102 can also be set up via gateway 106 exhales with more black phones Cry.
Fig. 2 illustrates the mixed P 2 P communication system of modifications according to embodiments of the invention.Fig. 1 some or all of portion Part also can still exist with Fig. 2 system in parallel, but some parts are omitted from Fig. 2 for brevity.Moreover, communication System include the VoIP suppliers of communications service providers-such as-NE 204, it, which has, is coupled to internet 100 And it is arranged to the form of one or more server units run Call- Control1 and notify software.Communication system also includes quilt It is coupled to internet 100, one or more sending out notice services based on operating system(OS PNS)202.It is one or Each of multiple sending out notice services 202 based on operating system is associated with respective operating system, and preferably by grasping The producer and/or publisher for making system provide to support via the available special sending out notice machine of the operating system discussed System.The sending out notice service 202 based on operating system takes the one or more clothes for being arranged to run sending out notice software The form of business device unit.
In Fig. 2 example system, illustrated unit 102,202,204 is configured to run as follows.In step S20, the client on the user terminal 102a of caller indirectly invites calling(CI)It is sent to the use of callee Client on the terminal 102b of family, but send it to the Call- Control1 and notification unit 204 of VoIP suppliers(Message CI is not It is certain to be equal to that message for being relevant to Fig. 1 descriptions).Invited in response to receiving the calling from caller, in step Call- Control1 and notification unit 204 the generation sending out notice request of S22, VoIP supplier(PNR), it asks the sending out notice It is sent to the sending out notice service 202 based on operating system.Please in response to receiving the sending out notice from VoIP suppliers 204 Ask, in step S24, OS sending out notice service 202 sends the sending out notice based on operating system(PN_OS)Arrive callee's Operating system on user terminal 102b.Sending out notice based on operating system is by the user terminal 102b of callee Operating system is received and handled so that it shows Pop-up message on the user terminal 102b of callee screen, to Callee user indicates the event for having entrance.
In an embodiment of the present invention, message can point out called about whether the calling for receiving to enter on screen Person.If the client application of callee is currently by backstage, message can be about whether callee's on screen Client application points out user from background state wake-up.In embodiment, these actions can be incorporated into same prompting. If as response, callee provides the user input of affirmative, then operating system is by being rescheduled to complete operation level Or be at least scheduled to its enough resource to manipulate the calling, and wake up the callee visitor in the terminal 102 of callee Apply at family end.
As discussed in more detail later, in embodiment, sending out notice PN_OS may include payload, and it causes Client on the user terminal 102b of callee can formulate the handshake information of return, and the message is passed through because of spy Net 100 signals back the client on the user terminal 102a of caller, it is preferable that be directly by internet 100, Rather than server or service unit 202 and 204 via any supplier.If callee receives from operating system User points out, then the operating system on the user terminal 102b of callee transmits the useful negative of at least part of sending out notice The response so that it can formulate the response of correlation, and is sent back to calling by lotus until the client application of callee Person.
Fig. 3 illustrates the mixed P 2 P communication system of another modification of according to embodiments of the invention.Fig. 1's and/or Fig. 2 Some or all of part also can still exist with Fig. 3 system in parallel, but some parts quilt from Fig. 3 for brevity Omit.
In Fig. 3 example system, shown unit 102,204 is configured to run as follows.In step S20, Client on the user terminal 102a of caller does not directly invite calling again(CI)The user for being sent to callee is whole The client on 102b is held, but sends it to the Call- Control1 and notification unit 204 of VoIP suppliers(Message CI is not necessarily It is equal to that message for being relevant to Fig. 1 or Fig. 2 descriptions).In embodiment, this can be be relevant to Fig. 2 description that The identical step of step, or in other embodiments, it can be replaced or additional, separated step.However, this Under situation, VoIP suppliers unit 204 is not sent(Or not only send)Sending out notice is asked(PNR)To the push of operating system Notify service 202.But, it directly formulates the application layer sending out notice of its own(PN_AL), it is the application layer sending out notice Client on the user terminal 102b of callee is sent directly to by internet 100.In the user terminal of callee Then client on 102b can handle the notice on the application layer, so that itself is by means of application layer mechanism, rather than Above-mentioned operating system mechanism, callee user is pointed out come the calling on entrance.
As discussed in more detail later, in embodiment, sending out notice PN_AL includes payload, and it causes Client on the user terminal 102b of callee can formulate the handshake information of return, and the message is passed through internet 100 signal back the client on the user terminal 102a of caller, it is preferable that be direct by internet 100, and It is not the server or service unit 202 and 204 via any supplier.In this case, if at the end of callee Hold the client on 102b or be in foreground state(It is not suppressed to be conducive to any other application), or be in special Background state and thus it is scheduled with the limited cycle, but be still enough the calling of processing entrance, then the visitor of callee Family end can be by listening to entering come automatic network 100 during the cycle for the client of callee is dispatched by operating system The communication entered, such as by being allocated terminal 102b used for the client of callee, callee network set Connect and listened on word, and directly access the payload of sending out notice.
It should be pointed out that two or more mechanism of Fig. 1,2 and 3 can exist parallel, and any or all this A little mechanism can signal calling to invite or notify.
In one application, at least callee's end points 102b includes having relatively limited resource(Processing, memory And/or source of screen)Mobile terminal, and the mobile terminal has such operating system, i.e.,:It is easy to corresponding client Apply backstage, to be conducive to another to apply, video-game such as under certain circumstances in end.
Fig. 4 provides calling party(Caller)Originate end user's terminal 102a and called party(Callee)'s Destination end user's terminal 102b schematic block diagram, they form two end points of calling(Or even in many ways can Two end points in conference call scene in larger number end points).
Originating user terminal 102a includes the communication customer end 402a of corresponding operating system 400a, VoIP communication system (And potential other application)With user interface 408a.VoIP client 402a is stored in origination terminal 102a memory On(In the form of tangible media as such as electronics or magnetic storage apparatus), and be arranged to origination terminal 102a's Performed in processing equipment.Client application 402a is also said to be on operating system 400a and run, because it is scheduled for Performed by operating system 400a.If with the presence of multiple applications and operation on terminal 102a, operating system will dispatch it To perform for example in an alternating fashion and/or in parallel process resource, so that each apply in operating system At least some of process resource is assigned under 400a control.When scheduled, client application 402a can connect via user Mouth 408a and user mutual, and can on network 100 be communicated via user terminal 102a transceiver apparatus.As for mesh Ground terminal 102b discuss in more detail, operating system can also hang up the execution of the such application of such as client application.
Destination user terminal 102b also includes the communication customer end of corresponding operating system 400b, VoIP communication system Other application and user interface 408b as 402b, such as email client 404 and video-game 406.Communication clients End 402b is stored in destination terminal 102b memory(With tangible media as such as electronics or magnetic storage apparatus Form), and be arranged to perform in destination terminal 102b processing equipment.VoIP client application 402b and it is other should It is said to be on operating system 400b and is run with 404,406, because they is scheduled for by operating system for example with alternately Mode and/or performed in parallel process resource, so that each apply is divided under operating system 400b control It is equipped with least some of process resource.When scheduled, VoIP client 402b can be handed over via user interface 408b with user Mutually, and can on network 100 it be communicated via destination user terminal 102b transceiver apparatus.For the He of other application 404 406, when they are scheduled, situation is same.
As described above, operating system 400b can also have following ability, that is, hang up such as VoIP client 402b that The application of sample, or it is placed in some other background state, thus it to be only assigned to each unit interval very limited amount of Process resource amount.
In embodiment, the scheduling carried out by operating system 400b includes each application 402b, 404,406 to be placed in certain The ability of foreground state or background state.
Foreground state may include that wherein foreground application is main, the dominant application being currently running in current time State.The specific example of this respect is the application run under screen mode toggle, and by cost of other application, it is allocated wherein With whole source of screen.For example, video-game 406 can be given full frame or other dominant foreground states when running, because For user may need it is full frame come play game and/or game may consume a considerable amount of process resource so that can make limited Process resource or without process resource can be used for other application(Such as VoIP applications 402b and email client 204). This scene may especially occur on mobile terminal as such as hand held mobile phone, in the terminal compared with such as Desktop computer, resource is relatively limited.
Another example of foreground state may include none of which using having advantage relative to any other application The state of state, for example, terminal 102b user has the desktop opened, application is not maximized, and VoIP applications 402b Allowed there are enough process resources to be used for complete operation by operating system 400b, and be not inhibited to be conducive to such as video-game Any other application as 406.
However, when an application as such as video-game 406 is in the foreground state of dominance, it is one or more Other application 402b, 404 can be placed on background state by operating system 400b.VoIP client 402b can be specific to this Candidate.Alternatively or cumulatively, at other times, operating system 400b can be as such as VoIP client 402b Using background state is placed on, to save battery resource.
Under such background state, VoIP client 402b or it is suspended, it means that it is not by operating system 400b is dispatched with any process cycle, or is at most suppressed, make it that it is only scheduled compared with non-inhibited foreground state The limited cycle.In the state of being suppressed, client 402b may only have very limited amount of feature, and wherein it may not The calling that unilaterally processing enters is invited or notified, or calling invitation or logical may not be handled by using full resource Know, and full resource will be in other situations available under higher functional status.
Under the state of foreground, VoIP client 402b is fully able to listen to invitation or the notice of entrance, and it passes through in purpose Listened on ground user terminal 102b web socket 412 and accomplish this point.Web socket is the network address and quilt The combination of the transport layer port used for the such applications of such as VoIP client 402b is distributed, typically, IP sockets are IP Address and the combination of port numbers.For example, under the state of foreground, VoIP client 402b is possible can be directly from origination terminal 102a Conventional P2P callings are received to invite(CI), and the invitation is handled therewith, to receive calling, and/or it may can receive and locate Manage the application layer sending out notice from VoIP suppliers 204(PN_AL).
In embodiment, under background state, VoIP client 402b is without the scheduled cycle, and it is necessarily dependent upon Sending out notice service 202 based on operating system, or with the too limited cycle so that cannot rely upon except based on operation Anything outside the sending out notice service of system.In this case, the sending out notice based on operating system(OS_PN)Quilt Operating system 400b is received, and the operating system is shown in onscreen cue on the terminal 102b of destination as response.The prompting Notify callee:There is communication event request to note, and it is to exit screen mode toggle to point out user's selection, or conversely make it possible to call out Awake one or more dominant applications.The form of onscreen cue can be dominated by operating system 400b, alternatively with can With the several parameters being prescribed in sending out notice.In certain embodiments, what prompting can be informed the user is only to have not Specify(unspecified)The fact that communication event, and generally ask whether from full frame or holding state morning call. In other embodiments, point out to may include that some permission users make the additional information of valid decision, for example, on communication thing Part is the instruction of the calling entered, and/or the observable information of user on the identity of caller(For example, display name).This The additional information of sample can be exported from the payload of the sending out notice received.
If moreover, the event that user's receiving enters, suitable between operating system 400b and VoIP client 402b When API 410 can transmit derived from sending out notice payload some information until the application 402b waken up so that in mesh Ground terminal 102b on VoIP client 402b can formulate response, and return the response to origination terminal 102a.This Payload information may include machine readable identifier information, the user name of caller identification such as in communication system, and/ Or in network 100 the terminal 102a of caller identification address.
In an alternate embodiment, there may be the background state for having VoIP client 402b, thus the VoIP client 402b is dispatched with the limited cycle by operating system 400b, but is still enough cycles at least to listen on socket 412 Application layer sending out notice, and at least some of processing is performed to the notice received, even potentially to formulate receiving response, And origination terminal is returned the response to before wake-up(But be still required for waking up, called so as to actual, i.e. once Enter and outgoing speech and/or video flowing start just to handle them).
By using the sending out notice service based on operating system, the notice is sent to operating system 400b, and at least Handled at the beginning by operating system(Although operating system 400b then transmits at least some of payload until applying 402b).This Notified different from application layer, wherein operating system 400b gives application 402b to dispatch at least some cycles, these cycles are enough to allow it Sending out notice is listened on related socket, and at least some of processing is performed to the notice received, and not against operation System 400b any special sending out notice mechanism.
Fig. 5 is provided according to an exemplary realization of the present invention, the Call- Control1 of VoIP suppliers and notification unit 204 Schematic block diagram.NE 204 includes:Call controller 502, the missed call for being coupled to call controller 502 are posted Storage 504, it is coupled to call controller 502 and the sending out notice service based on operating system(OS PNS)202 push is led to Know center(hub)506th, the end points pushed is enabled(PEE)Register 508, the parser function for being coupled to call controller 510 510 and for caller's client 402a on originating user terminal 102a being coupled to the connection of call controller 502 Adapter 512.Each in unit 502,504,506,508,510,512 can be implemented as the module of software, these softwares It is stored on the memory of one or more server units of VoIP suppliers 204(With such as magnetic or electronic storage device The form of such tangible media), and be arranged to transport on one or more server units of VoIP suppliers 204 OK.One or more of server units include the processing equipment for being arranged to perform software, and are arranged in internet The transceiver apparatus of related communication is performed on 100 or other such packet-based networks.
Destination user terminal 102b can be registered as enabling the end points pushed(PEE), and in destination terminal 102b On callee's client 402b can be arranged to receive from sending out notice center 506 via IP sockets 412 One or more application layer sending out notice(PN_AL), and/or operating system 400b can be arranged to receive from based on behaviour Make service 202, the one or more sending out notice based on operating system of system(PN_OS).In the case of the latter, in mesh Ground terminal 102b on callee's client 402b can be arranged to can via API 410 receive come from based on operation system The sending out notice of system(PN_OS)One or more of payload information.
Operationally, the VoIP client 402a of the caller on origination terminal 102a passes through via the He of internet 100 Connection adapter 512 forms the connection with call controller 502 and started.The connection can provide recognizable connection, so that By call controller 502 by be connected the given connection of adapter 512 from any of caller's client 402a receptions Communication is identified as being derived from specific known source.Connecting adapter 512 can be with the identity of authenticated calling person, to cause by with connecting Any communication for connecing the connection of adapter 512 and being received is identified as being derived from the source that its identity has been securely authenticated.
In step S12, call the version invited and peer to peer connection is used from client by network 100 as peer message End 402a is sent to client 402b.The calling sent as peer message is invited and described by using above relative to Fig. 1 Technology be routed to client 402b from client 402a.In order to receive in step S12 by using reciprocity pass through mechanism quilt The calling of transmission is invited, and client 402b must be at callee's terminal 102b in front stage operation.
In embodiment, connection adapter 512 provides front end component, and the front end component is by using appropriate authentication mechanism (It can be privately owned)Come Authentication Client, and the also connection of termination client.Connect adapter 512 and then can be for The remainder of service, especially for call controller, is used as the authoritative source of client identity(Referring to being relevant to below Fig. 5 discussion).Therefore, in embodiment, the identity of caller need not be provided by caller oneself in payload, this It is beneficial, because if not identity can be forged, and will will be thus fly-by-night.
In step S20 and/or step S30(Corresponding to those steps shown by Fig. 2 and Fig. 3), in the user of caller Client 402a on terminal 102a uses the connection via connection adapter 512 that calling is invited(CI)Another version hair It is sent to the call controller 502 of VoIP suppliers 204.
It can be seen that, two versions that calling is invited concurrently are sent out from client 402a by different pass through mechanism Send.Under this meaning, calling is invited scatters from client 402a.
In order to set up calling, it is necessary to exchange two message of Handshake Protocol, they form the two halves shaken hands --- and first From an end points to another end points, then the second handshake information agrees to the calling as reply.In embodiment, from calling The calling that person's client 402a is sent, which is invited, includes the first handshake information HS1.
In embodiment, HS1 can be P2P session establishment message.In this case, it, which is included, makes the reception of the message Person can continue to consult with sender the enough information of P2P transmission sessions(Such as, it can be used for being called).It can be included One or more IP address that caller can be contacted to by it, and potentially include some other information.This message is used As allowing the invitation of P2P session establishments.Once certification and encryption session is established, call signaling can just pass through the session Flowing.
Trunk information and user name are some things point opened with HS1, and those can work as while traveling that HS1 can not With or used in fallback mechanism when expiring.It should be mentioned, however, that being arranged the invention is not restricted to P2P or mixed P 2 P, at it In its embodiment, some or all of follow-up phase of session establishment can collect via as such as one or more servers Chinese style unit is carried out.
Invited in response to receiving the calling from caller's client 402a, call controller 506 and then formulation are internal Sending out notice asks PNR_i.
In embodiment, this is involved quotes parser function 510 to parse calling in step S50 call controllers 502 Person and/or his or her user terminal 102a identifier information-" user's parsing " information(UR).Resolver 510 safeguards user And/or the list of the related information of user terminal, call controller 502 can be according to the identified with being connected adapter 512 Connect to inquire about the list.
User parses(UR)Two classes can be classified as.The first kind is identifier information, and it will be used to allow callee Client 402b response when contact caller.This may include:
Identify caller's user name of the caller in VoIP communication systems;And/or
- caller it is originating user terminal 102b, its address is identified in network(Typically IP address);With
- alternatively, additional routing iinformation, such as using come contact caller any one or more relay marks Know, such as 102c.
Equations of The Second Kind UR information(It can be optional in embodiment)It is to allow callee to be made as to whether to answer The information of the valid decision of calling.This may include:
The display name of-caller(Different from user name);
The avatar image of-caller;And/or
- using come to the instruction of the language of the calling of callee's notice entrance, it, which extends to regulation, is used for screen The language template of the grammer of notification message, because notification message will appear at the terminal 102b of callee on screen.
In embodiment, language or language template can be resolved according to the identity of callee and/or caller.Calling The identity of person(For example, user name)Also calling will be included in invite(CI)In, and it can be used in this purposes with And identifying purpose.
In embodiment, parser function 510 may also include License Check function, and it safeguards the list of such user, I.e.:Callee has stopped that the user contacts him or she.License Check, which is played, stops that what is found in this comfortable list appoints The effect that the calling of what caller is invited, and for not only being blocked in caller the step of notice behind callee Under conditions of just carry out.
Assuming that this does not occur, then call controller 502, which is formulated, includes user's parsing information, HS1 message and in calling Invite(CI)The payload of any other relevant information of middle reception(It see below).In step S52, call controller 502 Then this payload is forwarded to sending out notice center 506 in the PNR_i of sending out notice request internally.
The additional information that can be included in payload is as follows.
- timestamp, it indicates the time for sending invitation.When overtime the attempt that this can be used to detect foundation calling is. For example, it was 50 seconds in one embodiment in the range of 30-60 seconds that the time limit for time-out, which can be,.Timestamp can be included In the calling sent from caller's client 402a is invited, then it is forwarded in payload, or do not have also in timestamp Have in the case of being included in from the invitation of the client 402a receptions of caller, generated by call controller 502.
The encryption key of-key exchange scheme, it is the public keys of caller(Exhaled so callee can decrypt The content for the person of crying).This can be included in the calling invitation sent from caller's client 402a, then the quilt in payload Forwarding, or alternatively, is stored in resolver 512, and called controller 502 add as user parse information another Example.
The instruction of-origin endpoint 102a type(For example, it be mobile phone, panel computer, laptop computer also It is desktop computerIt runs any operating system, and it runs VoIP client 402a what version, and/or what it is Model).Again, this can be included in the calling invitation sent from caller's client 402a, then in payload It is forwarded, or alternatively, is stored in resolver 512, and the addition of called controller 502 is used as a part for parsing.
- it is used for the call identifier of calling(For example, Session ID), it can callee client 402a or exhale Controller 502 is made to add.Again, this can be included in the calling invitation sent from caller's client 402a, Ran Hou It is forwarded in payload, or alternatively, is stored in resolver 512, and called controller 502 is added.
- it is used for the talk title and/or other talk identifiers of calling, it is the calling as part thereof of logic The instruction of topic or context, for example being formed in calling involves IM message and/or the group talked more extensively of previous calling In the case of part.This is obtained in preferably being invited from the calling of the client 402a from caller.
Sending out notice center 506 receives internal sending out notice request PNR_i.As response, in step S53, it, which is inquired about, makes The end points that can be pushed(PEE)Register 508, to check the whether registered reception sending out notice of callee.PEE registers 508 Safeguard registered reception sending out notice(Or equivalently, if receiving sending out notice and being default, registration is not released also and is received Sending out notice)User list.For example, this can be presented to him or she when user enables new phone 102b for the first time Option, or the option found in his or her terminal 102b option screen.Then, under such as the scene as shown in When attempting to be called like that, PEE registers 508 are taken action, only to agree to his or her equipment in callee 102b is possible to receive sending out notice(Or do not determine equivalently to exit)Under conditions of just license carry out sending out notice below Step.
Assuming that callee is registered for sending out notice, sending out notice center then completes one of following two pieces thing or two Person:
- outside sending out notice request PNR is sent to the sending out notice service 202 based on operating system(Corresponding to Fig. 2's Step S22), cause the sending out notice service 202 based on OS the sending out notice based on operating system in turn(PN_OS)Send Operating system 400b onto destination terminal 102b(Corresponding to the step S24 on Fig. 2);And/or
- formulate application layer sending out notice(PN_AL), and it is sent directly to the called on the terminal 102b of destination The client 402b of person(Corresponding to the step S32 on Fig. 3).
It can be seen that, call invite two versions from sending out notice center 506 by different pass through mechanism concurrently Sent.Under this meaning, calling is invited scatters from sending out notice center 506.Therefore, call controller 502 and push are logical Know that center 506 is handled to invite from the client 402a callings received in step S20, to generate multiple versions that calling is invited.
In addition, in step S53, sending out notice center can be the message of the end points quantity for indicating callee(NEP)Hair Return to call controller 502(Callee can make multiple equipment be registered in PEE registers 508).This can called controller The attendance report of the how many equipment from callee can be potentially expected using to track it(attendance report, AR)(Referring to step S56).
Sending out notice center 506 is taken action at least some of payload information received from call controller 502 It is included in sending out notice(Via OS PNS 202 in the case of the sending out notice PN_OS based on OS).In embodiment, have The type of sending out notice therein can be included according to it by sending out notice center 506 with the amount of information on load, is base Operating system is also based in application layer, to be selected.
In the case of the application layer sending out notice formulated by sending out notice center 506, this may include up to described above Whole amount any amount payload information, and include described whole amount or more.This may include the first of Handshake Protocol Handshake information HS1, and up to whole user's parsing information(UR)Any information, including the user name of caller, originating address, The display name of caller, the avatar image for caller(Or to the link of avatar image)With language indicator or template.This Individual payload information is provided to callee's client 402b in application layer sending out notice PN_AL.
If the client 402b on the terminal 102b of callee receives application layer sending out notice PN_AL, it Extract payload information, and the calling for notifying to enter to callee using this information.This may include to extract user's solution Analyse the readable part of the user of information, such as display name, avatar image(Or to the link of avatar image)And/or language template, And notification message on appropriate screen is generated using it.
For example, message can show avatar image on screen, and show for example with English form " you have an Incoming call from [display name] " or with French form " [display name] vous t é l é Phoner " the message write.The language and grammer of this message(That is, language format)Provided by language template.Grammatical norm Where include display name for example in sentence.
Further it is assumed that callee answers the calling, then the client 402b on the terminal 102b of callee by with It is set to and handshake information HS1 and the part user for contacting caller in response is extracted from the payload of sending out notice Information is parsed, calling is thus formulated and receives response(CA), and the response is signaled back on the terminal 102a of caller Originating client 402a.After HS1 is received, the client 402b of callee formulates calling and receives response CA, and it includes holding The half part of the answer of Handball Association's view, HS2 message.In step S58, the client 402b of callee and then according at least including exhaling Associated user's parsing information of the user name for the person of crying and/or the terminal 102a of caller address, this receiving response letter Number notify back the client 402a on origination terminal 102a.
Preferably, this is done by using payload information, it is not necessary to decide whether to answer in callee Any other signaling before the calling on network 100 is believed to retrieve the identifier of the terminal 102a for contacting caller Breath, or retrieval information is so as to his or she caller identification.For these purposes, it is not necessary to backward for such as unit 204 Or 202 any supplier or the extra guide of operator infrastructure(referral).Therefore, row is come and gone in call signaling The quantity of journey reduces, it means that for realizing that the time that calling receives can be reduced.
In embodiment, the client 402b of callee only can be in foreground in its time for being found in notice (f/g)Application layer sending out notice PN_AL is received in the case of state, because in this condition, it is enough with what is be scheduled Process cycle, and can listen to and be handled when application layer sending out notice PN_AL is detected on IP sockets 412 It.However, in some implementations, it is possible to which the client 402b of callee can be assigned to special background state, by Although this it is scheduled with suppressed treatment time amount, it still has enough cycles and can detected and according to application The PN_AL action of layer sending out notice.
In step S56, the client 402b of callee can also be attendance report(AR)Report back to call controller 502, indicate that it has received the calling.Call controller 502 can use this to track whether calling is answered, or in calling By whether it overtime before answering.
In the case of the sending out notice PN_OS based on operating system via the generation of service 202, this can include coming from The payload information content of reduction among potentially useful information on load discussed above.For example, this may include handshake information HS1, and the user of some selections parse information(UR’), the preferably at least user of the user name of caller and/or caller Terminal 102a address.Language or language template are still used as payload information.This payload information is in base The operating system 400b on the terminal 102b of destination is provided in the sending out notice PN_OS of operating system.
If the operating system 400b on the terminal 102b of callee receives the sending out notice PN_ based on operating system OL, then message to notify the calling of entrance to callee on its generation screen.Alternatively, this can be involved from payload letter Some limited parameters that breath is extracted are inserted on operating system 400b predefined screen in message format.For example, entering The operating system 400b that row is received can determine the display name and appropriate language of caller from the payload received Template is English template " you have an incoming call from [display name] " or French template " the fact that [display name] vous t é l é phoner ".However, the other side of message format can be by operating on screen System 400b is dominated, for example, its size, its " the look and feel " and any associated figure.
If for example, callee notice time just under full frame or other dominant state playing video game 406 or use some other applications, then operating system can cause small notification message phase as the corner of such as screen To being ejected at unnoticed position.
Message notifying callee will take anything to take action on the screen generated by the operating system 400b of callee, example Such as, if answer the call, or whether ignore the notice and continue play under game 406.
As described previously, VoIP client 406b in destination may be in backstage (b/ in the time of the notice of entrance G) state.If callee selects to receive the calling really when responding operating system prompting, operating system wakes up and exhaled The VoIP client 402b for the person of crying.This can involve the application for terminating previously just to be run in foreground(For example, game 406)It is complete Screen or other such advantage states.
Operating system 400b on the terminal 102b of callee also will be transmitted to less a certain amount of payload information Until new recovery(restore)VoIP client 402b, preferably the first handshake information HS1 and it is at least some of be used in sound User's parsing information of seasonable contact caller, i.e. caller's user name and/or origination terminal address.As callee VoIP When client 402b wakes up, it receives response CA therefore, it is possible to formulate the calling including returning to handshake information HS2, and this is rung The originating client 402a for answering addressing to return on the user terminal 102a of caller.
Preferably, the payload information that is received in sending out notice therefore still it is enough to formulate calling and receives response (CA), and do not need any other signaling on network 100 to retrieve use before callee decides whether to answer the calling It is used for the information to his or she caller identification in the terminal 102a of contact caller identifier information, or retrieval.Therefore, then Secondaryly, in call signaling round trip quantity, thus be for call receive time can reduce.
Again, in step S56, the client 402b of callee can also be attendance report(AR)Report back to calling control Device 502 processed, indicates that it has received calling.Call controller 502 can use this to track whether the calling is answered, or Calling is by whether it overtime before answering.
In step S60, as necessary, call controller 502 updates missed call(missed call)Register 504.Not Connect the information that call register 504 stores the relevant missed call for callee.If each version that calling is invited does not have One is answered(For example, in their timeout period), then missed call register 504 be updated, by the relevant calling Information Store be for callee missed call.Callee can send a query to NE 204, for retrieving For the information on missed call of the callee.If any one version that calling is invited is answered, prevent not connect Call register 504 is updated to the details of the calling being stored as missed call for callee, even if calling is invited Some versions it is not answered.So, if calling some versions invited, but not all version, it is not answered, then Missed call register 504 would not indicate calling and not connect.Calling the calling ID in each version invited and invitation ID presence makes Obtaining different versions can be associated with same calling and same calling invitation, so that missed call register 504 It can be updated correctly.
Missed call mark can be implemented on callee's terminal 102b, even if wherein client 402b is not operated in Foreground, missed call mark can also be shown to callee on terminal 102b.Missed call mark is indicated for called Person, its information be stored in the quantity of the missed call in missed call register 504.NE 204, which can be sent, to disappear Client 402b is ceased to update missed call mark.
In various embodiments, the sending out notice mechanism based on application layer and based on operating system exists parallel.Push logical Know that center can attempt both Notification Methods parallel.
Moreover, caller's client 402a on originating user terminal 102a still can be used to conventional P2P to call Invite(CI, step S10)Callee's client on the user terminal 102b of destination is sent directly to by internet 100 402b。
Different pass through mechanism goes for different situations.Therefore, calling is sent by a variety of pass through mechanism to invite Can be favourable.For example, when client 402b operates in foreground at terminal 102b, peer to peer connection is passed through in step S12 The calling sent is invited or invited in the step S32 callings sent by the sending out notice system based on application layer can be first First received by client 402b.However, when client 402b is in background state at terminal 102b, then it may not be through By peer to peer connection or calling is received via the sending out notice system based on application layer to invite.Therefore, in these cases, in step The calling that S24 is sent by sending out notice system based on operating system invite can be for the calling, will be by client First of 402b receptions(And it is probably unique)Calling is invited.It can therefore be appreciated that, sent out by a variety of pass through mechanism Each version for sending calling to invite is provided calls the quick of invitation and reliable transmission under various conditions.Network condition(For example, Current load on network 100)Different degrees of shadow can also be caused to the transmission that the calling on different pass through mechanism is invited Ring.
In certain embodiments, HS1 can be not included in the calling from callee and invite(CI)In(Step S20/ S30).Alternatively, the exchange may require callee and HS1 sent in the response for initial notification to caller, and It is required that then caller is answered with the second handshake information HS2, to set up reverse session.
As described above, network node(For example, caller's terminal 102a or controller network unit 204)Hair can be arranged to The multiple versions for sending calling to invite, for caller's client 402a and one or more callee's client 402b it Between set up calling.Each version that calling is invited is sent by a variety of different pass through mechanism, wherein calling multiple versions of invitation This each version includes one of the identifier of calling, and pass through mechanism and is included in the sending out notice pushed on channel(For example, In step S24 or S32).
Multiple versions that calling is invited can all be sent to one implemented on callee's terminal 102b Callee's client 402b.Alternatively, multiple versions that calling is invited can be sent to is exhaled in the different of callee The different callee's client 402b implemented on the person's of crying terminal 102b.For example, each version that calling is invited can be sent To the different callee's client 402b implemented on different callee's terminal 102b of callee.
When one of version that calling is invited is answered, or in predetermined time-out time(For example, 30 to 60 seconds)Afterwards, exhale Any of invitation is made not complete(outstanding)Version can be cancelled.In certain embodiments, when the version that calling is invited One of when being answered, the unfinished version that calling is invited may not be cancelled.In this case, if callee client End 402b has been received by some version of the calling invitation including specific invitation ID and responded therewith(For example, to Family notifies that calling is invited or set up in calling), and then callee's client 402b is received also including the specific invitation ID Calling invite another version, then callee's client 402b can by using invite ID come determine calling invite Some version is received.In that case, callee's client 402b may not necessarily take further action.Cause This, is not to cancel the unfinished version that calling is invited, but can allow to exhale when the version that calling is invited is answered The unfinished version of invitation is made to enter callee client 402b, wherein callee's client 402b uses invitation ID (Or in certain embodiments with calling ID)To determine:Because a version of calling invitation is via callee's client 402b is received, so need not take action in response to receiving the redaction that calling is invited.
Method described herein can be carried out by performing computer program product, the computer program product bag Include the code embodied in non-transient computer-readable media.
In embodiment, once the call signaling of the above is performed, it is possible to by as in routine P2P modes in quilt Certificate is exchanged between caller and caller and user authentication is carried out in mutual mode.Alternatively or cumulatively, when connection is suitable Orchestration is when forming the identity of the time verifying caller initially connected, and certification can intensively be performed by connection adapter. Certification is by exchanging certificate in the case of complete after signaling more than, it is noted that calling, which receives response CA, is not For the absolute last criterion successfully called, but submit to the interim receiving of certification(It is in most of feelings It is not mostly problem under shape, as long as communication is not malice).In other embodiments, certification can rely solely on suitable by connection The initial authentication for caller that orchestration is carried out.
In certain embodiments, two stages of certification can use during calling is set up.First, caller Invitation, is then sent to calling by client certification its own on connection adapter 512 by the transmission of the certification of foundation Controller 502.This is first time certification, and it is used in certification client on server 204.When the push comprising HS1 is logical When knowing arrival callee's client, this is for setting up be certified direct among clients(P2P)First of connection Step, and this is the occasion for occurring second of certification.First stage is centralized certification, and on the contrary, second stage is P2P recognizes Card.
It will be appreciated that the embodiment of the above is described as just example.
For example, although above content is described relative to the mixed P 2 P system for performing voip call, but this In disclosed technology may be used on other types of packet-based communication system.Therefore, in an alternate embodiment, it is being notified Afterwards, session establishment(Such as, it can be used for being called)One, some or all of other stage can alternatively pass through By centralized unit --- the one or more services of such as one or more suppliers or network operator of one or more networks Device --- and carry out.Embodiment for wherein using some P2P technologies, it should also be noted that under its broadest sense, art Language P2P is not necessarily limited to go the arrangement of centralization completely.For example in some instances, only media(That is, calling or other The content of session)Need directly to transmit between peers, and all other call signaling(Including address search and certification) Occur via central location.
Moreover, more than under occasion of the foundation server to describe any NE, it should be appreciated that this is not limited to single Server unit, or it is housed in the servers in same shell or positioned at same place.Pass through one or more lists Any logical network element that any unit in member is carried out can be used to implement the communication according to embodiments of the invention Supplier's function.And, although above content is that the communication of foundation internet is described, but the present invention can also be used In providing notices by other packet-based communication networks, and/or communication is informed by other packet-based communication networks.
After the disclosure herein is provided, those skilled in the art are apparent that other variants.The present invention is not by being retouched The embodiment limitation stated, and be limited only by the accompanying claims.

Claims (12)

1. a kind of network node (102a;204), be arranged to participate in by network (100) caller and callee it Between call establishment, the network node (102a;204) include:
Call controller (502), is configured as:
Calling is received from caller's client of the caller to invite;
Generation sending out notice request is invited based on the calling;
The sending out notice request is sent to sending out notice center;
The sending out notice center (506), is configured as:
Multiple versions that the calling is invited are sent to callee's client, in caller's client (402a) and in fact Applying and exhaled described in set up between callee's client (402b) in callee's terminal (102b) of the callee Cry;
The sending out notice request is received from the call controller;
Judge the whether registered reception sending out notice of the callee;
In response to determining the registered reception sending out notice of callee:
Sending out notice request is sent to the sending out notice service based on operating system, to believe via the push based on operating system Road, using the sending out notice based on operating system, institute is sent to callee's client in callee's terminal State the first version that calling is invited;And
Via the push channel based on application layer, using application layer sending out notice, the quilt in callee's terminal Caller's client sends the second edition that the calling is invited.
2. network node (the 102a of claim 1;204), wherein, it is described calling invite multiple versions or:(i) all by The callee's client (402b) implemented on callee's terminal (102b) is sent to, or (ii) is sent To each the different callee's client (402b) of implementation in different callee's terminals (102b).
3. network node (the 102a of claim 1;204), wherein, the network node is additionally configured to:In predetermined time-out Between after, cancel it is described calling invite any unfinished version.
4. any one of claim 1-3 network node (102a), wherein, the network node is caller's client (402a) The caller's terminal (102a) being implemented on.
5. any one of claim 1-3 network node (204), wherein, the network node is controller network unit (204)。
6. the network node (204) of claim 5, wherein, the controller network unit (204) also includes:
Missed call register (504), is configured to store the information of the relevant missed call for callee, wherein, such as Each version neither one that really described calling is invited is answered, then the missed call register (504) is updated, will be relevant The information Store of the calling is the missed call for the callee.
7. the network node (204) of claim 6, wherein, the controller network unit (204) is further configured to send message To one or more of callee's clients (402b), to be connect to update in the user of callee's client (402b) The missed call mark exported in mouthful, the missed call mark indicates that for the callee, its information is stored in not Connect the quantity of the missed call in call register.
8. the network node (102a) of claim 7, wherein, if any one version that the calling is invited is answered, hinder Only the missed call register (504) is updated to be stored as the details of the calling to exhale for not connecing for the callee Cry.
9. the network node (204) of claim 1, wherein, each version that the calling is invited includes the calling and invited Identifier please.
10. one kind is used for the network node (102a in network (100);204) on by network caller and callee it Between set up the equipment of calling, including:
For receiving the unit that calling is invited from caller's client of the caller at call controller (502) place;
Unit for inviting generation sending out notice request based on the calling;
Unit for sending the sending out notice request from the call controller (502) to sending out notice center (506);
For sending multiple versions that the calling is invited from the sending out notice center (506) to callee's client, use In the called in caller's client (402a) with implementation in callee's terminal (102b) of the callee The unit of the calling is set up between person's client (402b), including:
Unit for receiving the sending out notice request from the call controller;
For judging the whether registered unit for receiving sending out notice of the callee;
For receiving the unit that sending out notice is proceeded as follows in response to determining that the callee is registered:
Sending out notice request is sent to the sending out notice service based on operating system, to believe via the push based on operating system Road, using the sending out notice based on operating system, institute is sent to callee's client in callee's terminal State the first version that calling is invited;And
Via the push channel based on application layer, using application layer sending out notice, the quilt in callee's terminal Caller's client sends the second edition that the calling is invited.
11. the method that one kind sets up calling between a caller and a callee by network (100), this method includes:
Calling is received at call controller (502) place from caller's client of the caller to invite;
Generation sending out notice request is invited based on the calling;
The sending out notice request is sent from the call controller (502) to sending out notice center (506);
From the sending out notice center (506) to callee's client send it is described calling invite multiple versions, for Caller's client (402a) is with implementing the callee visitor in callee's terminal (102b) of the callee The calling is set up between family end (402b), including:
The sending out notice request is received from the call controller;
Judge the whether registered reception sending out notice of the callee;
In response to determining the registered reception sending out notice of callee:
Sending out notice request is sent to the sending out notice service based on operating system, to believe via the push based on operating system Road, using the sending out notice based on operating system, institute is sent to callee's client in callee's terminal State the first version that calling is invited;And
Via the push channel based on application layer, using application layer sending out notice, the quilt in callee's terminal Caller's client sends the second edition that the calling is invited.
12. the method for claim 11, wherein, multiple versions that the calling is invited or:(i) implementation is all sent to exist Callee's client (402b) on one callee's terminal (102b), or (ii) are sent to implementation in difference Callee's terminal (102b) on each different callee's client (402b).
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
GB1210600.1 2012-06-14
GBGB1210600.1A GB201210600D0 (en) 2012-06-14 2012-06-14 Call invites
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 CN103338192A (en) 2013-10-02
CN103338192B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3343889B1 (en) * 2016-12-30 2019-11-13 Unify Patente GmbH & Co. KG Computer-implemented method for establishing a voip communication between a pbx system and a first terminal device in a communication network, private branch exchange system, and communication network

Citations (1)

* 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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101854369A (en) * 2009-04-01 2010-10-06 升东网络科技发展(上海)有限公司 Remote information notification system and method
US8295467B2 (en) * 2009-12-30 2012-10-23 Verizon Patent And Licensing Inc. System for and method of re-using public domain identifications
US8606306B2 (en) * 2010-04-07 2013-12-10 Apple Inc. Multiple client computing device invitations for online communication sessions

Patent Citations (1)

* 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

Also Published As

Publication number Publication date
CN103338192A (en) 2013-10-02

Similar Documents

Publication Publication Date Title
US9871930B2 (en) Call invites
US9654519B2 (en) Notification of communication events
EP2909970B1 (en) Notification of communication events
US10764107B2 (en) Session initiation method and device
CN102859962A (en) Establishing online communication sessions between client computing devices
CN103475499A (en) Voice intercom method and system based on internet teleconference
JP2008516519A (en) PT system service reservation method
EP2862343B1 (en) Notification of communication events
CN109586930A (en) Participant user adding method, first terminal, second terminal and processing server
WO2018036116A1 (en) Method for calling in telephone conference, media server, and terminal
CN102215216A (en) Transitioning between circuit switched calls and video calls
CN103401890B (en) Apparatus and method for the notice of communication event
CN1988546A (en) Method and system for obtaining conversation start protocol news transmission path
CN103338192B (en) Network node and method for setting up calling between a caller and a callee
US20070083661A1 (en) Session control method and terminal for PoC
CN108965772A (en) Video conference implementation method and server, computer readable storage medium
WO2009036689A1 (en) A message association method, user terminal and server
CN103327089B (en) Notification of communication event
TWI255116B (en) Integrated real-time message system with gateway function, and its implementation method
CN103338146B (en) The notice of communication event
CN104767754B (en) Equipment is calculated for online communication session registered client
KR20110041694A (en) Chatting providing method and system thereof
JP2008083860A (en) Electronic conference system, electronic conference management system, terminal device, and computer program

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