mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-18 07:48:14 +00:00
Merged revisions 75707 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #9887) ........ r75707 | qwell | 2007-07-18 14:48:12 -0500 (Wed, 18 Jul 2007) | 4 lines Fix issues with new 79x1 phones. Issue 9887, patches by DEA ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -608,10 +608,8 @@ static const uint8_t soft_key_default_connwithconf[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t soft_key_default_ringout[] = {
|
static const uint8_t soft_key_default_ringout[] = {
|
||||||
|
SOFTKEY_NONE,
|
||||||
SOFTKEY_ENDCALL,
|
SOFTKEY_ENDCALL,
|
||||||
SOFTKEY_TRNSFER,
|
|
||||||
SOFTKEY_CFWDALL,
|
|
||||||
SOFTKEY_CFWDBUSY,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const uint8_t soft_key_default_offhookwithfeat[] = {
|
static const uint8_t soft_key_default_offhookwithfeat[] = {
|
||||||
@@ -3253,6 +3251,14 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
|
|||||||
if (skinnydebug)
|
if (skinnydebug)
|
||||||
ast_verbose("Received Stimulus: Redial(%d)\n", instance);
|
ast_verbose("Received Stimulus: Redial(%d)\n", instance);
|
||||||
|
|
||||||
|
if (ast_strlen_zero(l->lastnumberdialed)) {
|
||||||
|
ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
|
||||||
|
l->hookstate = SKINNY_ONHOOK;
|
||||||
|
transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
|
||||||
|
transmit_callstate(s, l->instance, SKINNY_ONHOOK, instance);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
c = skinny_new(l, AST_STATE_DOWN);
|
c = skinny_new(l, AST_STATE_DOWN);
|
||||||
if (!c) {
|
if (!c) {
|
||||||
ast_log(LOG_WARNING, "Unable to create channel for %s@%s\n", l->name, d->name);
|
ast_log(LOG_WARNING, "Unable to create channel for %s@%s\n", l->name, d->name);
|
||||||
@@ -3267,11 +3273,8 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
|
|||||||
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
||||||
transmit_displaymessage(s, NULL); /* clear display */
|
transmit_displaymessage(s, NULL); /* clear display */
|
||||||
transmit_tone(s, SKINNY_DIALTONE);
|
transmit_tone(s, SKINNY_DIALTONE);
|
||||||
|
transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
|
||||||
|
|
||||||
if (ast_strlen_zero(l->lastnumberdialed)) {
|
|
||||||
ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
|
if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
|
||||||
transmit_tone(s, SKINNY_SILENCE);
|
transmit_tone(s, SKINNY_SILENCE);
|
||||||
}
|
}
|
||||||
@@ -3311,6 +3314,7 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
|
|||||||
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
||||||
transmit_displaymessage(s, NULL); /* clear display */
|
transmit_displaymessage(s, NULL); /* clear display */
|
||||||
transmit_tone(s, SKINNY_DIALTONE);
|
transmit_tone(s, SKINNY_DIALTONE);
|
||||||
|
transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
|
||||||
|
|
||||||
if (!ast_ignore_pattern(c->context, sd->exten)) {
|
if (!ast_ignore_pattern(c->context, sd->exten)) {
|
||||||
transmit_tone(s, SKINNY_SILENCE);
|
transmit_tone(s, SKINNY_SILENCE);
|
||||||
@@ -3382,6 +3386,7 @@ static int handle_stimulus_message(struct skinny_req *req, struct skinnysession
|
|||||||
|
|
||||||
transmit_displaymessage(s, NULL); /* clear display */
|
transmit_displaymessage(s, NULL); /* clear display */
|
||||||
transmit_tone(s, SKINNY_DIALTONE);
|
transmit_tone(s, SKINNY_DIALTONE);
|
||||||
|
transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
|
||||||
|
|
||||||
if (!ast_ignore_pattern(c->context, vmexten)) {
|
if (!ast_ignore_pattern(c->context, vmexten)) {
|
||||||
transmit_tone(s, SKINNY_SILENCE);
|
transmit_tone(s, SKINNY_SILENCE);
|
||||||
@@ -4079,6 +4084,14 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse
|
|||||||
if (skinnydebug)
|
if (skinnydebug)
|
||||||
ast_verbose("Received Softkey Event: Redial(%d)\n", instance);
|
ast_verbose("Received Softkey Event: Redial(%d)\n", instance);
|
||||||
|
|
||||||
|
if (ast_strlen_zero(l->lastnumberdialed)) {
|
||||||
|
ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
|
||||||
|
l->hookstate = SKINNY_ONHOOK;
|
||||||
|
transmit_speaker_mode(s, SKINNY_SPEAKEROFF);
|
||||||
|
transmit_callstate(s, l->instance, SKINNY_ONHOOK, instance);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (!sub || !sub->owner) {
|
if (!sub || !sub->owner) {
|
||||||
c = skinny_new(l, AST_STATE_DOWN);
|
c = skinny_new(l, AST_STATE_DOWN);
|
||||||
} else {
|
} else {
|
||||||
@@ -4098,11 +4111,8 @@ static int handle_soft_key_event_message(struct skinny_req *req, struct skinnyse
|
|||||||
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
ast_verbose("Attempting to Clear display on Skinny %s@%s\n", l->name, d->name);
|
||||||
transmit_displaymessage(s, NULL); /* clear display */
|
transmit_displaymessage(s, NULL); /* clear display */
|
||||||
transmit_tone(s, SKINNY_DIALTONE);
|
transmit_tone(s, SKINNY_DIALTONE);
|
||||||
|
transmit_selectsoftkeys(s, l->instance, sub->callid, KEYDEF_RINGOUT);
|
||||||
|
|
||||||
if (ast_strlen_zero(l->lastnumberdialed)) {
|
|
||||||
ast_log(LOG_WARNING, "Attempted redial, but no previously dialed number found.\n");
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
|
if (!ast_ignore_pattern(c->context, l->lastnumberdialed)) {
|
||||||
transmit_tone(s, SKINNY_SILENCE);
|
transmit_tone(s, SKINNY_SILENCE);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user