aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-09-04 04:09:09 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-09-04 04:09:09 +0000
commitc9870f231d9f011645b1f61055a6a7c21d4f0953 (patch)
tree55c4d29d1c1ee643209b299a3e931cb86be96e4e
parentde7444f3f05e9647908d4fa54e0e343420bb4c27 (diff)
Re-poke all peers on a reload (bug #216)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1470 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_iax2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c
index 14ddc53c0..71c5056bd 100755
--- a/channels/chan_iax2.c
+++ b/channels/chan_iax2.c
@@ -5250,6 +5250,7 @@ static int reload_config(void)
char *config = "iax.conf";
struct iax2_registry *reg;
struct sockaddr_in dead_sin;
+ struct iax2_peer *peer;
strncpy(accountcode, "", sizeof(accountcode)-1);
amaflags = 0;
notransfer = 0;
@@ -5259,6 +5260,11 @@ static int reload_config(void)
prune_peers();
for (reg = registrations; reg; reg = reg->next)
iax2_do_register(reg);
+ /* Qualify hosts, too */
+ ast_mutex_lock(&peerl.lock);
+ for (peer = peerl.peers; peer; peer = peer->next)
+ iax2_poke_peer(peer);
+ ast_mutex_unlock(&peerl.lock);
return 0;
}