METHOD AND SYSTEM FOR CREATING A VIRTUAL SIP USER AGENT BY USE OF A WEBRTC ENABLED WEB BROWSER

20210297408 · 2021-09-23

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for creating a virtual SIP user agent by use of a webRTC enabled web browser comprises a user logging in to a web application server via a webRTC enabled web browser. The web application server uses the logged on user identity to lookup an associated SIP user identity along with a registrar server address and the web application server initiates a SIP registration procedure using its IP address as the registered contact.

Claims

1-7. (canceled)

8. A computer-implemented method, comprising: receiving, using a web application server, a user login sent via an WebRTC-enabled web browser of a first device; identifying a Session Initiation Protocol (SIP) user identity associated with the user login; in response to identifying the SIP user identity, initiating a SIP registration procedure using a web application server address as a registered contact; and initiating a communication session between the WebRTC-enabled web browser of the first device and a second device.

9. The computer-implemented method of claim 8, wherein initiating a communication session comprises initiating a SIP communication session.

10. The computer-implemented method of claim 8, further comprising: identifying a SIP registrar server address; and wherein initiating the SIP registration procedure is in response to identifying the SIP registrar server address.

11. The computer-implemented method of claim 8, further comprising: receiving the SIP user identity or a SIP registrar server address from a user; and storing the SIP user identity or the SIP registrar server address in a database associated with the web application server.

12. The computer-implemented method of claim 8, wherein identifying the SIP user identity or a SIP registrar server address comprises identifying using a user identity management system.

13. The computer-implemented method of claim 8, further comprising: registering the web application server address as the registered contact.

14. The computer-implemented method of claim 8, further comprising: selecting, using the web application server, one or more devices to which to route an incoming call based on a pre-selected destination; extracting a media description associated with the incoming call; and offering the incoming call through the WebRTC-enabled web browser.

15. A non-transitory, computer-readable medium storing instructions that, when executed by a processor, cause: receiving, using a web application server, a user login sent via an WebRTC-enabled web browser of a first device; identifying a Session Initiation Protocol (SIP) user identity and a SIP registrar server address associated with the user login; in response to identifying the SIP user identity and the SIP registrar server address, initiating a SIP registration procedure using a web application server address as a registered contact; and initiating a communication session between the WebRTC-enabled web browser of the first device and a second device.

16. The non-transitory, computer-readable medium of claim 15, wherein initiating a communication session comprises initiating a SIP communication session.

17. The non-transitory, computer-readable medium of claim 15, storing further instructions that, when executed by the processor, cause: identifying a SIP registrar server address; and wherein initiating the SIP registration procedure is in response to identifying the SIP registrar server address.

18. The non-transitory, computer-readable medium of claim 15, storing further instructions that, when executed by the processor, cause: receiving the SIP user identity or a SIP registrar server address from a user; and storing the SIP user identity or the SIP registrar server address in a database associated with the web application server.

19. The non-transitory, computer-readable medium of claim 15, wherein identifying the SIP user identity or a SIP registrar server address comprises identifying using a user identity management system.

20. The non-transitory, computer-readable medium of claim 15, storing further instructions that, when executed by the processor, cause: registering the web application server address as the registered contact.

21. The non-transitory, computer-readable medium of claim 15, storing further instructions that, when executed by the processor, cause: selecting, using the web application server, one or more devices to which to route an incoming call based on a pre-selected destination; extracting a media description associated with the incoming call; and offering the incoming call through the WebRTC-enabled web browser.

22. A web application server, comprising: a processor; and a memory storing instructions that, when executed by the processor, cause: receiving a user login sent via an WebRTC-enabled web browser of a first device; identifying a Session Initiation Protocol (SIP) user identity associated with the user login; in response to identifying the SIP user identity, initiating a SIP registration procedure using a web application server address as a registered contact; and initiating a communication session between the WebRTC-enabled web browser of the first device and a second device.

23. The web application server of claim 22, wherein initiating a communication session comprises initiating a SIP communication session.

24. The web application server of claim 22, wherein the memory stores further instructions that, when executed by the processor, cause: identifying a SIP registrar server address; and wherein initiating the SIP registration procedure is in response to identifying the SIP registrar server address.

25. The web application server of claim 22, wherein the memory stores further instructions that, when executed by the processor, cause: receiving the SIP user identity or a SIP registrar server address from a user; and storing the SIP user identity or the SIP registrar server address in a database associated with the web application server.

26. The web application server of claim 22, wherein the memory stores further instructions that, when executed by the processor, cause: registering the web application server address as the registered contact.

27. The web application server of claim 22, wherein the memory stores further instructions that, when executed by the processor, cause: selecting, using the web application server, one or more devices to which to route an incoming call based on a pre-selected destination; extracting a media description associated with the incoming call; and offering the incoming call through the WebRTC-enabled web browser.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0021] FIG. 1 illustrates a preferred system configuration and/or network architecture of a system according to the present invention.

[0022] FIG. 2 illustrates the WebRTC authentication via SIP message sequence according to a preferred embodiment of the invention.

[0023] FIG. 3 illustrates the SIP initiated connection to a WebRTC/SIP destination according to a preferred embodiment of the invention.

[0024] FIG. 4 illustrates the WebRTC initiated connection to a SIP destination according to a preferred embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

[0025] According to a preferred embodiment of the present invention, a user logs in to the web application server 400 via the web client interface 200. In some embodiments this may be a username and password authentication. In other embodiments authentication may be done with single sign-on with a corporate entitlement system. The web application server preferably uses the logged on user identity to lookup an associated SIP user identity along with a registrar server address. In this embodiment this information can be partly supplied by the user (self management). In other embodiments of the present invention this information is retrieved by a user identity management system.

[0026] Once the SIP user identity for the logged on user is found the web application server 400 will preferably initiate a SIP registration procedure using its IP address as the registered contact. SIP users authentication and authorization methods e.g. via REGISTER and SUBSCRIBE requests, can be used implicitly for web based communication enablement especially if the user already owns a SIP address/E.164 number.

[0027] So the identity of the web media client user and validation of user accessibility options is preferably covered indirectly in the SIP domain, simply if the web application services 400 assume and maintains in the database 500 user SIP credentials 001 (e.g. SIP registrar address, E.164 number or SIP username, digest authentication password) and propagate this information to the user SIP SBC/Proxy/Registrar 700 via the appropriate SIP request interface (REGISTER message) 003 at user web login on a secure session. Addressing the user is feasible through E.164 numbering convention or SIP URI, or other valid URL identifiers like email etc, as each individual usually is the owner of various system accounts and identifiers.

[0028] This way the web server will preferably be registered as another contact for the authenticated user, as long as the web server belongs to a trusted domain to the SIP domain. Therefore a new call received against this SIP user identity can also reach and be handled at the user's web application enriched with WebRTC capabilities, in parallel to other existing authorized contacts that are registered against this SIP user identity such as IP phone device or IP soft client or GWs (SIP Forking feature) (FIG. 3). The user preferably has the choice to select his preferred medium for audio or video communication: browser 200 or SIP endpoint (300) or even a smart phone/tablet 100, as incoming traffic will preferably reach both SIP 300 and WebRTC 100, 200 enabled clients, due to this parallel registration and subscription on SIP services.

[0029] Once the web application server 400 receives the incoming call it preferably extracts the media description and offers the call to the user at the web browser 200 just as if this call is a normal webRTC offer as defined in the respective W3C draft. From this point on, the role of the web application server is preferably that of a SIP user agent in the sense that it is responsible for the handling of the communication session. Negotiation on the media description as well as connectivity (ICE) remains a responsibility of the web browser. Once the negotiation succeeds an RTP communication between the web browser and the initiating device is preferably started.

[0030] Vice versa a WebRTC session could reach this way another VoIP 900 or PSTN telephony user 1000 and have the originator user's SIP identifiers (names and numbers) presented to the other side as shown in FIG. 4. Device selection may be still a user's choice, but in addition can be system defined based on user's selected destination: WebRTC destination 600 will preferably be receiving WebRTC based calls, while SIP destinations 900 will preferably be reached though SIP session establishment initiated by the web application.

[0031] In this case, the web application server media management services 400 work similar to a Session Board Controller or Gateway supporting the transition from the WebRTC domain to the SIP domain. The user may seamlessly perform SIP or webRTC calls without experiencing any difference in the user interface.

[0032] The disclosure of the present invention focuses on the aspect of integration methods of a pure web browser media communication based on WebRTC standardization and existing session based communication interfaces like SIP. Two main aspects exist covering for the smooth interoperability with existing networks in a trusted network environment and seamless user experience:

[0033] 1) Supporting in a WebRTC enabled communication application 400 users that already own one or more existing SIP accounts (E.164 numbers potentially as well) and

[0034] 2) Establishing a real time audio and video communication between web applications and other VoIP or even legacy PSTN systems through stream trans-coding mechanics.

[0035] An example architecture shown in FIG. 1 comprises basically of a web client running on a webRTC enabled web browser 200, a web application server 400, a SIP registrar server and a SIP server 700. In some embodiments a single server may have the role of both the SIP server and the SIP registrar server. Also in some embodiments the web application server may include media reception and transmission facilities.

[0036] Voice and video communication over the web emerges as a new real time communication technology in both a consumer as well as enterprise communication environment (open source projects such as Web Real Time Communication (“WebRTC”)). The reuse of user resources such as a telephone number across legacy/VoIP communication devices as well as web based terminals is essential for the seamless integration of web based real time communication into an existing legacy telephony or VoIP environment.

[0037] The present invention discloses methods and procedures that allow the reuse of a user identity such as a telephone number or a user URL in both web based real time communication and legacy/VoIP Communication systems.

[0038] In particular the user of a web application that offers web based real time communication services is offered the option to answer an incoming call against a given telephone number via a web based client interface while this call is also offered to other VoIP or legacy devices of this user. In addition, a call that is initiated via a web browser towards other users (either web or VoIP or legacy) shows a dialable user identity that can be called back. On this topic, potential media codec incompatibilities between web media-enabled clients and existing VoIP or legacy telephony clients are also an important aspect to cover.

[0039] In addition due to the nature of web real time transmission, peer to peer connectivity, video teleconference connections or general multi-party connections can be established up to a certain number of participants. The mesh topology and personal pc media processing performance limitations for media stream handling. Lastly there is no defined connection between the international public telecommunication numbering plan E.164 and WebRTC (address reference is purely URL defined).

[0040] This goal is preferably achieved without a need for special network configuration such routing rules in any of the existing communication infrastructure.

[0041] The use of web based real time communication with voice and video has been very limited in the prior art for numerous reasons including the lack of native support by the web browsers and the diversity of implementation of web browser plug-ins. Standardization activities along with prototype implementation of the early standardization steps are ongoing but the interworking between web application servers that offer web based real time communication services and other telecommunication equipment such as VoIP switch and GW have been left outside the standardization activities up to now.

[0042] In this architecture, the web browser (via html/js client application) has the role of a media termination endpoint while of the role of the web server preferably is to pass on the media description that is required prior to the initiation of a media stream between two peers.

[0043] In overall a web application server is considered a communication domain that may interface with other communication domains including legacy telecommunication domains via standard or proprietary protocols.

[0044] In this environment the users of a web based real time communication platform can be reached from external or reach external parties depending on the configured networking and routing rules. The potential of reuse of resources such as a telephone number is greatly reduced and requires configuration of networking and routing rules.

LIST OF REFERNCE SYMBOLS USED IN THE DRAWINGS

[0045] 001 transmission of user SIP credentials (e.g. SIP registrar address, E.164 number or SIP username, digest authentication password), user login [0046] 002 retrieve user SIP credentials [0047] 003 SIP request interface (Register message), SIP: register (user SIP credentials) [0048] 004 SIP: 200 OK [0049] 005 user registered in SIP [0050] 006 successful SIP registration [0051] 007 new peer connection media offer [0052] 008 retrieve user A SIP credentials [0053] 009 SIP: INVITE/SDP offer [0054] 010 SIP: 180/200 OK/SDP Answer [0055] 011 Check media compatibility [0056] 012 Signaling message: Media Answer [0057] 013 SIP: INVITE/SDP offer (from A to B) [0058] 014 SIP: INVITE/SDP offer (from A to B) [0059] 015 SIP: INVITE/SDP offer (from A to B) [0060] 016 Retrieve user B data [0061] 017 new peer connection media offer [0062] 018 Signaling Message: Media Answer [0063] 019 check media compatibility [0064] 020 SIP: 1810/200 OK/SDP Answer [0065] 021 SIP: 1810/200 OK/SDP Answer [0066] 022 SIP: Cancel [0067] 023 webRTC [0068] 024 SIP [0069] 025 ISDN [0070] 026 media stream [0071] 100 smart phone or tablet, WebRTC enabled client [0072] 200 WebRTC enabled web browser, web client interface, user browser WebRTC application, user browser B, WebRTC enabled client [0073] 300 SIP endpoint, SIP device B [0074] 400 WebRTC enabled communication application, web application server, web application server media management services, web media server [0075] 401 authentication service [0076] 402 data management [0077] 403 webRTC SIP mediation service [0078] 404 webRTC service [0079] 500 database (of user SIP credentials) [0080] 600 WebRTC destination [0081] 700 SIP server, SIP (SBC/Proxy/) registrar [0082] 800 SIP/PSTN GW [0083] 900 VoIP telephony user, SIP destination, SIP device A [0084] 1000 PSTN telephony user, traditional device