[OpenSIPS-Users] Failed INVITE tcp_send

Bogdan-Andrei Iancu bogdan at voice-system.ro
Sun Dec 27 21:05:22 CET 2009


Hi Brian,

User location mechanism is just "remembering" where the end-user is 
located without taking care (by itself) of the transport related issues. 
USRLOC does not keep tcp connection persistence or anything like this .

So, if a user registers via TLS, usrloc will remember where the user 
came from, but nothing about the connection or nothing to keep that 
connection alive.

When dealing with TCP based protocols, you need to be sure your opensips 
does not close the TCP connection (but this is not guarantee the other 
party will not close it) - you can do it via tcp_persistent_flag:
       
http://www.opensips.org/html/docs/modules/devel/registrar.html#id228181

Regards,
Bogdan

opensipslist at encambio.com wrote:
>> For sure it is after the lookup() and opensips tries to open a 
>> connection somwhere behind a NAT (where a TLS phone is located).
>>
>>     
> That would seem right, but in my case I'm handling NAT correctly:
>
>     if (client_nat_test("3")) {
>         if (method=="SUBSCRIBE")
>             nat_keepalive();
>         if (!has_totag()) {
>             if (method=="REGISTER") {
>                 if (proto==UDP)
>                     nat_keepalive();
>                 else
>                     setflag(7);  # tcp_persistent
>                     #Try as well force_tcp_alias();  # reuse port
>                 $avp(s:regrcv) = $source_uri;
>                 fix_nated_register();  # add Received header
>             }
>             else if (method=="INVITE") {
>                 nat_keepalive();
>                 fix_nated_sdp("3");
>             }
>         }
>     }
>
> ...which means that lookup is most likely reporting a valid TLS/TCP
> connection which is both open and still in the NAT table of the IP
> router. Have I missed something there?
>
> Another idea is that SUBSCRIBEs or NOTIFYs are causing the TLS
> errors. I don't know if 'nat_keepalive' works on TCP/TLS or if
> OpenSIPS is able to reuse the TLS connection stored in usrloc for
> non INVITE messages.
>
> Regards,
> Brian
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>   


-- 
Bogdan-Andrei Iancu
www.voice-system.ro




More information about the Users mailing list