[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Linphone-developers] Re: [Linphone-users] not ACKing retransmitted 200'

From: Troy Cauble
Subject: [Linphone-developers] Re: [Linphone-users] not ACKing retransmitted 200's.
Date: Fri, 24 Oct 2003 17:45:08 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624

Troy Cauble wrote:


Using linphone-0.11.0 with osip-0.9.7, I see the following:

 When a 200 is received in response to an INVITE, it is ACKed.
 But if the ACK is lost, the far end (not a linphone) repeats the 200.
 Linphone never ACKs these repeated 200s.

In osip/fsm/ict_fsm.c, ict_rcv_2xx() has two callbacks
to functions in linphone/osipua/src/ict_callbacks.c:
 1) ict_2xx_received() handles the 200 and sends the ACK, and
 2) ict_kill_transaction() frees the transaction

It appears that either ict_rcv_2xx() should not callback
ict_kill_transaction(), or ict_kill_transaction() should
not actually remove the transaction, so that subsequent
200's can be matched.  Can someone suggest which one?
If someone clarifies which library should be responsible,
I can write the code.

OK. Reading the RFC would have helped.  Neither of my guesses
were right.  libosip is fine.  The first 2xx received does
terminate the INVITE.

Subsequent 2xx's should be passed directly to the UA core,
bypassing the transaction layer.

Also, I see OSIP_RETRANSMISSION ifdefs in linphone
for repeating the 200ok msgs until an ACK is received.
But it appears that some osip portions are missing
from 0.9.7.  What's the status of this?

  I find references to these functions
  (osip_start_200ok_retransmissions(), etc.) in osip2.
  Can linphone-0.11.0 (& it's osipua library) be used with osip2 ?
  I thought osip2 was not compatible and you had to wait for an
  eXosip version of linphone.  Or maybe there are cvs entries
  between osip 0.9.7 and 2.0.0 that contain these??

Ah ha!!  This new libosip2 code also catches retransmitted 200ok's,
and retransmits the ACK!!  (Taking on a UA core function!)

So, should I port libosip2 to linphone-0.11.0 (Is it even a port?),
or just port the retransmission portions to libosip-0.9.7 ??


reply via email to

[Prev in Thread] Current Thread [Next in Thread]