|
|
|
@ -2108,6 +2108,8 @@ static struct skinny_device *build_device(const char *cat, struct ast_variable *
|
|
|
|
|
ast_copy_string(sd->label, exten, sizeof(sd->label));
|
|
|
|
|
sd->instance = speeddialInstance++;
|
|
|
|
|
|
|
|
|
|
sd->parent = d;
|
|
|
|
|
|
|
|
|
|
sd->next = d->speeddials;
|
|
|
|
|
d->speeddials = sd;
|
|
|
|
|
}
|
|
|
|
@ -2464,6 +2466,7 @@ static int skinny_answer(struct ast_channel *ast)
|
|
|
|
|
or you won't get keypad messages in some situations. */
|
|
|
|
|
transmit_callinfo(s, ast->cid.cid_name, ast->cid.cid_num, ast->exten, ast->exten, l->instance, sub->callid, 2);
|
|
|
|
|
transmit_callstate(s, l->instance, SKINNY_CONNECTED, sub->callid);
|
|
|
|
|
transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_CONNECTED);
|
|
|
|
|
transmit_displaypromptstatus(s, "Connected", 0, l->instance, sub->callid);
|
|
|
|
|
return res;
|
|
|
|
|
}
|
|
|
|
@ -3083,6 +3086,9 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
|
|
|
|
|
if (skinnydebug)
|
|
|
|
|
ast_verbose("Received Stimulus: Hold(%d)\n", instance);
|
|
|
|
|
|
|
|
|
|
if (!sub)
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
|
|
if (sub->onhold) {
|
|
|
|
|
skinny_unhold(sub);
|
|
|
|
|
} else {
|
|
|
|
@ -3752,7 +3758,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse
|
|
|
|
|
|
|
|
|
|
if (ast_strlen_zero(l->lastnumberdialed)) {
|
|
|
|
|
ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
|
|
|
|
|
transmit_tone(s, SKINNY_SILENCE);
|
|
|
|
@ -3871,7 +3877,7 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse
|
|
|
|
|
}
|
|
|
|
|
} else if (res) {
|
|
|
|
|
ast_log(LOG_WARNING, "Transfer attempt failed\n");
|
|
|
|
|
return 0;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
} else {
|
|
|
|
|