On 03/29/2011 03:32 PM, Asgaroth wrote:
Hi Marius,

Hello Asgaroth,

Comments inline
I have sent you another email in the thread but no reply. Can you
confirm that you have a listening UDP socket on the interface that is
selected by the kernel for sending the datagram in a mhomed
environment. If you are not listening on that interface Kamailio will
complain with the error message you received in mhomed=1 config
I have my kamailio configuration as follows:

listen=192.168.1.100:5060
listen=192.168.2.100:5060

And my linux server ip configuration is as follows:

Where 192.168.1.99/192.168.2.99 is the ip address configured for the
respective interfaces, and the 192.168.1.100/192.168.2.100 are the
"virtual" interfaces created by ucarp.

[root@testprxy #] ip addr show

2: eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>  mtu 1500 qdisc pfifo_fast
qlen 1000
     link/ether 00:0c:29:9d:0d:c5 brd ff:ff:ff:ff:ff:ff
     inet 192.168.1.99/24 brd 192.168.1.255 scope global eth0
     inet 192.168.1.100/32 scope global eth0
     inet6 fe80::20c:29ff:fe9d:dc5/64 scope link
        valid_lft forever preferred_lft forever
3: eth1:<BROADCAST,MULTICAST,UP,LOWER_UP>  mtu 1500 qdisc pfifo_fast
qlen 1000
     link/ether 00:0c:29:9d:0d:cf brd ff:ff:ff:ff:ff:ff
     inet 192.168.2.99/24 brd 192.168.2.255 scope global eth1
     inet 192.168.2.100/32 scope global eth1
     inet6 fe80::20c:29ff:fe9d:dcf/64 scope link
        valid_lft forever preferred_lft forever

Do I need to have kamailio listen on the 192.168.1.99/192.168.2.99
addresses as well?

I think currently the kernel my select 192.168.1.99 to route out to
192.168.1.x/24, and 192.168.2.99 to route out to 192.168.2.x. See
routeing table below:

[root@testprxy #] ip route show
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.99
192.168.2.0/24 dev eth1  proto kernel  scope link  src 192.168.2.99
default via 192.168.1.1 dev eth0

Yes , for kamailio to send datagrams on those interfaces it has to explicitely listen on them.
Now if I did something like:

ip rule add from 192.168.1.100/32   table 100
ip rule add to      192.168.1.100/32   table 100
ip rule add to      192.168.1.0/24       table 100
ip route add default via 192.168.1.1 table 100
ip route add 192.168.1.0/24 dev eth0 src 192.168.1.100 table 100

ip rule add from 192.168.2.100   table 101
ip rule add to      192.168.2.100   table 101
ip rule add to      192.168.2.0/24 table 101
ip route add 192.168.2.0/24 dev eth1 src 192.168.2.100 table 101

Would kamailio be able to use those interfaces then?

Thanks


The restriction is from a design/functionality p.o.v. Kamailio must be able to receive a reply (response) on the interface it sends to. So if you can ensure that the kernel will choose one interface that kamailio is bound to, then you are ok, but if it choses one iface that kamailio does not listen, then you have no way of sending the datagram(and that error will appear).

I can't really say that the route table will work. One way I used for testing is via Ping or netcat without any local parameters. The choosing of the local address and port is left to the kernel, the same as kamailio with mhomed, so if you can find a suitable routeing table where only the ucarp interfaces are selected then you are ok. Why don't you listen also on 192.168.1.99/192.168.2.99 ?

Marius.
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users



_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to