Module: sems Branch: rco/offer_answer Commit: ba620c40992891b75e67fadd18b72b1533af1d2a URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=ba620c40992891b75e67fadd18b72b1533af1d2a
Author: Raphael Coeffic <[email protected]> Committer: Raphael Coeffic <[email protected]> Date: Mon May 23 14:17:19 2011 +0200 generate non-200-ACK on the fly instead of using the retransmission buffer. --- core/sip/trans_layer.cpp | 22 ++++------------------ 1 files changed, 4 insertions(+), 18 deletions(-) diff --git a/core/sip/trans_layer.cpp b/core/sip/trans_layer.cpp index f78c862..1bd4b4a 100644 --- a/core/sip/trans_layer.cpp +++ b/core/sip/trans_layer.cpp @@ -1308,8 +1308,8 @@ int _trans_layer::update_uac_reply(trans_bucket* bucket, sip_trans* t, sip_msg* goto pass_reply; case TS_COMPLETED: - // retransmit non-200 ACK - t->retransmit(); + // generate a new non-200 ACK + send_non_200_ack(msg,t); default: goto end; } @@ -1624,24 +1624,10 @@ void _trans_layer::send_non_200_ack(sip_msg* reply, sip_trans* t) int send_err = inv->local_socket->send(&inv->remote_ip,ack_buf,ack_len); if(send_err < 0){ ERROR("Error from transport layer\n"); - delete ack_buf; } - 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)); - t->retr_socket = inv->local_socket; - } -} + delete ack_buf; -// void _trans_layer::retransmit(sip_msg* msg) -// { -// int send_err = msg->send(); -// if(send_err < 0){ -// ERROR("Error from transport layer\n"); -// } -// } +} void _trans_layer::timer_expired(timer* t, trans_bucket* bucket, sip_trans* tr) { _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
