[Asterisk-Dev] IAX2 RFC and retries.
tim panton
tpanton at attglobal.net
Fri May 20 08:28:05 MST 2005
On 20 May 2005, at 15:00, Steve Kann wrote:
> tim panton wrote:
>
>
>> I am implementing the IAX2 protocol in pure Java.
>> I am trying to use the RFC as a protocol description
>> - not the code!
>>
>> The good news is that I have a usable phone with acceptable
>> performance if I am on a quiet LAN.
>>
>> However....
>> I am now trying to implement the retry mechanism for full frames.
>> I can't get it to work right against asterisk 1.0.3
>> The RFC says:
>>
>> An ACK must have both a source
>> call number and destination call number. It must also increment
>> the sequence number counters, and return the same timestamp it
>> received. This allows the originating peer to determine to which
>> message the ACK is responding.
>>
>> But this seems not to be the case. I am seeing acks with timestamps
>> that are the time they were sent, not that of the original message.
>>
>> Before I rip my code apart again, could someone tell me if the
>> RFC represents what Asterisk 1.0.3 actually does ?
>>
>
>
> The timestamp of an ACK really is meaningless; It's the seqno that
> tells the receiver what has been acknowledged.
Thanks, but I'm still a bit in the dark...
Which seqno? What is the comparison that has to be true for a match?
if I have 2 packets 'ack' (an acknowledgement) and 'sent' ( a packet
that was
sent and has not yet been acknowledged)
do I test for
ack.iseq == sent.oseq
or
ack.oseq == sent.iseq
?
>
> I think that asterisk _does_ set the timestamp of an ACK to be
> equal to the timestamp of the frame it's acknowledging, but it's
> redundant.
It looks like 1.0.3 doesn't.
Tim.
>
> -SteveK
>
More information about the asterisk-dev
mailing list