diff options
author | Damien Wedhorn <voip@facts.com.au> | 2011-10-14 21:15:33 +0000 |
---|---|---|
committer | Damien Wedhorn <voip@facts.com.au> | 2011-10-14 21:15:33 +0000 |
commit | 899df042f517ee21d7d090db68eb393a2ff32f44 (patch) | |
tree | 0eccffa6d7fb2630568de28d8e535e5bea49d81f | |
parent | 4b9546abdfb732758371e64976d65debe81fc067 (diff) |
Fix simple switch to not progress a call when call already progressed.
If a simple switch was started on a device and then a specific call
made (such as redial or speed dial), on timeout of the simple switch
the call would be attempted again. This patch only allows the simple
switch to make a call if the substate is still in the collecting
digits mode.
Also added small debug message to dialAndAactivate sub.
Tested by snuff and myself.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
-rw-r--r-- | channels/chan_skinny.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 070ad7b80..942cc30b1 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4309,7 +4309,9 @@ static void *skinny_ss(void *data) } return NULL; } else { - dialandactivatesub(sub, sub->exten); + if (sub->substate == SUBSTATE_OFFHOOK) { + dialandactivatesub(sub, sub->exten); + } return NULL; } } else { @@ -5463,6 +5465,9 @@ static void activatesub(struct skinny_subchannel *sub, int state) static void dialandactivatesub(struct skinny_subchannel *sub, char exten[AST_MAX_EXTENSION]) { + if (skinnydebug) { + ast_verb(3, "Sub %d - Dial %s and Activate\n", sub->callid, exten); + } ast_copy_string(sub->exten, exten, sizeof(sub->exten)); activatesub(sub, SUBSTATE_DIALING); } |