Modified: wengophone-ng/trunk/wifo/eXosip/src/jcallback.c
===================================================================
--- wengophone-ng/trunk/wifo/eXosip/src/jcallback.c     2006-12-03 15:06:49 UTC 
(rev 8710)
+++ wengophone-ng/trunk/wifo/eXosip/src/jcallback.c     2006-12-03 15:28:28 UTC 
(rev 8711)
@@ -262,8 +262,20 @@
  freeaddrinfo (addrinfo);

  if (o_proxy)
+  {
    osip_route_free(o_proxy);
+       o_proxy = 0;
+  }

+       /* Check if the first route header is the same as the destination 
address */
+       /* Remove it just before creating the SIP buffer to send, and then add 
it */
+       /* again to avoid non desired behavior in eXosip */
+       osip_message_get_route(sip, 0, &o_proxy);
+       if (o_proxy && o_proxy->url && (strcmp(o_proxy->url->host, host) == 0))
+       {
+               osip_list_remove_element(sip->routes, o_proxy);
+       }
+ /* sVoIP integration */
  // SPIKE_SRTP: Check if a outgoing packet has to be processed by sVoIP
  if (tr)
@@ -298,6 +310,12 @@

  i = osip_message_to_str(sip, &message, &length);

+       //JULIEN: re-add the previously removed route header
+       if (o_proxy)
+       {
+               osip_list_add(sip->routes, o_proxy, 0);
+       }
+
  if (i!=0 || length<=0) {
    return -1;
  }



Jerome could you please explain why this is needed?
Thanks
Vadim
_______________________________________________
Wengophone-devel mailing list
[email protected]
http://dev.openwengo.com/mailman/listinfo/wengophone-devel

Reply via email to