generate non-200-ACK on the fly instead of using the retransmission buffer.

sayer/1.4-spce2.6
Raphael Coeffic 15 years ago
parent ffd67aeaa8
commit af8dfe9e76

@ -1305,8 +1305,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;
}
@ -1621,24 +1621,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)
{

Loading…
Cancel
Save