Menu

#99 IPv6 addresses in SIP & SDP messages

closed-fixed
None
Pidgin
5
2017-06-24
2017-06-20
No

Updated to latest release, 1.22.1 and was no longer able to connect. Downgraded package to 1.21.0 and was able to reconnect.

I am running Archlinux, 64bit.

Related

Bugs: #326

Discussion

1 2 > >> (Page 1 of 2)
  • Stefan Becker

    Stefan Becker - 2017-06-20
    • status: open --> closed-invalid
     
  • Stefan Becker

    Stefan Becker - 2017-06-20

    Sorry, but this bug report does not follow the instructions given in the FAQ. Therefore nobody will be able to figure out if there is a problem and how to address it.

    According to the policy described in the FAQ this report will be closed as INVALID. The project maintainers will consider re-opening it if the missing information has been provided by the reporter.

     
    • Stephen Tanner

      Stephen Tanner - 2017-06-20

      Debug generation instructions are not clear. Do you want the command line output as the log or something else? Please clarify.

       
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Client: Pidgin - 2.12.0

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Generating debug log now

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Had to upgrade back to the new version first, still generating logs

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Assuming this is the log file, here ya go!

     
  • Stefan Becker

    Stefan Becker - 2017-06-20

    Your system connects with IPv6 to the Lync server, hence the address of the local SIP socket is also an IPv6 address:

    (13:48:59) dnsquery: IP resolved for sipfed2a.online.lync.com
    (13:48:59) proxy: Attempting connection to 2603:1037:0:c::f
    ...
    (13:48:59) sipe: sipe_backend_transport_ip_address: 2001:468:c80:a202:e92d:184b:239b:3e0a
    

    As far as I know Lync servers do currently not accept IPv6 addresses in the SIP protocol, hence our REGISTER attempt is rejected with:

    (13:48:59) sipe: 
    MESSAGE START >>>>>>>>>> SIP - 2017-06-20T17:48:59.793663Z
    REGISTER sip:[domain] SIP/2.0
    Via: SIP/2.0/tls 2001:468:c80:a202:e92d:184b:239b:3e0a:57366;branch=z9hG4bK16D0370C57EA2FD142B7
    ...
    (13:48:59) sipe: 
    MESSAGE START <<<<<<<<<< SIP - 2017-06-20T17:48:59.805569Z
    SIP/2.0 504 Server time-out
    

    You'll need to fix your setup to connect to sipfed2a.online.lync.com via an IPv4 address.

    See also the code change included in the release 1.22.0.

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    You'll need to fix your setup to connect to sipfed2a.online.lync.com via an IPv4 address.

    Could you please be more specific? Do you mean the account settings? Are you saying I should force the server address and no longer use auto discover?

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Setting sipfed2a.online.lync.com as the server address does not seem to work.

     
  • Stefan Becker

    Stefan Becker - 2017-06-20

    Name resolution, e.g. DNS, is a system setting. Hence any change to SIPE or Pidgin most likely won't do the trick.

    One drastic measure of course would be to disable IPv6 on your system.

    Other options would rely on to find the IPv4 of the server. Here is what I get on my system:

    :::sh
    $ host sipfed2a.online.lync.com
    sipfed2a.online.lync.com has address 52.112.67.51
    sipfed2a.online.lync.com has IPv6 address 2603:1037:0:d::f
    sipfed2a.online.lync.com has IPv6 address 2603:1037:0:c::f
    

    You could try to use the IPv4 address directly in SIPE or add the name & IPv4 address to your /etc/hosts to override the DNS resolution.

     
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Tried to use 52.112.67.51, was promted to accept a new SSL certificate but no dice.

     
    • Stefan Becker

      Stefan Becker - 2017-06-20

      I would need to see a log from that attempt to check where it fails now.

       
  • Stephen Tanner

    Stephen Tanner - 2017-06-20

    Doesn't even seem to get as far as authenticating before the connection is reset

     
    • Stefan Becker

      Stefan Becker - 2017-06-21

      BTW: the log has been generated without PURPLE_UNSAFE_DEBUG=1.

      You forgot to use the correct server port 443, so SIPE falls back to the default for SSL SIP port 5061.

       
  • Stephen Tanner

    Stephen Tanner - 2017-06-21

    Forcing the ipv4 address and port 443 is a valid workaround.

    This still seems like a regression for the autodiscover setting.

     

    Last edit: Stephen Tanner 2017-06-21
  • Stefan Becker

    Stefan Becker - 2017-06-21

    I don't know why M$ puts IPv6 addresses into the DNS for servers which do not accept IPv6 addresses in their protocol.

    IMHO this is no regression, because the previous code was worse, i.e. it was guessing and could return e.g. 127.0.0.1 which was definitely incorrect. Now the IP address is always correct, because we request it from a connected socket.

     
  • Stefan Becker

    Stefan Becker - 2017-06-21

    Ticket moved from /p/sipe/bugs/325/

    Can't be converted:

    • _milestone: 1.22.x
     
  • Stefan Becker

    Stefan Becker - 2017-06-21
    • summary: No longer able to connect after upgrade to 1.22.1 --> Literal IPv6 addresses in URI
    • status: closed-invalid --> open
    • assigned_to: Stefan Becker
     
  • Stefan Becker

    Stefan Becker - 2017-06-21

    It could be that IPv6 addresses need a different format, see

    I will need to look into that, but I won't be able to test it myself.

     
  • Stefan Becker

    Stefan Becker - 2017-06-22

    I went to an IPV6 tunnel provider and created an account there. Now that the IPv6 tunnel is active on my machine SIPE connects to the SIP server for my company account using an IPv6 address. The debug log shows the same error message as discussed here.

     
  • Stefan Becker

    Stefan Becker - 2017-06-22
    • summary: Literal IPv6 addresses in URI --> IPv6 addresses in SIP & SDP messages
     
  • Stefan Becker

    Stefan Becker - 2017-06-22

    Also SDP message generation must be updated to remove hard-coded "IP4" string. IPv6 addresses require "IP6" address marker.

     
  • Stefan Becker

    Stefan Becker - 2017-06-22
    • status: open --> closed-fixed
     
  • Stefan Becker

    Stefan Becker - 2017-06-22

    Implemented in git commit f6a0e9d

    Tested with 2 different Office 365 accounts while IPv6 tunnel was active / inactive. Works OK now for local transport IPv6 or IPv4 address.

    Interestingly only the frontend servers, i.e. those that redirect to the home server after successful authentication, seem to have IPv6 addresses. The home servers in my tests only have an IPv4 address.

     
1 2 > >> (Page 1 of 2)

Log in to post a comment.