--- chan_sip.c.~1.894.~ 2005-10-17 16:26:33.000000000 -0600 +++ chan_sip.c 2005-10-20 18:18:41.000000000 -0600 @@ -5586,6 +5586,12 @@ { struct sip_peer *peer = data; + /* For dynamic clients, Use the last known IP as the default IP in case a call comes in before next register */ + if (ast_test_flag(peer, SIP_DYNAMIC)){ + peer->defaddr.sin_port = peer->addr.sin_port; + peer->defaddr.sin_addr = peer->addr.sin_addr; + } + memset(&peer->addr, 0, sizeof(peer->addr)); ast_db_del("SIP/Registry", peer->name); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "Peer: SIP/%s\r\nPeerStatus: Unregistered\r\nCause: Expired\r\n", peer->name);