Stateless SIP User Agent for WebRTC Call State Restoration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

WebRTC systems lack a reliable call signaling mechanism, with existing SIP user agents either exposing intellectual property to end users or introducing statefulness that violates web server principles, leading to load-balancing and reliability issues.

Innovation Solution

Implementing a stateless SIP user agent in conjunction with a call state management agent that stores and restores call states using browser cookies or network storage, ensuring seamless WebRTC interactive flow restoration upon termination.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If a SIP user agent is implemented at a WebRTC endpoint, then call signaling functionality is provided, but intellectual property may be compromised and code may be manipulated for malicious purposes

Engineering Contradiction:
Improvecall signaling functionalityVSAvoidintellectual property protection
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces an intermediate web server that hosts the SIP user agent, acting as a mediator between the WebRTC endpoint and the signaling network. This eliminates the need to embed SIP user agent code in the client, protecting intellectual property while maintaining call signaling functionality. The server-based approach allows the provider to control and secure the signaling logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If a SIP user agent is implemented at an intermediate web server, then intellectual property is protected, but the stateless nature of the web server is violated, resulting in load-balancing and reliability problems

Engineering Contradiction:
Improveintellectual property protectionVSAvoidserver state management
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the state management function from the SIP user agent by introducing a separate call state management agent. The SIP user agent remains stateless, handling only signaling operations, while the call state management agent independently manages call state information. This segmentation allows the SIP user agent to be stateless for load-balancing compatibility, while call state is preserved through dedicated management and synchronization mechanisms.

Inventive Principle:
Principle #1Segmentation

3Productivity

If a stateless SIP user agent is used, then load-balancing and reliability are improved, but call state must be maintained separately, increasing system complexity

Engineering Contradiction:
Improveload-balancing capabilityVSAvoidcall state management system
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the call state management functionality with the existing WebRTC client architecture by integrating a call state management agent into the web client. This agent synchronizes call state information with the SIP user agent via RESTful API calls, combining state management responsibilities in a way that maintains the stateless nature of the SIP user agent while enabling effective load-balancing and reliability.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9769214B2Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
Publication Date: 2017.09.19 ARLINGTON TECHNOLOGIES LLC
  • US9769214B2 patent drawing
  • US9769214B2 patent drawing
  • US9769214B2 patent drawing

AI summary

Embodiments include providing reliable Session Initiation Protocol (SIP) signaling for Web Real Time Communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media. In one embodiment, a method for providing reliable SIP signaling for WebRTC interactive flows comprises establishing, via a stateless SIP user agent executing on a first web server, a WebRTC interactive flow between a WebRTC client executing on a computing device and a remote endpoint. The method further comprises receiving, by the WebRTC client, a call state from the stateless SIP user agent, the call state indicating a current state of the WebRTC interactive flow. The method also comprises storing, by the WebRTC client, the call state. In this manner, the call state of the WebRTC interactive flow may be accessible for restoring the WebRTC interactive flow in the event of an unexpected termination of the WebRTC client and/or the stateless SIP user agent.