--- linphone-0.12.1pre4/osipua/src/osipdialog.c 2003-11-07 03:34:44.000000000 -0500 +++ linphone-0.12.1pre4-jeh1/osipua/src/osipdialog.c 2003-11-12 11:28:15.000000000 -0500 @@ -1661,7 +1661,24 @@ #ifdef INET6 { + struct addrinfo hints, *res = NULL; char *tmp = (char *) smalloc (90 * sizeof (char)); + int err; + + memset(&hints, 0, sizeof(hints)); + hints.ai_family = PF_UNSPEC; + hints.ai_socktype = SOCK_DGRAM; + hints.ai_flags = AI_NUMERICHOST; + err = getaddrinfo(localip, NULL, &hints, &res); + if (err) { + osip_trace(OSIP_ERROR, ("This should not happen: localip %s is non-numeric\n", localip)); + return -1; + } + + ua->ua_family = res->ai_family; + osip_trace(OSIP_ERROR, ("%s: setting ua->ua_family=%d from localip %s\n", + __FUNCTION__, ua->ua_family, localip)); + switch (ua->ua_family) { case AF_INET: