[asterisk-dev] Configured IPv6 transport in endpoint being overwritten by IPv4

Roger James roger at beardandsandals.co.uk
Wed May 13 04:55:10 CDT 2020


I have an endpoint defined in the conf that has the 'transport' field set 
to a named ipv6 transport. I had this working on a test system. This 
required the application of the gerrit patch 14404 (currently in code 
review). I have moved this on to a more realistic test setup. This setup 
also has active ipv4 connections. As soon as one of these was successful it 
seems to have 'locked' the system into a persistent ipv4 only mode. I am 
afraid that is the best way I can describe it. I apologise in advance for 
the lack of precision. Even if the system is fully rebooted, very early on 
in the config process the transport field in the endpoint is changed to 
point at an ipv4 transport. I have spent a number of hours in gdb trying to 
pinpoint where this is happening, to no avail. The depths of sorcery have 
addled my ancient brain. Any assistance or pointers would be extremely 
gratefully received! In particular about where to put a breakpoint to trap 
this.

As an aside. It is educational to put a break point on the code in config.c 
that reads the config files. I have isolated the transport=my-ipv6 line 
into its own file, and made the break point conditional on that file name. 
It is triggered an unbelievable number of times. I cannot see the wood for 
the trees. It also seems very wasteful as somewhere way back up the stack 
it is going to be thrown away as "file unchanged". Isn't that what last 
modification times are for?

Roger





More information about the asterisk-dev mailing list