aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-28 23:28:52 +0000
committerfile <file@f38db490-d61c-443f-a65b-d21fe96a405b>2007-05-28 23:28:52 +0000
commit5f0b85b97db35f7d62da981e009309e52b0bacc5 (patch)
tree66cebcae454c5eef346e7ab24d48e9ef0a4c4a71
parent8b1ef1293855ffcbe20ebcbc8ee4c2a50b6e6a22 (diff)
Don't try to unregister a peer using the sip unregister CLI command if they are not registered. (issue #9811 reported by eliel)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66315 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--channels/chan_sip.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 223e2276c..fed98d486 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -11121,8 +11121,12 @@ static int sip_unregister(int fd, int argc, char *argv[])
return RESULT_SHOWUSAGE;
if ((peer = find_peer(argv[2], NULL, load_realtime))) {
- expire_register(peer);
- ast_cli(fd, "Unregistered peer \'%s\'\n\n", argv[2]);
+ if (peer->expire > 0) {
+ expire_register(peer);
+ ast_cli(fd, "Unregistered peer \'%s\'\n\n", argv[2]);
+ } else {
+ ast_cli(fd, "Peer %s not registered\n", argv[2]);
+ }
} else {
ast_cli(fd, "Peer unknown: \'%s\'. Not unregistered.\n", argv[2]);
}