Skinny: MODSKINNY-12 (Cisco phone 7910 transfer button will not work)

This commit is contained in:
Mathieu Parent 2010-08-24 22:13:44 +02:00
parent dc69c2ac96
commit f34b76c5e6
3 changed files with 10 additions and 1 deletions

View File

@ -1202,6 +1202,13 @@ switch_status_t skinny_handle_stimulus_message(listener_t *listener, skinny_mess
status = skinny_session_hold_line(session, listener, line_instance); status = skinny_session_hold_line(session, listener, line_instance);
} }
break; break;
case SKINNY_BUTTON_TRANSFER:
session = skinny_profile_find_session(listener->profile, listener, &line_instance, call_id);
if(session) {
status = skinny_session_transfer(session, listener, line_instance);
}
break;
case SKINNY_BUTTON_VOICEMAIL: case SKINNY_BUTTON_VOICEMAIL:
skinny_create_incoming_session(listener, &line_instance, &session); skinny_create_incoming_session(listener, &line_instance, &session);
skinny_session_process_dest(session, listener, line_instance, "vmain", '\0', 0); skinny_session_process_dest(session, listener, line_instance, "vmain", '\0', 0);

View File

@ -141,6 +141,7 @@ struct skinny_table SKINNY_BUTTONS[] = {
{"LastNumberRedial", SKINNY_BUTTON_LAST_NUMBER_REDIAL}, {"LastNumberRedial", SKINNY_BUTTON_LAST_NUMBER_REDIAL},
{"SpeedDial", SKINNY_BUTTON_SPEED_DIAL}, {"SpeedDial", SKINNY_BUTTON_SPEED_DIAL},
{"Hold", SKINNY_BUTTON_HOLD}, {"Hold", SKINNY_BUTTON_HOLD},
{"Transfer", SKINNY_BUTTON_TRANSFER},
{"Line", SKINNY_BUTTON_LINE}, {"Line", SKINNY_BUTTON_LINE},
{"Voicemail", SKINNY_BUTTON_VOICEMAIL}, {"Voicemail", SKINNY_BUTTON_VOICEMAIL},
{"Privacy", SKINNY_BUTTON_PRIVACY}, {"Privacy", SKINNY_BUTTON_PRIVACY},

View File

@ -160,13 +160,14 @@ enum skinny_button_definition {
SKINNY_BUTTON_LAST_NUMBER_REDIAL = 0x01, SKINNY_BUTTON_LAST_NUMBER_REDIAL = 0x01,
SKINNY_BUTTON_SPEED_DIAL = 0x02, SKINNY_BUTTON_SPEED_DIAL = 0x02,
SKINNY_BUTTON_HOLD = 0x03, SKINNY_BUTTON_HOLD = 0x03,
SKINNY_BUTTON_TRANSFER = 0x04,
SKINNY_BUTTON_LINE = 0x09, SKINNY_BUTTON_LINE = 0x09,
SKINNY_BUTTON_VOICEMAIL = 0x0F, SKINNY_BUTTON_VOICEMAIL = 0x0F,
SKINNY_BUTTON_PRIVACY = 0x13, SKINNY_BUTTON_PRIVACY = 0x13,
SKINNY_BUTTON_SERVICE_URL = 0x14, SKINNY_BUTTON_SERVICE_URL = 0x14,
SKINNY_BUTTON_UNDEFINED = 0xFF, SKINNY_BUTTON_UNDEFINED = 0xFF,
}; };
extern struct skinny_table SKINNY_BUTTONS[10]; extern struct skinny_table SKINNY_BUTTONS[11];
const char *skinny_button2str(uint32_t id); const char *skinny_button2str(uint32_t id);
uint32_t skinny_str2button(const char *str); uint32_t skinny_str2button(const char *str);
#define SKINNY_PUSH_STIMULI SKINNY_DECLARE_PUSH_MATCH(SKINNY_BUTTONS) #define SKINNY_PUSH_STIMULI SKINNY_DECLARE_PUSH_MATCH(SKINNY_BUTTONS)