Hi, in order to mantain TCP conecction with UACs behind NAT the only working solution (AFAIK) is setting register expires value smaller than the time UAC mantains open the TCP connection (value "x").
Certainly, I don't know which is the typical "x" value (i.e. Twinkle 1.2 that suports TCP mantains TCP connection for 32 seconds). Is 30 a good value?
Of course, in UDP I use "OPTIONS" keepalive from OpenSer, so I don't need (and don't want) a very small register "expires" value. I just want to set "expires" value to 30 seconds in case of TCP.
But "registrar" module seems not to allow me it, I just see:
default_expires (integer) min_expires (integer) max_expires (integer)
It would be nice if I could set an AVP to set the max expires time in the script, and set itto 30 if "proto==TCP".
Is it possible in some way?
Thanks a lot for any suggestion. Regards.
Iñaki Baz Castillo writes:
Certainly, I don't know which is the typical "x" value (i.e. Twinkle 1.2 that suports TCP mantains TCP connection for 32 seconds).
twinkle 1.2 has not been released, so i don't know about it. if i remember correctly, outbound internet draft specifies that ua using tcp should keep tcp connection open to its outbound proxies forever and send keepalive CRLF packets every 20 seconds or so. i don't have the draft available and cannot check.
have you tried to set outbound proxy for your twinkle?
-- juha
El Sábado, 1 de Marzo de 2008, Juha Heinanen escribió:
Really...? It's still alpha version but... ENJOY IT !!!!
http://www.twinklephone.com/download/twinkle-1.2alpha.tar.gz
It has TCP and allows setting "q" value for REGISTER ;)
I've asked to Twinkle developer and Twinkle mantains TCP connection for 32 seconds just because 32 = T1 (0.5) x 64 XDDDD This is, Twinkle doesn't implement the "outbound" draft, but RFC3261 (and its lack for TCP clients behind NAT). But sure it will implement it :)
i don't have the draft available and cannot check.
I will try to read it tomorrow: http://tools.ietf.org/html/draft-ietf-sip-outbound-12
Best regards.