summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorDamien Wedhorn <voip@facts.com.au>2011-10-14 21:15:33 +0000
committerDamien Wedhorn <voip@facts.com.au>2011-10-14 21:15:33 +0000
commit899df042f517ee21d7d090db68eb393a2ff32f44 (patch)
tree0eccffa6d7fb2630568de28d8e535e5bea49d81f /channels
parent4b9546abdfb732758371e64976d65debe81fc067 (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
Diffstat (limited to 'channels')
-rw-r--r--channels/chan_skinny.c7
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);
}