WO2014075250A1 - 网页实时通信通话转移方法及装置 - Google Patents

网页实时通信通话转移方法及装置 Download PDF

Info

Publication number
WO2014075250A1
WO2014075250A1 PCT/CN2012/084622 CN2012084622W WO2014075250A1 WO 2014075250 A1 WO2014075250 A1 WO 2014075250A1 CN 2012084622 W CN2012084622 W CN 2012084622W WO 2014075250 A1 WO2014075250 A1 WO 2014075250A1
Authority
WO
WIPO (PCT)
Prior art keywords
call
terminal
transferred
webrtc
remote terminal
Prior art date
Application number
PCT/CN2012/084622
Other languages
English (en)
French (fr)
Inventor
郜文美
范姝男
吕小强
王雅辉
井皓
Original Assignee
华为终端有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为终端有限公司 filed Critical 华为终端有限公司
Priority to EP12888390.7A priority Critical patent/EP2787696B1/en
Priority to CN201280005197.7A priority patent/CN103891246B/zh
Priority to PCT/CN2012/084622 priority patent/WO2014075250A1/zh
Publication of WO2014075250A1 publication Critical patent/WO2014075250A1/zh
Priority to US14/330,729 priority patent/US9749143B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1818Conference organisation arrangements, e.g. handling schedules, setting up parameters needed by nodes to attend a conference, booking network resources, notifying involved parties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1046Call controllers; Call servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits

Definitions

  • Embodiments of the present invention relate to the field of electronic communications, and in particular, to a webpage real-time communication WebRTC call transfer method and apparatus. Background technique
  • WebRTC Web real-time communication
  • IETF Internet Engineering Task Force
  • W3C World Wide Web Consortium
  • the existing WebRTC technology does not support the function of WebRTC call transfer, that is, the user cannot seamlessly transfer the ongoing WebRTC call on one terminal (such as a personal computer or a mobile phone) (ie, the call is not interrupted) to another terminal (such as a mobile phone or Personal computer).
  • Some browsers can seamlessly transfer content between web pages, pictures, novels, videos, text, phone numbers, etc. between two terminals of the same user.
  • the "Cloud Crossing" function of the daily browser can realize the "crossing" of the content between the PC (personal computer) and the mobile phone, such as web pages, pictures, novels, videos, texts, phone numbers, etc. : Log in to the same cloud account on both the PC and the mobile phone.
  • the web page information that needs to be transferred is first sent to the cloud account, then pushed to another terminal, and the other terminal receives the cloud account. After the web page information, the web page is automatically opened, thereby achieving a seamless transfer.
  • An embodiment of the present invention provides a webpage real-time communication WebRTC call transfer method, and a webpage real-time communication WebRTC call transfer apparatus, which can implement a WebRTC call transfer between terminals.
  • a method for transferring a WebRTC call includes:
  • the to-be-transferred call is a WebRTC call established between the source terminal and the remote terminal;
  • the identifier information of the remote terminal in the page information sent by the WebRTC server is used to establish a bearer with the remote terminal.
  • the call connection for the transfer call is mentioned, it also includes:
  • the first token is a token allocated by the browser server for the destination terminal to identify the destination terminal;
  • the identifier information of the remote terminal in the page information sent by the WebRTC server And establishing, by the remote terminal, a call connection for carrying the to-be-transferred call, including: Sending, by the WebRTC server, a call request message to the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server; receiving, by the WebRTC server, the remote terminal according to the remote terminal The response message returned by the call request establishes a call connection with the remote terminal for carrying the to-be-transferred call.
  • the receiving, A logo specifically including:
  • the receiving browser After receiving the indication sent by the source terminal to initiate the transfer of the to-be-transferred call, the receiving browser sends a first identifier for identifying the to-be-transferred call;
  • the source terminal and the browser account to be logged in by the destination terminal are the same, so that the source terminal learns, by the browser server, that the destination terminal is an optional terminal to be transferred, and the source terminal sends the
  • the indication for initiating the transfer of the to-be-transferred call includes: indicating that the destination terminal is the indication information of the terminal to be transferred.
  • a method for transferring a WebRTC call includes:
  • the first destination identifier receives, by the first destination identifier, a first request message for requesting page information corresponding to the to-be-transferred call, the first identifier is used to identify the to-be-transferred call, and the to-be-transferred call is a source terminal and a remote end.
  • the call connection of the call is implemented to transfer the to-be-transferred call from between the source terminal and the remote terminal to between the destination terminal and the remote terminal.
  • the method further includes:
  • the destination terminal Before the sending, by the destination terminal, the page information corresponding to the to-be-transferred call, receiving the verification information of the first token sent by the destination terminal; the first token is allocated by the browser server to the destination terminal. a token for identifying the destination terminal;
  • the second token is a token that is obtained by the source server from the browser server and is allocated by the browser server to the destination terminal for identifying the destination terminal;
  • the sending, by the destination terminal, the page information corresponding to the to-be-transferred call includes: if the verification information of the first token is verified to be that the first token is the same as the second token, The destination terminal sends the page information corresponding to the to-be-transferred call.
  • the receiving destination terminal sends, according to the first identifier, a page for requesting page information corresponding to the to-be-transferred call Before requesting a message, it also includes:
  • the identifier is sent to the destination terminal.
  • the sending, by the destination terminal, the to-be-transferred call also includes:
  • the method further includes:
  • the WebRTC server or the remote terminal releases a call connection between the remote terminal and the source terminal.
  • the method further includes:
  • the destination terminal Receiving, by the destination terminal, a call request message for calling the remote terminal;
  • the call request message includes a first session identifier corresponding to the destination terminal;
  • the remote terminal Receiving, by the remote terminal, a response message returned according to the changed call request; the response message includes the second session identifier;
  • a WebRTC call transfer apparatus includes:
  • the identifier receiving module is configured to receive a first identifier for identifying a call to be transferred; the to-be-transferred call is a WebRTC call established between the source terminal and the remote terminal;
  • a page requesting module configured to: according to the first identifier received by the identifier receiving module,
  • the WebRTC server sends a first request message for requesting page information corresponding to the to-be-transferred call
  • a call connection module configured to establish, according to the identifier information of the remote terminal in the page information sent by the WebRTC server, a call connection for carrying the to-be-transferred call with the remote terminal, to implement Transferring the call between the source terminal and the remote terminal to the destination terminal and the remote terminal;
  • the page information is the number sent by the WebRTC server according to the page requesting module A request message is sent.
  • the apparatus further includes: a first token receiving module, configured to establish, with the remote terminal, the bearer in the call connection module according to the identifier information of the remote terminal in the page information sent by the WebRTC server Before the call connection of the transfer call, the first token sent by the browser server is received; the first token is a token allocated by the browser server for the destination terminal to identify the destination terminal;
  • a verification sending module configured to establish, with the remote terminal, the to-be-transferred call with the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server Sending the verification information of the first token received by the first token receiving module to the WebRTC server, so that the WebRTC server verifies the verification information of the first token;
  • a page receiving module configured to establish, with the remote terminal, the to-be-transferred call with the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server Before the call is connected, the page information corresponding to the to-be-transferred call sent by the WebRTC server after the verification information of the first token is verified is received.
  • the call connection module includes:
  • a call requesting unit configured to send, by using the WebRTC server, a call request message to the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server; Transmitting, by the WebRTC server, according to the first request message sent by the page requesting module;
  • connection establishing unit configured to receive, by using the WebRTC server, a response message that is returned by the remote terminal according to the call request, and establish a call connection with the remote terminal for carrying the to-be-transferred call.
  • the identifier receiving module The first identifier for identifying the to-be-transferred call sent by the browser server after receiving the indication sent by the source terminal to initiate the transfer of the to-be-transferred call; the source terminal and the source terminal
  • the browser account to which the destination terminal is logged in is the same, so that the source terminal learns, by the browser server, that the destination terminal is an optional terminal to be transferred, and the source terminal sends the
  • the indication that the transfer call is transferred includes: indicating that the destination terminal is the indication information of the terminal to be transferred.
  • a WebRTC call transfer apparatus includes:
  • a page request receiving module configured to receive a first request message that is sent by the destination terminal, according to the first identifier, for requesting page information corresponding to the to-be-transferred call; the first identifier is used to identify the to-be-transferred call, and the to-be-transferred
  • the call is an established WebRTC call between the source terminal and the remote terminal;
  • a page sending module configured to send, according to the first request message received by the page request receiving module, page information corresponding to the to-be-transferred call to the destination terminal, so that the destination terminal is configured according to the page information
  • the identification information of the remote terminal is established with the remote terminal to establish a call connection for the call to be transferred, so as to implement the transfer of the to-be-transferred call from the source terminal to the remote terminal to the destination terminal Between the remote terminal and the remote terminal.
  • the apparatus further includes: a verification information receiving module and a verification execution module;
  • the verification information receiving module is configured to: before the sending the page information corresponding to the to-be-transferred call to the destination terminal, receive the verification information of the first token sent by the destination terminal;
  • the first token is a browser server a token allocated to the destination terminal for identifying the destination terminal;
  • a verification execution module configured to verify, according to the second token sent by the source terminal, verification information of the first token received by the verification information receiving module;
  • the second token is the source terminal a token that is obtained by the browser server and is used by the browser server to identify the destination terminal;
  • the page sending module is configured to: if the verification execution module verifies the verification information of the first token to obtain that the first token is the same as the second token, send the same to the destination terminal The page information corresponding to the to-be-transferred call.
  • the apparatus further includes:
  • the identifier request receiving module is configured to: after the page request receiving module receives the first request message for requesting the page information corresponding to the to-be-transferred call sent by the destination terminal according to the first identifier, a request for generating a first identifier;
  • An identifier sending module configured to send the first identifier generated by the generating request received by the identifier request receiving module to the source terminal, so that the source terminal sends the first identifier to a browser a server, so that the browser server sends the first identifier to the destination terminal.
  • the apparatus further includes:
  • a first call request processing module configured to: after the page sending module sends the page information corresponding to the first identifier to the destination terminal, receive a call request message that is sent by the destination terminal and used to call the remote terminal, where Sending the call request message to the remote terminal, and receiving the response message returned by the remote terminal according to the call request, and sending the response message to the destination terminal, so that the destination terminal establishes The call connection of the remote terminal.
  • the apparatus further includes: a second call request processing module And release indication module;
  • the second call request processing module includes: a first receiving unit, a first changing unit, a first sending unit, a second receiving unit, a second changing unit, and a second sending unit;
  • the first receiving unit is configured to: after the page sending module sends the page information corresponding to the to-be-transferred call to the destination terminal, receive the page sent by the destination terminal for calling the far a call request message of the terminal terminal; the call request message includes a first session identifier corresponding to the destination terminal;
  • the first change unit is configured to change the first session identifier in the call request message received by the first receiving unit to a second session identifier corresponding to the source terminal;
  • the first sending unit is configured to send the call request message that is changed by the first change unit to the remote terminal;
  • the second receiving unit is configured to receive a response message that is returned by the remote terminal according to the changed call request, where the response message includes the second session identifier;
  • the second change unit is configured to change the second session identifier in the response message to the first session identifier
  • the second sending unit is configured to send the changed response message to the destination terminal, so that the destination terminal establishes a call connection with the remote terminal;
  • the release indication module is configured to send, after the destination terminal establishes a call connection with the remote terminal, a release indication message for instructing the source terminal to release the to-be-transferred call.
  • the destination terminal may obtain the page information corresponding to the to-be-transferred call from the WebRTC server according to the identifier, and then according to the identification information of the remote terminal in the page information and the remote end.
  • the terminal establishes a call connection, so that the WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal, thereby realizing the transfer of the WebRTC call between the terminals.
  • FIG. 1 is a flowchart of a method for transferring a WebRTC call according to an embodiment of the present invention
  • FIG. 2 is a flowchart of another WebRTC call transfer method according to an embodiment of the present invention
  • FIG. 3 is a flowchart of another WebRTC call transfer method according to an embodiment of the present invention
  • FIG. 4 is another WebRTC call transfer according to an embodiment of the present invention
  • Method flow chart
  • FIG. 5 is a network architecture diagram of a WebRTC call transfer method application according to various embodiments of the present invention
  • FIG. 6 is a signaling interaction diagram of a WebRTC call transfer method according to an embodiment of the present invention
  • FIG. 7 is a signaling interaction diagram of another WebRTC call transfer method according to an embodiment of the present invention
  • FIG. 8 is a WebRTC according to an embodiment of the present invention
  • FIG. 9 is a schematic structural diagram of a WebRTC call transfer apparatus according to an embodiment of the present invention
  • FIG. 10 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention.
  • FIG. 12 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention. Specific form
  • FIG. 1 is a flowchart of a method for transferring a WebRTC call according to an embodiment of the present invention, as shown in FIG. 1 Show that the method includes:
  • Step 101 Receive a first identifier for identifying a call to be transferred; the to-be-transferred call is a established WebRTC call between the source terminal and the remote terminal.
  • the source terminal, the destination terminal, and the remote terminal are terminals that support the WebRTC technology; that is, the user can log in to the browser through the source terminal, the destination terminal, or the remote terminal to perform the WebRTC related service.
  • the application scenario of the embodiment of the present invention may be: the source terminal logs in to the browser account of the user A, and the source terminal and the remote terminal perform video or audio calls through the WebRTC technology; wherein the video or audio call through the WebRTC technology is the present invention.
  • the WebRTC call described in the embodiment; the WebRTC call transfer method provided by the embodiment of the present invention can transfer the ongoing call between the source terminal and the remote terminal to the destination terminal and the remote terminal without interrupting the call.
  • the call between the user, that is, the user A can transfer from the user who communicates with the remote terminal through the source terminal to the user who communicates with the remote terminal through the destination terminal.
  • the method provided by the embodiment of the present invention is a method performed by a destination terminal.
  • the destination terminal and the source terminal are both logged into the browser account of the same account.
  • the destination terminal can receive the first identifier sent by the browser server or other server.
  • the first identifier is an identifier for identifying a call to be transferred, and the to-be-transferred call is a WebRTC call between the source terminal and the remote terminal.
  • the first identifier may be generated by the WebRTC server according to the request of the source terminal.
  • the WebRTC server may send the first identifier to the browser server or other server through the source terminal, thereby causing the browser server or The other server sends the first identifier to the destination terminal.
  • Step 102 Send, according to the first identifier, a first request message for requesting page information corresponding to the to-be-transferred call to a webpage real-time communication server (hereinafter referred to as a WebRTC server).
  • a WebRTC server a webpage real-time communication server
  • the destination terminal After receiving the first identifier, the destination terminal requests the WebRTC server for the page information corresponding to the first identifier, that is, requests the webRTC server to the page information corresponding to the to-be-transferred call, where the page information is the page resource of the currently-sending call to be transferred.
  • the page resource can be packaged, for example. Includes: Uniform/universal resource locator (URL), User ID (user-id), Hypertext markup language (HTML) files, javascript files, or images. .
  • Step 103 Establish a call connection for carrying the to-be-transferred call with the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server, so as to implement the transfer between the source terminal and the remote terminal. Between the destination terminal and the remote terminal.
  • the destination terminal may call the remote terminal according to the identification information of the remote terminal in the page information, and establish a call connection with the remote terminal, where the call connection is used. Carrying the call to be transferred. After the call connection is successfully established and the connection between the source terminal and the remote terminal is released, the transfer of the WebRTC call is realized.
  • the destination terminal may obtain the page information corresponding to the to-be-transferred call from the WebRTC server according to the identifier, and then according to the identification information of the remote terminal in the page information and the remote terminal.
  • a call connection is established, so that the WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal, thereby realizing the transfer of the WebRTC call between the terminals.
  • FIG. 2 is a flowchart of another method for transferring a WebRTC call according to an embodiment of the present invention. On the basis of the embodiment shown in FIG. 1, as shown in FIG. 2, the method may include:
  • Step 201 Receive a first token sent by a browser server.
  • the first token is a token assigned by the browser server to the destination terminal for identifying the destination terminal.
  • the application scenario of the embodiment of the present invention is shown in the embodiment shown in FIG. 1.
  • the method provided by the embodiment of the present invention is a method performed by the destination terminal.
  • the destination terminal receives the first token sent by the browser server and allocated by the browser server for the destination terminal.
  • the one token is used to identify the destination terminal.
  • the browser server corresponding to the browser can assign a destination terminal to identify the identity. Token; where the browser server can assign a token to each terminal that logs into the browser.
  • Step 202 After receiving the indication sent by the source terminal for starting the to-be-transferred call to be transferred, the receiving browser server sends the first identifier that is used to identify the to-be-transferred call.
  • the destination terminal receives the first identifier sent by the browser according to the indication for identifying the to-be-transferred call.
  • the step 101 in the embodiment shown in FIG. 1 may specifically be step 202.
  • the source terminal may send an indication to the browser server to instruct the browser server to send the message to the destination terminal. Identifies the first identifier of the current call to be transferred.
  • the source terminal and the destination terminal log in to the same browser account, so that the source terminal can learn that the destination terminal is an optional terminal to be transferred through the browser server.
  • the source terminal can The result of the selection is sent to the browser server, and the browser server is specifically notified to: the source terminal sends an indication to the browser server to initiate the transfer of the to-be-transferred call, where the indication may include: indicating that the destination terminal is the terminal to be transferred Instructions.
  • the source terminal and the destination terminal can also log in to different browser accounts.
  • the browser server can notify the source terminal of the optional terminal to be transferred through the binding relationship between the source terminal and the destination terminal, or through the binding relationship of the browser account respectively logged in by the source terminal and the destination terminal.
  • step 201 may occur before step 202, or may occur after step 202.
  • Step 203 Send, according to the first identifier, a first request message for requesting page information corresponding to the to-be-transferred call to the WebRTC server.
  • step 102 of the embodiment shown in FIG. 1 For a review, see the description in step 102 of the embodiment shown in FIG.
  • Step 204 Send verification information of the first token to the WebRTC server, so that WebRTC The server verifies the verification information of the first token.
  • the WebRTC server needs to verify the identity of the destination terminal to verify whether the destination terminal is the terminal to be transferred specified by the source terminal.
  • the destination terminal transmits the verification information of the first token to the WebRTC server, and the WebRTC server verifies the destination terminal.
  • the verification information of the first token is information that uniquely identifies the first token, and the verification information may be, for example, a hash value of the first token or ciphertext information encrypted by the first token.
  • Step 205 Receive page information corresponding to the to-be-transferred call sent by the WebRTC server after the verification information of the first token is verified.
  • the destination terminal After the WebRTC server verifies the destination terminal, the destination terminal receives the page information corresponding to the to-be-transferred call sent by the WebRTC server.
  • Step 206 Send a call request message to the remote terminal through the WebRTC server according to the identifier information of the remote terminal in the page information sent by the WebRTC server.
  • the destination terminal sends a call request message to the remote terminal to the WebRTC server according to the identifier information of the remote terminal in the page information corresponding to the received call to be transferred, and the WebRTC server sends the processed call request message to the remote terminal or The call request message is directly forwarded to the remote terminal.
  • Step 207 Receive, by using a WebRTC server, a response message returned by the remote terminal according to the call request, and establish a call connection with the remote terminal for carrying the call to be transferred.
  • the destination terminal receives the response message returned by the remote terminal and forwarded by the WebRTC server, and establishes a call connection with the remote terminal, where the call connection is used to carry the to-be-transferred call.
  • the destination terminal may obtain the identifier of the to-be-transferred call from the browser server, and obtain the page information corresponding to the to-be-transferred call from the WebRTC server according to the identifier, and then according to the identification information of the remote terminal in the page information.
  • the remote terminal establishes a call connection, so that the WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal without interruption, thereby implementing seamless transfer of the WebRTC call between the terminals; And also through the WebRTC server to the verification process of the destination terminal, increasing the security of the call transfer process Sex, to ensure that the call can be transferred to the designated destination terminal.
  • FIG. 3 is a flowchart of another method for transferring a WebRTC call according to an embodiment of the present invention. As shown in FIG. 3, the method includes:
  • Step 301 The first request message sent by the receiving destination terminal according to the first identifier for requesting page information corresponding to the to-be-transferred call.
  • the method provided by the embodiment of the present invention is a method performed by a WebRTC server.
  • the destination terminal and the source terminal are both logged into the browser account of the same account.
  • the WebRTC server receives the first request message sent by the destination terminal according to the first identifier, and the first request message is used to request page information corresponding to the to-be-transferred call.
  • the first identifier is used to identify the to-be-transferred call, and the to-be-transferred call is a WebRTC call between the source terminal and the remote terminal.
  • Step 302 Send, to the destination terminal, page information corresponding to the to-be-transferred call, so that the destination terminal establishes a call connection for carrying the to-be-transferred call with the remote terminal according to the identifier information of the remote terminal in the page information, to implement The transfer call is transferred between the source terminal and the remote terminal to between the destination terminal and the remote terminal.
  • the WebRTC server After receiving the first request message sent by the destination terminal, the WebRTC server sends the page information corresponding to the current call to the destination terminal, and the destination terminal can establish a call connection with the remote terminal according to the identifier information of the remote terminal in the page information.
  • the call connection is used to carry the call to be transferred.
  • the WebRTC server sends the page information corresponding to the to-be-transferred call to the destination terminal according to the request of the destination terminal, so that the destination terminal establishes a call connection with the remote terminal according to the identification information of the remote terminal in the page information, so that The WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal, thereby implementing seamless transfer of the WebRTC call between the terminals.
  • FIG. 4 is a flowchart of another method for transferring a WebRTC call according to an embodiment of the present invention. On the basis of the embodiment shown in FIG. 3, as shown in FIG. 4, the method includes:
  • Step 401 Receive a request for generating a first identifier sent by the source terminal.
  • the application scenario of the embodiment of the present invention is shown in the embodiment shown in FIG. 1.
  • the method provided by the embodiment of the present invention is a method performed by the WebRTC server.
  • the source terminal requests the WebRTC server to generate the first identifier of the to-be-transferred WebRTC call.
  • the WebRTC server receives the generation request sent by the source terminal for generating the first identifier.
  • Step 402 Send the first identifier generated according to the generation request to the source terminal, so that the source terminal sends the first identifier to the browser server, so that the browser server sends the first identifier to the destination terminal.
  • the WebRTC server After generating the first identifier for identifying the to-be-transferred WebRTC call, the WebRTC server sends the first identifier to the source terminal, and the source terminal may send the first identifier to the browser server, so that the browser server may The first identifier is sent to the destination terminal.
  • Step 403 Receive the verification information of the first token sent by the destination terminal, and the first request message sent by the destination terminal according to the first identifier for requesting page information corresponding to the to-be-transferred call.
  • the WebRTC server receives the verification information and the first request message of the first token sent by the destination terminal.
  • the first token is a token used by the browser server to identify the destination terminal, and the destination terminal sends the authentication information of the first token to the WebRTC server when requesting the page information corresponding to the to-be-transferred call to the WebRTC server. So that the WebRTC server can authenticate the destination terminal.
  • Step 404 Receive a second token sent by the source terminal and obtained by the source terminal from the browser server.
  • the browser server After the browser server allocates a token for the destination terminal, browse according to the request of the source terminal.
  • the server sends a token identifying the destination terminal to the source terminal; then the WebRTC server receives the token of the destination terminal sent by the source terminal; in order to distinguish from the first token, the second token is used here.
  • the second token is a token that is obtained by the source terminal from the browser server and allocated by the browser server to the destination terminal for identifying the destination terminal.
  • the embodiment of the present invention does not limit the sequence of steps 403 and 404.
  • Step 405 Verify, according to the second token sent by the source terminal, the verification information of the first token sent by the destination terminal.
  • the WebRTC server verifies the verification information of the first token according to the second token.
  • the specific verification process is: The WebRTC server verifies whether the first token and the second token are the same. For example: when the verification information of the first token is a hash value of the first token, the WebRTC server calculates a hash value of the second token, and then compares the hash values of the first token to compare, if they are the same, The first token is the same as the second token, otherwise the first token is not the same as the second token.
  • the first token and the second token in the embodiment of the present invention are tokens generated by the browser server for identifying the destination terminal, and the difference is: the first token is sent by the browser server to The token of the destination terminal, where the second token is a token sent by the browser server to the source terminal for identifying the destination terminal. If the destination terminal is the destination terminal specified by the source terminal during the call transfer, the first token is the same as the second token; otherwise, the first token is different from the second token; when the first token and the second token are If not, it indicates that the current destination terminal is not specified by the source terminal.
  • the WebRTC server fails to authenticate the destination terminal, the call cannot be transferred to the destination terminal, thus ensuring the security of the call transfer.
  • Step 406 If the verification information of the first token is verified to be the same as the second token, the page information corresponding to the to-be-transferred call is sent to the destination terminal.
  • the WebRTC server After verifying the destination terminal, the WebRTC server sends the page information corresponding to the to-be-transferred call to the destination terminal according to the request of the destination terminal.
  • Step 407 Forward the call request message sent by the destination terminal to the remote terminal, and forward the response message sent by the remote terminal to the destination terminal, which may include: Step 407a: The WebRTC server receives a call request message sent by the destination terminal for calling the remote terminal.
  • the destination terminal may send a call request message for calling the remote terminal according to the identifier information of the remote terminal in the page information.
  • Step 407b The WebRTC server sends the call request message to the remote terminal.
  • Step 407c The WebRTC server receives a response message returned by the remote terminal according to the call request.
  • Step 407d The WebRTC server sends the response message to the destination terminal, so that the destination terminal establishes a call connection with the remote terminal.
  • Step 408 After the remote terminal establishes a call connection with the destination terminal, the WebRTC server or the remote terminal releases the call connection between the remote terminal and the source terminal.
  • the WebRTC server may instruct the source terminal to release the connection with the remote terminal, or the remote terminal may release the connection with the source terminal, and after the connection between the source terminal and the remote terminal is released, the WebRTC call is completed. Transfer.
  • the WebRTC server directly forwards the request or the response sent by the destination terminal or the remote terminal.
  • the implementation manner of the remote terminal supports the operation of the foregoing step 408, that is, the remote terminal can be released after the destination terminal establishes a connection. The connection to the source terminal.
  • the WebRTC server may process the request or response sent by the destination terminal or the remote terminal, and then send the request to the other party, which may be the following step 407', so that the remote terminal does not need to support the foregoing.
  • ⁇ ⁇ , steps 407 and 408 above may be replaced by the following step 407'.
  • Step 407' may specifically include the following steps:
  • Step 407'a the WebRTC server receives a call request message sent by the destination terminal for calling the remote terminal; the call request message includes a first session identifier corresponding to the destination terminal; Step 407'b, the WebRTC server will The first session identifier in the call request message is changed to a second session identifier corresponding to the source terminal; The WebRTC server changes the first session identifier to the second session identifier, so that the remote terminal considers the call request message to be an update message sent by the source terminal.
  • Step 407'c the WebRTC server sends the changed call request message to the remote terminal;
  • Step 407'd the WebRTC server receives the response message returned by the remote terminal according to the changed call request; the response message includes the second Session identifier
  • Step 407'e the WebRTC server changes the second session identifier in the response message to the first session identifier
  • the WebRTC server changes the second session identifier to the first session identifier, so that the destination terminal recognizes the response message;
  • Step 407'f the WebRTC server sends the changed response message to the destination terminal, so that the destination terminal establishes a call connection with the remote terminal;
  • Step 407'g after the destination terminal establishes a call connection with the remote terminal, the WebRTC server sends a release indication message for instructing the source terminal to release the to-be-transferred call to the source terminal.
  • the WebRTC server sends the page information corresponding to the to-be-transferred call to the destination terminal according to the request of the destination terminal, so that the destination terminal establishes a call connection with the remote terminal according to the identification information of the remote terminal in the page information, so that Between the source terminal and the remote terminal
  • FIG. 5 is a network architecture diagram of an application of a WebRTC call transfer method according to various embodiments of the present invention. As shown in FIG. 5, the network architecture includes a terminal 1-A, a terminal 2-A, a terminal-B, and a server.
  • Terminal 1-A and terminal 2-A are two terminals of user A, and terminal-B is a terminal of user B, wherein any one of the above terminals may be a mobile phone, a tablet computer, a notebook computer, or a super mobile personal computer (ultra-mobile) Personal computer, referred to as UMPC), netbook or palmtop Terminal equipment such as personal digital assistant (PDA).
  • the server side includes a browser server and a webpage real-time communication server (hereinafter referred to as a WebRTC server).
  • the terminal 1-A (or the terminal 2-A) and the terminal-B perform session negotiation through a channel (for example, a websocket channel) established through the WebRTC server, and after the session negotiation succeeds, the terminal 1-A (or the terminal 2-A) is established.
  • a media stream channel (which uses the RTP/RTCP protocol) between the terminal B and the terminal B for transmitting audio and video media streams.
  • the terminal includes a WebRTC page and a browser, and the WebRTC page is also called a WebRTC client.
  • the terminal 1-A includes a WebRTC-A page and a browser-A
  • the terminal 2-A includes a WebRTC-a page and a browser-a
  • the terminal-B includes a WebRTC-B page and a browser-B.
  • FIG. 6 is a signaling interaction diagram of a WebRTC call transfer method according to an embodiment of the present disclosure. Based on the embodiment shown in FIG. 1 to FIG. 4, as shown in FIG. 6, the method includes:
  • Step 601 User A logs in to the browser account on PC-A, opens the WebRTC page, logs in the WebRTC account, and establishes a WebRTC call with User B, that is, establishes a WebRTC call between PC-A and Terminal-B.
  • the method provided by the embodiments of the present invention can implement an ongoing WebRTC call to seamlessly switch between two terminals of the same user.
  • the two terminals of the same user may be any one or two types of mobile phones, tablets, laptops, UMPCs, netbooks, or PDAs, and the two terminals may be of the same type or different types; for example, the same
  • the user's two terminals can be mobile phone 1 and mobile phone 2, or a mobile phone and a PC (personal computer).
  • the two terminals of the same user are described by taking PC-A and mobile phone-A as an example, and the WebRTC call is transferred from the PC-A to the mobile phone-A as an example; wherein the WebRTC call can be a video call or an audio call.
  • the PC-A in the embodiment of the present invention is equivalent to the source terminal in each of the foregoing embodiments, and the mobile phone-A is equivalent to the destination terminal in each of the foregoing embodiments; the terminal-B is equivalent to the remote terminal in each of the foregoing embodiments.
  • Step 602 User A logs in to the browser account on the mobile phone-A.
  • Step 603 The browser server generates a token -a for the mobile phone -A.
  • the token is used to uniquely identify the mobile phone -A.
  • the corresponding token can be generated according to the device ID of the mobile phone -A.
  • the browser server can assign a corresponding token to each terminal that logs in to the browser account.
  • Step 604 The browser server returns the token -a to the mobile phone -A.
  • Step 605 The PC-A displays the terminal device list of the user A according to the request of the user A to transfer the WebRTC call, and the user A selects the terminal to be transferred, that is, the user A selects the destination terminal.
  • the user can initiate a request, for example, triggering a corresponding operation on the user interface of PC-A, for example, clicking "webrtc traversal" on the browser. Button.
  • the PC-A can acquire the request sent by the user A for transferring the call.
  • the browser server can maintain information about the terminal that is logged into the browser account. Therefore, after the user triggers the transfer request, the PC-A may request the browser server to list the terminal device of the browser account currently logged in to the user A, and then present the terminal device list to the user A, so that the user A can access the terminal. Select the terminal to be transferred in the list.
  • the list of terminal devices displayed by the PC-A includes the mobile phone -A, and the user A can choose to transfer the WebRTC call to the mobile phone -A.
  • Step 606 The browser -A requests the browser server to obtain the token of the mobile phone -A.
  • browser -A is a PC-A browser.
  • Browser-A requests the browser server to obtain the token of Mobile-A.
  • the browser server sends the token-a to the browser-A.
  • Step 609 The WebRTC-A page initiates a request to the WebRTC server to obtain a unique ID identifying the WebRTC call, and carries the token-a of the mobile phone-A in the request, and sends the token-a to WebRTC server.
  • the unique identifier is equivalent to the first identifier in the foregoing embodiments, and may be, for example, a Uniform Resource Identifier (URI).
  • URI Uniform Resource Identifier
  • Step 610 The WebRTC server generates a unique identifier of the WebRTC call, for example, step 611, the WebRTC server returns the generated URI to the WebRTC-A page.
  • Step 612 The WebRTC-A page sends the obtained URI to the browser -A.
  • steps 608-612 the browser interacts with the WebRTC page, and the WebRTC page interacts with the WebRTC server to obtain the URI.
  • the above steps 608-612 may be replaced by only interacting with the WebRTC server by the browser without passing through the WebRTC page.
  • steps 608-612 are replaced by: browser-A sends a request to the WebRTC server requesting to obtain a URI identifying the WebRTC call, and carrying the token-a in the request; the WebRTC server generates the URI of the WebRTC call, and then Return the generated URI to the browser -A.
  • Step 613 The browser-A initiates a process of transferring the URI, and sends the URI of the WebRTC call to the browser server.
  • Step 614 The browser server sends the URI to the browser -a of the mobile phone -A.
  • the browser server in the embodiment of the present invention has a push function. After the browser-A initiates the process of transferring the URI, the browser server can use the push server to push the URI to the browser -a.
  • Step 615 the browser-a sends the verification information of the URI and the token-a to the WebRTC server.
  • the verification information is, for example, a hash value (Hash-2).
  • the browser -a requests the WebRTC server for the page corresponding to the URI, and carries the verification information of the token -a in the request message.
  • the verification information of the token-a may be, for example, a hash value of the token -a.
  • Step 616 The WebRTC server verifies the hash value (Hash-2) of the token-a sent by the mobile phone-A. If the verification succeeds, the mobile phone-A is regarded as a legal device, and the process proceeds to step 617. , then it ends.
  • Hash-2 hash value
  • the specific verification process may be:
  • the WebRTC server calculates the hash value of the token-a sent by the WebRTC-A page in step 609, and obtains Hash-1, and then compares whether Hash-2 and Hash-1 are the same. The same, the verification passed.
  • the step of the WebRTC server calculating Hash-1 may be after step 609 and before step 616. When calculating Hash-2 and Hash-1, the same hash algorithm is used.
  • Step 617 The WebRTC server returns the page resource corresponding to the URI to the mobile phone -A.
  • This page resource is equivalent to the page information in the above embodiment.
  • the page resource may, for example, carry a Javascript code that automatically initiates a call to the terminal-B.
  • Step 618 The browser-a performs a WebRTC page presentation according to the received page resource, and executes a javascript script in the page resource for triggering step 619.
  • Step 619 The WebRTC-a page initiates a session to establish a call request to the terminal-B through the WebRTC server.
  • the presented WebRTC page automatically initiates a call request to the terminal-B according to the code inside the page (for example, Javascript code), wherein the code inside the page contains the identifier of the terminal-B, and the call request message can carry the session of the mobile phone-A.
  • code inside the page for example, Javascript code
  • the code inside the page contains the identifier of the terminal-B
  • the call request message can carry the session of the mobile phone-A.
  • Step 620 Terminal-B returns a session establishment response, and the response message carries a session description protocol reply (SDP answer).
  • SDP answer session description protocol reply
  • Step 621 The call connection between the mobile phone-A and the terminal-B is successfully established, and the call connection is established.
  • the WebRTC call to be transferred that is, the WebRTC call between the mobile phone-A and the terminal-B is established.
  • Step 622 The terminal -B releases a previous call, that is, releases the call with the PC-A. After the release is successful, the WebRTC call can be made between the mobile phone -A and the terminal -B, that is, the transfer of the WebRTC call is realized.
  • Terminal-B's WebRTC page maintains two WebRTC calls (one with PC-A and one with Cell-A). Therefore, the WebRTC page of Terminal-B needs to be enhanced to recognize the scene and automatically release the previous call (ie, the call with PC-A).
  • the WebRTC server dynamically generates a unique identifier for an ongoing WebRTC call, and pushes the unique identifier to the mobile phone-A through the browser server, and the WebRTC page on the mobile phone-A can be corresponding to the unique identifier.
  • the page resource automatically initiates a call to the terminal-B, which realizes that the WebRTC call seamlessly switches between different terminals of the user, and saves the process of the user logging in the WebRTC account on the mobile phone-A, thereby facilitating the user to use;
  • the validity of the WebRTC server to the mobile phone-A is verified by assigning a token to the mobile phone-A.
  • FIG. 7 is a signaling interaction diagram of another WebRTC call transfer method according to an embodiment of the present invention. Based on the embodiment shown in FIG. 1 to FIG. 4, the method and the embodiment shown in FIG. 6 are shown in FIG. The method differs only in steps 719 - 723, where steps 701 - 718 are the same as steps 601 - 618 in the embodiment of FIG. The steps different from the embodiment shown in Fig. 6 will be specifically described below.
  • the method includes:
  • Step 701- Step 718 Refer to the embodiment shown in FIG. 6 for details, and details are not described herein again.
  • Step 719 The WebRTC-a page sends a session setup call request for calling the terminal-B to the WebRTC server.
  • the rendered WebRTC page automatically initiates a call to Terminal-B based on the code inside the page.
  • the request where the code inside the page includes the identifier of the terminal-B, and the call request message may carry the session description protocol request (SDP Offer) of the mobile phone-A.
  • SDP Offer session description protocol request
  • Step 720 After receiving the request sent by the WebRTC-a page of the mobile phone-A, the WebRTC server replaces the session identifier (session-id) with the session identifier of the WebRTC call of the PC-A and the terminal-B, and then The replaced request message is forwarded to terminal-B.
  • session-id session identifier
  • the WebRTC server replaces the session identifier, which allows terminal-B to assume that this is an update request from PC-A. At this time, terminal-B does not know the existence of handset-A.
  • Step 721 Terminal-B returns a response message of the WebRTC session, and the response message carries a session description protocol reply (SDP answer).
  • SDP answer session description protocol reply
  • Step 722 The WebRTC server modifies the response message sent by the terminal-B, replaces the session identifier thereof with the WebRTC session identifier initiated by the mobile phone-A, and sends the response message to the mobile phone-A.
  • Step 723 The WebRTC call between the mobile phone-A and the terminal-B is successfully established.
  • Step 724 The WebRTC server sends an indication to the PC-A to release the session, to instruct the PC-A to release the current WebRTC call with the terminal-B.
  • FIG. 8 is a schematic diagram of hardware of a WebRTC call transfer apparatus according to an embodiment of the present invention.
  • the WebRTC call transfer device may be a terminal device or a WebRTC server, and the terminal device may be a mobile phone, a tablet computer, a notebook computer, a UMPC, a netbook, or a PDA.
  • the terminal device uses a mobile phone as an example for description.
  • the mobile phone provided by the embodiment of the present invention is the destination terminal in the foregoing embodiments.
  • the mobile phone and the WebRTC server provided by the embodiment of the present invention are used to implement the foregoing method shown in FIG. 1 to FIG. 7.
  • FIG. 1-7 For convenience of description, only the For the related parts of the embodiments of the present invention, the specific technical details are not disclosed. Please refer to the embodiments shown in FIG. 1-7.
  • the mobile phone 810 includes a processor 812, a transceiver module 813, a memory 814, and an input.
  • the device 815 and the display device 816; the WebRTC server 820 includes a processor 822, a memory 824, and a transceiver module 823.
  • the processor 812 of the mobile phone 810 is the control center of the mobile phone 810
  • the processor 822 of the WebRTC server 820 is the control center of the WebRTC server.
  • the processor 812 and the processor 822 are respectively stored or executed in the memory 814 and the memory 824.
  • Software programs and/or modules, as well as recalling data stored in memory 814, memory 824, perform various functions and processing data of handset 810 or WebRTC server 820 to transfer WebRTC calls.
  • the processor 812 may include one or more processing units.
  • the processor 812 may integrate an application processor and a modem processor, where the application processor mainly processes an operating system, a user interface, an application, and the like.
  • the modem processor primarily handles wireless communications. It will be appreciated that the above described modem processor may also not be integrated into the processor 812.
  • the transceiver module 813 and the transceiver module 823 can be used for receiving and transmitting signals during the transmission and reception of information or during a call.
  • the downlink information of the base station is received, and then processed by the processor 812; in addition, the uplink data is sent.
  • the transceiver module can be a radio frequency (RF) circuit, including but not limited to an antenna, at least one amplifier, a transceiver, a coupler, an LNA (Low Noise Amplifier), a duplexer, and the like.
  • RF radio frequency
  • the transceiver module 813 and the transceiver module 823 can also communicate with the network and other devices through wireless communication.
  • the wireless communication may use any communication standard or protocol, including but not limited to GSM (global system of mobile communication), GPRS (general packet radio service), CDMA (General Packet Radio Service) Code division multiple access, WCDMA (wideband code division multiple access), LTE (long term evolution, long term evolution), electronic by beta, SMS (short messaging service, short message service) )Wait.
  • GSM global system of mobile communication
  • GPRS general packet radio service
  • CDMA General Packet Radio Service Code division multiple access
  • WCDMA wideband code division multiple access
  • LTE long term evolution, long term evolution
  • electronic by beta beta
  • SMS short messaging service, short message service
  • the memory 814 and the memory 824 can be used to store software programs and modules.
  • the processor 812 and the processor 822 respectively execute software programs and modules stored in the memory 814 and the memory 824. Blocks, thereby performing various functional applications and data processing of the handset 810 or WebRTC server 820.
  • the memory 814 and the memory 824 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; The area may store data (such as audio data, phone book, etc.) created according to the use of the mobile phone 810 or the WebRTC server 820.
  • memory 814, memory 824 can include high speed random access memory, and can also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • Input device 815 can be used to receive input numeric or character information, as well as generate key signal inputs related to user settings and function controls of handset 810.
  • input device 815 can include a touch panel as well as other input devices.
  • a touch panel also referred to as a touch screen, collects touch operations on or near the user (eg, the user operates on a touch panel or near a touch panel with any suitable object or accessory, such as a finger or a stylus).
  • the corresponding connecting device is driven according to a preset program.
  • the touch panel may include two parts: a touch detection device and a touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information Give the processor and receive commands from the processor and execute them.
  • touch panels can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the input device 815 can also include other input devices.
  • other input devices may include, but are not limited to, one or more of a physical keyboard, function keys (such as volume control buttons, switch buttons, etc.), trackballs, mice, joysticks, and the like.
  • Display device 816 can be used to display information entered by the user or information provided to the user as well as various menus of handset 810.
  • the display device 816 can include a display panel.
  • the display panel can be configured in the form of an LCD (liquid crystal display), an OLED (organic light-emitting diode), or the like.
  • the touch panel can cover the display panel, and when the touch panel detects a touch operation on or near the touch panel, it is transmitted to the processor 812. To determine the type of touch event, processor 812 then provides a corresponding visual output on the display panel based on the type of touch event.
  • the processor 812 of the mobile phone 810 is configured to receive, by the transceiver module 813, a first identifier sent by the browser server for identifying a call to be transferred, and store the first identifier in the memory 814;
  • the processor 812 sends, according to the first identifier, a first request message for requesting page information corresponding to the to-be-transferred call to the WebRTC server by using the transceiver module 813; the processor 812 is further configured according to the page sent by the WebRTC server.
  • the identification information of the remote terminal in the information is used to establish a call connection with the remote terminal for carrying the to-be-transferred call, so that the to-be-transferred call is transferred from the source terminal and the remote terminal to the mobile phone 810 and Between the remote terminals.
  • the processor 812 of the mobile phone 810 is further configured to receive, by the transceiver module 813, the first command sent by the browser server before establishing a call connection with the remote terminal according to the page information sent by the WebRTC server.
  • a card the first token is stored in the memory 814, and the verification information of the first token is sent to the WebRTC server by the transceiver module 813, so that the WebRTC server verifies the first token.
  • the receiving, by the transceiver 812, the first identifier that is sent by the browser server and used to identify the to-be-transferred call may be: the browser server receives the call sent by the source terminal to start the to-be-transferred call.
  • the processor 812 receives, by the transceiver module 813, a first identifier sent by the browser server for identifying the to-be-transferred call.
  • the browser account of the source terminal and the destination terminal may be the same, so that the source terminal can learn that the destination terminal is an optional terminal to be transferred through the browser server, and the source terminal sends a call for starting the transfer to be transferred.
  • the indication includes: indicating that the destination terminal is the indication information of the terminal to be transferred.
  • the processor 822 of the WebRTC server 820 is configured to receive, by the transceiver module 823, a first request message that is sent by the mobile phone 810 according to the first identifier for requesting page information corresponding to the to-be-transferred call;
  • the module 823 sends the page information corresponding to the to-be-transferred call to the mobile phone 810, so that the mobile phone 810 establishes a call connection with the remote terminal for carrying the call to be transferred according to the identification information of the remote terminal in the page information.
  • the processor 822 is specifically configured to: receive, by the transceiver module 823, verification information of the first token sent by the mobile phone 810, and the mobile phone 810, according to the first identifier, for requesting the to-be-transferred call.
  • the first request message of the page information is stored in the memory 824;
  • the second token sent by the source terminal is received by the transceiver module 823, and stored in the memory 824, according to the second token.
  • verifying the verification information of the first token sent by the mobile phone 810 if the verification information of the first token is verified to be that the first token is the same as the second token, then sending and receiving
  • the module 823 sends the page information corresponding to the to-be-transferred call to the mobile phone 810.
  • FIG. 9 is a schematic structural diagram of a WebRTC call transfer apparatus according to an embodiment of the present invention.
  • the WebRTC call transfer apparatus may be a terminal device. As shown in FIG. 9, the WebRTC call transfer apparatus 900 includes:
  • One or more programs wherein the one or more programs are stored in memory 904 and configured to be executed by the one or more processors 902, the one or more programs comprising:
  • the to-be-transferred call is an established WebRTC call between the source terminal and the remote terminal;
  • the one or more programs may further include: establishing, according to the identification information of the remote terminal in the page information sent by the webpage real-time communication server, with the remote terminal for carrying Before the call of the call to be transferred is connected,
  • the first token is a token allocated by the browser server for the destination terminal to identify the destination terminal;
  • an instruction for establishing a call connection for the to-be-transferred call is established with the remote terminal, specifically Can include:
  • the receiving browser server after receiving the instruction sent by the source terminal to initiate the transfer of the to-be-transferred call, sending the An instruction for identifying the first identifier of the to-be-transferred call; the source terminal and the browser account that the destination terminal log in are the same, so that the source terminal learns that the destination terminal is available through the browser server.
  • the selected terminal to be transferred, the indication that is sent by the source terminal to initiate the transfer of the to-be-transferred call includes: indicating that the destination terminal is the indication information of the terminal to be transferred.
  • the terminal device as the destination terminal may obtain the identifier of the to-be-transferred call from the browser server, and obtain the page information corresponding to the to-be-transferred call from the WebRTC server according to the identifier, and establish the page information with the remote terminal according to the page information.
  • the call connection enables the WebRTC call between the source terminal and the remote terminal to be transferred between the source terminal and the remote terminal without interruption, thereby realizing the seamless transfer of the WebRTC call between the terminals; and also passing the WebRTC
  • the verification process of the server to the destination terminal increases the security of the call transfer process to ensure that the call can be transferred to the designated destination terminal.
  • FIG. 10 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention.
  • the WebRTC call transfer apparatus may be a WebRTC server.
  • the WebRTC call transfer apparatus 1000 includes:
  • One or more processors 1002 are One or more processors 1002;
  • One or more programs wherein the one or more programs are stored in memory 1004 and configured to be executed by the one or more processors 1002, the one or more programs comprising:
  • the first request message is used to identify the to-be-transferred call, and the to-be-transferred call is an established WebRTC call between the source terminal and the remote terminal;
  • the call connection of the call is to implement an instruction between the source terminal and the remote terminal to transfer between the source terminal and the remote terminal.
  • the one or more programs may further include:
  • the destination terminal Receiving, by the destination terminal, the information of the verification information of the first token sent by the destination terminal before sending the page information corresponding to the to-be-transferred call;
  • the first token being the browser server being the destination terminal The assigned token for identifying the destination terminal;
  • the instruction to send the page information corresponding to the to-be-transferred call to the destination terminal specifically includes: if the verification information of the first token is verified, the first token and the second If the tokens are the same, the instruction of the page information corresponding to the to-be-transferred call is sent to the destination terminal.
  • the one or more programs may further include: receiving, by the first destination, the first request message sent by the destination terminal for requesting the page information corresponding to the to-be-transferred call, and the generating of the source terminal And the first identifier generated by the generating request is sent to the source terminal, so that the source terminal sends the first identifier to a browser server, to An instruction to cause the browser server to send the first identifier to the destination terminal.
  • the one or more programs may further include: sending the waiting to the destination terminal After transferring the page information corresponding to the call,
  • the one or more programs may further include:
  • the remote terminal After the remote terminal establishes a call connection with the destination terminal, releasing an instruction of a call connection between the remote terminal and the source terminal.
  • the one or more programs may further include: after sending the page information corresponding to the to-be-transferred call to the destination terminal,
  • the destination terminal Receiving, by the destination terminal, an instruction for calling a call request message of the remote terminal;
  • the call request message includes a first session identifier corresponding to the destination terminal;
  • the response message includes the second session identifier
  • an instruction for instructing the source terminal to release the release indication message of the to-be-transferred call is sent to the source terminal.
  • the WebRTC server sends the page information corresponding to the to-be-transferred call to the destination terminal according to the request of the destination terminal, so that the destination terminal according to the page information and the remote terminal Establishing a call connection, so that the WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal without interruption, thereby realizing the seamless transfer of the WebRTC call between the terminals; and the WebRTC server
  • the destination terminal can also be verified, and the security of the call transfer process is increased to ensure that the call can be transferred to the designated destination terminal.
  • FIG. 11 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention.
  • the WebRTC call transfer apparatus may be a terminal device.
  • the WebRTC call transfer apparatus 1100 includes: an identifier receiving module 1101. The module 1103 and the call connection module 1105 are requested.
  • the identifier receiving module 1101 is configured to receive a first identifier for identifying a to-be-transferred call, where the to-be-transferred call is an established WebRTC call between the source terminal and the remote terminal.
  • the page requesting module 1103 is configured to send, according to the first identifier received by the identifier receiving module 1101, a first request message for requesting page information corresponding to the to-be-transferred call to the WebRTC server.
  • the call connection module 1105 is configured to establish, according to the identifier information of the remote terminal in the page information sent by the WebRTC server, a call connection for carrying the to-be-transferred call with the remote terminal, to implement
  • the to-be-transferred call is transferred between the source terminal and the remote terminal to the destination terminal and the remote terminal; the page information is the number that is sent by the WebRTC server according to the page requesting module 1103.
  • a request message is sent.
  • the WebRTC call transfer apparatus 1100 may further include: a first token receiving module 1107, a verification sending module 1109, and a page receiving module 1112.
  • the first token receiving module 1107 is configured to establish, in the call connection module 1105, the identifier information of the remote terminal in the page information sent by the WebRTC server, and the remote terminal Before the call connection of the transfer call, the first token sent by the browser server is received; the first token is a token allocated by the browser server for the destination terminal to identify the destination terminal.
  • the verification sending module 1109 is configured to serve according to the WebRTC at the call connection module 1105.
  • the first token receiving module is sent to the WebRTC server before the remote terminal establishes a call connection for carrying the to-be-transferred call, and the identifier information of the remote terminal in the page information sent by the device is sent. 1107.
  • the verification information of the first token is received, so that the WebRTC server verifies the verification information of the first token.
  • the page receiving module 1112 is configured to establish, by the call connection module 1105, the identifier information of the remote terminal in the page information sent by the WebRTC server, and the remote terminal to establish the to-be-transferred call. Before the call is connected, receiving a page corresponding to the to-be-transferred call sent by the WebRTC server after verifying that the verification information of the first token is passed
  • the call connection module 1105 may specifically include: a call request unit 1151 and a connection establishment unit 1153.
  • the call requesting unit 1151 is configured to send, by using the WebRTC server, a call request message to the remote terminal according to the identifier information of the remote terminal in the page information sent by the WebRTC server;
  • the WebRTC server is sent according to the first request message sent by the page requesting module 1103.
  • the connection establishing unit 1153 is configured to receive, by using the WebRTC server, a call connection that is sent by the remote terminal according to the call request, and establish a call connection with the remote terminal for carrying the to-be-transferred call.
  • the identifier receiving module 1101 is configured to receive, after receiving the indication sent by the source terminal to initiate the transfer of the to-be-transferred call, the identifier sent by the browser server to identify the to-be-transferred call. First identification.
  • the source terminal and the browser account to be logged in by the destination terminal are the same, so that the source terminal learns, by the browser server, that the destination terminal is an optional terminal to be transferred, and the source terminal sends the
  • the indication for initiating the transfer of the to-be-transferred call includes: indicating that the destination terminal is the indication information of the terminal to be transferred.
  • the terminal device provided by the embodiment of the present invention is equivalent to the target terminal in the foregoing method embodiments.
  • the identifier receiving module of the destination terminal may receive the identifier of the to-be-transferred call from the browser server, and the page requesting module may obtain the page information corresponding to the to-be-transferred call from the WebRTC server according to the identifier, and the call connection module may according to the page.
  • the identification information of the remote terminal in the information establishes a call connection with the remote terminal, so that the source terminal and the remote terminal
  • the WebRTC call can be transferred between the source terminal and the remote terminal without interruption, thereby realizing the seamless transfer of the WebRTC call between the terminals; and by adding the first token receiving module and the verification sending module, the WebRTC can be made.
  • the server authenticates the destination terminal and increases the security of the call transfer process to ensure that the call can be transferred to the designated destination terminal.
  • FIG. 12 is a schematic structural diagram of another WebRTC call transfer apparatus according to an embodiment of the present invention.
  • the WebRTC call transfer apparatus may be a WebRTC server.
  • the WebRTC call transfer apparatus 1200 includes: a page request receiving module 1201 and Page sending module 1203 ⁇
  • the page request receiving module 1201 is configured to receive, by the first terminal, a first request message that is used to request the page information corresponding to the to-be-transferred call, and the first identifier is used to identify the to-be-transferred call, where the The transfer call is established between the source terminal and the remote terminal.
  • the page sending module 1203 is configured to send the page information corresponding to the to-be-transferred call to the destination terminal according to the first request message received by the page request receiving module 1201, so that the destination terminal is configured according to the page information.
  • the identification information of the remote terminal is established with the remote terminal to establish a call connection for the call to be transferred, so as to implement the transfer of the to-be-transferred call from the source terminal to the remote terminal to the destination terminal Between the remote terminal and the remote terminal.
  • the WebRTC call transfer apparatus 1200 may further include: a verification information receiving module 1205 and a verification execution module 1207.
  • the verification information receiving module 1205 is configured to receive the first token sent by the destination terminal before the page sending module 1203 sends the page information corresponding to the to-be-transferred call to the destination terminal.
  • the first token is a token allocated by the browser server to the destination terminal for identifying the destination terminal.
  • the verification execution module 1207 is configured to verify, according to the second token sent by the source terminal, verification information of the first token received by the verification information receiving module 1205; the second token is the The token obtained by the source terminal from the browser server and allocated by the browser server to the destination terminal for identifying the destination terminal.
  • the page sending module 1203 may be specifically configured to: if the verification execution module 1207 verifies the verification information of the first token to obtain that the first token is the same as the second token, then The destination terminal sends the page information corresponding to the to-be-transferred call.
  • the WebRTC call transfer device 1200 may further include: an identifier request receiving module 1209, and an identity sending module 1212.
  • the identifier request receiving module 1209 is configured to: before the page request receiving module 1201 receives the first request message for requesting the page information corresponding to the to-be-transferred call sent by the destination terminal according to the first identifier, a request for generating a first identifier;
  • the identifier sending module 1212 is configured to send the first identifier generated by the generating request received by the identifier request receiving module 1209 to the source terminal, so that the source terminal sends the first identifier to the browser a server, so that the browser server sends the first identifier to the destination terminal.
  • the WebRTC call transfer device 1200 may further include: a first call request processing module 1214.
  • the first call request processing module 1214 is configured to: after the page sending module 1203 sends the page information corresponding to the first identifier to the destination terminal, receive a call request sent by the destination terminal to call the remote terminal. Sending the call request message to the remote terminal, and receiving the response message returned by the remote terminal according to the call request, and sending the response message to the destination terminal, so that the destination terminal Establish a call connection with the remote terminal.
  • the WebRTC call transfer apparatus 1200 may further include: a second call request processing module 1216 and a release indication module 1218.
  • the second call request processing module 1216 includes: a first receiving unit, a first changing unit, a first sending unit, a second receiving unit, a second changing unit, and a second sending unit.
  • the first receiving unit is configured to: after the page sending module sends the page information corresponding to the to-be-transferred call to the destination terminal, receive a call request message sent by the destination terminal to call the remote terminal;
  • the call request message includes a first session identifier corresponding to the destination terminal.
  • the first changing unit is configured to change the first session identifier in the call request message received by the first receiving unit to a second session identifier corresponding to the source terminal.
  • the first sending unit is configured to send the call request message that is changed by the first changing unit to the remote terminal.
  • the second receiving unit is configured to receive a response message that is returned by the remote terminal according to the changed call request, where the response message includes the second session identifier.
  • the second change unit is configured to change the second session identifier in the response message to the first session identifier.
  • the second sending unit is configured to send the changed response message to the destination terminal, so that the destination terminal establishes a call connection with the remote terminal.
  • the release indication module 1218 is configured to send, after the destination terminal establishes a call connection with the remote terminal, a release indication message for instructing the source terminal to release the to-be-transferred call.
  • the WebRTC call transfer apparatus provided by the embodiment of the present invention is equivalent to the WebRTC server in the foregoing method embodiments.
  • the page sending module of the WebRTC server sends the page information corresponding to the to-be-transferred call to the destination terminal according to the request of the destination terminal, so that the destination terminal according to the page
  • the identification information of the remote terminal in the information establishes a call connection with the remote terminal, so that the WebRTC call between the source terminal and the remote terminal can be transferred between the source terminal and the remote terminal without interruption, thereby realizing The seamless transfer of WebRTC calls between terminals; and through the authentication information receiving module and the verification execution module of the WebRTC server, the destination terminal can also be verified, and the security of the call transfer process is increased to ensure that the call can be transferred to a designated destination. terminal.
  • Computer readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one location to another.
  • a storage medium may be any available media that can be accessed by a computer.
  • computer readable media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage media or other magnetic storage device, or can be used for carrying or storing in the form of an instruction or data structure.
  • any connection may suitably be a computer readable medium.
  • the software is transmitted from a website, server, or other remote source using coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave
  • coaxial cable , fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwaves are included in the fixing of the associated media.
  • a disk and a disc include a compact disc (CD), a laser disc, a disc, a digital versatile disc (DVD), a floppy disk, and a Blu-ray disc, wherein the disc is usually magnetically copied, and the disc is The laser is used to optically replicate the data. Combinations of the above should also be included within the scope of the computer readable media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明实施例提供了一种网页实时通信WebRTC通话转移方法及装置。该WebRTC通话转移方法包括:接收用于标识待转移通话的第一标识;待转移通话为源终端与远端终端之间已建立的WebRTC通话;根据第一标识,向WebRTC服务器发送用于请求待转移通话对应的页面信息的第一请求消息;根据WebRTC服务器发送的页面信息中的远端终端的标识信息,与远端终端建立用于承载待转移通话的呼叫连接,以实现待转移通话从源终端与远端终端中间转移至目的终端与远端终端之间。通过本发明实施例,源终端与远端终端之间的WebRTC通话可以转移到目的终端与远端终端之间,从而实现了WebRTC通话在终端间的转移。

Description

网页实时通信通话转移方法及装置
技术领域 本发明实施例涉及电子通信领域, 尤其是一种网页实时通信 WebRTC 通话转移方法及装置。 背景技术
WebRTC (Web real-time communication, 网页实时通信)是一项在浏览 器内部进行实时视频和音频通信的技术, 可以实现浏览器与浏览器之间或 者浏览器与传统通信终端之间的音视频通话功能。 例如通过支持 WebRTC 功能的两个不同浏览器, 可以进行视频会议。 WebRTC 技术规范由 IETF ( internet engineering task force,互联网工禾呈任务组)禾口 W3C( world wide web consortium, 万维网联盟) 共同制定。 但是现有的 WebRTC 技术不支持 WebRTC通话转移的功能, 即用户无法将一个终端 (例如个人电脑或手机) 上正在进行的 WebRTC通话无缝转移 (即通话不中断) 到另一个终端 (例 如手机或个人电脑) 上。
有些浏览器可以实现网页、 图片、 小说、 视频、 文本、 电话号码等内 容在同一用户的两个终端间的无缝转移。例如天天浏览器的"云穿越"功能可 以实现网页、 图片、 小说、 视频、 文本、 电话号码等内容在 PC (个人电脑) 和手机间的瞬间"穿越"; 以转移网页为例, 具体可以为: 在 PC端和手机端 都登陆同一个天天云账户, 需要转移的网页信息先被发送到云账户中, 然 后再被推送(push)到另一个终端上, 另一终端接收到云账户发送的网页信 息后, 自动打开该网页, 由此实现无缝转移。
而现有浏览器的无缝转移功能无法支持一个正在进行的 WebRTC通话 在同一用户的两个终端间转移, 由此 WebRTC通话在终端间转移目前无法 实现。 发明内容
本发明实施例一方面提供了一种网页实时通信 WebRTC 通话转移方 法, 另一方面提供了一种网页实时通信 WebRTC通话转移装置, 可以实现 WebRTC通话在终端间转移。
根据第一方面, 一种 WebRTC通话转移方法, 包括:
接收用于标识待转移通话的第一标识; 所述待转移通话为源终端与远 端终端之间已建立的 WebRTC通话;
根据所述第一标识, 向 WebRTC服务器发送用于请求所述待转移通话 对应的页面信息的第一请求消息;
根据所述 WebRTC服务器发送的所述页面信息中的所述远端终端的标 识信息, 与所述远端终端建立用于承载所述待转移通话的呼叫连接, 以实 现所述待转移通话从所述源终端与所述远端终端之间转移至目的终端与所 述远端终端之间。
在第一方面的第一种可能的实现方式中, 在所述根据所述 WebRTC服 务器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端 建立用于承载所述待转移通话的呼叫连接之前还包括:
接收浏览器服务器发送的第一令牌; 所述第一令牌为所述浏览器服务 器为所述目的终端分配的用于标识所述目的终端的令牌;
向所述 WebRTC 服务器发送所述第一令牌的验证信息, 以使所述 WebRTC服务器对所述第一令牌的验证信息进行验证;
接收所述 WebRTC服务器在对所述第一令牌的验证信息验证通过后发 送的所述待转移通话对应的页面信息。
结合第一方面或第一方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述根据所述 WebRTC服务器发送的所述页面信息中的所述 远端终端的标识信息, 与所述远端终端建立用于承载所述待转移通话的呼 叫连接, 包括: 根据所述 WebRTC服务器发送的所述页面信息中的所述远端终端的标 识信息, 通过所述 WebRTC服务器向所述远端终端发送呼叫请求消息; 通过所述 WebRTC服务器接收所述远端终端根据所述呼叫请求返回的 响应消息, 建立与所述远端终端的用于承载所述待转移通话的呼叫连接。
结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二 种可能的实现方式, 在第三种可能的实现方式中, 所述接收用于标识待转 移通话的第一标识, 具体包括:
接收浏览器服务器在接收到所述源终端发送的用于启动所述待转移通 话进行转移的指示后, 发送的用于标识所述待转移通话的第一标识;
所述源终端和所述目的终端登录的浏览器账户相同, 以使所述源终端 通过所述浏览器服务器获知所述目的终端为可选的、 待转移的终端, 所述 源终端发送的用于启动所述待转移通话进行转移的指示中包括: 指示所述 目的终端为待转移的终端的指示信息。
根据第二方面, 一种 WebRTC通话转移方法, 包括:
接收目的终端根据第一标识发送的用于请求待转移通话对应的页面信 息的第一请求消息; 所述第一标识用于标识所述待转移通话, 所述待转移 通话为源终端与远端终端之间已建立的 WebRTC通话;
向目的终端发送所述待转移通话对应的页面信息, 以使所述目的终端 根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端 与所述远端终端之间转移至目的终端与所述远端终端之间。
在第二方面的第一种可能的实现方式中, 该方法还包括:
在所述向目的终端发送所述待转移通话对应的页面信息之前, 接收所 述目的终端发送的第一令牌的验证信息; 所述第一令牌为浏览器服务器为 所述目的终端分配的用于标识所述目的终端的令牌;
根据所述源终端发送的第二令牌, 对所述目的终端发送的所述第一令 牌的验证信息进行验证; 所述第二令牌为所述源终端从所述浏览器服务器 获取的、 所述浏览器服务器为所述目的终端分配的用于标识所述目的终端 的令牌;
所述向目的终端发送所述待转移通话对应的页面信息具体包括: 若对 所述第一令牌的验证信息进行验证得到所述第一令牌与所述第二令牌相 同, 则向所述目的终端发送所述待转移通话对应的页面信息。
结合第二方面或第二方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述接收目的终端根据第一标识发送的用于请求待转移通话 对应的页面信息的第一请求消息之前, 还包括:
接收所述源终端发送的生成所述第一标识的生成请求;
将根据所述生成请求生成的所述第一标识发送给所述源终端, 以使所 述源终端将所述第一标识发送给浏览器服务器, 以使所述浏览器服务器将 所述第一标识发送给所述目的终端。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二 种可能的实现方式, 在第三种可能的实现方式中, 所述向目的终端发送所 述待转移通话对应的页面信息之后还包括:
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息; 将所述呼叫请求消息发送给所述远端终端;
接收所述远端终端根据所述呼叫请求返回的响应消息;
将所述响应消息发送给所述目的终端, 以使所述目的终端建立与所述 远端终端的呼叫连接。
结合第二方面的第三种可能的实现方式, 在第四种可能的实现方式中, 该方法还包括:
在所述远端终端与所述目的终端建立呼叫连接之后, WebRTC 服务器 或所述远端终端释放所述远端终端与所述源终端之间的呼叫连接。
结合第二方面或第二方面的第一种可能的实现方式或第二方面的第二 种可能的实现方式, 在第五种可能的实现方式中, 所述向目的终端发送所 述待转移通话对应的页面信息之后还包括:
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息; 所 述呼叫请求消息中包括与所述目的终端对应的第一会话标识;
将所述呼叫请求消息中的所述第一会话标识变更为与所述源终端对应 的第二会话标识;
将变更后的所述呼叫请求消息发送给所述远端终端;
接收所述远端终端根据变更后的所述呼叫请求返回的响应消息; 所述 响应消息中包括所述第二会话标识;
将所述响应消息中的所述第二会话标识变更为所述第一会话标识; 将变更后的所述响应消息发送给所述目的终端, 以使所述目的终端建 立与所述远端终端的呼叫连接;
在所述目的终端与所述远端终端建立呼叫连接之后, 向所述源终端发 送用于指示所述源终端释放所述待转移通话的释放指示消息。
根据第三方面, 一种 WebRTC通话转移装置, 包括:
标识接收模块, 用于接收用于标识待转移通话的第一标识; 所述待转 移通话为源终端与远端终端之间已建立的 WebRTC通话;
页面请求模块, 用于根据所述标识接收模块接收的所述第一标识, 向
WebRTC 服务器发送用于请求所述待转移通话对应的页面信息的第一请求 消息;
呼叫连接模块, 用于根据所述 WebRTC服务器发送的所述页面信息中 的所述远端终端的标识信息, 与所述远端终端建立用于承载所述待转移通 话的呼叫连接, 以实现所述待转移通话从所述源终端与所述远端终端之间 转移至目的终端与所述远端终端之间; 所述页面信息为所述 WebRTC服务 器根据所述页面请求模块发送的所述第一请求消息发送的。
在第三方面的第一种可能的实现方式中, 该装置还包括: 第一令牌接收模块, 用于在所述呼叫连接模块根据所述 WebRTC服务 器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建 立用于承载所述待转移通话的呼叫连接之前, 接收浏览器服务器发送的第 一令牌; 所述第一令牌为所述浏览器服务器为所述目的终端分配的用于标 识所述目的终端的令牌;
验证发送模块, 用于在所述呼叫连接模块根据所述 WebRTC服务器发 送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接之前, 向所述 WebRTC服务器发送所述 第一令牌接收模块接收的所述第一令牌的验证信息, 以使所述 WebRTC服 务器对所述第一令牌的验证信息进行验证;
页面接收模块, 用于在所述呼叫连接模块根据所述 WebRTC服务器发 送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接之前, 接收所述 WebRTC服务器在对所 述第一令牌的验证信息验证通过后发送的所述待转移通话对应的页面信 息。
结合第三方面或第三方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述呼叫连接模块包括:
呼叫请求单元, 用于根据所述 WebRTC服务器发送的所述页面信息中 的所述远端终端的标识信息, 通过所述 WebRTC服务器向所述远端终端发 送呼叫请求消息; 所述页面信息为所述 WebRTC服务器根据所述页面请求 模块发送的所述第一请求消息发送的;
连接建立单元, 用于通过所述 WebRTC服务器接收所述远端终端根据 所述呼叫请求返回的响应消息, 建立与所述远端终端的用于承载所述待转 移通话的呼叫连接。
结合第三方面或第三方面的第一种可能的实现方式或第三方面的第二 种可能的实现方式, 在第三种可能的实现方式中, 所述标识接收模块, 具 体用于接收浏览器服务器在接收到所述源终端发送的用于启动所述待转移 通话进行转移的指示后, 发送的用于标识所述待转移通话的第一标识; 所述源终端和所述目的终端登录的浏览器账户相同, 以使所述源终端 通过所述浏览器服务器获知所述目的终端为可选的、 待转移的终端, 所述 源终端发送的用于启动所述待转移通话进行转移的指示中包括: 指示所述 目的终端为待转移的终端的指示信息。
根据第四方面, 一种 WebRTC通话转移装置, 包括:
页面请求接收模块, 用于接收目的终端根据第一标识发送的用于请求 待转移通话对应的页面信息的第一请求消息; 所述第一标识用于标识所述 待转移通话, 所述待转移通话为源终端与远端终端之间已建立的 WebRTC 通话;
页面发送模块, 用于根据所述页面请求接收模块接收的所述第一请求 消息向目的终端发送所述待转移通话对应的页面信息, 以使所述目的终端 根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端 与所述远端终端之间转移至目的终端与所述远端终端之间。
在第四方面的第一种可能的实现方式中, 该装置还包括: 验证信息接 收模块和验证执行模块;
验证信息接收模块, 用于在所述向目的终端发送所述待转移通话对应 的页面信息之前, 接收所述目的终端发送的第一令牌的验证信息; 所述第 一令牌为浏览器服务器为所述目的终端分配的用于标识所述目的终端的令 牌;
验证执行模块, 用于根据所述源终端发送的第二令牌, 对所述验证信 息接收模块接收的所述第一令牌的验证信息进行验证; 所述第二令牌为所 述源终端从所述浏览器服务器获取的、 所述浏览器服务器为所述目的终端 分配的用于标识所述目的终端的令牌; 所述页面发送模块, 具体用于若所述验证执行模块对所述第一令牌的 验证信息进行验证得到所述第一令牌与所述第二令牌相同, 则向所述目的 终端发送所述待转移通话对应的页面信息。
结合第四方面或第四方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 该装置还包括:
标识请求接收模块, 用于在所述页面请求接收模块接收目的终端根据 第一标识发送的用于请求待转移通话对应的页面信息的第一请求消息之 前, 接收所述源终端发送的生成所述第一标识的生成请求;
标识发送模块, 用于将根据所述标识请求接收模块接收的所述生成请 求生成的所述第一标识发送给所述源终端, 以使所述源终端将所述第一标 识发送给浏览器服务器, 以使所述浏览器服务器将所述第一标识发送给所 述目的终端。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二 种可能的实现方式, 在第三种可能的实现方式中, 该装置还包括:
第一呼叫请求处理模块, 用于在所述页面发送模块向目的终端发送所 述第一标识对应的页面信息之后, 接收所述目的终端发送的用于呼叫所述 远端终端的呼叫请求消息, 将所述呼叫请求消息发送给所述远端终端, 接 收所述远端终端根据所述呼叫请求返回的响应消息, 将所述响应消息发送 给所述目的终端, 以使所述目的终端建立与所述远端终端的呼叫连接。
结合第四方面或第四方面的第一种可能的实现方式或第四方面的第二 种可能的实现方式, 在第四种可能的实现方式中, 该装置还包括: 第二呼 叫请求处理模块和释放指示模块;
所述第二呼叫请求处理模块, 包括: 第一接收单元、 第一变更单元、 第一发送单元、 第二接收单元、 第二变更单元和第二发送单元;
所述第一接收单元, 用于在所述页面发送模块向目的终端发送所述待 转移通话对应的页面信息之后, 接收所述目的终端发送的用于呼叫所述远 端终端的呼叫请求消息; 所述呼叫请求消息中包括与所述目的终端对应的 第一会话标识;
所述第一变更单元, 用于将所述第一接收单元接收的呼叫请求消息中 的所述第一会话标识变更为与所述源终端对应的第二会话标识;
所述第一发送单元, 用于将所述第一变更单元变更后的所述呼叫请求 消息发送给所述远端终端;
所述第二接收单元, 用于接收所述远端终端根据变更后的所述呼叫请 求返回的响应消息; 所述响应消息中包括所述第二会话标识;
所述第二变更单元, 用于将所述响应消息中的所述第二会话标识变更 为所述第一会话标识;
所述第二发送单元, 用于将变更后的所述响应消息发送给所述目的终 端, 以使所述目的终端建立与所述远端终端的呼叫连接;
所述释放指示模块, 用于在所述目的终端与所述远端终端建立呼叫连 接之后, 向所述源终端发送用于指示所述源终端释放所述待转移通话的释 放指示消息。
本发明实施例中, 目的终端在获取待转移通话的标识后, 可以根据该 标识从 WebRTC服务器获取该待转移通话对应的页面信息, 再根据该页面 信息中的远端终端的标识信息与远端终端建立呼叫连接, 使得源终端与远 端终端之间的 WebRTC通话可以转移到源终端与远端终端之间, 从而实现 了 WebRTC通话在终端间的转移。 附图说明
为了更清楚地说明本发明实施例中的技术方案, 下面将对实施例中所 需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本 发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动 性的前提下, 还可以根据这些附图获得其他的附图。 图 1为本发明实施例的一种 WebRTC通话转移方法流程图;
图 2为本发明实施例的另一种 WebRTC通话转移方法流程图; 图 3为本发明实施例的另一种 WebRTC通话转移方法流程图; 图 4为本发明实施例的另一种 WebRTC通话转移方法流程图; 图 5为本发明各实施例提供的 WebRTC通话转移方法应用的网络架构 图;
图 6为本发明实施例的一种 WebRTC通话转移方法的信令交互图; 图 7为本发明实施例的另一种 WebRTC通话转移方法的信令交互图; 图 8为本发明实施例的 WebRTC通话转移装置的硬件示意图; 图 9为本发明实施例提供的一种 WebRTC通话转移装置的结构示意图; 图 10为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图;
图 11为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图;
图 12为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图。 具体实 式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进 行清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没 有作出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的 范围。
当本发明实施例提及 "第一"、 "第二"等序数词时, 除非根据上下文其确 实表达顺序之意, 应当理解为仅仅是起区分之用。
图 1为本发明实施例的一种 WebRTC通话转移方法流程图, 如图 1所 示, 该方法包括:
歩骤 101、接收用于标识待转移通话的第一标识; 该待转移通话为源终 端与远端终端之间已建立的 WebRTC通话。
本发明各实施例中, 源终端、 目的终端和远端终端为支持 WebRTC技 术的终端; 即用户可以通过源终端、 目的终端或远端终端登录浏览器, 进 行 WebRTC相关业务。
本发明实施例的应用场景可以为: 源终端登录用户 A的浏览器账户, 源终端与远端终端通过 WebRTC 技术进行视频或音频通话; 其中, 通过 WebRTC技术进行的视频或音频通话即为本发明实施例所述的 WebRTC通 话; 通过本发明实施例提供的 WebRTC通话转移方法, 在不中断通话的情 况下, 可以将上述源终端与远端终端之间正在进行通话转移为目的终端与 远端终端之间的通话, 也就是说, 用户 A可以从通过源终端与远端终端的 用户进行通话转移到通过目的终端与远端终端的用户进行通话。
本发明实施例提供的方法为目的终端执行的方法。 其中, 目的终端和 源终端都登录了同一账户的浏览器账户。
在歩骤 101 中, 目的终端可以接收到浏览器服务器或其他服务器发送 的第一标识。 其中该第一标识为用于标识待转移通话的标识, 该待转移通 话为源终端与远端终端之间的 WebRTC通话。 该第一标识可以为 WebRTC 服务器根据源终端的请求而生成, WebRTC 服务器在生成该第一标识后, 可以通过源终端将该第一标识发送给浏览器服务器或其他服务器, 进而使 得浏览器服务器或其他服务器将该第一标识发送给目的终端。
歩骤 102、 根据第一标识, 向网页实时通信服务器(以下简称 WebRTC 服务器) 发送用于请求待转移通话对应的页面信息的第一请求消息。
目的终端接收到第一标识后, 向 WebRTC服务器请求该第一标识对应 的页面信息, 即向 WebRTC服务器请求待转移通话对应的页面信息, 该页 面信息为当前正在进行的待转移通话的页面资源, 该页面资源例如可以包 括: 统一资源定位符 (uniform/universal resource locator, 简称为 URL)、 通 话双方的用户 ID (user-id)、 超文本标记语言 ( hypertext markup language , 简称为 HTML) 文件、 javascript文件或图片等资源。
歩骤 103、根据 WebRTC服务器发送的页面信息中的远端终端的标识信 息, 与远端终端建立用于承载待转移通话的呼叫连接, 以实现待转移通话 从源终端与远端终端之间转移至目的终端与远端终端之间。
目的终端在获取到 WebRTC服务器发送的与待转移通话对应的页面信 息后, 可以根据该页面信息中的远端终端的标识信息呼叫远端终端, 并与 远端终端建立呼叫连接, 该呼叫连接用于承载该待转移通话。 在该呼叫连 接建立成功, 且源终端与远端终端的连接被释放之后, 就实现了 WebRTC 通话的转移。
本发明实施例, 目的终端在获取待转移通话的标识后, 可以根据该标 识从 WebRTC服务器获取该待转移通话对应的页面信息, 再根据该页面信 息中的远端终端的标识信息与远端终端建立呼叫连接, 使得源终端与远端 终端之间的 WebRTC通话可以转移到源终端与远端终端之间, 从而实现了 WebRTC通话在终端间的转移。 图 2为本发明实施例的另一种 WebRTC通话转移方法流程图, 在图 1 所示实施例的基础上, 如图 2所示, 该方法可以包括:
歩骤 201、接收浏览器服务器发送的第一令牌。第一令牌为浏览器服务 器为目的终端分配的用于标识目的终端的令牌。
本发明实施例的应用场景参见图 1 所示的实施例, 本发明实施例提供 的方法为目的终端执行的方法。
目的终端接收浏览器服务器发送的、 浏览器服务器为目的终端分配的 第一令牌。 该一令牌用于标识该目的终端。 在目的终端登录浏览器的账号 时, 该浏览器对应的浏览器服务器就可以为目的终端分配一用于标识身份 的令牌; 其中, 浏览器服务器可以为登录浏览器的每一个终端都分配一令 牌。
歩骤 202、接收浏览器服务器在接收到源终端发送的用于启动待转移通 话进行转移的指示后, 发送的用于标识待转移通话的第一标识。
在浏览器服务器接收到源终端发送的用于启动待转移通话进行转移的 指示后, 目的终端接收浏览器根据该指示发送的用于标识该待转移通话的 第一标识。 图 1所示实施例中的歩骤 101具体可以为歩骤 202。
在源终端与远端终端进行 WebRTC通话过程中, 在该通话待转移到目 的终端与远端终端之间时, 源终端可以向浏览器服务器发送指示, 指示该 浏览器服务器向目的终端发送用于标识当前待转移通话的第一标识。
源终端和目的终端登录的浏览器账户相同, 由此源终端可以通过浏览 器服务器获知目的终端为可选的、 待转移的终端, 当源终端选择目的终端 为待转移终端之后, 源终端可以将选择的结果告知浏览器服务器, 具体可 以通过以下方式告知浏览器服务器: 源终端向浏览器服务器发送用于启动 待转移通话进行转移的指示, 该指示中可以包括: 指示目的终端为待转移 的终端的指示信息。
在另一种实施方式中, 源终端和目的终端也可以登录不同的浏览器账 户。 浏览器服务器可以通过源终端和目的终端的绑定关系, 或者通过源终 端和目的终端分别登录的浏览器账户的绑定关系, 将可选的、 待转移的终 端告知给源终端。
需要说明的是, 本发明实施例并不限定歩骤 201和歩骤 202的先后顺 序, 即歩骤 201可以发生在歩骤 202之前, 也可以发生在歩骤 202之后。
歩骤 203、根据第一标识, 向 WebRTC服务器发送用于请求待转移通话 对应的页面信息的第一请求消息。
该歩骤参见图 1所示实施例中歩骤 102中的描述。
歩骤 204、 向 WebRTC服务器发送第一令牌的验证信息, 以使 WebRTC 服务器对第一令牌的验证信息进行验证。
WebRTC服务器需要对目的终端的身份进行验证,以验证目的终端是否 为源终端指定的待转移的终端。 由此, 在歩骤 204 中, 目的终端将第一令 牌的验证信息发送给 WebRTC服务器, 由 WebRTC服务器对该目的终端进 行验证。 该第一令牌的验证信息为唯一标识第一令牌的信息, 该验证信息 例如可以为: 第一令牌的哈希值或者第一令牌加密后的密文信息。
歩骤 205、接收 WebRTC服务器在对第一令牌的验证信息验证通过后发 送的待转移通话对应的页面信息。
在 WebRTC服务器对目的终端验证通过后, 目的终端收到 WebRTC服 务器发送的待转移通话对应的页面信息。
歩骤 206、根据 WebRTC服务器发送的页面信息中的远端终端的标识信 息, 通过 WebRTC服务器向远端终端发送呼叫请求消息。
目的终端根据接收到的待转移通话对应的页面信息中的远端终端的标 识信息, 向 WebRTC服务器发送对远端终端的呼叫请求消息, WebRTC服 务器将处理后的呼叫请求消息发送给远端终端或者直接将该呼叫请求消息 转发给远端终端。
歩骤 207、通过 WebRTC服务器接收远端终端根据呼叫请求返回的响应 消息, 建立与远端终端的用于承载待转移通话的呼叫连接。
目的终端接收 WebRTC服务器转发的、 远端终端返回的响应消息, 建 立与远端终端的呼叫连接, 该呼叫连接用于承载所述待转移通话。
本发明实施例, 目的终端可以从浏览器服务器获取待转移通话的标识, 并根据该标识从 WebRTC服务器获取该待转移通话对应的页面信息, 再根 据该页面信息中的远端终端的标识信息与远端终端建立呼叫连接, 使得源 终端与远端终端之间的 WebRTC通话在不中断的情况下可以转移到源终端 与远端终端之间, 从而实现了 WebRTC通话在终端间的无缝转移; 并且还 通过 WebRTC服务器对目的终端的验证过程, 增加了通话转移过程的安全 性, 以保证通话能转移到指定的目的终端。 图 3为本发明实施例的另一种 WebRTC通话转移方法流程图, 如图 3 所示, 该方法包括:
歩骤 301、接收目的终端根据第一标识发送的用于请求待转移通话对应 的页面信息的第一请求消息。
本发明实施例的应用场景参见图 1 所示实施例中的描述。 本发明实施 例提供的方法为 WebRTC服务器执行的方法。 其中, 目的终端和源终端都 登录了同一账户的浏览器账户。
在歩骤 301中, WebRTC服务器接收目的终端根据第一标识发送的第一 请求消息, 第一请求消息用于请求待转移通话对应的页面信息。 其中, 第 一标识用于标识待转移通话, 待转移通话为源终端与远端终端之间的 WebRTC通话。
歩骤 302、 向目的终端发送待转移通话对应的页面信息, 以使目的终端 根据页面信息中的远端终端的标识信息, 与远端终端建立用于承载待转移 通话的呼叫连接, 以实现待转移通话从源终端与远端终端之间转移至目的 终端与远端终端之间。
WebRTC服务器接收到目的终端发送的第一请求消息后,向目的终端发 送待转移通话当前对应的页面信息, 目的终端根据该页面信息中的远端终 端的标识信息可以与远端终端建立呼叫连接, 该呼叫连接用于承载待转移 通话。
本发明实施例, WebRTC服务器根据目的终端的请求,将待转移通话对 应的页面信息发送给目的终端, 使得目的终端根据该页面信息中的远端终 端的标识信息与远端终端建立呼叫连接, 使得源终端与远端终端之间的 WebRTC通话可以转移到源终端与远端终端之间, 从而实现了 WebRTC通 话在终端间的无缝转移。 图 4为本发明实施例的另一种 WebRTC通话转移方法流程图, 在图 3 所示实施例的基础上, 如图 4所示, 该方法包括:
歩骤 401、 接收源终端发送的生成第一标识的生成请求。
本发明实施例的应用场景参见图 1 所示的实施例, 本发明实施例提供 的方法为 WebRTC服务器执行的方法。
在源终端与远端终端进行 WebRTC通话的过程中, 在该 WebRTC通话 待转移到目的终端与远端终端时, 源终端请求 WebRTC服务器生成该待转 移 WebRTC通话的第一标识。 WebRTC服务器接收到源终端发送的、 用于 生成第一标识的生成请求。
歩骤 402、将根据生成请求生成的第一标识发送给源终端, 以使源终端 将第一标识发送给浏览器服务器, 以使浏览器服务器将第一标识发送给目 的终端。
WebRTC服务器根据生成请求生成用于标识该待转移 WebRTC通话的 第一标识后, 将该第一标识发送给源终端; 源终端可以将该第一标识发送 给浏览器服务器, 使得浏览器服务器可以将该第一标识发送给目的终端。
歩骤 403、接收目的终端发送的第一令牌的验证信息和目的终端根据第 一标识发送的用于请求待转移通话对应的页面信息的第一请求消息。
WebRTC 服务器接收到目的终端发送的第一令牌的验证信息和第一请 求消息。 第一令牌为浏览器服务器为目的终端分配的用于标识目的终端的 令牌, 目的终端在向 WebRTC服务器请求待转移通话对应的页面信息时, 还向 WebRTC服务器发送第一令牌的验证信息, 以使 WebRTC服务器能够 对目的终端进行验证。
歩骤 404、接收源终端发送的、 由源终端从浏览器服务器获取的目的终 端的第二令牌。
在浏览器服务器为目的终端分配令牌之后, 根据源终端的请求, 浏览 器服务器将标识目的终端的令牌发送给源终端; 然后 WebRTC服务器接收 到源终端发送的目的终端的令牌; 为了与上述第一令牌相区别, 此处用第 二令牌来表示。 SP, 第二令牌为源终端从浏览器服务器获取的、 浏览器服 务器为目的终端分配的用于标识目的终端的令牌。
其中, 本发明实施例并不限定歩骤 403和歩骤 404的先后顺序。
歩骤 405、根据源终端发送的第二令牌, 对目的终端发送的第一令牌的 验证信息进行验证。
WebRTC服务器根据第二令牌,对第一令牌的验证信息进行验证。具体 的验证过程为: WebRTC服务器验证第一令牌和第二令牌是否相同。 例如: 当第一令牌的验证信息为第一令牌的哈希值时, WebRTC 服务器计算第二 令牌的哈希值, 然后比较第一令牌的哈希值进行比较, 如果相同, 则第一 令牌与第二令牌相同, 否则, 第一令牌与第二令牌不相同。
需要说明的是, 本发明实施例中的第一令牌和第二令牌均为浏览器服 务器生成的用于标识目的终端的令牌, 其区别是: 第一令牌为浏览器服务 器发送给目的终端的令牌, 第二令牌为浏览器服务器发送给源终端的用于 标识目的终端的令牌。 若目的终端为源终端在通话转移时指定的目的终端, 则第一令牌与第二令牌相同, 否则, 第一令牌与第二令牌不同; 当第一令 牌与第二令牌不同时, 说明当前的目的终端不是源终端指定的, 此时
WebRTC 服务器对目的终端验证失败, 则无法将通话转移到该目的终端, 从而保证了通话转移的安全性。
歩骤 406、若对第一令牌的验证信息进行验证得到第一令牌与第二令牌 相同, 则向目的终端发送待转移通话对应的页面信息。
WebRTC服务器在对目的终端验证通过后,根据目的终端的请求向目的 终端发送待转移通话对应的页面信息。
歩骤 407、将目的终端发送的呼叫请求消息转发给远端终端, 并将远端 终端发送的响应消息转发给目的终端, 具体可以包括: 歩骤 407a、 WebRTC服务器接收目的终端发送的用于呼叫远端终端的 呼叫请求消息;
在目的终端获取到待转移通话对应的页面信息后, 目的终端可以根据 该页面信息中的远端终端的标识信息发送用于呼叫远端终端的呼叫请求消 息;
歩骤 407b、 WebRTC服务器将该呼叫请求消息发送给远端终端; 歩骤 407c、 WebRTC服务器接收远端终端根据该呼叫请求返回的响应 消息;
歩骤 407d、 WebRTC服务器将该响应消息发送给目的终端, 以使目的 终端建立与远端终端的呼叫连接。
歩骤 408、 在远端终端与目的终端建立呼叫连接之后, WebRTC服务器 或远端终端释放远端终端与源终端之间的呼叫连接。
在呼叫连接建立以后, WebRTC服务器可以指示源终端释放与远端终端 的连接, 或者远端终端可以释放与源终端之间的连接, 在源终端与远端终 端的连接释放之后, 完成 WebRTC通话的转移。
上述歩骤 407中, WebRTC服务器直接转发目的终端或远端终端发送的 请求或响应, 该实施方式要求远端终端支持上述歩骤 408 的操作, 即远端 终端在于目的终端建立连接后, 可以释放与源终端之间的连接。 而在另一 种实施方式中, WebRTC 服务器可以对目的终端或远端终端发送的请求或 响应进行处理后再发送给对方, 具体可以为以下歩骤 407', 从而使得远端 终端无需支持上述歩骤 408的操作。 §Ρ, 上述歩骤 407和歩骤 408可以由 以下歩骤 407'代替。 歩骤 407'具体可以包括以下歩骤:
歩骤 407'a、 WebRTC服务器接收目的终端发送的用于呼叫远端终端的 呼叫请求消息; 该呼叫请求消息中包括与目的终端对应的第一会话标识; 歩骤 407'b、 WebRTC服务器将该呼叫请求消息中的第一会话标识变更 为与源终端对应的第二会话标识; WebRTC服务器将第一会话标识变更为第二会话标识,以使远端终端认 为该呼叫请求消息为源终端发送的更新消息;
歩骤 407'c、WebRTC服务器将变更后的呼叫请求消息发送给远端终端; 歩骤 407'd、 WebRTC服务器接收远端终端根据变更后的呼叫请求返回 的响应消息; 响应消息中包括第二会话标识;
歩骤 407'e、 WebRTC服务器将响应消息中的第二会话标识变更为第一 会话标识;
WebRTC服务器将第二会话标识变更为第一会话标识,以使目的终端识 别该响应消息;
歩骤 407'f、 WebRTC服务器将变更后的响应消息发送给目的终端, 以 使目的终端建立与远端终端的呼叫连接;
歩骤 407'g、 WebRTC服务器在目的终端与远端终端建立呼叫连接之后, 向源终端发送用于指示源终端释放待转移通话的释放指示消息。
本发明实施例, WebRTC服务器根据目的终端的请求,将待转移通话对 应的页面信息发送给目的终端, 使得目的终端根据该页面信息中的远端终 端的标识信息与远端终端建立呼叫连接, 使得源终端与远端终端之间的
WebRTC 通话在不中断的情况下可以转移到源终端与远端终端之间, 从而 实现了 WebRTC通话在终端间的无缝转移; 并且 WebRTC服务器还可以对 目的终端进行验证, 增加了通话转移过程的安全性, 以保证通话能转移到 指定的目的终端。 图 5为本发明各实施例提供的 WebRTC通话转移方法应用的网络架构 图。如图 5所示, 该网络架构中包括终端 1-A、 终端 2-A、 终端 -B和服务器 端。 终端 1-A与终端 2-A为用户 A的两个终端, 终端 -B为用户 B的终端, 其中, 上述任一终端可以为手机、 平板电脑、 笔记本电脑、 超级移动个人 计算机 ( ultra-mobile personal computer, 简称为 UMPC)、 上网本或掌上电 脑 (personal digital assistant, 简称为 PDA) 等终端设备。 服务器端包括浏 览器服务器和网页实时通信服务器 (以下简称 WebRTC服务器)。
终端 1-A (或终端 2-A) 与终端 -B之间通过经由 WebRTC服务器建立 的信道(例如 websocket信道)进行会话协商, 会话协商成功后, 建立终端 1-A (或终端 2-A)与终端 B之间的媒体流通道(其中使用 RTP/RTCP协议), 用于传输音视频媒体流。 终端包括 WebRTC页面和浏览器, 其中 WebRTC 页面又称为 WebRTC客户端。 具体的, 终端 1-A包括 WebRTC-A页面和浏 览器 -A,终端 2-A包括 WebRTC-a页面和浏览器 -a,终端 -B包括 WebRTC-B 页面和浏览器 -B。
下面具体描述该网络架构下的 WebRTC通话转移方法。
图 6为本发明实施例的一种 WebRTC通话转移方法的信令交互图, 在 图 1-图 4所示实施例的基础上, 如图 6所示, 该方法包括:
歩骤 601、用户 A在 PC-A上登录浏览器账户, 打开 WebRTC页面, 登 录 WebRTC账户, 并建立与用户 B的 WebRTC通话, 即建立 PC- A与终端 -B之间的 WebRTC通话。
本发明各实施例提供的方法, 可以实现一个正在进行中的 WebRTC通 话在同一用户的两个终端之间无缝切换。 同一用户的两个终端可以为手机、 平板电脑、笔记本电脑、 UMPC、上网本或 PDA中的任意一种或两种终端, 这两个终端可以为同类型的, 也可以为不同类型的; 例如同一用户的两个 终端可以为手机 1和手机 2, 或者为手机和 PC(personal computer, 个人电 脑)。 本实施例中同一用户的两个终端以 PC-A与手机 -A为例进行说明, 且 以 WebRTC通话由 PC-A转移到手机 -A为例; 其中 WebRTC通话可以为视 频通话或音频通话。
本发明实施例中的 PC-A相当于上述各实施例中的源终端, 手机 -A相 当于上述各实施例中的目的终端; 终端 -B相当于上述各实施例中的远端终 歩骤 602、 用户 A在手机 -A上登录浏览器账户。
用户 A在 PC-A和手机 -A上登录相同的浏览器账户, 服务器端的浏览 器服务器维护用户 A在 PC-A和手机 -A上登录的信息。
歩骤 603、 浏览器服务器为手机 -A生成一个令牌 -a。
该令牌(token)用于唯一标识手机 -A, 例如可以根据手机 -A的设备 ID 生成相应的令牌。 需要说明的是, 浏览器服务器可以针对每一个登录浏览 器账户的终端都分配相应的令牌。
歩骤 604、 浏览器服务器将令牌 -a返回给手机 -A。
浏览器服务器在为终端生成令牌后, 将该令牌返回给相应的终端。 歩骤 605、 PC-A根据用户 A转移 WebRTC通话的请求,显示用户 A的 终端设备列表, 供用户 A选择待转移的终端, 即供用户 A选择目的终端。
当用户 A希望将当前的 webrtc通话从 PC-A转移到手机 -A时, 用户可 以发起请求, 例如在 PC-A的用户界面上触发相应的操作, 具体例如点击浏 览器上的 "webrtc穿越"按钮。 由此, PC-A可以获取到用户 A发送的用于转 移通话的请求。
在终端登录浏览器账户后, 浏览器服务器可以维护登录该浏览器账户 的终端的信息。 由此, 当用户触发转移请求后, PC-A可以向浏览器服务器 请求当前登录用户 A的浏览器账户的终端设备列表, 然后将该终端设备列 表呈现给用户 A, 使得用户 A可以从该终端列表中选择待转移的终端。 当 手机 -A和 PC-A登录同一个浏览器账户时, PC-A显示的终端设备列表中包 括手机 -A, 用户 A可以选择将 WebRTC通话转移到手机 -A上。
歩骤 606、 浏览器 -A向浏览器服务器请求获取手机 -A的令牌。 其中, 浏览器 -A为 PC-A的浏览器。
用户 A选择将 WebRTC通话转移到手机 -A上之后, 浏览器 -A向浏览 器服务器请求获取手机 -A的令牌。 歩骤 607、 浏览器服务器将令牌 -a发给 浏览器 -A。 歩骤 608、浏览器 -A将令牌 -a发给 WebRTC-A页面,并触发 WebRTC-A 页面执行歩骤 609。
歩骤 609、 WebRTC-A页面向 WebRTC服务器发起请求,请求获取标识 WebRTC通话的唯一身份标识(unique ID) , 并在请求中携带了手机 -A的令 牌 -a, 将令牌 -a发送给 WebRTC服务器。
其中, 该唯一身份标识相当于上述各实施例中的第一标识, 例如可以 为通用资源标识符(Uniform Resource Identifier, 简称为 URI), 以下以 URI 为例进行说明。
歩骤 610、 WebRTC服务器生成该 WebRTC通话的唯一身份标识,例如 歩骤 611、 WebRTC服务器将生成的 URI返回给 WebRTC-A页面。 歩骤 612、 WebRTC-A页面将获取的 URI发送给浏览器 -A。
需要说明的是: 上述的歩骤 608~612中, 浏览器与 WebRTC页面进行 交互, 再由 WebRTC页面与 WebRTC 服务器交互, 从而获取 URI。 在另一 实施方案中, 上述歩骤 608~612也可以替换为只由浏览器与 WebRTC服务 器进行交互, 而不经过 WebRTC页面。 这样, 歩骤 608~612就替换为: 浏 览器 -A向 WebRTC服务器发送请求, 请求获取标识 WebRTC通话的 URI, 并在请求中携带了令牌 -a; WebRTC服务器生成该 WebRTC通话的 URI,然 后将生成的 URI返回给浏览器 -A。
歩骤 613、 浏览器 -A发起对 URI的转移进程, 将 WebRTC通话的 URI 发送给浏览器服务器。
歩骤 614、 浏览器服务器将该 URI发送给手机 -A的浏览器 -a。
本发明实施例中的浏览器服务器具有推送功能, 在浏览器 -A 发起对 URI 的转移进程后, 浏览器服务器可以使用推送 (push) 服务器将该 URI 推送给浏览器 -a。
歩骤 615、浏览器 -a向 WebRTC服务器发送 URI和令牌 -a的验证信息, 该验证信息例如为哈希值 (Hash-2)。
浏览器 -a向 WebRTC服务器请求该 URI对应的页面, 并在请求消息中 携带令牌 -a的验证信息。 其中, 令牌 -a的验证信息例如可以为令牌 -a的哈 希值。
歩骤 616、 WebRTC服务器对手机 -A发送的令牌 -a的哈希值 (Hash-2) 进行验证, 若验证通过, 则认为手机 -A为合法设备, 执行歩骤 617, 若验 证不通过, 则结束。
具体验证的过程可以为: WebRTC服务器计算歩骤 609中 WebRTC-A 页面发送的令牌 -a的哈希值 (hash),得到 Hash-1,然后对比 Hash-2与 Hash-1 是否相同, 若相同, 则验证通过。 其中, WebRTC服务器计算 Hash-1的歩 骤可以在歩骤 609之后, 且歩骤 616之前。计算 Hash-2与 Hash-1时, 需使 用相同的哈希算法。
歩骤 617、 WebRTC服务器向手机 -A返回 URI对应的页面资源。
该页面资源相当于上述实施例中的页面信息。 具体的, 该页面资源中 例如可以携带自动向终端 -B发起呼叫的 Javascript代码。
歩骤 618、 浏览器 -a根据所接收的页面资源进行 WebRTC页面呈现, 并执行页面资源中的 javascript脚本, 用于触发歩骤 619。
歩骤 619、 WebRTC-a页面通过 WebRTC服务器向终端 -B发起会话建立 呼叫请求。
呈现出的 WebRTC页面根据页面内部的代码(例如 Javascript代码) 自 动发起到终端 -B的呼叫请求,其中该页面内部的代码中包含终端 -B的标识, 呼叫请求消息中可以携带手机 -A 的会话描述协议请求 (session description protocol offer, SDP Offer )。
歩骤 620、 终端 -B 返回会话建立响应, 响应消息中携带了会话描述协 议答复 (SDP answer)。
歩骤 621、 手机 -A与终端 -B之间的呼叫连接建立成功, 该呼叫连接承 载待转移的 WebRTC通话, 即建立了手机 -A与终端 -B之间的 WebRTC通 话。
歩骤 622、 终端 -B释放之前的一个通话, 即释放与 PC-A之间的通话。 释放成功后, 手机 -A 与终端 -B 之间可以进行 WebRTC 通话, 即实现了 WebRTC通话的转移。
在歩骤 621之后, 终端 -B的 WebRTC页面同时维持着两个 WebRTC通 话 (一个与 PC-A, 另一个与手机 -A)。 因此需要对终端 -B的 WebRTC页面 做增强, 使其能够识别该场景, 并自动释放之前的一个通话(即与 PC-A之 间的通话)。
本发明实施例, WebRTC服务器对一个正在进行中的 WebRTC通话动 态生成一个唯一标识, 并通过浏览器服务器将该唯一标识推送到手机 -A, 手机 -A上的 WebRTC页面可以根据该唯一标识对应的页面资源自动发起向 终端 -B的呼叫, 实现了 WebRTC通话在用户的不同终端之间无缝切换, 并 省去了用户在手机 -A上进行 WebRTC账户登录的过程,从而方便用户使用; 并且可以通过为手机 -A分配令牌来实现 WebRTC服务器对手机 -A的合法性 验证。 图 7为本发明实施例的另一种 WebRTC通话转移方法的信令交互图, 在图 1-图 4所示实施例的基础上, 如图 7所示, 该方法与图 6所示实施例 的方法的区别仅在于歩骤 719-歩骤 723, 其中歩骤 701-歩骤 718与图 6所 示实施例中的歩骤 601-歩骤 618相同。 下面具体介绍与图 6所示实施例不 同的歩骤。 该方法包括:
歩骤 701-歩骤 718: 具体参见图 6所示实施例, 在此不再赘述。
歩骤 719、 WebRTC-a页面向 WebRTC服务器发送用于呼叫终端 -B的会 话建立呼叫请求。
呈现出的 WebRTC页面根据页面内部的代码自动发起到终端 -B的呼叫 请求, 其中该页面内部的代码中包含终端 -B的标识, 呼叫请求消息中可以 携带手机 -A的会话描述协议请求 (SDP Offer)。
歩骤 720、WebRTC服务器接收到手机 -A的 WebRTC-a页面发来的请求 后, 将其中的会话标识 (session-id) 替换为 PC-A与终端 -B的 WebRTC通 话的会话标识, 然后将替换后的请求消息转发给终端 -B。
WebRTC服务器替换会话标识, 可以让终端 -B 以为这是 PC-A发来的 更新请求, 此时终端 -B并不知道手机 -A的存在。
歩骤 721、 终端 -B返回 WebRTC会话的响应消息, 响应消息中携带了 会话描述协议答复 (SDP answer)。
歩骤 722、 WebRTC服务器将终端 -B发来的响应消息进行修改,将其中 的会话标识替换回手机 -A发起的 WebRTC会话标识, 然后发给手机 -A。
歩骤 723、 手机 -A与终端 -B之间的 WebRTC通话建立成功。
歩骤 724、 WebRTC服务器给 PC-A发送释放会话的指示, 以指示 PC-A 释放当前与终端 -B的 WebRTC通话。
本发明实施例具有图 6所示实施例的有益效果, 具体参见图 6所示实 施例中的描述。 并且本发明实施例中, 由于 WebRTC服务器可以对会话标 识进行修改, 所以可以不需要对远端终端 (终端 -B) 进行扩展。 图 8 为本发明实施例的 WebRTC 通话转移装置的硬件示意图。 该 WebRTC通话转移装置可以为终端设备或 WebRTC服务器, 其中终端设备 可以为手机、 平板电脑、 笔记本电脑、 UMPC、 上网本或 PDA等, 本实施 例中终端设备以手机为例进行说明。 本发明实施例提供的手机为上述各实 施例中的目的终端, 本发明实施例提供的手机和 WebRTC服务器用于实施 上述图 1-图 7所示的方法, 为了便于说明, 仅示出了与本发明实施例相关 的部分, 具体技术细节未揭示的, 请参照图 1-图 7所示的各实施例。
如图 8, 手机 810包括处理器 812、 收发模块 813、 存储器 814、 输入 设备 815、显示设备 816; WebRTC服务器 820包括处理器 822、存储器 824、 收发模块 823。
其中,手机 810的处理器 812是手机 810的控制中心, WebRTC服务器 820的处理器 822是 WebRTC服务器的控制中心; 处理器 812、 处理器 822 分别通过运行或执行存储在存储器 814、 存储器 824 内的软件程序和 /或模 块, 以及调用存储在存储器 814、 存储器 824内的数据, 执行手机 810或 WebRTC服务器 820的各种功能和处理数据, 从而对 WebRTC通话进行转 移。
可选的, 处理器 812可包括一个或多个处理单元; 优选的, 处理器 812 可集成应用处理器和调制解调处理器, 其中, 应用处理器主要处理操作系 统、 用户界面和应用程序等, 调制解调处理器主要处理无线通信。 可以理 解的是, 上述调制解调处理器也可以不集成到处理器 812中。
收发模块 813、 收发模块 823可用于收发信息或通话过程中, 信号的接 收和发送, 特别地, 对于手机 810, 将基站的下行信息接收后, 给处理器 812处理;另外,将上行的数据发送给基站。通常,收发模块可以为射频 (radio frequency, 简称 RF) 电路, 包括但不限于天线、 至少一个放大器、 收发信 机、 耦合器、 LNA (Low Noise Amplifier, 低噪声放大器)、 双工器等。 此 夕卜, 收发模块 813、收发模块 823还可以通过无线通信与网络和其他设备通 信。所述无线通信可以使用任一通信标准或协议,包括但不限于 GSM(global system of mobile communication , 全球禾多动通讯系统)、 GPRS (general packet radio service, 通用分组无线月艮务)、 CDMA(code division multiple access , 码 分多址)、 WCDMA(wideband code division multiple access, 宽带码分多址)、 LTE(long term evolution,长期演进)、电子由 β件、 SMS(short messaging service , 短消息服务)等。
存储器 814、 存储器 824可用于存储软件程序以及模块, 处理器 812、 处理器 822分别通过运行存储在存储器 814、存储器 824的软件程序以及模 块, 从而执行手机 810或 WebRTC服务器 820的各种功能应用以及数据处 理。 存储器 814、 存储器 824可主要包括存储程序区和存储数据区, 其中, 存储程序区可存储操作系统、 至少一个功能所需的应用程序 (比如声音播 放功能、 图象播放功能等)等; 存储数据区可存储根据手机 810或 WebRTC 服务器 820 的使用所创建的数据 (比如音频数据、 电话本等) 等。 此外, 存储器 814、存储器 824可以包括高速随机存取存储器, 还可以包括非易失 性存储器, 例如至少一个磁盘存储器件、 闪存器件、 或其他易失性固态存 储器件。
输入设备 815可用于接收输入的数字或字符信息, 以及产生与手机 810 的用户设置以及功能控制有关的键信号输入。 具体地, 输入设备 815 可包 括触控面板以及其他输入设备。 触控面板, 也称为触摸屏, 可收集用户在 其上或附近的触摸操作 (比如用户使用手指、 触笔等任何适合的物体或附 件在触控面板上或在触控面板附近的操作), 并根据预先设定的程式驱动相 应的连接装置。 可选的, 触控面板可包括触摸检测装置和触摸控制器两个 部分。 其中, 触摸检测装置检测用户的触摸方位, 并检测触摸操作带来的 信号, 将信号传送给触摸控制器; 触摸控制器从触摸检测装置上接收触摸 信息, 并将它转换成触点坐标, 再送给处理器, 并能接收处理器发来的命 令并加以执行。 此外, 可以采用电阻式、 电容式、 红外线以及表面声波等 多种类型实现触控面板。 除了触控面板, 输入设备 815 还可以包括其他输 入设备。 具体地, 其他输入设备可以包括但不限于物理键盘、 功能键 (比 如音量控制按键、开关按键等)、轨迹球、 鼠标、操作杆等中的一种或多种。
显示设备 816 可用于显示由用户输入的信息或提供给用户的信息以及 手机 810的各种菜单。 显示设备 816可包括显示面板, 可选的, 可以采用 LCD(liquid crystal display, 液晶显示器)、 OLED(organic light-emitting diode, 有机发光二极管)等形式来配置显示面板。 进一歩的, 触控面板可覆盖显示 面板, 当触控面板检测到在其上或附近的触摸操作后, 传送给处理器 812 以确定触摸事件的类型, 随后处理器 812根据触摸事件的类型在显示面板 上提供相应的视觉输出。
在本发明实施例中, 手机 810的处理器 812用于通过收发模块 813接 收浏览器服务器发送的用于标识待转移通话的第一标识, 并将该第一标识 存储于存储器 814; 然户, 处理器 812 根据所述第一标识, 通过收发模块 813 向 WebRTC服务器发送用于请求所述待转移通话对应的页面信息的第 一请求消息; 处理器 812再根据所述 WebRTC服务器发送的所述页面信息 中的远端终端的标识信息, 与远端终端建立用于承载所述待转移通话的呼 叫连接, 以实现所述待转移通话从源终端与所述远端终端之间转移至手机 810与所述远端终端之间。
进一歩的, 手机 810的处理器 812在根据 WebRTC服务器发送的所述 页面信息, 与所述远端终端建立呼叫连接之前, 还用于通过收发模块 813 接收所述浏览器服务器发送的第一令牌, 将该第一令牌存储于存储器 814, 并通过收发模块 813向所述 WebRTC服务器发送所述第一令牌的验证信息, 以使所述 WebRTC服务器对所述第一令牌的验证信息进行验证; 并且还用 于通过收发模块 813接收所述 WebRTC服务器发送的所述待转移通话对应 的页面信息, 所述待转移通话对应的页面信息为 WebRTC服务器在对所述 第一令牌的验证信息验证通过后发送的。
进一歩的, 处理器 812通过收发模块 813接收浏览器服务器发送的用 于标识待转移通话的第一标识具体可以包括: 在浏览器服务器接收到源终 端发送的用于启动所述待转移通话进行转移的指示后, 处理器 812通过收 发模块 813接收浏览器服务器发送的用于标识所述待转移通话的第一标识。 其中, 源终端和目的终端登录的浏览器账户可以相同, 以使源终端通过浏 览器服务器可以获知目的终端为可选的、 待转移的终端, 源终端发送的用 于启动待转移通话进行转移的指示中包括: 指示目的终端为待转移的终端 的指示信息。 在本发明实施例中, WebRTC服务器 820的处理器 822用于,通过收发 模块 823接收手机 810根据第一标识发送的用于请求所述待转移通话对应 的页面信息的第一请求消息; 通过收发模块 823向手机 810发送所述待转 移通话对应的页面信息, 以使所述手机 810根据所述页面信息中的远端终 端的标识信息, 与远端终端建立用于承载待转移通话的呼叫连接, 以实现 所述待转移通话从源终端与所述远端终端之间转移至手机 810与所述远端 终端之间。
进一歩的, 该处理器 822具体可以用于, 通过收发模块 823接收手机 810发送的第一令牌的验证信息和所述手机 810根据第一标识发送的用于请 求所述待转移通话对应的页面信息的第一请求消息, 请将该第一令牌的验 证信息存储于存储器 824; 通过收发模块 823接收源终端发送的第二令牌, 并存储于存储器 824中, 根据该第二令牌, 对手机 810发送的所述第一令 牌的验证信息进行验证; 若对所述第一令牌的验证信息进行验证得到所述 第一令牌与所述第二令牌相同, 则通过收发模块 823向所述手机 810发送 所述待转移通话对应的页面信息。
进一歩的, 该处理器 822在接收手机 810根据第一标识发送的用于请 求所述待转移通话对应的页面信息的第一请求消息之前, 还可以用于, 接 收源终端发送的生成所述第一标识的生成请求, 将根据所述生成请求生成 的所述第一标识发送给所述源终端, 以使所述源终端将所述第一标识发送 给浏览器服务器, 以使所述浏览器服务器将所述第一标识发送给所述手机 810。 图 9为本发明实施例提供的一种 WebRTC通话转移装置的结构示意图, 该 WebRTC通话转移装置可以为终端设备, 如图 9所示, 该 WebRTC通话 转移装置 900包括:
一个或多个处理器 902; 存储器 904; 以及
一个或多个程序, 其中该一个或多个程序存储在存储器 904 中并被配 置为由所述一个或多个处理器 902执行, 所述一个或多个程序包括:
接收用于标识待转移通话的第一标识的指令; 所述待转移通话为源终 端与远端终端之间已建立的 WebRTC通话;
根据所述第一标识, 向网页实时通信服务器发送用于请求所述待转移 通话对应的页面信息的第一请求消息的指令;
根据所述网页实时通信服务器发送的所述页面信息中的所述远端终端 的标识信息, 与所述远端终端建立用于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端与所述远端终端之间转移至目的终端 与所述远端终端之间的指令。
进一歩的, 所述一个或多个程序还可以包括: 在根据所述网页实时通 信服务器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端 终端建立用于承载所述待转移通话的呼叫连接之前,
接收浏览器服务器发送的第一令牌的指令; 所述第一令牌为所述浏览 器服务器为所述目的终端分配的用于标识所述目的终端的令牌;
向所述网页实时通信服务器发送所述第一令牌的验证信息, 以使所述 网页实时通信服务器对所述第一令牌的验证信息进行验证的指令;
接收所述网页实时通信服务器在对所述第一令牌的验证信息验证通过 后发送的所述待转移通话对应的页面信息的指令。
进一歩的, 根据所述网页实时通信服务器发送的所述页面信息中的所 述远端终端的标识信息, 与所述远端终端建立用于承载所述待转移通话的 呼叫连接的指令, 具体可以包括:
根据所述网页实时通信服务器发送的所述页面信息中的所述远端终端 的标识信息, 通过所述网页实时通信服务器向所述远端终端发送呼叫请求 消息的指令; 通过所述网页实时通信服务器接收所述远端终端根据所述呼叫请求返 回的响应消息, 建立与所述远端终端的用于承载所述待转移通话的呼叫连 接的指令。
进一歩的, 接收用于标识待转移通话的第一标识的指令, 具体包括: 接收浏览器服务器在接收到所述源终端发送的用于启动所述待转移通 话进行转移的指示后, 发送的用于标识所述待转移通话的第一标识的指令; 所述源终端和所述目的终端登录的浏览器账户相同, 以使所述源终端 通过所述浏览器服务器获知所述目的终端为可选的、 待转移的终端, 所述 源终端发送的用于启动所述待转移通话进行转移的指示中包括: 指示所述 目的终端为待转移的终端的指示信息。
本发明实施例, 作为目的终端的终端设备可以从浏览器服务器获取待 转移通话的标识, 并根据该标识从 WebRTC服务器获取该待转移通话对应 的页面信息, 再根据该页面信息与远端终端建立呼叫连接, 使得源终端与 远端终端之间的 WebRTC通话在不中断的情况下可以转移到源终端与远端 终端之间, 从而实现了 WebRTC 通话在终端间的无缝转移; 并且还通过 WebRTC 服务器对目的终端的验证过程, 增加了通话转移过程的安全性, 以保证通话能转移到指定的目的终端。 图 10为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图, 该 WebRTC通话转移装置可以为 WebRTC服务器, 如图 10所示, 该 WebRTC通话转移装置 1000包括:
一个或多个处理器 1002;
存储器 1004; 以及
一个或多个程序, 其中该一个或多个程序存储在存储器 1004中并被配 置为由所述一个或多个处理器 1002执行, 所述一个或多个程序包括:
接收目的终端根据第一标识发送的用于请求待转移通话对应的页面信 息的第一请求消息的指令; 所述第一标识用于标识所述待转移通话, 所述 待转移通话为源终端与远端终端之间已建立的 WebRTC通话;
向目的终端发送所述待转移通话对应的页面信息, 以使所述目的终端 根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端 与所述远端终端之间转移至目的终端与所述远端终端之间的指令。
进一歩的, 所述一个或多个程序还可以包括:
在所述向目的终端发送所述待转移通话对应的页面信息之前, 接收所 述目的终端发送的第一令牌的验证信息的指令; 所述第一令牌为浏览器服 务器为所述目的终端分配的用于标识所述目的终端的令牌;
根据所述源终端发送的第二令牌, 对所述目的终端发送的所述第一令 牌的验证信息进行验证的指令; 所述第二令牌为所述源终端从所述浏览器 服务器获取的、 所述浏览器服务器为所述目的终端分配的用于标识所述目 的终端的令牌。
进一歩的, 所述向目的终端发送所述待转移通话对应的页面信息的指 令, 具体包括: 若对所述第一令牌的验证信息进行验证得到所述第一令牌 与所述第二令牌相同, 则向所述目的终端发送所述待转移通话对应的页面 信息的指令。
进一歩的, 所述一个或多个程序还可以包括: 接收目的终端根据第一 标识发送的用于请求所述待转移通话对应的页面信息的第一请求消息之 接收所述源终端发送的生成所述第一标识的生成请求的指令; 将根据所述生成请求生成的所述第一标识发送给所述源终端, 以使所 述源终端将所述第一标识发送给浏览器服务器, 以使所述浏览器服务器将 所述第一标识发送给所述目的终端的指令。
进一歩的, 所述一个或多个程序还可以包括: 向目的终端发送所述待 转移通话对应的页面信息之后,
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息的指 将所述呼叫请求消息发送给所述远端终端的指令;
接收所述远端终端根据所述呼叫请求返回的响应消息的指令; 将所述响应消息发送给所述目的终端, 以使所述目的终端建立与所述 远端终端的呼叫连接的指令。
进一歩的, 所述一个或多个程序还可以包括:
在所述远端终端与所述目的终端建立呼叫连接之后, 释放所述远端终 端与所述源终端之间的呼叫连接的指令。
进一歩的, 所述一个或多个程序还可以包括: 向目的终端发送所述待 转移通话对应的页面信息之后,
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息的指 令; 所述呼叫请求消息中包括与所述目的终端对应的第一会话标识;
将所述呼叫请求消息中的所述第一会话标识变更为与所述源终端对应 的第二会话标识的指令;
将变更后的所述呼叫请求消息发送给所述远端终端的指令;
接收所述远端终端根据变更后的所述呼叫请求返回的响应消息的指 令; 所述响应消息中包括所述第二会话标识;
将所述响应消息中的第二会话标识变更为所述第一会话标识的指令; 将变更后的所述响应消息发送给所述目的终端, 以使所述目的终端建 立与所述远端终端的呼叫连接的指令;
在所述目的终端与所述远端终端建立呼叫连接之后, 向所述源终端发 送用于指示所述源终端释放所述待转移通话的释放指示消息的指令。
本发明实施例, WebRTC服务器根据目的终端的请求,将待转移通话对 应的页面信息发送给目的终端, 使得目的终端根据该页面信息与远端终端 建立呼叫连接, 使得源终端与远端终端之间的 WebRTC通话在不中断的情 况下可以转移到源终端与远端终端之间, 从而实现了 WebRTC通话在终端 间的无缝转移; 并且 WebRTC服务器还可以对目的终端进行验证, 增加了 通话转移过程的安全性, 以保证通话能转移到指定的目的终端。
图 11为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图, 该 WebRTC通话转移装置可以为终端设备, 如图 11所示, 该 WebRTC 通话转移装置 1100包括: 标识接收模块 1101、 页面请求模块 1103和呼叫 连接模块 1105。
标识接收模块 1101, 用于接收用于标识待转移通话的第一标识; 所述 待转移通话为源终端与远端终端之间已建立的 WebRTC通话。
页面请求模块 1103,用于根据标识接收模块 1101接收的所述第一标识, 向 WebRTC服务器发送用于请求所述待转移通话对应的页面信息的第一请 求消息。
呼叫连接模块 1105, 用于根据所述 WebRTC服务器发送的所述页面信 息中的所述远端终端的标识信息, 与所述远端终端建立用于承载所述待转 移通话的呼叫连接, 以实现所述待转移通话从所述源终端与所述远端终端 之间转移至目的终端与所述远端终端之间; 所述页面信息为所述 WebRTC 服务器根据页面请求模块 1103发送的所述第一请求消息发送的。
在上述基础上, 在另一实施方式中, WebRTC通话转移装置 1100还可 以包括:第一令牌接收模块 1107、验证发送模块 1109和页面接收模块 1112。
第一令牌接收模块 1107,用于在呼叫连接模块 1105根据所述 WebRTC 服务器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终 端建立用于承载所述待转移通话的呼叫连接之前, 接收浏览器服务器发送 的第一令牌; 所述第一令牌为所述浏览器服务器为所述目的终端分配的用 于标识所述目的终端的令牌。
验证发送模块 1109,用于在呼叫连接模块 1105根据所述 WebRTC服务 器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建 立用于承载所述待转移通话的呼叫连接之前, 向所述 WebRTC服务器发送 第一令牌接收模块 1107 接收的所述第一令牌的验证信息, 以使所述 WebRTC服务器对所述第一令牌的验证信息进行验证。
页面接收模块 1112,用于在呼叫连接模块 1105根据所述 WebRTC服务 器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建 立用于承载所述待转移通话的呼叫连接之前, 接收所述 WebRTC服务器在 对所述第一令牌的验证信息验证通过后发送的所述待转移通话对应的页面
I R Ή自、 o
进一歩的, 呼叫连接模块 1105具体可以包括: 呼叫请求单元 1151和 连接建立单元 1153。
呼叫请求单元 1151, 用于根据所述 WebRTC服务器发送的所述页面信 息中的所述远端终端的标识信息, 通过所述 WebRTC服务器向所述远端终 端发送呼叫请求消息; 所述页面信息为所述 WebRTC服务器根据页面请求 模块 1103发送的所述第一请求消息发送的。
连接建立单元 1153, 用于通过所述 WebRTC服务器接收所述远端终端 根据所述呼叫请求返回的响应消息, 建立与所述远端终端的用于承载所述 待转移通话的呼叫连接。
进一歩的, 标识接收模块 1101, 具体用于接收浏览器服务器在接收到 所述源终端发送的用于启动所述待转移通话进行转移的指示后, 发送的用 于标识所述待转移通话的第一标识。 所述源终端和所述目的终端登录的浏 览器账户相同, 以使所述源终端通过所述浏览器服务器获知所述目的终端 为可选的、 待转移的终端, 所述源终端发送的用于启动所述待转移通话进 行转移的指示中包括: 指示所述目的终端为待转移的终端的指示信息。
本发明实施例提供的终端设备相当于上述各方法实施例中的目的终 端, 本发明实施例中各个模块和单元的工作原理和工作流程参见上述各方 法实施例。
本发明实施例, 目的终端的标识接收模块可以从浏览器服务器接收待 转移通话的标识, 页面请求模块可以根据该标识从 WebRTC服务器获取该 待转移通话对应的页面信息, 呼叫连接模块可以根据该页面信息中的远端 终端的标识信息与远端终端建立呼叫连接, 使得源终端与远端终端之间的
WebRTC 通话在不中断的情况下可以转移到源终端与远端终端之间, 从而 实现了 WebRTC通话在终端间的无缝转移; 并且通过增加第一令牌接收模 块和验证发送模块, 可以使得 WebRTC服务器对目的终端进行验证, 增加 了通话转移过程的安全性, 以保证通话能转移到指定的目的终端。
图 12为本发明实施例提供的另一种 WebRTC通话转移装置的结构示意 图, 该 WebRTC通话转移装置可以为 WebRTC服务器, 如图 12所示, 该 WebRTC通话转移装置 1200包括: 页面请求接收模块 1201和页面发送模 块 1203 ο
页面请求接收模块 1201, 用于接收目的终端根据第一标识发送的用于 请求待转移通话对应的页面信息的第一请求消息; 所述第一标识用于标识 所述待转移通话, 所述待转移通话为源终端与远端终端之间已建立的
WebRTC通话。
页面发送模块 1203,用于根据页面请求接收模块 1201接收的所述第一 请求消息向目的终端发送所述待转移通话对应的页面信息, 以使所述目的 终端根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建 立用于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源 终端与所述远端终端之间转移至目的终端与所述远端终端之间。
在上述基础上, 在另一实施方式中, WebRTC通话转移装置 1200还可 以包括: 验证信息接收模块 1205和验证执行模块 1207。
验证信息接收模块 1205,用于在页面发送模块 1203向目的终端发送所 述待转移通话对应的页面信息之前, 接收所述目的终端发送的第一令牌的 验证信息; 所述第一令牌为浏览器服务器为所述目的终端分配的用于标识 所述目的终端的令牌。
验证执行模块 1207, 用于根据所述源终端发送的第二令牌, 对所述验 证信息接收模块 1205接收的所述第一令牌的验证信息进行验证; 所述第二 令牌为所述源终端从所述浏览器服务器获取的、 所述浏览器服务器为所述 目的终端分配的用于标识所述目的终端的令牌。
进一歩的,页面发送模块 1203,具体可以用于若所述验证执行模块 1207 对所述第一令牌的验证信息进行验证得到所述第一令牌与所述第二令牌相 同, 则向所述目的终端发送所述待转移通话对应的页面信息。
进一歩的, WebRTC通话转移装置 1200还可以包括: 标识请求接收模 块 1209、 标识发送模块 1212。
标识请求接收模块 1209,用于在页面请求接收模块 1201接收目的终端 根据第一标识发送的用于请求待转移通话对应的页面信息的第一请求消息 之前, 接收所述源终端发送的生成所述第一标识的生成请求;
标识发送模块 1212,用于将根据标识请求接收模块 1209接收的所述生 成请求生成的所述第一标识发送给所述源终端, 以使所述源终端将所述第 一标识发送给浏览器服务器, 以使所述浏览器服务器将所述第一标识发送 给所述目的终端。
进一歩的, WebRTC通话转移装置 1200还可以包括: 第一呼叫请求处 理模块 1214。
第一呼叫请求处理模块 1214,用于在所述页面发送模块 1203向目的终 端发送所述第一标识对应的页面信息之后, 接收所述目的终端发送的用于 呼叫所述远端终端的呼叫请求消息, 将所述呼叫请求消息发送给所述远端 终端, 接收所述远端终端根据所述呼叫请求返回的响应消息, 将所述响应 消息发送给所述目的终端, 以使所述目的终端建立与所述远端终端的呼叫 连接。 进一歩的, WebRTC通话转移装置 1200还可以包括: 第二呼叫请求处 理模块 1216和释放指示模块 1218。
第二呼叫请求处理模块 1216, 包括: 第一接收单元、 第一变更单元、 第一发送单元、 第二接收单元、 第二变更单元和第二发送单元。
所述第一接收单元, 用于在所述页面发送模块向目的终端发送所述待 转移通话对应的页面信息之后, 接收所述目的终端发送的用于呼叫所述远 端终端的呼叫请求消息; 所述呼叫请求消息中包括与所述目的终端对应的 第一会话标识。
所述第一变更单元, 用于将所述第一接收单元接收的呼叫请求消息中 的所述第一会话标识变更为与所述源终端对应的第二会话标识。
所述第一发送单元, 用于将所述第一变更单元变更后的所述呼叫请求 消息发送给所述远端终端。
所述第二接收单元, 用于接收所述远端终端根据变更后的所述呼叫请 求返回的响应消息; 所述响应消息中包括所述第二会话标识。
所述第二变更单元, 用于将所述响应消息中的所述第二会话标识变更 为所述第一会话标识。
所述第二发送单元, 用于将变更后的所述响应消息发送给所述目的终 端, 以使所述目的终端建立与所述远端终端的呼叫连接。
释放指示模块 1218, 用于在所述目的终端与所述远端终端建立呼叫连 接之后, 向所述源终端发送用于指示所述源终端释放所述待转移通话的释 放指示消息。
本发明实施例提供的 WebRTC通话转移装置相当于上述各方法实施例 中的 WebRTC服务器, 本发明实施例中各个模块和单元的工作原理和工作 流程参见上述各方法实施例。
本发明实施例, WebRTC服务器的页面发送模块根据目的终端的请求, 将待转移通话对应的页面信息发送给目的终端, 使得目的终端根据该页面 信息中的远端终端的标识信息与远端终端建立呼叫连接, 使得源终端与远 端终端之间的 WebRTC通话在不中断的情况下可以转移到源终端与远端终 端之间,从而实现了 WebRTC通话在终端间的无缝转移;并且通过 WebRTC 服务器的验证信息接收模块和验证执行模块, 还可以对目的终端进行验证, 增加了通话转移过程的安全性, 以保证通话能转移到指定的目的终端。
通过以上的实施方式的描述, 所属领域的技术人员可以清楚地了解到 本发明可以用硬件实现, 或固件实现, 或它们的组合方式来实现。 当使用 软件实现时, 可以将上述功能存储在计算机可读介质中或作为计算机可读 介质上的一个或多个指令或代码进行传输。 计算机可读介质包括计算机存 储介质和通信介质, 其中通信介质包括便于从一个地方向另一个地方传送 计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。 以此为例但不限于: 计算机可读介质可以包括 RAM、 ROM, EEPROM, CD-ROM或其他光盘存储、 磁盘存储介质或者其他磁存储设备、 或者能够 用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算 机存取的任何其他介质。 此外, 任何连接可以适当的成为计算机可读介质。 例如, 如果软件是使用同轴电缆、 光纤光缆、 双绞线、 数字用户线 (DSL) 或者诸如红外线、 无线电和微波之类的无线技术从网站、 服务器或者其他 远程源传输的, 那么同轴电缆、 光纤光缆、 双绞线、 DSL或者诸如红外线、 无线电和微波之类的无线技术包括在所属介质的定影中。 如本发明所使用 的, 盘 (disk) 和碟 (disc) 包括压缩光碟 (CD)、 激光碟、 光碟、 数字通 用光碟(DVD)、 软盘和蓝光光碟, 其中盘通常磁性的复制数据, 而碟则用 激光来光学的复制数据。 上面的组合也应当包括在计算机可读介质的保护 范围之内。
总之, 以上所述仅为本发明的较佳实施例而已, 并非用于限定本发明 的保护范围。 凡在本发明的精神和原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims

权利要求
1、 一种网页实时通信 WebRTC通话转移方法, 其特征在于, 包括: 接收用于标识待转移通话的第一标识; 所述待转移通话为源终端与远 端终端之间已建立的 WebRTC通话;
根据所述第一标识, 向 WebRTC服务器发送用于请求所述待转移通话 对应的页面信息的第一请求消息;
根据所述 WebRTC服务器发送的所述页面信息中的所述远端终端的标 识信息, 与所述远端终端建立用于承载所述待转移通话的呼叫连接, 以实 现所述待转移通话从所述源终端与所述远端终端之间转移至目的终端与所 述远端终端之间。
2、根据权利要求 1所述的方法,其特征在于,在所述根据所述 WebRTC 服务器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终 端建立用于承载所述待转移通话的呼叫连接之前还包括:
接收浏览器服务器发送的第一令牌; 所述第一令牌为所述浏览器服务 器为所述目的终端分配的用于标识所述目的终端的令牌;
向所述 WebRTC 服务器发送所述第一令牌的验证信息, 以使所述 WebRTC服务器对所述第一令牌的验证信息进行验证;
接收所述 WebRTC服务器在对所述第一令牌的验证信息验证通过后发 送的所述待转移通话对应的页面信息。
3、根据权利要求 1或 2所述的方法,其特征在于,所述根据所述 WebRTC 服务器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终 端建立用于承载所述待转移通话的呼叫连接, 包括:
根据所述 WebRTC服务器发送的所述页面信息中的所述远端终端的标 识信息, 通过所述 WebRTC服务器向所述远端终端发送呼叫请求消息; 通过所述 WebRTC服务器接收所述远端终端根据所述呼叫请求返回的 响应消息, 建立与所述远端终端的用于承载所述待转移通话的呼叫连接。
4、 根据权利要求 1-3任一所述的方法, 其特征在于, 所述接收用于标 识待转移通话的第一标识, 具体包括:
接收浏览器服务器在接收到所述源终端发送的用于启动所述待转移通 话进行转移的指示后, 发送的用于标识所述待转移通话的第一标识;
所述源终端和所述目的终端登录的浏览器账户相同, 以使所述源终端 通过所述浏览器服务器获知所述目的终端为可选的、 待转移的终端, 所述 源终端发送的用于启动所述待转移通话进行转移的指示中包括: 指示所述 目的终端为待转移的终端的指示信息。
5、 一种网页实时通信 WebRTC通话转移方法, 其特征在于, 包括: 接收目的终端根据第一标识发送的用于请求待转移通话对应的页面信 息的第一请求消息; 所述第一标识用于标识所述待转移通话, 所述待转移 通话为源终端与远端终端之间已建立的 WebRTC通话;
向目的终端发送所述待转移通话对应的页面信息, 以使所述目的终端 根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端 与所述远端终端之间转移至目的终端与所述远端终端之间。
6、 根据权利要求 5所述的方法, 其特征在于, 还包括:
在所述向目的终端发送所述待转移通话对应的页面信息之前, 接收所 述目的终端发送的第一令牌的验证信息; 所述第一令牌为浏览器服务器为 所述目的终端分配的用于标识所述目的终端的令牌;
根据所述源终端发送的第二令牌, 对所述目的终端发送的所述第一令 牌的验证信息进行验证; 所述第二令牌为所述源终端从所述浏览器服务器 获取的、 所述浏览器服务器为所述目的终端分配的用于标识所述目的终端 的令牌;
所述向目的终端发送所述待转移通话对应的页面信息具体包括: 若对 所述第一令牌的验证信息进行验证得到所述第一令牌与所述第二令牌相 同, 则向所述目的终端发送所述待转移通话对应的页面信息。
7、 根据权利要求 5或 6所述的方法, 其特征在于, 所述接收目的终端 根据第一标识发送的用于请求待转移通话对应的页面信息的第一请求消息 之前, 还包括:
接收所述源终端发送的生成所述第一标识的生成请求;
将根据所述生成请求生成的所述第一标识发送给所述源终端, 以使所 述源终端将所述第一标识发送给浏览器服务器, 以使所述浏览器服务器将 所述第一标识发送给所述目的终端。
8、 根据权利要求 5-7任一所述的方法, 其特征在于, 所述向目的终端 发送所述待转移通话对应的页面信息之后还包括:
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息; 将所述呼叫请求消息发送给所述远端终端;
接收所述远端终端根据所述呼叫请求返回的响应消息;
将所述响应消息发送给所述目的终端, 以使所述目的终端建立与所述 远端终端的呼叫连接。
9、 根据权利要求 8所述的方法, 其特征在于, 还包括:
在所述远端终端与所述目的终端建立呼叫连接之后, WebRTC 服务器 或所述远端终端释放所述远端终端与所述源终端之间的呼叫连接。
10、根据权利要求 5-7任一所述的方法, 其特征在于, 所述向目的终端 发送所述待转移通话对应的页面信息之后还包括:
接收所述目的终端发送的用于呼叫所述远端终端的呼叫请求消息; 所 述呼叫请求消息中包括与所述目的终端对应的第一会话标识;
将所述呼叫请求消息中的所述第一会话标识变更为与所述源终端对应 的第二会话标识;
将变更后的所述呼叫请求消息发送给所述远端终端;
接收所述远端终端根据变更后的所述呼叫请求返回的响应消息; 所述 响应消息中包括所述第二会话标识;
将所述响应消息中的所述第二会话标识变更为所述第一会话标识; 将变更后的所述响应消息发送给所述目的终端, 以使所述目的终端建 立与所述远端终端的呼叫连接;
在所述目的终端与所述远端终端建立呼叫连接之后, 向所述源终端发 送用于指示所述源终端释放所述待转移通话的释放指示消息。
11、 一种网页实时通信 WebRTC通话转移装置, 其特征在于, 包括: 标识接收模块, 用于接收用于标识待转移通话的第一标识; 所述待转 移通话为源终端与远端终端之间已建立的 WebRTC通话;
页面请求模块, 用于根据所述标识接收模块接收的所述第一标识, 向 WebRTC 服务器发送用于请求所述待转移通话对应的页面信息的第一请求 消息;
呼叫连接模块, 用于根据所述 WebRTC服务器发送的所述页面信息中 的所述远端终端的标识信息, 与所述远端终端建立用于承载所述待转移通 话的呼叫连接, 以实现所述待转移通话从所述源终端与所述远端终端之间 转移至目的终端与所述远端终端之间; 所述页面信息为所述 WebRTC服务 器根据所述页面请求模块发送的所述第一请求消息发送的。
12、 根据权利要求 11所述的装置, 其特征在于, 还包括:
第一令牌接收模块, 用于在所述呼叫连接模块根据所述 WebRTC服务 器发送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建 立用于承载所述待转移通话的呼叫连接之前, 接收浏览器服务器发送的第 一令牌; 所述第一令牌为所述浏览器服务器为所述目的终端分配的用于标 识所述目的终端的令牌;
验证发送模块, 用于在所述呼叫连接模块根据所述 WebRTC服务器发 送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接之前, 向所述 WebRTC服务器发送所述 第一令牌接收模块接收的所述第一令牌的验证信息, 以使所述 WebRTC服 务器对所述第一令牌的验证信息进行验证;
页面接收模块, 用于在所述呼叫连接模块根据所述 WebRTC服务器发 送的所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接之前, 接收所述 WebRTC服务器在对所 述第一令牌的验证信息验证通过后发送的所述待转移通话对应的页面信 息。
13、 根据权利要求 11或 12所述的装置, 其特征在于, 所述呼叫连接 模块包括:
呼叫请求单元, 用于根据所述 WebRTC服务器发送的所述页面信息中 的所述远端终端的标识信息, 通过所述 WebRTC服务器向所述远端终端发 送呼叫请求消息; 所述页面信息为所述 WebRTC服务器根据所述页面请求 模块发送的所述第一请求消息发送的;
连接建立单元, 用于通过所述 WebRTC服务器接收所述远端终端根据 所述呼叫请求返回的响应消息, 建立与所述远端终端的用于承载所述待转 移通话的呼叫连接。
14、根据权利要求 11-13任一所述的装置, 其特征在于, 所述标识接收 模块, 具体用于接收浏览器服务器在接收到所述源终端发送的用于启动所 述待转移通话进行转移的指示后, 发送的用于标识所述待转移通话的第一 标识;
所述源终端和所述目的终端登录的浏览器账户相同, 以使所述源终端 通过所述浏览器服务器获知所述目的终端为可选的、 待转移的终端, 所述 源终端发送的用于启动所述待转移通话进行转移的指示中包括: 指示所述 目的终端为待转移的终端的指示信息。
15、 一种网页实时通信 WebRTC通话转移装置, 其特征在于, 包括: 页面请求接收模块, 用于接收目的终端根据第一标识发送的用于请求 待转移通话对应的页面信息的第一请求消息; 所述第一标识用于标识所述 待转移通话, 所述待转移通话为源终端与远端终端之间已建立的 WebRTC 通话;
页面发送模块, 用于根据所述页面请求接收模块接收的所述第一请求 消息向目的终端发送所述待转移通话对应的页面信息, 以使所述目的终端 根据所述页面信息中的所述远端终端的标识信息, 与所述远端终端建立用 于承载所述待转移通话的呼叫连接, 以实现所述待转移通话从所述源终端 与所述远端终端之间转移至目的终端与所述远端终端之间。
16、 根据权利要求 15所述的装置, 其特征在于, 还包括: 验证信息接 收模块和验证执行模块;
验证信息接收模块, 用于在所述向目的终端发送所述待转移通话对应 的页面信息之前, 接收所述目的终端发送的第一令牌的验证信息; 所述第 一令牌为浏览器服务器为所述目的终端分配的用于标识所述目的终端的令 牌;
验证执行模块, 用于根据所述源终端发送的第二令牌, 对所述验证信 息接收模块接收的所述第一令牌的验证信息进行验证; 所述第二令牌为所 述源终端从所述浏览器服务器获取的、 所述浏览器服务器为所述目的终端 分配的用于标识所述目的终端的令牌;
所述页面发送模块, 具体用于若所述验证执行模块对所述第一令牌的 验证信息进行验证得到所述第一令牌与所述第二令牌相同, 则向所述目的 终端发送所述待转移通话对应的页面信息。
17、 根据权利要求 15或 16所述的装置, 其特征在于, 还包括: 标识请求接收模块, 用于在所述页面请求接收模块接收目的终端根据 第一标识发送的用于请求待转移通话对应的页面信息的第一请求消息之 前, 接收所述源终端发送的生成所述第一标识的生成请求;
标识发送模块, 用于将根据所述标识请求接收模块接收的所述生成请 求生成的所述第一标识发送给所述源终端, 以使所述源终端将所述第一标 识发送给浏览器服务器, 以使所述浏览器服务器将所述第一标识发送给所 述目的终端。
18、 根据权利要求 15-17任一所述的装置, 其特征在于, 还包括: 第一呼叫请求处理模块, 用于在所述页面发送模块向目的终端发送所 述第一标识对应的页面信息之后, 接收所述目的终端发送的用于呼叫所述 远端终端的呼叫请求消息, 将所述呼叫请求消息发送给所述远端终端, 接 收所述远端终端根据所述呼叫请求返回的响应消息, 将所述响应消息发送 给所述目的终端, 以使所述目的终端建立与所述远端终端的呼叫连接。
19、 根据权利要求 15-17任一所述的装置, 其特征在于, 还包括: 第二 呼叫请求处理模块和释放指示模块;
所述第二呼叫请求处理模块, 包括: 第一接收单元、 第一变更单元、 第一发送单元、 第二接收单元、 第二变更单元和第二发送单元;
所述第一接收单元, 用于在所述页面发送模块向目的终端发送所述待 转移通话对应的页面信息之后, 接收所述目的终端发送的用于呼叫所述远 端终端的呼叫请求消息; 所述呼叫请求消息中包括与所述目的终端对应的 第一会话标识;
所述第一变更单元, 用于将所述第一接收单元接收的呼叫请求消息中 的所述第一会话标识变更为与所述源终端对应的第二会话标识;
所述第一发送单元, 用于将所述第一变更单元变更后的所述呼叫请求 消息发送给所述远端终端;
所述第二接收单元, 用于接收所述远端终端根据变更后的所述呼叫请 求返回的响应消息; 所述响应消息中包括所述第二会话标识;
所述第二变更单元, 用于将所述响应消息中的所述第二会话标识变更 为所述第一会话标识;
所述第二发送单元, 用于将变更后的所述响应消息发送给所述目的终 端, 以使所述目的终端建立与所述远端终端的呼叫连接;
所述释放指示模块, 用于在所述目的终端与所述远端终端建立呼叫连 接之后, 向所述源终端发送用于指示所述源终端释放所述待转移通话的释 放指示消息。
PCT/CN2012/084622 2012-11-15 2012-11-15 网页实时通信通话转移方法及装置 WO2014075250A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP12888390.7A EP2787696B1 (en) 2012-11-15 2012-11-15 Method and device for transferring web real-time communication session
CN201280005197.7A CN103891246B (zh) 2012-11-15 2012-11-15 网页实时通信通话转移方法及装置
PCT/CN2012/084622 WO2014075250A1 (zh) 2012-11-15 2012-11-15 网页实时通信通话转移方法及装置
US14/330,729 US9749143B2 (en) 2012-11-15 2014-07-14 Web real-time communication call transferring method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/084622 WO2014075250A1 (zh) 2012-11-15 2012-11-15 网页实时通信通话转移方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/330,729 Continuation US9749143B2 (en) 2012-11-15 2014-07-14 Web real-time communication call transferring method and apparatus

Publications (1)

Publication Number Publication Date
WO2014075250A1 true WO2014075250A1 (zh) 2014-05-22

Family

ID=50730484

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/084622 WO2014075250A1 (zh) 2012-11-15 2012-11-15 网页实时通信通话转移方法及装置

Country Status (4)

Country Link
US (1) US9749143B2 (zh)
EP (1) EP2787696B1 (zh)
CN (1) CN103891246B (zh)
WO (1) WO2014075250A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3016344A1 (de) 2014-10-27 2016-05-04 Deutsche Telekom AG Intelligenter Media-Gateway Switch für transparentes Routen und Verketten von Medienströmen
EP3016341A1 (de) 2014-10-27 2016-05-04 Deutsche Telekom AG Verfahren und Anordnung zur effizienten Gestaltung von Web basierten Kommunikationsdiensten
CN105933393A (zh) * 2016-04-12 2016-09-07 乐视控股(北京)有限公司 一种局域网内数据同步方法及其装置、用户终端
US10440091B2 (en) 2014-11-14 2019-10-08 Samsung Electronics Co., Ltd Communication method, electronic device and storage medium

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9363133B2 (en) * 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
US9037735B1 (en) * 2013-03-15 2015-05-19 Kaazing Corporation Establishing websocket protocol extensions
US10055742B2 (en) * 2013-05-15 2018-08-21 Verizon Patent And Licensing Inc. Call transfers for web-delivered calls
US10205624B2 (en) 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9525718B2 (en) 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US9118650B1 (en) 2013-09-23 2015-08-25 Amazon Technologies, Inc. Persistent connections for email web applications
US10225212B2 (en) 2013-09-26 2019-03-05 Avaya Inc. Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US10581927B2 (en) * 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
FR3022093A1 (fr) * 2014-06-10 2015-12-11 Orange Procede d'etablissement d'une session webrtc
US9912705B2 (en) * 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
CN105515937B (zh) * 2014-09-24 2020-09-15 腾讯科技(深圳)有限公司 一种即时通讯方法、终端、服务器以及系统
US9848306B2 (en) * 2014-12-17 2017-12-19 Intel Corporation Contextually aware dynamic group formation
CN106161179B (zh) * 2015-03-26 2019-12-20 中兴通讯股份有限公司 一种基于网页的实时通信的媒体处理方法与装置
CN106487859B (zh) * 2015-09-01 2019-08-30 北京国双科技有限公司 监测用户访问行为的方法、装置、终端设备及系统
CN105516112A (zh) * 2015-12-01 2016-04-20 深圳联友科技有限公司 通过基于WebRTC的浏览器实现语音通话的方法及系统
US10469559B2 (en) * 2015-12-03 2019-11-05 Avaya Inc. Quality of service for web real-time communication networks
US10652365B2 (en) * 2016-01-06 2020-05-12 Adobe Inc. Robust computing device identification framework
CN107979564A (zh) * 2016-10-21 2018-05-01 中兴通讯股份有限公司 一种网页实时通信会话的无缝切换方法及装置
US9942322B1 (en) * 2017-04-07 2018-04-10 T-Mobile Usa, Inc. Call log update across mobile device and WebRTC client device
CN110324289B (zh) * 2018-03-30 2021-08-31 南宁富桂精密工业有限公司 通话方法、服务器及计算机可读存储介质
CN109788072A (zh) * 2019-03-07 2019-05-21 杭州当虹科技股份有限公司 一种将标准Webrtc客户端接入现有系统的方法
CN112019791A (zh) * 2019-05-30 2020-12-01 广州云积软件技术有限公司 基于教育考试的多方音视频通话方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120556A (zh) * 2005-02-17 2008-02-06 夏普株式会社 通信网络的控制系统、通信终端以及通信网络的控制方法
CN102572365A (zh) * 2010-12-22 2012-07-11 深圳市同洲软件有限公司 一种视频通话切换方法、移动终端和系统
CN102696224A (zh) * 2010-01-05 2012-09-26 Lg电子株式会社 将视频通信连接到其它装置的方法、视频通信设备及其显示设备

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1330098A1 (en) * 2002-01-21 2003-07-23 BRITISH TELECOMMUNICATIONS public limited company Method and communication system for data web session transfer
US7289493B1 (en) 2002-02-21 2007-10-30 Telecontinuity, Inc. System and method for providing location independent voice communications continuity through disasters
KR101091227B1 (ko) * 2004-02-04 2011-12-07 엘지전자 주식회사 웹 브라우저를 이용한 휴대폰의 착신호 전환 방법
EP2119176A2 (de) * 2007-02-07 2009-11-18 Gigaset Communications GmbH Webbasierte suche in einem kommunikationsverzeichnis und herstellung einer kommunikationsverbindung zu einem anderen teilnehmer in einem leitungs- und/oder paketvermittelten kommunikationsnetz auf der grundlage eines suchergebnisses
US8325738B2 (en) * 2007-05-30 2012-12-04 Insidesales.com Apparatus system and method for web-based phone services
JP2009017347A (ja) * 2007-07-06 2009-01-22 Toshiba Corp 通信を制御する装置、方法、プログラム、および端末装置
CN101527894B (zh) * 2008-06-13 2010-10-27 华为技术有限公司 一种实现显式呼叫转移的方法、设备及移动通信系统
US8416766B2 (en) * 2008-06-27 2013-04-09 Hewlett-Packard Development Company, L.P. Method for implementing distributed voice functions into software applications
FI122516B (fi) * 2009-09-17 2012-02-29 Tellabs Oy Menetelmä ja järjestelmä tiedonsiirtoistunnon siirtämiseksi datalähteiden välillä
US8850037B2 (en) * 2012-05-24 2014-09-30 Fmr Llc Communication session transfer between devices
US9112975B2 (en) * 2012-11-05 2015-08-18 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with contact centers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101120556A (zh) * 2005-02-17 2008-02-06 夏普株式会社 通信网络的控制系统、通信终端以及通信网络的控制方法
CN102696224A (zh) * 2010-01-05 2012-09-26 Lg电子株式会社 将视频通信连接到其它装置的方法、视频通信设备及其显示设备
CN102572365A (zh) * 2010-12-22 2012-07-11 深圳市同洲软件有限公司 一种视频通话切换方法、移动终端和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2787696A4 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3016344A1 (de) 2014-10-27 2016-05-04 Deutsche Telekom AG Intelligenter Media-Gateway Switch für transparentes Routen und Verketten von Medienströmen
EP3016341A1 (de) 2014-10-27 2016-05-04 Deutsche Telekom AG Verfahren und Anordnung zur effizienten Gestaltung von Web basierten Kommunikationsdiensten
US10440091B2 (en) 2014-11-14 2019-10-08 Samsung Electronics Co., Ltd Communication method, electronic device and storage medium
CN105933393A (zh) * 2016-04-12 2016-09-07 乐视控股(北京)有限公司 一种局域网内数据同步方法及其装置、用户终端

Also Published As

Publication number Publication date
EP2787696B1 (en) 2016-10-26
EP2787696A1 (en) 2014-10-08
US20140324979A1 (en) 2014-10-30
CN103891246A (zh) 2014-06-25
US9749143B2 (en) 2017-08-29
CN103891246B (zh) 2017-06-20
EP2787696A4 (en) 2015-02-25

Similar Documents

Publication Publication Date Title
WO2014075250A1 (zh) 网页实时通信通话转移方法及装置
EP2517399B1 (en) Systems and methods for accessing and controlling media stored remotely
KR102047389B1 (ko) 공유되는 아이템 계정 선택 기법
US9622017B2 (en) Remote activation of mobile applications
US20100274858A1 (en) Mid-service sharing
WO2016184267A1 (zh) 提供指定通信服务的方法、装置、终端和系统
WO2016095705A1 (zh) 流媒体传输的方法、装置及系统
WO2014063658A1 (zh) 一种内容同步的方法和装置
US11489831B2 (en) Communication system and computer readable storage medium
AU2014357376B2 (en) System and method for seamlessly transitioning device-based interaction
US9800635B2 (en) System for selectively displaying information in a secured manner and method thereof
EP2814222B1 (en) Method, device, and system for pushing network content
US9882938B2 (en) Composite ARS service providing method and apparatus
CN111447236B (zh) 基于区块链的通信鉴权方法、装置、终端设备和存储介质
KR20150044316A (ko) Ars 서비스 제공 방법 및 장치
AU2014233547B2 (en) Systems and methods for accessing and controlling media stored remotely
AU2013270565B2 (en) Systems and methods for accessing and controlling media stored remotely
WO2011041982A1 (zh) 控制移动流媒体节目播放的方法及装置
CN107454580B (zh) 一种实现应用程序流量定向引导的方法和系统及移动终端
CN116112233A (zh) 身份认证方法、装置、设备及存储介质
Zafeiris et al. NFC-triggered IMS flow mobility across different devices
KR101399065B1 (ko) 암호화된 단말 정보의 인증을 통해 표준 프로토콜로 스트리밍 서비스를 제공하는 방법 및 장치
KR20150015659A (ko) 서비스 로그인 제어 방법, 사용자 단말 및 휴대용 소형 전자 장치
KR20130126790A (ko) 컨텐츠 파일의 동시 스트리밍 방지를 위한 사용자 단말, 이를 이용하는 컨텐츠 파일의 동시 스트리밍 방지시스템 및 방법

Legal Events

Date Code Title Description
REEP Request for entry into the european phase

Ref document number: 2012888390

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012888390

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12888390

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE