diff --git a/q921.c b/q921.c index 2e648c4..cb88797 100644 --- a/q921.c +++ b/q921.c @@ -522,9 +522,7 @@ int q921_transmit_iframe(struct pri *pri, void *buf, int len, int cr) size is too big */ if ((pri->q921_state == Q921_LINK_CONNECTION_ESTABLISHED) && (!pri->retrans && !pri->busy)) { if (pri->windowlen < pri->window) { - pri->windowlen++; - q921_transmit(pri, (q921_h *)(&f->h), f->len); - f->transmitted++; + q921_send_queued_iframes(pri); } else { if (pri->debug & PRI_DEBUG_Q921_DUMP) pri_message(pri, "Delaying transmission of %d, window is %d/%d long\n", @@ -582,7 +580,7 @@ static pri_event *q921_handle_iframe(struct pri *pri, q921_i *i, int len) Q921_INC(pri->v_r); /* Handle their ACK */ pri->sentrej = 0; - ev = q921_ack_rx(pri, i->n_r, 0); + ev = q921_ack_rx(pri, i->n_r, 1); if (ev) return ev; if (i->p_f) {