According you routing table 10.0.0.0/24 network is reachable via eth0. ARP request must be send via eth0 interface.
Thinking is required to find why arp is send via "external" LAN segment to router.
May be firewall rules, VLAN configuration mistake in LAN switch and etc.

Also I recommend disable ARP proxy feature on router. Router must not respond to ARP request for not owned IP address.

Sergey Safarov

On Wed, May 13, 2015 at 12:05 PM, Moe Navid <manavid@gmail.com> wrote:

Hi Anthony,

Thank you very much for your response.

After almost 9 hours of debugging I was able to reproduce the issue.

I went through all our logs and found out whenever a particular customer calls out, we loose connectivity with our router.

I found out the customer had moved his IP Phone from his office to another location. That location has same private IP address as our servers.

On all our servers we use 10.0.0.0/24 on eth0 and eth1 has public IP address.

What I did next was isolated a FreeSWITCH server and spawn up a dedicated Kamailio to only send traffic to this FS server. I also changed my lab's LAN from 172.16.16.0/24 to 10.0.0.0/24.

Here is what happens when I make a call:

First call is fine and I get:

switch_rtp.c:5846 Auto Changing port from 10.0.0.179:61856 to 108.178.144.243:10249

On second call, here is what happens:

The value of rtp_session->flags[SWITCH_RTP_FLAG_AUTOADJ] is correctly set to 1 but the “bytes" variable is always at zero for following if statement on line 5833 in switch_rtp.c:

if (bytes && rtp_session->flags[SWITCH_RTP_FLAG_AUTOADJ] && switch_sockaddr_get_port(rtp_session->from_addr)) 

I also did raw packet captures on eth1, I found out right after my FS receives SIP 183 with SDP from carrier, it sends out following:

1) an ICMP to my public IP address which is 108.178.144.243

2) an ARP broadcast “Who has 10.0.0.179? Tell 208.65.xxx.xxx” (208.65.xxx.xxx is the public IP of the FS server)

Right after that, the router is no longer reachable and 10.0.0.179 will show up in arp table of FS with mac address of the router.

I tested above scenario zillion times to make sure it’s reproducible before reporting back.

What I did next was installing rtpproxy and made few changes to our Kamailio to rewrite SDP and pass the traffic through rtpproxy and when I make calls with rtpproxy in the middle, the problem does not occur.

Any thoughts?

Thank you,

Moe


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org