[go: up one dir, main page]

US20210273981A1 - Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client - Google Patents

Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client Download PDF

Info

Publication number
US20210273981A1
US20210273981A1 US17/322,708 US202117322708A US2021273981A1 US 20210273981 A1 US20210273981 A1 US 20210273981A1 US 202117322708 A US202117322708 A US 202117322708A US 2021273981 A1 US2021273981 A1 US 2021273981A1
Authority
US
United States
Prior art keywords
rtc client
request
client
rtc
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US17/322,708
Inventor
Thomas Stach
Ernst Horvath
Johannes Winter
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
RingCentral Inc
Original Assignee
RingCentral Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by RingCentral Inc filed Critical RingCentral Inc
Priority to US17/322,708 priority Critical patent/US20210273981A1/en
Publication of US20210273981A1 publication Critical patent/US20210273981A1/en
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: RINGCENTRAL, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1059End-user terminal functionalities specially adapted for real-time communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1094Inter-user-equipment sessions transfer or sharing
    • H04L65/601
    • H04L65/608
    • 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/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • 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
    • 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]
    • H04L67/42

Definitions

  • This invention concerns a method for establishing a communication connection suitable for transmitting media streams from a first Real-Time Communication (RTC) client to a second RTC client according to the preamble of claim 1 .
  • RTC Real-Time Communication
  • This invention also concerns a computer program or computer program product implementing the method, a corresponding machine-readable data carrier with the computer program stored on it, and a telecommunication system according to the preamble of claim 10 for executing the method.
  • JSEP JavaScript Session Establishment Protocol
  • IETF Internet Engineering Task Force
  • W3C World Wide Web Consortium
  • JSEP JavaScript Session Establishment Protocol
  • the JSEP is described in an IETF specification, and the current state of the work is documented in http://tools.iettorg/html/draft-ietf-rtcweb-jsep-02.
  • SDP Session Description Protocol
  • RFC Request for Comments
  • the browser's abilities also called capabilities
  • SDP data set using a CreateOffer command, for example.
  • the browser is configured with the desired media parameters by providing it with a—possibly modified—SDP data set, which can be done using the SetLocalDescription command, for example.
  • the media parameters are then sent to the communication partner by a web server.
  • the web server After receiving the response with the media parameters from the communication partner, the web server places the media parameters into the JavaScript code in the browser, which is then configured with the partner's media parameters (using the SetRemoteDescription command, for example), to make communication possible.
  • This invention is based on the objective of further developing the previously described method so that it is more flexible and can be applied with greater versatility.
  • a first RTC client generates a request for a communication connection to be established.
  • the request therefore contains media-specific data and/or parameters for the first RTC client, and preferably also for the communication connection.
  • the request generated by the first RTC client is adapted to the media-specific data and/or parameters of a second RTC client, with which a communication connection is to be established.
  • This adapted request is then transmitted to the second RTC client, and it in turn generates a response to the adapted request.
  • the second RTC client is then configured using the adapted request and response.
  • the response is also transmitted to the first RTC client, which in turn is configured using the adapted request and the response.
  • the invented method is characterized in that the first RTC client sends the response to a web server—and specifically not “through a web server” to the communication partner—and in the same manner the second RTC client also sends the response to the web server.
  • first RTC clients and/or multiple second RTC clients, which are sending and/or receiving different media (audio/video), for example.
  • This invention is therefore based on the concept of having the request (SDP modification in one example) changed not through the JavaScript code in a browser but rather in the web server. To do this, the appropriate data must be addressed to the corresponding web server, which is not used exclusively as the transit station for data and/or parameters, requests and responses.
  • the web server adapts the response to the media-specific data and/or parameters of the first RTC client—as well as the communication connection if necessary—before the web server transmits the (adapted) response to the first RTC client and to the second RTC client. This is particularly advantageous when the situation has changed between transmission and response, which can occur, for example, when the band width changes due to an additional video connection.
  • the invented method is particularly advantageous when multiple communication devices are assigned to one user, each having a first RTC client and/or a second RTC client, and when different media types are sent to different communication devices.
  • the web server can modify the media parameters appropriately, based on knowledge of the various devices and the user's preferences. Therefore, this invention offers particular advantages when media streams include different types of media.
  • connection between the first RTC client, the second RTC client, and the web server is a so-called Web-Socket connection or an HTTP-PUT request.
  • a call with multiple participants is modeled as a set of resources assigned to each of the participating users and managed centrally on the web server, wherein the web server then also coordinates these resources into a single overall picture of the call.
  • the Session Description Protocol can be used to generate and transmit the request, the adapted request, the response, and, if applicable, the adapted response.
  • a computer program product configured to be suitable for executing the previously described method, as well as a machine-readable data carrier on which the computer program product is stored, are also considered part of this invention.
  • the problem on which the invention is based is further solved with a telecommunication system consisting of a web server, a first RTC client that is either connectable or already connected to the web server, and a second RTC client that is either connectable or already connected to the web server.
  • the invented telecommunication system is therefore configured such that the web server, the first RTC client, and the second RTC client have equipment suitable for executing the previously described method.
  • This equipment can consist, for example, of software components, processors suitable for running these software components, and/or hardware components or similar items.
  • FIG. 1 a diagram of one embodiment of a telecommunication system according to the invention, in which the individual sequential steps can also be seen,
  • FIG. 2 a diagram of a telecommunication system according to the prior art and an overview representation of the sequential steps
  • FIG. 3 a schematic diagram of a configuration in which audio and video data are transmitted from one participant to another participant
  • FIG. 4 a diagram of a conference resource model
  • FIGS. 5 and 6 two examples of a call setup according to the invention.
  • the invented telecommunication system 10 consists of a web server 40 , a first RTC client 20 , and a second RTC client 30 , each of which is or at least can be connected to the web server 40 .
  • Both RTC clients are or preferably include browsers or WebRTC browsers.
  • Each of the RTC clients 20 , 30 is equipped with a first functional unit 22 or 32 and a second functional unit 24 or 34 .
  • the first functional unit 22 , 32 includes JavaScript/HTML5, a JSEP layer, and an RTCWeb client 23 or 33
  • the second functional unit 24 or 34 includes the functions of a WebRTC browser (the RTCWeb reference in FIG. 1 is equivalent to the WebRTC designation) and contains a PeerConnection API 25 or 35 .
  • FIG. 1 also shows schematically an illustrated data carrier 90 , in the form of a CD, on which a computer program product 92 is stored and which can be read by the web server 40 , for example.
  • FIG. 1 refers to an invented method in which JSEP with web server-based SDP modification is used.
  • API Application Programming Interface
  • an SDP data set is generated by the browser 20 , marked as a request 50 in the form of an SDP OFFER, and provided to the WebRTC client 23 .
  • This request 50 contains media-specific data and parameters for the first browser 20 and the communication connection.
  • the WebRTC client 23 forwards this request 50 to the web server 40 , for example through an already existing web-socket connection, an HTTP-PUT request, or other methods.
  • the web server 40 can adapt or manipulate the SDP OFFER 50 in a variety of ways in a special “OFFER adaptation” function. Examples of this would be reducing the number of offered codecs or eliminating video streams, if there was not enough band width available, for example.
  • This adapted response or SDP OFFER 52 is next sent back to the WebRTC client 23 in the browser 20 and forwarded through a SetLocalDescription method of the PeerConnection API 25 to the first browser 20 , which it then configures.
  • step S 4 which can take place simultaneously with step S 3 , the adapted request 52 is sent to the second browser 30 in the form of an adapted SDP OFFER and is shared for the subsequent generation of an adapted response 62 in the form of a modified SDP ANSWER by the second browser 30 with a so-called “ANSWER adaptation” function.
  • a step S 5 the adapted request 52 is then forwarded to the second browser 30 , e.g., through an already existing web socket connection.
  • a step S 6 the adapted request 52 in the second browser 30 is forwarded by means of the SetRemoteDescription method of the PeerConnection API 35 to the browser 30 .
  • the WebRTC client 33 calls up the Create-Answer method of the PeerConnection API 35 and receives an SDP data set marked as SDP ANSWER.
  • a step S 7 the WebRTC client 33 forwards the response 60 back to the web server 40 , e.g., through an already existing web-socket connection, an HTTP-PUT request, or other methods.
  • a step S 8 the SDP ANSWER 60 can be manipulated or adapted again in an “ANSWER adaptation” function with reference to the correspondingly adapted SDP OFFER 52 , and an adapted response 62 can be generated in the form of an adapted SDP ANSWER.
  • This adapted SDP ANSWER 62 is then sent back to the WebRTC client 33 in the second browser 30 and forwarded through the SetLocalDescription method of the PeerConnection API 35 to the browser 30 , which it then configures.
  • the described step S 8 is optional, since the response 60 or SDP ANSWER does not need to be adapted unless necessary. However, the step S 8 as such is necessary in order to call up the SetLocalDescription method.
  • step S 9 which can occur simultaneously with step S 8 , the adapted SDP ANSWER 62 is sent back to the WebRTC client 23 in the first browser 20 .
  • a step S 10 the adapted SDP ANSWER 62 is forwarded by means of the SetRemoteDescription method of the PeerConnection API 25 to the browser 20 , which it then configures.
  • Both browsers 20 , 30 now know the media parameters of their respective counterparts and can exchange media streams, which is represented in a step S 11 .
  • the abbreviations RTP, STUN, and ICE shown here stand for the exchange of the protocols used, as applicable.
  • FIG. 3 illustrates, as an example, a call in which a participant B receives audio data from a device B 2 and video data from another device B 1 , and the server combines the SDP data from these two end devices B 1 and B 2 into one SDP description before it is sent to participant A.
  • participant A can then receive both the audio data A and the video data V on the same device A 1 , i.e., from device B 2 or from device B 1 of participant B.
  • the device A 2 of participant A is not used at all.
  • the data C represents data in general, such as that used for control signals, for example, or Instant Messaging, for example.
  • the data C can therefore be any data except the aforementioned audio and video data.
  • many other examples of a connection with various media are possible.
  • FIG. 4 illustrates an exemplary model of a session resource used by a RESTful server.
  • This exemplary embodiment is based on the concept of resources used in the Web and uses a method for communication between web servers and clients that involves the use of RESTful (Representational State Transfer) procedures with asynchronous event reporting instead of one of the known signaling protocols such as SIP (Session Initiation Protocol).
  • RESTful Representational State Transfer
  • SIP Session Initiation Protocol
  • REST describes a particular programming style for web applications. A description of its basic principles is available at http://de.wikipedia.org/wiki/Representational_State_Transfer, for example.
  • REST is based on the abstract model of a resource on a web server, which can be unambiguously accessed using a URI (Uniform Resource Identifier).
  • URI Uniform Resource Identifier
  • CRUD Create, Read, Modify/Update, Delete
  • the caller can place a new resource on the server, if he calls another participant and initiates a new communication session. This can be handled completely using the REST principles.
  • the call recipient can also use the REST principles.
  • the NOTIFY operation is also necessary at the caller's end if the resource changes, because of the call recipient announcing his media parameters, for example. Additional details about this can be found at http://de.wikipedia.org/wiki/CRUD.
  • FIG. 4 illustrates how a call or an active communication relationship can be modeled as a session resource. It shows the user or participant as the primary resource and multiple sub-resources for one or more calls, media used (audio, video), other participants (e.g., in a conference call), etc.
  • a call with two to n participants is modeled as a set of resources assigned to each of the participating users and managed centrally on the web server. The web server coordinates these resources into a single overall picture of the call.
  • the sequences diagrammed above in FIG. 1 use the two containers positioned under “media” in FIG. 4 to exchange the adapted request (SDP OFFER) 52 and the (adapted) response (SDP ANSWER) 60 or 62 between the clients 20 , 30 and the web server 40 in the order shown in FIG. 1 .
  • This is managed first by the standard commands Create, Read, Modify, Delete, included in the RESTful set, oriented on HTTP (Hypertext Transfer Protocol), and issued by the client to the server (synchronous request/response method), and second through asynchronous event reports from the server to the client (the aforementioned NOTIFY operation).
  • modified function distribution during SDP generation is possible according to the invention. It is also possible to implement resource-based control instead of using the customary signaling protocol.
  • FIG. 5 illustrates a first method for initiating a call from a caller (Calling Party) through a REST server ((Functional Entity or FE) to a call recipient (Called Party).
  • a GET request is sent to the resource, which was announced by NOTIFY.
  • the related message 200 OK therefore contains all parameter values for the related instance of the resource and all sub-resources with their parameter values.
  • the NOTIFY message could even already contain the parameter values. This can eliminate the need for the GET request from the first alternative.
  • the NOTIFY command can include one or more resource URIs (with additional parameters if necessary).
  • the client In the case of a resource URI without additional parameters, the client must then send one or more GET requests for each resource URI, in order to obtain all the information.
  • the GET request contains a resource URI with additional parameters, then only changed parameters for each resource are received.
  • SDP pranswer in connection with a NOTIFY message refers to the concept of a “provisional answer” in JSEP, which is equivalent to a type of preview.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention concerns a computer-implemented method for establishing a communication connection suitable for transmitting media streams from a first RTC client (20) to a second RTC client (30), comprising the following steps:the first RTC client (20) generates a request (50) to establish the communication connection, wherein the request (50) contains media-specific data and/or parameters for the first RTC client (20), and preferably also for the communication connection,the request (50) is adapted to the media-specific data and/or parameters of the second RTC client (30),the adapted request (52) is sent to the second RTC client (30),the second RTC client (30) generates a response (60) to the adapted request (52),the second RTC client (30) is configured using the adapted request (52) and the response (60), and the response (60) is also sent to the first RTC client (20), andthe first RTC client (20) is configured using the adapted request (52) and the response (60).The method is characterized in thatthe first RTC client (20) sends the request (50) to a web server (40) and the second RTC client (30) sends the response (60) to the web server (40), andthe web server (40) adapts the request (50) and sends the adapted request (52) both to the second RTC client (30) and also back to the first RTC client (20), in addition to sending the response (60) both to the first RTC client (20) and also back to the second RTC client (30).

Description

  • This invention concerns a method for establishing a communication connection suitable for transmitting media streams from a first Real-Time Communication (RTC) client to a second RTC client according to the preamble of claim 1. This invention also concerns a computer program or computer program product implementing the method, a corresponding machine-readable data carrier with the computer program stored on it, and a telecommunication system according to the preamble of claim 10 for executing the method.
  • Based, among other things, on a WebRTC initiative (Real-Time Communication via the Worldwide Web) from the IETF (Internet Engineering Task Force) and W3C (World Wide Web Consortium), the JSEP (JavaScript Session Establishment Protocol) is often used for exchanging media-specific data and parameters between a web browser and a JavaScript-based application running on the browser, in order to establish an IP-based communication connection with another browser, an IP-based telephone, or a gateway in a telephone network. The JSEP is described in an IETF specification, and the current state of the work is documented in http://tools.iettorg/html/draft-ietf-rtcweb-jsep-02. The JSEP is based on the exchange of SDP-based media descriptions (SDP=Session Description Protocol, RFC [Request for Comments] 4566) and uses a two-stage signaling model. In the first stage, the browser's abilities (also called capabilities) are called up in the form of an SDP data set (using a CreateOffer command, for example). In a second stage, the browser is configured with the desired media parameters by providing it with a—possibly modified—SDP data set, which can be done using the SetLocalDescription command, for example.
  • The media parameters are then sent to the communication partner by a web server. After receiving the response with the media parameters from the communication partner, the web server places the media parameters into the JavaScript code in the browser, which is then configured with the partner's media parameters (using the SetRemoteDescription command, for example), to make communication possible.
  • The current JSEP specification http://tools.iettorg/html/draft-ietf-rtcweb-jsep-02#section-1 states that the previously described modification of the SDP data sets takes place in the JavaScript application. A procedure of this type is shown in FIG. 2 as an illustrative example, in which JSEP with JavaScript-based SDP modification is used.
  • However, the previously described procedure is sometimes not considered to be flexible enough.
  • This invention is based on the objective of further developing the previously described method so that it is more flexible and can be applied with greater versatility.
  • This objective is achieved with a computer-implemented method as in claim 1, a computer program product configured to implement this method as in claim 8, a machine-readable data carrier as in claim 9 with the computer program product stored on it, and a telecommunication system as in claim 10. Additional advantageous embodiments of the invention are the subject matter of the dependent claims.
  • According to the invention, a first RTC client generates a request for a communication connection to be established. The request therefore contains media-specific data and/or parameters for the first RTC client, and preferably also for the communication connection. Then the request generated by the first RTC client is adapted to the media-specific data and/or parameters of a second RTC client, with which a communication connection is to be established. This adapted request is then transmitted to the second RTC client, and it in turn generates a response to the adapted request. The second RTC client is then configured using the adapted request and response. In addition, the response is also transmitted to the first RTC client, which in turn is configured using the adapted request and the response. The invented method is characterized in that the first RTC client sends the response to a web server—and specifically not “through a web server” to the communication partner—and in the same manner the second RTC client also sends the response to the web server. Also according to the invention, the web server—and not the communication partner's browser—processes the request and sends the adapted request both to the second RTC client and also back to the first RTC client, in addition to sending the response both to the first RTC client and also back to the second RTC client.
  • Obviously, according to the invention, there can also be multiple first RTC clients and/or multiple second RTC clients, which are sending and/or receiving different media (audio/video), for example.
  • This invention is therefore based on the concept of having the request (SDP modification in one example) changed not through the JavaScript code in a browser but rather in the web server. To do this, the appropriate data must be addressed to the corresponding web server, which is not used exclusively as the transit station for data and/or parameters, requests and responses.
  • In this case, it should be noted that the protocols between a browser and a web server do not necessarily have to be defined. However, the data and the codecs, etc. do have to be defined, which still does not require the use of the SDP. However, usually a browser sends an SDP to a WebRTC client, through a CREATE command, for example. For a better understanding of this invention, some abbreviations and explanations are summarized below:
      • (S)RTP=(Secure) Real-Time Transport Protocol, see RFC 3550, RFC 3711,
      • STUN=Session Traversal Utilities for NAT (Network Address Translation), see RFC 5389,
      • ICE=Interactive Connectivity Establishment, see RFC 5245,
      • REST=Representational State Transfer,
      • SIP=Session Initiation Protocol
      • a WebRTC client is typically a web browser,
      • a request is generated, for example, through an SDP-OFFER,
      • a response is generated, for example, through an SDP-ANSWER,
  • According to one advantageous version of the invented method, the web server adapts the response to the media-specific data and/or parameters of the first RTC client—as well as the communication connection if necessary—before the web server transmits the (adapted) response to the first RTC client and to the second RTC client. This is particularly advantageous when the situation has changed between transmission and response, which can occur, for example, when the band width changes due to an additional video connection.
  • The invented method is particularly advantageous when multiple communication devices are assigned to one user, each having a first RTC client and/or a second RTC client, and when different media types are sent to different communication devices. This means that, for example, audio data can be sent to a smart phone with hands-free capability, but video data is sent to a tablet or notebook to be played on its larger screen. In such cases, the web server can modify the media parameters appropriately, based on knowledge of the various devices and the user's preferences. Therefore, this invention offers particular advantages when media streams include different types of media.
  • It can be advantageous when the connection between the first RTC client, the second RTC client, and the web server is a so-called Web-Socket connection or an HTTP-PUT request.
  • It can offer further advantages when so-called RESTful procedures are used in combination with asynchronous event reporting for the communication between the first RTC client, the second RTC client, and the web server. Here, for example, a call with multiple participants is modeled as a set of resources assigned to each of the participating users and managed centrally on the web server, wherein the web server then also coordinates these resources into a single overall picture of the call.
  • According to one embodiment of the invention, the Session Description Protocol (SDP) can be used to generate and transmit the request, the adapted request, the response, and, if applicable, the adapted response.
  • A computer program product configured to be suitable for executing the previously described method, as well as a machine-readable data carrier on which the computer program product is stored, are also considered part of this invention.
  • The problem on which the invention is based is further solved with a telecommunication system consisting of a web server, a first RTC client that is either connectable or already connected to the web server, and a second RTC client that is either connectable or already connected to the web server. The invented telecommunication system is therefore configured such that the web server, the first RTC client, and the second RTC client have equipment suitable for executing the previously described method. This equipment can consist, for example, of software components, processors suitable for running these software components, and/or hardware components or similar items.
  • Additional advantages, features, and characteristics of the present invention are presented in the following description of advantageous embodiments with reference to the drawing. The figures show schematically:
  • FIG. 1 a diagram of one embodiment of a telecommunication system according to the invention, in which the individual sequential steps can also be seen,
  • FIG. 2 a diagram of a telecommunication system according to the prior art and an overview representation of the sequential steps,
  • FIG. 3 a schematic diagram of a configuration in which audio and video data are transmitted from one participant to another participant,
  • FIG. 4 a diagram of a conference resource model, and
  • FIGS. 5 and 6 two examples of a call setup according to the invention.
  • According to FIG. 1, the invented telecommunication system 10 consists of a web server 40, a first RTC client 20, and a second RTC client 30, each of which is or at least can be connected to the web server 40. Both RTC clients are or preferably include browsers or WebRTC browsers. Each of the RTC clients 20, 30 is equipped with a first functional unit 22 or 32 and a second functional unit 24 or 34. The first functional unit 22, 32 includes JavaScript/HTML5, a JSEP layer, and an RTCWeb client 23 or 33, and the second functional unit 24 or 34 includes the functions of a WebRTC browser (the RTCWeb reference in FIG. 1 is equivalent to the WebRTC designation) and contains a PeerConnection API 25 or 35.
  • FIG. 1 also shows schematically an illustrated data carrier 90, in the form of a CD, on which a computer program product 92 is stored and which can be read by the web server 40, for example.
  • Below, with reference to FIG. 1, an embodiment of the invented method for establishing a communication connection suitable for transmitting media streams from a first browser or RTC client 20 to a second browser or RTC client 30 is described. In other words, FIG. 1 refers to an invented method in which JSEP with web server-based SDP modification is used.
  • In a step S1, the WebRTC client 23 calls a PeerConnection API (API=Application Programming Interface) 25 of the second functional unit 24 in the browser 20 using the CreateOffer method.
  • In a step S2, as a result, an SDP data set is generated by the browser 20, marked as a request 50 in the form of an SDP OFFER, and provided to the WebRTC client 23. This request 50 contains media-specific data and parameters for the first browser 20 and the communication connection. The WebRTC client 23 forwards this request 50 to the web server 40, for example through an already existing web-socket connection, an HTTP-PUT request, or other methods.
  • Next, in a step S3, the web server 40 can adapt or manipulate the SDP OFFER 50 in a variety of ways in a special “OFFER adaptation” function. Examples of this would be reducing the number of offered codecs or eliminating video streams, if there was not enough band width available, for example. This adapted response or SDP OFFER 52 is next sent back to the WebRTC client 23 in the browser 20 and forwarded through a SetLocalDescription method of the PeerConnection API 25 to the first browser 20, which it then configures.
  • In a step S4, which can take place simultaneously with step S3, the adapted request 52 is sent to the second browser 30 in the form of an adapted SDP OFFER and is shared for the subsequent generation of an adapted response 62 in the form of a modified SDP ANSWER by the second browser 30 with a so-called “ANSWER adaptation” function.
  • In a step S5, the adapted request 52 is then forwarded to the second browser 30, e.g., through an already existing web socket connection.
  • In a step S6, the adapted request 52 in the second browser 30 is forwarded by means of the SetRemoteDescription method of the PeerConnection API 35 to the browser 30. To generate a response 60 in the form of an SDP ANSWER, the WebRTC client 33 calls up the Create-Answer method of the PeerConnection API 35 and receives an SDP data set marked as SDP ANSWER.
  • In a step S7, the WebRTC client 33 forwards the response 60 back to the web server 40, e.g., through an already existing web-socket connection, an HTTP-PUT request, or other methods.
  • Next, in a step S8, the SDP ANSWER 60 can be manipulated or adapted again in an “ANSWER adaptation” function with reference to the correspondingly adapted SDP OFFER 52, and an adapted response 62 can be generated in the form of an adapted SDP ANSWER. This adapted SDP ANSWER 62 is then sent back to the WebRTC client 33 in the second browser 30 and forwarded through the SetLocalDescription method of the PeerConnection API 35 to the browser 30, which it then configures. The described step S8 is optional, since the response 60 or SDP ANSWER does not need to be adapted unless necessary. However, the step S8 as such is necessary in order to call up the SetLocalDescription method.
  • In a step S9, which can occur simultaneously with step S8, the adapted SDP ANSWER 62 is sent back to the WebRTC client 23 in the first browser 20.
  • In a step S10, the adapted SDP ANSWER 62 is forwarded by means of the SetRemoteDescription method of the PeerConnection API 25 to the browser 20, which it then configures.
  • Both browsers 20, 30 now know the media parameters of their respective counterparts and can exchange media streams, which is represented in a step S11. The abbreviations RTP, STUN, and ICE shown here stand for the exchange of the protocols used, as applicable.
  • FIG. 3 illustrates, as an example, a call in which a participant B receives audio data from a device B2 and video data from another device B1, and the server combines the SDP data from these two end devices B1 and B2 into one SDP description before it is sent to participant A. According to this example, participant A can then receive both the audio data A and the video data V on the same device A1, i.e., from device B2 or from device B1 of participant B. As can be seen from this example, the device A2 of participant A is not used at all. In this particular example, the data C represents data in general, such as that used for control signals, for example, or Instant Messaging, for example. The data C can therefore be any data except the aforementioned audio and video data. Obviously, many other examples of a connection with various media are possible.
  • FIG. 4 illustrates an exemplary model of a session resource used by a RESTful server. This exemplary embodiment is based on the concept of resources used in the Web and uses a method for communication between web servers and clients that involves the use of RESTful (Representational State Transfer) procedures with asynchronous event reporting instead of one of the known signaling protocols such as SIP (Session Initiation Protocol). REST describes a particular programming style for web applications. A description of its basic principles is available at http://de.wikipedia.org/wiki/Representational_State_Transfer, for example. REST is based on the abstract model of a resource on a web server, which can be unambiguously accessed using a URI (Uniform Resource Identifier). There is a set of standard commands for this purpose, designated as CRUD (Create, Read, Modify/Update, Delete), with which the resource can be generated, read, changed, and even removed. These commands are executed, for example, using the HTTP methods PUT, GET, POST, and DELETE. These RESTful CRUD operations are illustrated here, for example, with the following HTTP methods:
  • Create→HTTP POST Read→HTTP GET Update→HTTP PUT Delete→HTTP DELETE
  • In this way the caller can place a new resource on the server, if he calls another participant and initiates a new communication session. This can be handled completely using the REST principles.
  • Beyond this point, the RESTful CRUD operations alone are not sufficient. Here, a new NOTIFY operation, previously unavailable in REST, is necessary, allowing the call recipient to also find out that he has been invited to the communication session or is being called right now. By means of the NOTIFY operation, the call recipient is informed that a new resource (i.e., a new communication session) was initiated.
  • Then the call recipient can also use the REST principles.
  • The NOTIFY operation is also necessary at the caller's end if the resource changes, because of the call recipient announcing his media parameters, for example. Additional details about this can be found at http://de.wikipedia.org/wiki/CRUD.
  • FIG. 4 illustrates how a call or an active communication relationship can be modeled as a session resource. It shows the user or participant as the primary resource and multiple sub-resources for one or more calls, media used (audio, video), other participants (e.g., in a conference call), etc. According to this example, a call with two to n participants is modeled as a set of resources assigned to each of the participating users and managed centrally on the web server. The web server coordinates these resources into a single overall picture of the call.
  • The sequences diagrammed above in FIG. 1 use the two containers positioned under “media” in FIG. 4 to exchange the adapted request (SDP OFFER) 52 and the (adapted) response (SDP ANSWER) 60 or 62 between the clients 20, 30 and the web server 40 in the order shown in FIG. 1. This is managed first by the standard commands Create, Read, Modify, Delete, included in the RESTful set, oriented on HTTP (Hypertext Transfer Protocol), and issued by the client to the server (synchronous request/response method), and second through asynchronous event reports from the server to the client (the aforementioned NOTIFY operation).
  • As previously illustrated, modified function distribution during SDP generation is possible according to the invention. It is also possible to implement resource-based control instead of using the customary signaling protocol.
  • In summary:
      • The resources are located on a so-called back-end server,
      • Each participant or user represents a root on the respective resource tree,
      • One session resource #y is one instance of a participant's conversation resource (i.e., the respective conversation),
      • The sub-resource media describes the current media configuration per media type (alternative 2) or per end point (alternative 1),
      • The participant sub-resources are all participating users in a session,
      • A conference bridge is also modeled as a separate participant, e.g., with a media server that handles all media streams.
  • FIG. 5 illustrates a first method for initiating a call from a caller (Calling Party) through a REST server ((Functional Entity or FE) to a call recipient (Called Party). A GET request is sent to the resource, which was announced by NOTIFY. The related message 200 OK therefore contains all parameter values for the related instance of the resource and all sub-resources with their parameter values.
  • According to the method 2 illustrated in FIG. 6, the NOTIFY message could even already contain the parameter values. This can eliminate the need for the GET request from the first alternative.
  • Obviously the NOTIFY command can include one or more resource URIs (with additional parameters if necessary). In the case of a resource URI without additional parameters, the client must then send one or more GET requests for each resource URI, in order to obtain all the information.
  • If the GET request contains a resource URI with additional parameters, then only changed parameters for each resource are received.
  • This applies similarly to the PUT request. If the PUT request contains only one resource URI without additional parameters, then a completely new resource is set up. For a resource URI with additional parameters, only the sub-resources are changed corresponding to the parameters.
  • By way of further explanation, the expression “SDP pranswer” in connection with a NOTIFY message refers to the concept of a “provisional answer” in JSEP, which is equivalent to a type of preview.
  • It should be noted that the features previously described as method steps (components of the invented method) can also similarly be considered as equipment features of the invented telecommunication system with no specific mention required. This correspondence of features also applies inversely for the elements of the telecommunication system described as equipment features.
  • It should further be noted that the features of the invention described by referencing the presented embodiments, for example web server, (Web)RTC clients, the type and configuration of the parameters used, control commands, protocols and hardware components, the arrangement of the individual components in relation to each other or the sequence of the respective process steps can also be present in other embodiments or variations hereof, unless stated otherwise or prohibited for technical reasons. Not all features of individual embodiments described in combination must necessarily always be implemented in any one particular embodiment.
  • LIST OF REFERENCE INDICATORS
    • 10=Telecommunication system
    • 20=First browser/RTC client
    • 22=First functional unit
    • 23=First WebRTC client
    • 24=Second functional unit
    • 25=PeerConnection API
    • 30=Second browser/RTC client
    • 32=First functional unit
    • 33=Second WebRTC client
    • 34=Second functional unit
    • 35=PeerConnection API
    • 40=Web server
    • 50=Request/SDP OFFER
    • 52=Adapted request/SDP OFFER
    • 60=Response/ANSWER
    • 62=Adapted response/ANSWER
    • 90=Data carrier
    • 92=Computer program product
    • S1-S11=Steps
    • A=Audio data
    • C=General data
    • V=Video data

Claims (10)

1. Computer-implemented method for establishing a communication connection suitable for transmitting media streams from a first RTC client (20) to a second RTC client (30), comprising the following steps:
the first RTC client (20) generates a request (50) to establish the communication connection, wherein the request (50) contains media-specific data and/or parameters for the first RTC client (20), and preferably also for the communication connection,
the request (50) is adapted to the media-specific data and/or parameters of the second RTC client (30),
the adapted request (52) is sent to the second RTC client (30),
the second RTC client (30) generates a response (60) to the adapted request,
the second RTC client (30) is configured using the adapted request (52) and the response (60), and the response (60) is also sent to the first RTC client (20), and
the first RTC client (20) is configured using the adapted request (52) and the response (60),
characterized in that
the first RTC client (20) sends the request (50) to a web server (40) and the second RTC client (30) sends the response (60) to the web server (40), and
the web server (40) adapts the request (50) and sends the adapted request (52) both to the second RTC client (30) and also back to the first RTC client (20), in addition to sending the response (60) both to the first RTC client (20) and also back to the second RTC client (30).
2. Method as in claim 1,
characterized in that the web server (40) adapts the response (60) to the media-specific data and/or parameters of the first RTC client (20), as well as the communication connection if necessary, before the web server (40) transmits the adapted response (62) to the first RTC client (20) and to the second RTC client (30).
3. Method as in claim 1 or 2,
characterized in that multiple communication devices are assigned to one user, each having a first RTC client (20) and/or a second RTC client (30), and that different media types are sent to different communication devices.
4. Method as in claim 3,
characterized in that the media streams contain different types of media.
5. Method as in one of the preceding claims,
characterized in that a Web-Socket connection or an HTTP-PUT request is used for the connection between the first RTC client (20), the second RTC client (30), and the web server (40).
6. Method as in one of the preceding claims,
characterized in that RESTful procedures in combination with asynchronous event reporting are used for the connection between the first RTC client (20), the second RTC client (30), and the web server (40).
7. Method as in one of the preceding claims,
characterized in that the Session Description Protocol (SDP) is used to generate and transmit the request, the adapted request, the response, and the adapted response.
8. Computer program product (92) for executing the method according to one of the preceding claims.
9. Machine-readable data carrier (90) with a computer program product (92) according to claim 8 stored on it.
10. Telecommunication system (10) comprising
a web server (40),
a first RTC client (20) connected or connectable to the web server (40),
a second RTC client (30) connected or connectable to the web server (40),
characterized in that the web server (40), the first RTC client (20), and the second RTC client (30) have equipment for executing the method as in one of claims 1 to 8, wherein the equipment consists of software components in particular.
US17/322,708 2014-06-26 2021-05-17 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client Abandoned US20210273981A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/322,708 US20210273981A1 (en) 2014-06-26 2021-05-17 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102014009495.2A DE102014009495B4 (en) 2014-06-26 2014-06-26 Method for establishing a communication connection suitable for the transmission of media streams from a first RTC client to a second RTC client
DE102014009495.2 2014-06-26
PCT/EP2015/001116 WO2016008558A1 (en) 2014-06-26 2015-06-02 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client
US201615318726A 2016-12-14 2016-12-14
US17/322,708 US20210273981A1 (en) 2014-06-26 2021-05-17 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client

Related Parent Applications (2)

Application Number Title Priority Date Filing Date
US15/318,726 Continuation US11228623B2 (en) 2014-06-26 2015-06-02 Method for transmitting media streams between RTC clients
PCT/EP2015/001116 Continuation WO2016008558A1 (en) 2014-06-26 2015-06-02 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client

Publications (1)

Publication Number Publication Date
US20210273981A1 true US20210273981A1 (en) 2021-09-02

Family

ID=53385572

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/318,726 Active US11228623B2 (en) 2014-06-26 2015-06-02 Method for transmitting media streams between RTC clients
US17/322,708 Abandoned US20210273981A1 (en) 2014-06-26 2021-05-17 Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/318,726 Active US11228623B2 (en) 2014-06-26 2015-06-02 Method for transmitting media streams between RTC clients

Country Status (5)

Country Link
US (2) US11228623B2 (en)
EP (1) EP3162018B1 (en)
CN (1) CN106464697A (en)
DE (1) DE102014009495B4 (en)
WO (1) WO2016008558A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10686618B2 (en) 2017-08-13 2020-06-16 Carbyne Ltd. Method for streaming real-time data from a user device to a dispatch unit terminal
CN111030921B (en) * 2019-12-17 2023-02-10 杭州涂鸦信息技术有限公司 Multi-window communication method and system based on webpage instant messaging
US11102056B1 (en) 2020-06-29 2021-08-24 Unify Patente Gmbh & Co. Kg Method for requesting connection in a blue-green deployment, method for performing a switchover in a blue-green deployment, and client-server system configured for blue-green deployment
CN113014849B (en) * 2021-02-23 2023-03-14 中电海康集团有限公司 Driving training video call system and method based on Web RTC
CN115086396B (en) * 2022-04-29 2024-07-02 阿里巴巴(中国)有限公司 Method and system for transmitting media data
CN115767123B (en) * 2022-11-17 2025-01-28 上海哔哩哔哩科技有限公司 Cloud game live broadcasting method, device, computing equipment and computer storage medium
CN118612194B (en) * 2024-08-07 2024-10-15 海马云(天津)信息技术有限公司 Connection establishment method and device, electronic device and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139088A1 (en) * 2001-03-27 2004-07-15 Davide Mandato Method for achieving end-to-end quality of service negotiations for distributed multi-media applications
US20130185440A1 (en) * 2012-01-17 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Ice Based Nat Traversal
US20140019522A1 (en) * 2012-07-12 2014-01-16 Robert Bosch Gmbh System And Method Of Conversational Assistance For Automated Tasks With Integrated Intelligence
US20150032857A1 (en) * 2012-03-01 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Mixer for providing media streams towards a plurality of endpoints whereby the media streams originating from one or more media source and method therefore
US20180205720A1 (en) * 2015-07-15 2018-07-19 Telefonaktiebolaget Lm Errsson (Publ) Enabling Setting Up A Secure Peer-To-Peer Connection

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6477150B1 (en) 2000-03-03 2002-11-05 Qualcomm, Inc. System and method for providing group communication services in an existing communication system
US6731743B2 (en) * 2001-12-18 2004-05-04 Sbc Properties, L.P. AIN query redirection
ES2229073T3 (en) * 2002-08-08 2005-04-16 Alcatel LEGAL INTERCEPTATION OF VOIP CALLS ON IP-BASED NETWORKS.
US7944862B2 (en) * 2005-11-09 2011-05-17 Onmobile Global Limited Accelerated session establishment in a multimedia gateway
US8472453B2 (en) * 2006-08-16 2013-06-25 Cisco Technology, Inc. Terminal capabilities set exchange between heterogeneous endpoints
US7689671B2 (en) * 2007-03-09 2010-03-30 International Business Machines Corporation System and method for multiple IP addresses during domain name resolution
US8275197B2 (en) 2008-06-14 2012-09-25 Microsoft Corporation Techniques to manage a whiteboard for multimedia conference events
US8228861B1 (en) 2008-09-12 2012-07-24 Nix John A Efficient handover of media communications in heterogeneous IP networks using handover procedure rules and media handover relays
US8650494B1 (en) * 2010-03-31 2014-02-11 Google Inc. Remote control of a computing device
US8863153B2 (en) * 2011-09-13 2014-10-14 Sap Se Situational recommendations in heterogenous system environment
US20130198353A1 (en) * 2012-02-01 2013-08-01 Suzann Hua Overload handling through diameter protocol
CN103580986B (en) * 2012-07-30 2016-12-21 华为终端有限公司 A kind of real-time communication method, terminal unit, real-time communication server and system
US8867731B2 (en) 2012-11-05 2014-10-21 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with optimized transcoding
US9197680B2 (en) * 2013-05-23 2015-11-24 Qualcomm Incorporated Establishing and controlling audio and voice back channels of a Wi-Fi display connection
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
US9756452B2 (en) * 2013-09-16 2017-09-05 Qualcomm Incorporated Presence and on-device proxying
US20150103154A1 (en) * 2013-10-10 2015-04-16 Sony Corporation Dual audio video output devices with one device configured for the sensory impaired
US9426259B2 (en) * 2014-02-05 2016-08-23 Fen Research Limited Client server interaction for graphical/audio applications
US10389782B2 (en) * 2015-09-30 2019-08-20 Apple Inc. Synchronized playback of alternate content version

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040139088A1 (en) * 2001-03-27 2004-07-15 Davide Mandato Method for achieving end-to-end quality of service negotiations for distributed multi-media applications
US20130185440A1 (en) * 2012-01-17 2013-07-18 Telefonaktiebolaget L M Ericsson (Publ) Ice Based Nat Traversal
US20150032857A1 (en) * 2012-03-01 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Mixer for providing media streams towards a plurality of endpoints whereby the media streams originating from one or more media source and method therefore
US20140019522A1 (en) * 2012-07-12 2014-01-16 Robert Bosch Gmbh System And Method Of Conversational Assistance For Automated Tasks With Integrated Intelligence
US20180205720A1 (en) * 2015-07-15 2018-07-19 Telefonaktiebolaget Lm Errsson (Publ) Enabling Setting Up A Secure Peer-To-Peer Connection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rosenberg et al.; "An Offer/Answer Model with Session Description Protocol (SDP 0; June 2002; Columbia U. (Year: 2002) *

Also Published As

Publication number Publication date
EP3162018A1 (en) 2017-05-03
US11228623B2 (en) 2022-01-18
EP3162018B1 (en) 2019-02-13
DE102014009495B4 (en) 2020-07-23
US20170126751A1 (en) 2017-05-04
WO2016008558A1 (en) 2016-01-21
CN106464697A (en) 2017-02-22
DE102014009495A1 (en) 2015-12-31

Similar Documents

Publication Publication Date Title
US20210273981A1 (en) Method for establishing a communication connection which is suitable for transmitting media streams between a first rtc client and a second rtc client
US20210297408A1 (en) Method and system for creating a virtual sip user agent by use of a webrtc enabled web browser
US10778731B2 (en) Communications methods, apparatus and systems for conserving media resource function resources
CN103227788B (en) Realize the method and system that Web page application program and SIP equipment carry out communicating
EP2854376B1 (en) Transmission method, device and system for media stream
US20150006610A1 (en) Virtual web real-time communications (webrtc) gateways, and related methods, systems, and computer-readable media
US20130282820A1 (en) Method and System for an Optimized Multimedia Communications System
US8379544B2 (en) Communications
US20180255182A1 (en) Web Real-Time Client Communication Over a Stimulus Based Network
KR101705440B1 (en) Hybrid cloud media architecture for media communications
US10601880B2 (en) Conference reconstruction in SIP networks
JP2017510116A (en) Method and server for enabling a first user to automatically detect a second user's social network identifier and the respective status of this second user in those social networks
US9544253B2 (en) Multimedia conversation transfer
JP5172850B2 (en) Session-based communication
US11716363B2 (en) Messaging resource function
CN103828295A (en) Conference access method, device and system
WO2012052707A1 (en) Data communication
KR101437189B1 (en) Integrating data with conversations
JP6183881B2 (en) Codec conversion gateway, codec conversion method, and codec conversion program
US8842686B2 (en) Communication system configured with an SIP functioned relay server and communication method using the same
Marzec et al. Application of the SIP protocol in telecommunication, based on a image transmitting application
JP2020145649A (en) Ip-pbx system, call failure notification method, call failure notification device, ip-pbx device, and call failure notification program
TR201720818A2 (en) Peer-to-Peer Session RENEWAL METHOD FOR SIP-BASED CONFERENCE SERVERS
WO2016062755A1 (en) Apparatus for establishing real-time media sessions in a conversation in a unified and consistent multimodal communication framework

Legal Events

Date Code Title Description
STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: FINAL REJECTION MAILED

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:RINGCENTRAL, INC.;REEL/FRAME:062973/0194

Effective date: 20230214

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION