Opened 5 years ago

Closed 5 years ago

#1796 closed defect (fixed)

Avoid infinite registration loop caused by contact rewrite

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

Description

Cases:

  1. PJSUA_CONTACT_REWRITE_ALWAYS_UPDATE is set and somehow registrar put different rport values between its 200 and 401/407 responses, client keep re-registering as it sees the rport changed in each 200/401/407 response (thanks Marcus Froeschl for the report).
  2. Client behind a Symmetric NAT (a single local UDP port will be mapped to many public ports, each target has its own map) and registrar uses load balancing via DNS (multiple IP with same hostname).

The proposed solution is to simply skip address check, i.e: acc_check_nat_addr(), if contact rewrite has been done before.

Change History (1)

comment:1 Changed 5 years ago by nanang

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

In 4944:

Fixed #1796: Avoid infinite registration loop caused by contact rewrite.

Note: See TracTickets for help on using tickets.