The IP address in VIA headers is being improperly set to 0.0.0.0 (for
me) on Reinvites with Authentication.
This was causing problems with Asterisk as it tries to use that IP to
respond to the request and give status. Other Sip UA's seem to use the
registeration IP for all communications, ans thus do not have a problem.
The following patch replaces ua->ua_ipaddr with call_leg->localip for
constructing the VIA header in revites. call_leg->localip is already
being used to construct VIA headers in other functions.
Regards,
Landon McDowell
------------------------------------------------------------------------
diff -u ./osipua/src/osipdialog.c
--- ./osipua/src/osipdialog.c 2004-06-14 11:53:05.000000000 -0400
+++ ./osipua/src/osipdialog.c 2004-07-05 20:21:23.000000000 -0400
@@ -772,7 +772,7 @@
{
char *tmp = (char *) smalloc (90 * sizeof (char));
sprintf (tmp, "SIP/2.0/UDP %s:%i;branch=z9hG4bK%u",
- ua->ua_ipaddr,
+ call_leg->localip,
ua->ua_port, via_branch_new_random ());
msg_setvia (sipmesg, tmp);
sfree (tmp);
@@ -782,7 +782,7 @@
{
char *tmp = (char *) smalloc (90 * sizeof (char));
sprintf (tmp, "SIP/2.0/UDP [%s]:%i;branch=z9hG4bK%u",
- ua->ua_ipaddr,
+ call_leg->localip,
ua->ua_port, via_branch_new_random ());
msg_setvia (sipmesg, tmp);
sfree (tmp);
------------------------------------------------------------------------
_______________________________________________
Linphone-developers mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/linphone-developers