diff options
Diffstat (limited to 'channels/chan_skinny.c')
-rw-r--r-- | channels/chan_skinny.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/channels/chan_skinny.c b/channels/chan_skinny.c index 3d2d2e8d1..23a48356f 100644 --- a/channels/chan_skinny.c +++ b/channels/chan_skinny.c @@ -4863,7 +4863,7 @@ static int skinny_dialer_cb(const void *data) { struct skinny_subchannel *sub = (struct skinny_subchannel *)data; SKINNY_DEBUG(DEBUG_SUB, 3, "Sub %u - Dialer called from SCHED %d\n", sub->callid, sub->dialer_sched); - sub->dialer_sched = 0; + sub->dialer_sched = -1; skinny_dialer(sub, 1); return 0; } @@ -4872,7 +4872,7 @@ static int skinny_autoanswer_cb(const void *data) { struct skinny_subchannel *sub = (struct skinny_subchannel *)data; skinny_locksub(sub); - sub->aa_sched = 0; + sub->aa_sched = -1; setsubstate(sub, SKINNY_CONNECTED); skinny_unlocksub(sub); return 0; @@ -4882,7 +4882,7 @@ static int skinny_cfwd_cb(const void *data) { struct skinny_subchannel *sub = (struct skinny_subchannel *)data; struct skinny_line *l = sub->line; - sub->cfwd_sched = 0; + sub->cfwd_sched = -1; SKINNY_DEBUG(DEBUG_SUB, 3, "Sub %u - CFWDNOANS to %s.\n", sub->callid, l->call_forward_noanswer); ast_channel_call_forward_set(sub->owner, l->call_forward_noanswer); ast_queue_control(sub->owner, AST_CONTROL_REDIRECTING); @@ -4924,7 +4924,7 @@ static int skinny_call(struct ast_channel *ast, const char *dest, int timeout) skinny_locksub(sub); AST_LIST_TRAVERSE(ast_channel_varshead(ast), current, entries) { if (!(strcmp(ast_var_name(current), "SKINNY_AUTOANSWER"))) { - if (d->hookstate == SKINNY_ONHOOK && !sub->aa_sched) { + if (d->hookstate == SKINNY_ONHOOK && sub->aa_sched < 0) { char buf[24]; int aatime; char *stringp = buf, *curstr; @@ -5389,9 +5389,9 @@ static struct ast_channel *skinny_new(struct skinny_line *l, struct skinny_subli sub->xferor = 0; sub->related = NULL; sub->calldirection = direction; - sub->aa_sched = 0; - sub->dialer_sched = 0; - sub->cfwd_sched = 0; + sub->aa_sched = -1; + sub->dialer_sched = -1; + sub->cfwd_sched = -1; sub->dialType = DIALTYPE_NORMAL; sub->getforward = 0; @@ -5550,17 +5550,17 @@ static void setsubstate(struct skinny_subchannel *sub, int state) if (sub->dialer_sched) { skinny_sched_del(sub->dialer_sched, sub); - sub->dialer_sched = 0; + sub->dialer_sched = -1; } if (state != SUBSTATE_RINGIN && sub->aa_sched) { skinny_sched_del(sub->aa_sched, sub); - sub->aa_sched = 0; + sub->aa_sched = -1; sub->aa_beep = 0; sub->aa_mute = 0; } - if (sub->cfwd_sched) { + if (sub->cfwd_sched > -1) { if (state == SUBSTATE_CONNECTED) { if (skinny_sched_del(sub->cfwd_sched, sub)) { SKINNY_DEBUG(DEBUG_SUB, 3, "Sub %u - trying to change state from %s to %s, but already forwarded because no answer.\n", @@ -5568,7 +5568,7 @@ static void setsubstate(struct skinny_subchannel *sub, int state) skinny_unlocksub(sub); return; } - sub->cfwd_sched = 0; + sub->cfwd_sched = -1; } else if (state == SUBSTATE_ONHOOK) { skinny_sched_del(sub->cfwd_sched, sub); } @@ -6240,7 +6240,7 @@ static int handle_keypad_button_message(struct skinny_req *req, struct skinnyses if ((sub->owner && ast_channel_state(sub->owner) < AST_STATE_UP)) { if (sub->dialer_sched && !skinny_sched_del(sub->dialer_sched, sub)) { SKINNY_DEBUG(DEBUG_SUB, 3, "Sub %u - Got a digit and not timed out, so try dialing\n", sub->callid); - sub->dialer_sched = 0; + sub->dialer_sched = -1; len = strlen(sub->exten); if (len == 0) { transmit_stop_tone(d, l->instance, sub->callid); @@ -7077,7 +7077,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse d->name, instance, callreference); if (sub->dialer_sched && !skinny_sched_del(sub->dialer_sched, sub)) { size_t len; - sub->dialer_sched = 0; + sub->dialer_sched = -1; len = strlen(sub->exten); if (len > 0) { sub->exten[len-1] = '\0'; |