<param name="ext-voicemail" value="vmain"/>
<param name="ext-redial" value="redial"/>
<!-- <param name="ext-meetme" value="conference"/> -->
+
+ <!-- usually place this one on the directory entry for a skinny phone and not global -->
+ <!-- <param name="ext-pickup" value="pickup"/> -->
+
+ <!-- <param name="ext-cfwdall" value="cfwdall"/> -->
</settings>
<soft-key-set-sets>
<soft-key-set-set name="default">
stream->write_function(stream, "Ext-Redial \t%s\n", profile->ext_redial);
stream->write_function(stream, "Ext-MeetMe \t%s\n", profile->ext_meetme);
stream->write_function(stream, "Ext-PickUp \t%s\n", profile->ext_pickup);
+ stream->write_function(stream, "Ext-CFwdAll \t%s\n", profile->ext_cfwdall);
stream->write_function(stream, "%s\n", line);
return SWITCH_STATUS_SUCCESS;
if (!profile->ext_pickup || strcmp(val, profile->ext_pickup)) {
profile->ext_pickup = switch_core_strdup(profile->pool, val);
}
+ } else if (!strcasecmp(var, "ext-cfwdall")) {
+ if (!profile->ext_cfwdall || strcmp(val, profile->ext_cfwdall)) {
+ profile->ext_cfwdall = switch_core_strdup(profile->pool, val);
+ }
} else {
return SWITCH_STATUS_FALSE;
}
skinny_profile_set(profile, "ext-pickup", "pickup");
}
+ if (!profile->ext_cfwdall) {
+ skinny_profile_set(profile, "ext-pickup", "cfwdall");
+ }
+
if (profile->port == 0) {
profile->port = 2000;
}
char *ext_redial;
char *ext_meetme;
char *ext_pickup;
+ char *ext_cfwdall;
/* db */
char *dbname;
char *odbc_dsn;
char *ext_redial;
char *ext_meetme;
char *ext_pickup;
+ char *ext_cfwdall;
};
typedef struct listener listener_t;
switch_console_push_match(&my_matches, "ext-redial");
switch_console_push_match(&my_matches, "ext-meetme");
switch_console_push_match(&my_matches, "ext-pickup");
+ switch_console_push_match(&my_matches, "ext-cfwdall");
if (my_matches) {
*matches = my_matches;
if (!listener->ext_pickup || strcmp(value,listener->ext_pickup)) {
listener->ext_pickup = switch_core_strdup(profile->pool, value);
}
+ } else if (!strcasecmp(name, "ext-cfwdall")) {
+ if (!listener->ext_cfwdall || strcmp(value,listener->ext_cfwdall)) {
+ listener->ext_cfwdall = switch_core_strdup(profile->pool, value);
+ }
}
}
}
skinny_session_process_dest(session, listener, line_instance,
empty_null2(listener->ext_pickup, listener->profile->ext_pickup), '\0', 0);
break;
+ case SOFTKEY_CFWDALL:
+ skinny_create_incoming_session(listener, &line_instance, &session);
+ skinny_session_process_dest(session, listener, line_instance,
+ empty_null2(listener->ext_cfwdall, listener->profile->ext_cfwdall), '\0', 0);
+ break;
default:
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING,
"Unknown SoftKeyEvent type: %d.\n", request->data.soft_key_event.event);