[asterisk-dev] T1 sip 500ms or 1s ?
Kristian Kielhofner
kristian.kielhofner at gmail.com
Thu Jun 18 11:17:45 CDT 2009
On Thu, Jun 18, 2009 at 12:03 PM, Mark Michelson <mmichelson at digium.com> wrote:
>
> David Hansen wrote:
> > Are your PBX and phone on same subnet? Is the phone SIP capable and listening on port 5060? You mention T1, but this has no relationship to SIP convos.
> >
> > David Hansen
>
> In SIP, there is a timer called T1 used as a base for calculating retransmission
> times.
>
> In answer to the originally-posted question, the SIP T1 timer defaults to 500
> ms. Looking at the code in sip_reliable_xmit, we set a value called siptimer_a
> to be 2 * pkt->timer_t1. This value is what is passed to the scheduler for the
> retransmission time.
>
> Reading RFC 3261, section 17.1.1.2:
>
> "If an unreliable transport is being
> used, the client transaction MUST start timer A with a value of T1.
> If a reliable transport is being used, the client transaction SHOULD
> NOT start timer A (Timer A controls request retransmissions). For
> any transport, the client transaction MUST start timer B with a value
> of 64*T1 seconds (Timer B controls transaction timeouts).
>
> When timer A fires, the client transaction MUST retransmit the
> request by passing it to the transport layer, and MUST reset the
> timer with a value of 2*T1."
>
> So it appears that this may be an instance where we are doing things a bit
> out-of-spec here. I wonder if there was some sort of justification for this when
> it was written...
>
> Mark Michelson
>
IIRC the T1 value is calculated based off of whatever qualify returns
(if enabled). I don't remember what happens if you have qualify
disabled...
This may have changed in recent versions but I remember it being
correct at some point in time.
--
Kristian Kielhofner
http://www.astlinux.org
http://blog.krisk.org
http://www.star2star.com
http://www.submityoursip.com
http://www.voalte.com
More information about the asterisk-dev
mailing list