diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index fd08f245710cd4f8455c43dff9489a29b45611ff..fbaed07d6834ce14759fa25aff0d3aaa3626ab54 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 b49ea164d916f49600fc50f2cb8cbaa4ebdd2cf0..da109779473b0ca060268d31346a2b4a4dc341f3 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 2422ce0d3a1c870b7aec698e37d90c760d23b19d..3caaa5d31e292deecd83a9a3f09d4421c2caec90 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);