[asterisk-dev] pjsip_resolve not querying for ipv6 addresses
Roger James
roger at beardandsandals.co.uk
Wed Apr 22 14:24:30 CDT 2020
Hi,
A very long time since I Iast posted on here. I have recently moved to
Asterisk 16 and have encountered a problem trying to connect via ipv6-udp
transports. Looking at the traffic it seems that Asterisk only ever queries
for DNS A records. Stepping through sip_resolve in pjsip_resolve.c I get to
line 592. The code looks like this. I apologise for the formatting. I
cannot work out how to get this mail client to do preformatted text.
if ((type == PJSIP_TRANSPORT_UNSPECIFIED &&
sip_transport_is_available(PJSIP_TRANSPORT_UDP6)) ||
sip_transport_is_available(type + PJSIP_TRANSPORT_IPV6)) {
res |= sip_resolve_add(resolve, host, T_AAAA, C_IN, (type ==
PJSIP_TRANSPORT_UNSPECIFIED ? PJSIP_TRANSPORT_UDP6 : type +
PJSIP_TRANSPORT_IPV6), target->addr.port);
}
At this point only a A type record query has been added. The transport type
is already set to PJSIP_TRANSPORT_UDP6. So adding PJSIP_TRANSPORT_IPV6 to
it results in a nonsense transport type. As PJSIP_TRANSPORT_IPV6 is 128
surely it would be better if this was a bitwise OR instead of an ADD.
What am I missing here?
Roger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20200422/b6f955e9/attachment.html>
More information about the asterisk-dev
mailing list