Author: rco
Date: 2008-06-17 10:47:13 +0200 (Tue, 17 Jun 2008)
New Revision: 1020
Modified:
branches/1.0.0/core/plug-in/sipctrl/trans_layer.cpp
Log:
- fixed bugs related to non 200 ACK retransmission (backported from trunk
r1019).
Modified: branches/1.0.0/core/plug-in/sipctrl/trans_layer.cpp
===================================================================
--- branches/1.0.0/core/plug-in/sipctrl/trans_layer.cpp 2008-06-17 08:44:20 UTC
(rev 1019)
+++ branches/1.0.0/core/plug-in/sipctrl/trans_layer.cpp 2008-06-17 08:47:13 UTC
(rev 1020)
@@ -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