summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2009-05-26 13:43:13 +0000
committerJoshua Colp <jcolp@digium.com>2009-05-26 13:43:13 +0000
commitd4efe15c097e55a1dcb69aea8986b422724d79b6 (patch)
tree3275052ab331006e178f97289833a06ec02f124c /channels
parent02401da2663769eb89922aea640f3ea7446ad0f8 (diff)
Fix a bug where the sip unregister CLI command did not completely unregister the peer.
(closes issue #15118) Reported by: alecdavis Patches: chan_sip_unregister.diff2.txt uploaded by alecdavis (license 585) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_sip.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index ef4f08ddf..c6b18011a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -15533,6 +15533,8 @@ static char *sip_unregister(struct ast_cli_entry *e, int cmd, struct ast_cli_arg
if ((peer = find_peer(a->argv[2], NULL, load_realtime, FINDPEERS, TRUE))) {
if (peer->expire > 0) {
+ AST_SCHED_DEL_UNREF(sched, peer->expire,
+ unref_peer(peer, "remove register expire ref"));
expire_register(ref_peer(peer, "ref for expire_register"));
ast_cli(a->fd, "Unregistered peer \'%s\'\n\n", a->argv[2]);
} else {