Hi all,
 
I am new to sofia SIP so bear with me pleace if this should be stupid:
 
 
Two of our SIPP applications (A and B) are supposed to connect to eachother.
 
We set TPTAG_IDLE to 2000 ms and NTATAG_SIP_TIX64 to 8000ms
 
Before our SIP application sends an INVITE to a remote host it does some kind of  "SIP port scan" and if successful a "subscriber available" test by sending an OPTIONS request before hand.
 
Now if the host with B running is power cycled, any existing connection is torn down. Now A tries to do the OPTIONS subscriber ping to  B which of course fails since B is down. said OPTIONS request
results in a secondary tport being created (TCP) and queued in as pending since the transport cannot be established.
since the reboot takes longer than 8 secs, the OPTIONS request times out (Timer F) and is removed. The application in this case will start with a periodic port scan on 5060 before sending a new OPTIONS request. The transport however is kept, setting the TPTAG_IDLE does not help since in tport_release() the tport_secondary_timer is not set.
 
Now if the remote host comes up, B sends an INVITE itself, is successful, so far so good.
 
However, upon session setup both sides are expected to exchange INFO messages to set up hgher level configuration parameters. A stillhas a TCP transport to B which is not established,
thus the INFO message is queued. if the reboot took sufficiently long enough, the next TCP retransmission is not triggered before the 8 seconds timeout for the INFO request timesout and this in turn
leads to a teardown of the corresponding session in A, including sending a BYE to B. Of course this BYE is also not sent to the remote side since the TCP transport is still not established.
 
For now I don't see a way from application level to close/zap the transport on the OPTIONS request timeout explicitly, so I would modify tport_release to set the secondary timer if the port is not connected and no other messages are pending in order to let the timer run into the idle timeout and remove the transport to this remote host.
 
Any suggestions to that?
 
T.I.A.
 
Harry
 
 
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to