I see, basically "it's complicated" with TCP. Thanks for the detailed explanation. Using ipops resolution would be detrimental, I will look into the hash table suggestion.
Thanks! On Mon, Nov 2, 2020 at 1:48 PM Daniel-Constantin Mierla <[email protected]> wrote: > Hello, > > what's in kamailio memory related to a tcp connection may not be its > actual state, because the kernel/tcp stack can be in reconnecting state > without notifying the application layer. It can take up to a few minutes to > get to timeout and report connection is closed. So I am not sure you can > avoid send failure in t_relay(), and thus overall benefits could be minimal. > > Anyhow, look at the tcpops module, there is a function to get connection > id by peer address/port, which you can get with next-hop variable before > t_relay() (provided is not going to be fqdn, which may require mixing in > ipops module). > > An alternative, if you need it for requests within dialog, you can use > hash table to store the connection ID using call-id as key when processing > the initial subscribe/invite, then you can retrieve it for bye/notify/... > > Cheers, > Daniel > On 02.11.20 19:04, Sergiu Pojoga wrote: > > Hi Daniel, > > In my case it's for an edge proxy scenario doing transport conversion, UDP > backend to TCP/TLS client. So it would be after loose_route() followed by > t_relay(). The initial TCP connection is established when a phone > SUBSCRIBEs, later on the backend sends the in-dialog NOTIFY which often > fails because the client & TCP connection is gone by now, causing a > t_relay() failure. > > Thanks. Regards, > --Sergiu > > On Mon, Nov 2, 2020 at 12:29 PM Daniel-Constantin Mierla < > [email protected]> wrote: > >> Hello, >> >> do you need it in a generic way, or after some specific operations like >> lookup("location")? >> >> Cheers, >> Daniel >> On 01.11.20 16:45, Sergiu Pojoga wrote: >> >> Hi there, >> >> Is there a PV that exposes the outgoing TCP connection ID? $conid seems >> to be for received only. >> >> *$conid - The TCP connection ID of the connection the current message >> arrived on for TCP, TLS, WS, and WSS. Set to $null for SCTP and UDP.* >> >> The objective is to check the status of the egress TCP connection like >> for e.g.: >> if(!tcp_conid_state(conid)) { >> >> Thanks. >> --Sergiu >> >> _______________________________________________ >> Kamailio (SER) - Users Mailing >> [email protected]https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users >> >> -- >> Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- >> www.linkedin.com/in/miconda >> Funding: https://www.paypal.me/dcmierla >> >> > _______________________________________________ > Kamailio (SER) - Users Mailing > [email protected]https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users > > -- > Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- > www.linkedin.com/in/miconda > Funding: https://www.paypal.me/dcmierla > >
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
