FS-5796 --resolve add cfwdall extension param for mod_skinny
This commit is contained in:
parent
dffe48aaec
commit
1fa0c8b312
|
@ -15,6 +15,11 @@
|
|||
<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">
|
||||
|
|
|
@ -173,6 +173,7 @@ switch_status_t skinny_profile_dump(const skinny_profile_t *profile, switch_stre
|
|||
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;
|
||||
|
@ -1939,6 +1940,10 @@ switch_status_t skinny_profile_set(skinny_profile_t *profile, const char *var, c
|
|||
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;
|
||||
}
|
||||
|
@ -2039,6 +2044,10 @@ static switch_status_t load_skinny_config(void)
|
|||
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;
|
||||
}
|
||||
|
|
|
@ -125,6 +125,7 @@ struct skinny_profile {
|
|||
char *ext_redial;
|
||||
char *ext_meetme;
|
||||
char *ext_pickup;
|
||||
char *ext_cfwdall;
|
||||
/* db */
|
||||
char *dbname;
|
||||
char *odbc_dsn;
|
||||
|
@ -194,6 +195,7 @@ struct listener {
|
|||
char *ext_redial;
|
||||
char *ext_meetme;
|
||||
char *ext_pickup;
|
||||
char *ext_cfwdall;
|
||||
};
|
||||
|
||||
typedef struct listener listener_t;
|
||||
|
|
|
@ -235,6 +235,7 @@ static switch_status_t skinny_api_list_settings(const char *line, const char *cu
|
|||
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;
|
||||
|
|
|
@ -1097,6 +1097,10 @@ switch_status_t skinny_handle_register(listener_t *listener, skinny_message_t *r
|
|||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2001,6 +2005,11 @@ switch_status_t skinny_handle_soft_key_event_message(listener_t *listener, skinn
|
|||
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);
|
||||
|
|
Loading…
Reference in New Issue