diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 070ad7b809fe4920c5077bdccd6ffb84b6e6ee46..942cc30b1e8bb27304963ef001e653bf796297ca 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); }