diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index fd08f24571..fbaed07d68 100755 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -7108,6 +7108,7 @@ static int __unload_module(void) ast_unregister_switch(&iax2_switch); ast_channel_unregister(type); delete_users(); + iax_provision_unload(); return 0; } diff --git a/channels/iax2-provision.c b/channels/iax2-provision.c index b49ea164d9..da10977947 100755 --- a/channels/iax2-provision.c +++ b/channels/iax2-provision.c @@ -455,6 +455,13 @@ static int iax_provision_init(void) return 0; } +int iax_provision_unload(void) +{ + provinit = 0; + ast_cli_unregister(&cli_show_provisioning); + return 0; +} + int iax_provision_reload(void) { struct ast_config *cfg; diff --git a/channels/iax2-provision.h b/channels/iax2-provision.h index 2422ce0d3a..3caaa5d31e 100755 --- a/channels/iax2-provision.h +++ b/channels/iax2-provision.h @@ -38,6 +38,7 @@ extern char *iax_provflags2str(char *buf, int buflen, unsigned int flags); extern int iax_provision_reload(void); +extern int iax_provision_unload(void); extern int iax_provision_build(struct iax_ie_data *provdata, unsigned int *signature, const char *template, int force); extern int iax_provision_version(unsigned int *signature, const char *template, int force); extern char *iax_prov_complete_template(char *line, char *word, int pos, int state);