Opened 8 years ago

Closed 3 years ago

Last modified 3 years ago

#1311 closed defect (fixed)

Locking account to specific TCP/TLS listener will cause registration loop (thanks Tony Million for the report)

Reported by: bennylp Owned by: bennylp
Priority: normal Milestone: release-2.5
Component: pjsua-lib Version: trunk
Keywords: Cc:
Backport to 1.x milestone: Backported: no

Description (last modified by nanang)

When PJSUA-LIB account is locked to a specific TCP or TLS listener, re-registration will occur in a loop. This happens because when specific listener is requested, TCP/TLS listener will always create a new transport for each registration request, and PJSUA-LIB will keep detecting IP address changed for the account, causing continuous reregistration.

Note:

while the issue occurs in PJSUA-LIB, the bug is in PJSIP because it keeps creating new transport.

Change History (3)

comment:1 Changed 3 years ago by nanang

  • Resolution set to fixed
  • Status changed from new to closed

In 5246:

Fix #1311: Updated pjsip_tpmgr_acquire_transport2() to look up from transport hash table (instead of always create a new one) when transport selector is set to TCP/TLS listener (thanks George Joseph for the patch).

comment:2 Changed 3 years ago by nanang

  • Backported unset
  • Description modified (diff)
  • Milestone changed from Known-Issues-and-Ideas to release-2.5
  • Summary changed from Locking account to specific TCP/TLS transport will cause registration loop (thanks Tony Million for the report) to Locking account to specific TCP/TLS listener will cause registration loop (thanks Tony Million for the report)

comment:3 Changed 3 years ago by ming

A further fix on this ticket can be found in r5325, which also sets the factory on transports created as a result of an accept as well (thanks to George Joseph for providing the patch for this).

Note: See TracTickets for help on using tickets.