<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<body>
<div dir="auto">
<div dir="auto"><br></div><div dir="auto">Hi Joshua,</div><div dir="auto"><br></div><div dir="auto">Thanks for your prompt response. I will comment inline.</div>
<div dir="auto"><br></div><div dir="auto"><br></div>
<div dir='auto'><br></div>
<div id="aqm-original" style="color: black;">

<div class="aqm-original-body">
<div style="color: black;">
<p style="color: black; font-size: 10pt; font-family: sans-serif; margin: 8pt 0;">On 13 May 2020 11:10:52 "Joshua C. Colp" <jcolp@sangoma.com> wrote:</p><blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;">
<div dir="ltr"><div class="gmail_quote"><div>Does "pjsip show endpoint" continue to show the correct transport?</div></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">No. By the time asterisk gets to a point where you can interact with the cli the endpoint shows the name of an ipv4 transport. In this case "0.0.0.0-udp".</div><div dir="auto"><br></div><div id="aqm-original" style="color: black;" dir="auto"><div class="aqm-original-body"><div style="color: black;"><blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;"><div dir="ltr"><div class="gmail_quote"><div>If so, then it's not in sorcery but outside of it somewhere. You're going to need to clarify what this "persistent ipv4 only mode" actually means.</div></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">The AOR contact for the endpoint uses a hostname.</div><div dir="auto"><br></div><div dir="auto">[AAPJSIP]</div><div dir="auto">type=aor</div><div dir="auto">qualify_frequency=60</div><div dir="auto">contact=sip:xxxxxxxxxxxx@voiceless.aa.net.uk:5060</div><div dir="auto"><br></div><div dir="auto">The hostname resolves to both ipv4 and ipv6 addresses. Because the transport has been set to ipv4 the resolver ignores any AAAA records and tries an A record first, this works and is used to register with the provider.</div><div dir="auto"><br></div><div id="aqm-original" style="color: black;" dir="auto"><div class="aqm-original-body"><div style="color: black;"><blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;"><div dir="ltr"><div class="gmail_quote"><div>For example: I place a call to the endpoint with the transport set to IPv6 and it results in IPv4 being used. If that's the case then you'd need to specify what the URI is - if it is a hostname then you'd need to look at the log messages from the resolver. If it's registered then the URI would also need to be examined just in case. That will tell you, for example, if the resolver was explicitly told to limit to IPv4 or not. If it wasn't and it resulted in AAAA records then it would be further up the stack somewhere. You'd also need to clarify what being successful means in the context of an active IPv4 connection. Does that mean placing a call to it? Finally you haven't specified UDP, TCP, or TLS.</div></div></div></blockquote></div></div></div></div><div dir="auto"><br></div><div dir="auto">It is all UDP.</div><div dir="auto"><br></div><div dir="auto"><div id="aqm-original" style="color: black;" dir="auto"><div class="aqm-original-body"><div style="color: black;"><blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;"><div dir="ltr"><div class="gmail_quote"><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
As an aside. It is educational to put a break point on the code in config.c <br>
that reads the config files. I have isolated the transport=my-ipv6 line <br>
into its own file, and made the break point conditional on that file name. <br>
It is triggered an unbelievable number of times. I cannot see the wood for <br>
the trees. It also seems very wasteful as somewhere way back up the stack <br>
it is going to be thrown away as "file unchanged". Isn't that what last <br>
modification times are for?<br></blockquote><div><br></div><div>Without further context as to your specific deployment and usage, can't really answer. I can say though that file modification times and such are taken into account when reloading. If it's unchanged then it isn't reloaded.</div></div></div></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I did not look at this very closely. My breakpoint was on entry to the function that reads the file. It looked to me like the file was always being read. This is only a note that I probably should not have piggy backed on the end of the message. Don't waste time on it. </div><div dir="auto"><br></div><div dir="auto">Returning to the main problem. I did a test removing all the extensions from the config files. This only left transports, endpoints and associated aors etc. The problem still remained. This suggests that it is coming from persistent config that is not in the .conf files.</div><div dir="auto"><br></div><div dir="auto">I am probably being totally dumb on this. It is years since I last did any serious hacking on asterisk. This is a big learning curve for me. At my age, senility means, that learning curves can be sawtooth.</div><div dir="auto"><br></div><div dir="auto">Roger</div><div dir="auto"><br></div><div dir="auto"><br></div></div><div dir="auto"><div id="aqm-original" style="color: black;" dir="auto"><div class="aqm-original-body"><div style="color: black;"><blockquote type="cite" class="gmail_quote" style="margin: 0 0 0 0.75ex; border-left: 1px solid #808080; padding-left: 0.75ex;"><div dir="ltr"><div class="gmail_quote"><div></div></div></div>
</blockquote>
</div>
</div>


</div><div dir="auto"><br></div>
</div></body>
</html>