diff options
-rw-r--r-- | pjnath/src/pjnath/stun_transaction.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pjnath/src/pjnath/stun_transaction.c b/pjnath/src/pjnath/stun_transaction.c index 7360239d..1d8a33f3 100644 --- a/pjnath/src/pjnath/stun_transaction.c +++ b/pjnath/src/pjnath/stun_transaction.c @@ -184,7 +184,8 @@ static pj_status_t tsx_transmit_msg(pj_stun_client_tsx *tsx) { pj_status_t status; - PJ_ASSERT_RETURN(tsx->retransmit_timer.id == 0, PJ_EBUSY); + PJ_ASSERT_RETURN(tsx->retransmit_timer.id == 0 || + !tsx->require_retransmit, PJ_EBUSY); if (tsx->require_retransmit) { /* Calculate retransmit/timeout delay */ @@ -289,6 +290,7 @@ PJ_DEF(pj_status_t) pj_stun_client_tsx_send_msg(pj_stun_client_tsx *tsx, tsx->retransmit_timer.id = 0; return status; } + tsx->retransmit_timer.id = TIMER_ACTIVE; } /* Send the message */ |