2) I tried to set mhomed=1, but it has become even
worse - No out socket.
Hello,
mhomed only works for UDP connection. It shouldn't have any effect
on TCP. There must be something else.
For TCP and multihomed, I think you have to use force_send_socket.
Because the fact the receiving socket will always be selected to
send the message on, you either have to use force_send_socket to
specify a routeable interface, or ensure that the client ip is
reacheable from the ones that receives the message.
Manipulating routes might give you more answers (ip route)
Cheers
Marius
So I tried to disable it again and force kamailio to
listen on physical address as well (so simultaneously on virtual
and physical). The error disappeared, but the BYE message is not
forwarded, it is processed and onsend event-route is triggered as
usually , but the packet is not sent anywhere. I used tcpdump -i
any. I will investigate if it is some network issue, however, is
there any way how to debug it further ?
On Mon, Feb 13, 2012 at 4:28 PM,
Daniel-Constantin Mierla <miconda@gmail.com>
wrote:
Hello,
for 1) Is the device behind nat? Do you have tcp connection
lifetime parameter value long enough?
for 2) is the physical IP a public space IP? Do you have
mhomed parameter set? It is a warning saying that the
interface returned by OS for connecting to the destination
is not in the listen list.
for 3) yes it is expected behaviour, you just need to do
record routing as usual, nothing special.
Cheers,
Daniel
On 2/13/12 11:43 AM, Mino Haluz wrote:
Hi,
our customers are using mostly UDP but some of them
want to use TCP. The problem is, I get various TCP
errors in kamailio log and I do not understand what
they mean
1) ERROR: <core> [tcp_main.c:4130]: connect
<customerIP:port> failed
This means kamailio is trying to connect with TCP to
the customer ??
2) WARNING: tcp_do_connect <customerIP:port> :
could not find corresponding listening socket for
IPaddress , using default... ( where IPaddress is
kamailio physical IP address)
Kamailio has one virtual IP address (heartbeat IP
address) and one physical. It listens on the virtual
IP address but I do not understand why it is trying to
use the physical IP address ?
I was investigating this thing because the BYE message
is not being relayed if the TCP is used (everytime the
2. error message is printed), so that's why I have to
understand what it really means...
And the last question,
3) If kamailio is relaying the traffic to the PSTN
gateway, and the customer is using TCP, kamailio uses
TCP as well for connecting to the PSTN gw. Is this
behaviour normal ? I would expect that
--
Zbihlei Marius
Head of
Linux Development Services Romania
1&1 Internet Development srl Tel KA: 754-9152
Str Mircea Eliade 18 Tel RO: +40-31-223-9152
Sect 1, Bucuresti mailto: marius.zbihlei@1and1.ro
71295, Romania