summaryrefslogtreecommitdiff
path: root/pjsip/src
diff options
context:
space:
mode:
authorNanang Izzuddin <nanang@teluu.com>2011-06-16 13:15:04 +0000
committerNanang Izzuddin <nanang@teluu.com>2011-06-16 13:15:04 +0000
commit30a674ea7ca83e616455d21dfc71a15594dd5bfe (patch)
treea23e6a420422bb5772c441acf0a4b50793431e22 /pjsip/src
parentd1fc1193fc57517f5adc32bc2e0b9077fd367304 (diff)
Re #1306:
- Moved PJSIP_TSX_1XX_RETRANS_DELAY definition to sip_config.h. - Updated retransmission mechanism to skip retransmission rescheduling when the interval is zero. git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@3586 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src')
-rw-r--r--pjsip/src/pjsip/sip_transaction.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index 5db17224..9618d241 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -146,13 +146,6 @@ static pj_time_val timeout_timer_val = { (64*PJSIP_T1_TIMEOUT)/1000,
#define TIMER_INACTIVE 0
#define TIMER_ACTIVE 1
-/* Delay for 1xx retransmission (should be 60 seconds).
- * Specify 0 to disable this feature
- */
-#ifndef PJSIP_TSX_1XX_RETRANS_DELAY
-# define PJSIP_TSX_1XX_RETRANS_DELAY 60
-#endif
-
/* Prototypes. */
static void lock_tsx(pjsip_transaction *tsx, struct tsx_lock_data *lck);
@@ -2095,7 +2088,6 @@ PJ_DEF(pj_status_t) pjsip_tsx_retransmit_no_state(pjsip_transaction *tsx,
*/
static void tsx_resched_retransmission( pjsip_transaction *tsx )
{
- pj_time_val timeout;
pj_uint32_t msec_time;
pj_assert((tsx->transport_flag & TSX_HAS_PENDING_TRANSPORT) == 0);
@@ -2128,11 +2120,15 @@ static void tsx_resched_retransmission( pjsip_transaction *tsx )
}
}
- timeout.sec = msec_time / 1000;
- timeout.msec = msec_time % 1000;
- tsx->retransmit_timer.id = TIMER_ACTIVE;
- pjsip_endpt_schedule_timer( tsx->endpt, &tsx->retransmit_timer,
- &timeout);
+ if (msec_time != 0) {
+ pj_time_val timeout;
+
+ timeout.sec = msec_time / 1000;
+ timeout.msec = msec_time % 1000;
+ tsx->retransmit_timer.id = TIMER_ACTIVE;
+ pjsip_endpt_schedule_timer( tsx->endpt, &tsx->retransmit_timer,
+ &timeout);
+ }
}
/*