Author: rco
Date: 2008-06-17 10:44:20 +0200 (Tue, 17 Jun 2008)
New Revision: 1019
Modified:
trunk/core/plug-in/sipctrl/trans_layer.cpp
Log:
- fixed bugs related to non 200 ACK retransmission.
Modified: trunk/core/plug-in/sipctrl/trans_layer.cpp
===================================================================
--- trunk/core/plug-in/sipctrl/trans_layer.cpp 2008-06-12 14:43:58 UTC (rev
1018)
+++ trunk/core/plug-in/sipctrl/trans_layer.cpp 2008-06-17 08:44:20 UTC (rev
1019)
@@ -1137,7 +1137,6 @@
*c++ = LF;
DBG("About to send ACK\n");
-// DBG("About to send ACK: \n<%.*s>\n",ack_len,ack_buf);
assert(transport);
int send_err = transport->send(&inv->remote_ip,ack_buf,ack_len);
@@ -1145,12 +1144,12 @@
ERROR("Error from transport layer\n");
delete ack_buf;
}
-
- if (t->retr_buf)
- delete [] t->retr_buf;
-
- t->retr_buf = ack_buf;
- t->retr_len = ack_len;
+ else {
+ delete [] t->retr_buf;
+ t->retr_buf = ack_buf;
+ t->retr_len = ack_len;
+ memcpy(&t->retr_addr,&inv->remote_ip,sizeof(sockaddr_storage));
+ }
}
void trans_layer::send_200_ack(sip_msg* reply, sip_trans* t)
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev