Mobile Proxy for WebRTC NAT Traversal
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
WebRTC's ICE standard for NAT traversal in cellular networks leads to inefficiencies, including battery life issues, unnecessary over-the-air transactions, and compatibility problems with VoIP peers, especially when both peers are not behind firewalls, due to its dependency on SDP-based offer/answer mechanisms and keep-alive procedures.
Innovation Solution
A proxy executable on a mobile device intermediates browser-originated ICE procedures, leveraging operator-deployed network services to optimize communication by determining target peer reachability via the cellular network and using alternative protocols like SIP to reduce wasteful signaling and conserve battery life.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If WebRTC's ICE standard is used for NAT traversal in cellular networks, then peer-to-peer real-time communication capability is achieved, but battery life is reduced and unnecessary over-the-air transactions occur
Solution Approach 1:
The patent introduces a proxy server as an intermediary component that mediates between the WebRTC application and the cellular network. The proxy server handles ICE candidate gathering, STUN/TURN operations, and signaling transactions, allowing the mobile device to offload energy-intensive NAT traversal tasks. This intermediary architecture enables peer-to-peer communication capability while reducing the battery consumption on the mobile device by centralizing the complex NAT traversal logic on the server side.
2Reliability
If ICE-based keep-alive procedures are executed continuously, then connection stability is maintained, but battery life is reduced due to continuous transactions
Solution Approach 1:
The patent implements periodic keep-alive procedures where the proxy server and application layer manage connection maintenance at optimized intervals. Instead of continuous ICE-based keep-alive transactions that drain battery, the system uses application-layer keep-alive mechanisms that are less energy-intensive. The proxy server coordinates periodic connection validation and refreshes only when necessary, maintaining connection stability while significantly reducing the frequency of transactions and associated battery consumption.
3Adaptability or versatility
If SDP-based offer/answer mechanisms are used for negotiation, then communication parameters can be negotiated, but compatibility problems with VoIP peers occur
Solution Approach 1:
The patent implements a dual-protocol approach where the system can operate with both WebRTC's SDP-based offer/answer mechanism and traditional VoIP signaling protocols. The proxy server acts as a protocol translator and adapter, enabling the mobile application to negotiate communication parameters using WebRTC standards while maintaining compatibility with legacy VoIP peers through protocol conversion. This multi-functionality allows the system to adapt to different peer types and signaling methodologies, ensuring broad compatibility across diverse communication environments.
4Reliability
If ICE procedures are executed for every target peer, then NAT traversal capability is ensured, but unnecessary messaging and battery consumption occur when both peers are not behind firewalls
Solution Approach 1:
The patent implements preliminary detection and classification of network conditions before initiating full ICE procedures. The proxy server performs preliminary network topology assessment and peer classification to determine whether NAT traversal is actually needed. When both peers are determined to be on public networks without firewalls or NAT devices, the system skips the expensive ICE candidate gathering and STUN/TURN operations, directly establishing peer-to-peer connections. This preliminary action prevents unnecessary ICE procedure execution and associated battery consumption while maintaining reliable NAT traversal capability when required.
Data Source
AI summary
An example method of facilitating communication between a mobile device positioned within an internal network and a target peer includes intercepting, at a proxy executing on a mobile device, a communication to initiate a real-time communication connection with a target peer. The mobile device is coupled to a cellular network, and the internal network is separated from one or more external networks by network address translation (NAT). The example method also includes determining whether the target peer is reachable via the cellular network. The example method further includes when it is determined that the target peer is reachable via the cellular network, sending over the cellular network to the target peer a request to communicate in a first protocol.


