Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • J jami-daemon
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 97
    • Issues 97
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
    • Model experiments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • savoirfairelinuxsavoirfairelinux
  • jami-daemon
  • Issues
  • #29

Temporary IPv6 addresses can cause PJSIP to fail

Issue generated from Tuleap's migration script. Originally submitted by: Maxim Cournoyer (mcournoyer)

* Environment:
This problem seems to affect mostly GNU/Linux and macOS systems configured to change their iPv6 address often, as a privacy measure. It would affect any platform that gathers a sufficient number of temporary IPv6 addresses.

* Reproduce steps:

  1. Register multiple IPv6 addresses:

A script used to generate those temporary IPv6 addresses can be found here: https://gitlab.savoirfairelinux.com/snippets/116

That script and the accompanying 'gen-random-ipv6.sh' should be placed in the same directory. The IFDEV and IPV6_PREFIX should be adjusted to match your network device and IPv6 prefix, respectively. It is important that the IFDEV environment matches the *currently* used network interface if you have many, otherwise the problem will not be triggered.

Run the script like this: sudo ./add-ipv6-addresses.sh

  1. Launch Ring and try to place a call.

* Expected result:
The call should succeed.

* Actual result (as seen in the daemon's debug output):
[1513801602.823|14926|ice_transport.cpp :429 ] [ice:0x2fa48b0] initialization success
[1513801602.823|14926|ice_transport.cpp :482 ] ICE as master
[1513801602.829|14926|ice_transport.cpp :576 ] [ice:0x2fa48b0] (local) ufrag=2567c1bd, pwd=51e44a5d
[1513801602.829|12099|sipcall.cpp :776 ] [call:10040259774347710226] fill SDP with ICE transport 0x2d97040
dring: ../src/pjmedia/sdp.c:187: pjmedia_sdp_attr_add: Assertion `*count < (32*2 + 4)' failed.
Abandon (core dumped)

A patch addressing the issue is in review here: https://gerrit-ring.savoirfairelinux.com/\#/c/8462/

Assignee
Assign to
Time tracking