From: Tilghman Lesher Date: Sat, 16 Sep 2006 07:57:04 +0000 (+0000) Subject: When a realtime peer expires, reset the ipaddress in the realtime database back to... X-Git-Tag: 1.2.13~62 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a729fb97e4ef8570d045458fe960b58c3d27a660;p=thirdparty%2Fasterisk.git When a realtime peer expires, reset the ipaddress in the realtime database back to 0 (Issue 6656) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@43019 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 88dc655611..3f576c4de5 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -2600,6 +2600,7 @@ static struct iax2_user *build_user(const char *name, struct ast_variable *v, in static void destroy_user(struct iax2_user *user); static int expire_registry(void *data); +static void realtime_update_peer(const char *peername, struct sockaddr_in *sin, time_t regtime); static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in *sin) { @@ -2685,6 +2686,7 @@ static struct iax2_peer *realtime_peer(const char *peername, struct sockaddr_in time(&nowtime); if ((nowtime - regseconds) > IAX_DEFAULT_REG_EXPIRE) { memset(&peer->addr, 0, sizeof(peer->addr)); + realtime_update_peer(peer->name, &peer->addr, 0); if (option_debug) ast_log(LOG_DEBUG, "realtime_peer: Bah, '%s' is expired (%d/%d/%d)!\n", peername, (int)(nowtime - regseconds), (int)regseconds, (int)nowtime);