Index: channels/chan_iax2.c =================================================================== RCS file: /usr/cvsroot/asterisk/channels/chan_iax2.c,v retrieving revision 1.259 diff -u -r1.259 chan_iax2.c --- channels/chan_iax2.c 24 Mar 2005 05:02:49 -0000 1.259 +++ channels/chan_iax2.c 28 Mar 2005 01:33:55 -0000 @@ -226,6 +226,8 @@ static struct iax2_peer *realtime_peer(const char *peername); static int reload_config(void); +static int iax2_reload(int fd, int argc, char *argv[]); + struct iax2_user { char name[80]; @@ -1999,6 +2001,10 @@ "Usage: iax2 prune realtime [|all]\n" " Prunes object(s) from the cache\n"; +static char iax2_reload_usage[] = +"Usage: iax2 reload\n" +" Reloads IAX configuration from iax.conf\n"; + static struct ast_cli_entry cli_set_jitter = { { "iax2", "set", "jitter", NULL }, iax2_set_jitter, "Sets IAX jitter buffer", jitter_usage }; @@ -2014,6 +2020,9 @@ static struct ast_cli_entry cli_prune_realtime = { { "iax2", "prune", "realtime", NULL }, iax2_prune_realtime, "Prune a cached realtime lookup", prune_realtime_usage, complete_iax2_show_peer }; +static struct ast_cli_entry cli_reload = + { { "iax2", "reload", NULL }, iax2_reload, "Reload IAX configuration", iax2_reload_usage }; + static unsigned int calc_rxstamp(struct chan_iax2_pvt *p, unsigned int offset); #ifdef BRIDGE_OPTIMIZATION @@ -4059,7 +4068,6 @@ char nm[20]; char status[20] = ""; char srch[2000] = ""; - total_peers++; if (registeredonly && !peer->addr.sin_addr.s_addr) continue; @@ -4106,6 +4114,7 @@ nm, ntohs(peer->addr.sin_port), ast_test_flag(peer, IAX_TRUNK) ? "(T)" : " ", peer->encmethods ? "(E)" : " ", status); + total_peers++; } ast_mutex_unlock(&peerl.lock); @@ -8439,6 +8448,11 @@ return 0; } +static int iax2_reload(int fd, int argc, char *argv[]) +{ + return reload_config(); +} + int reload(void) { return reload_config(); @@ -8978,6 +8992,7 @@ ast_cli_register(&cli_show_stats); ast_cli_register(&cli_show_cache); ast_cli_register(&cli_show_peer); + ast_cli_register(&cli_reload); ast_register_application(papp, iax2_prov_app, psyn, pdescrip);