Push Keep-Alive Mechanism for SIP User Agents Behind NATs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In SIP deployment schemes, particularly in small office/home office (SOHO) scenarios, SIP devices behind network address translators (NAT) or firewalls face issues with inbound message blocking due to inactivity, leading to inefficient keep-alive mechanisms that drain battery power on wireless devices.

Innovation Solution

Implementing a 'push' keep-alive mechanism using non-SIP protocols like SMS, USSD, or IMS to notify SIP devices of incoming requests, triggering a ping request that unblocks SIP ports, allowing inbound messaging flows without continuous pinging.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If continuous pinging is used to maintain NAT/firewall connectivity, then connectivity is maintained, but battery power is drained excessively

Engineering Contradiction:
ImproveconnectivityVSAvoidbattery power
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The system uses periodic keep-alive messages instead of continuous pinging. The SIP user agent sends periodic REGISTER messages or other SIP keep-alive packets at defined intervals to maintain NAT/firewall connectivity, reducing energy consumption compared to continuous pinging while ensuring connectivity is maintained through periodic network activity.

Inventive Principle:
Principle #19Periodic action

2Use of energy by moving object

If periodic keep-alive messages are sent to maintain connectivity, then battery power consumption is reduced, but NAT/firewall blocking may still occur during inactivity periods

Engineering Contradiction:
Improvebattery powerVSAvoidconnectivity
Core Design Contradiction:
Use of energy by moving objectVSReliability

Solution Approach 1:

The system performs preliminary actions by sending periodic keep-alive messages before the NAT/firewall inactivity timeout occurs. By maintaining periodic network activity, the system preemptively prevents the NAT/firewall from blocking ports due to detected inactivity, ensuring connectivity is maintained without needing to react after blocking occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent uses intermediary mechanisms such as SIP REGISTER messages or keep-alive packets that act as mediators between the SIP user agent and the NAT/firewall. These intermediary messages carry signaling information that maintains the NAT binding and prevents firewall blocking, serving as a middle layer that manages the connectivity state without requiring continuous data transmission.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If non-SIP protocols like SMS or USSD are used for notifications, then NAT/firewall blocking is bypassed, but protocol complexity increases

Engineering Contradiction:
Improvemessage deliveryVSAvoidprotocol handling
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system uses non-SIP protocols like SMS or USSD as intermediary notification channels that bypass NAT/firewall blocking. These protocols serve as mediators that can deliver notifications through blocked channels, with the SIP user agent then translating or converting these notifications into appropriate SIP actions, managing the complexity at the application layer rather than requiring protocol changes throughout the system.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP2464078B1"push" keep-alive mechanism for SIP user agents located behind nats/firewalls
Publication Date: 2013.07.10 BLACKBERRY LTD
  • EP2464078B1 patent drawingFigure 1
  • EP2464078B1 patent drawingFigure 2
  • EP2464078B1 patent drawingFigure 3

AI summary

A user equipment (UE) and method is provided having one or more components configured to receive a non-session initiation protocol (SIP) notification from a SIP entity and in response to send a ping request to the SIP entity, the one or more components further configured to receive a SIP request from the SIP entity. A network component and method is also provided that include one or more components configured to send a non-session initiation protocol (SIP) notification to a user equipment (UE) and to receive a ping request from the UE and further to send a SIP request to the UE.