Make sure we clear the previously dialed number if it did not exist.

Issue 9958.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@70494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Jason Parker
2007-06-20 20:53:16 +00:00
parent badad4a542
commit 60bf4f35c6

View File

@@ -2358,6 +2358,7 @@ static void *skinny_ss(void *data)
}
} else if (res == 0) {
ast_log(LOG_DEBUG, "Not enough digits (and no ambiguous match)...\n");
memset(d->exten, 0, sizeof(d->exten));
transmit_tone(s, SKINNY_REORDER);
if (sub->owner && sub->owner->_state != AST_STATE_UP) {
ast_indicate(c, -1);
@@ -2367,6 +2368,7 @@ static void *skinny_ss(void *data)
} else if (!ast_canmatch_extension(c, c->context, d->exten, 1, c->cid.cid_num) &&
((d->exten[0] != '*') || (!ast_strlen_zero(d->exten) > 2))) {
ast_log(LOG_WARNING, "Can't match [%s] from '%s' in context %s\n", d->exten, c->cid.cid_num ? c->cid.cid_num : "<Unknown Caller>", c->context);
memset(d->exten, 0, sizeof(d->exten));
transmit_tone(s, SKINNY_REORDER);
/* hang out for 3 seconds to let congestion play */
ast_safe_sleep(c, 3000);
@@ -2382,6 +2384,7 @@ static void *skinny_ss(void *data)
if (c)
ast_hangup(c);
memset(d->exten, 0, sizeof(d->exten));
return NULL;
}