The best way to see what’s going on is to look at the SIP/SDP packets themselves, which you can do either using ‘sip debug’ in Asterisk, or using tcpdump:

# tcpdump -i eth0 -n -s0 -v udp port 5060
# tcpdump -i eth1 -n -s0 -v udp port 5060

With a recent version of tcpdump, the -v option will show you the SIP/SDP payload. If it doesn’t, use -X instead (capital X) which will show you hex and ASCII. -s0 means capture the whole packet, and -n means don’t try to do reverse DNS lookups on every packet’s IP address.