Index: channels/chan_sip.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_sip.c,v retrieving revision 1.677 diff -u -r1.677 chan_sip.c --- channels/chan_sip.c 17 Mar 2005 23:03:07 -0000 1.677 +++ channels/chan_sip.c 18 Mar 2005 18:22:24 -0000 @@ -5906,11 +5906,15 @@ if (!user) { /* If we didn't find a user match, check for peers */ + /* First check on peer name, then as a fall back on IP */ + peer = find_peer(of, NULL, 1); + /* Look for peer based on the IP address we received data from */ /* If peer is registred from this IP address or have this as a default IP address, this call is from the peer */ - peer = find_peer(NULL, &p->recv, 1); + if (!peer) + peer = find_peer(NULL, &p->recv, 1); if (peer) { if (debug) ast_verbose("Found peer '%s'\n", peer->name);