Ticket #1952 (closed defect: fixed)

Opened 13 months ago

Last modified 12 months ago

Fail to start media due to mismatch address type in SDP connection line

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

Description

When ICE is used, there is possibility that one side gathers IPv4+IPv6 candidates with the default address (to be put into SDP connection line) using IPv4, while the other side gathers IPv6 only, so the address types (or IP address families) in their SDP connection lines will mismatch and it causes media fail to start:

pjmedia_stream_info_from_sdp() failed for call_id 0 media 0:
    Unsupported address family (PJ_EAFNOTSUP)

When ICE is used by both sides, ICE transport will generate checklist which will perform address type matching, so we can safely skip address type matching in pjmedia_stream_info_from_sdp().

Thanks Nadia Lapkovskaya for the report.

Change History

comment:1 Changed 13 months ago by nanang

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

In 5419:

Fix #1952: Skip address type matching in pjmedia_stream_info_from_sdp() when both sides use ICE, the ICE transport will do the matching when it generates ICE checklist.

comment:2 Changed 12 months ago by ming

In 5436:

Re #1952: Apply the fix to video stream info as well

The video issue was found during Sipit32 test

Last edited 12 months ago by ming (previous) (diff)
Note: See TracTickets for help on using tickets.