|Summary:||ASTERISK-06147: Bug: Use uninicialized variable timer_t1|
|Reporter:||Martin Vit (festr)||Labels:|
|Date Opened:||2006-01-20 10:19:23.000-0600||Date Closed:||2011-06-07 14:02:37|
|Description:||Scenario is: Call to grandstream, answer and talk, switch to line 2 (in this step, double 200 OK is generated by asterisk) and after switch to line 1, caller hear nothing. |
tethereal (switch to line 2), 172.24.81.1 is asterisk:
5.960422 172.24.81.9 -> 172.24.81.1 SIP/SDP Request: INVITE sip:email@example.com, with session description
5.962125 172.24.81.1 -> 172.24.81.9 SIP/SDP Status: 200 OK, with session description
6.011744 172.24.81.1 -> 172.24.81.9 SIP/SDP Status: 200 OK, with session description
6.017018 172.24.81.9 -> 172.24.81.1 SIP Request: ACK sip:firstname.lastname@example.org
6.054482 172.24.81.9 -> 172.24.81.1 SIP Request: ACK sip:email@example.com
in asterisk 1.2.1: chan_sip.c, function __sip_reliable_xmit, line about 1278
pkt->timer_t1 = p->timer_t1; /* Set SIP timer T1 */
siptimer_a = pkt->timer_t1 * 2;
p->timer_t1 is not inicialized somewhere when allocating structure sip_pvt, i cant find where.
when sending 200 OK after INVITE is received, p->timer_t1 is uninicialized so retransmissions is in our environment (randomly) usually about 50ms. This is causing sending double 200 OK and grandstream GXP 2000 is confused, so next RTP stream has invalid session ID (probably bug in grandstream).
Pls look at this, it seems, this could cause unexpected behaviour on many devices.
|Comments:||By: Martin Vit (festr) 2006-01-20 10:33:13.000-0600|
well i'm sorry. I dont understand code well to reliased, that t1 timer is derived from last qualify time. Pls close this bug or link it with bug 5892 which is very closed to my problem.
By: Russell Bryant (russell) 2006-01-20 11:29:42.000-0600
Closed at the request of the original poster