diff options
-rw-r--r-- | main/manager_channels.c | 2 | ||||
-rw-r--r-- | main/stasis_channels.c | 5 | ||||
-rw-r--r-- | res/ari/ari_model_validators.c | 16 | ||||
-rw-r--r-- | res/ari/ari_model_validators.h | 1 | ||||
-rw-r--r-- | rest-api/api-docs/channels.json | 5 |
5 files changed, 27 insertions, 2 deletions
diff --git a/main/manager_channels.c b/main/manager_channels.c index d431af24c..c12d94ee9 100644 --- a/main/manager_channels.c +++ b/main/manager_channels.c @@ -426,6 +426,7 @@ struct ast_str *ast_manager_build_channel_state_string_prefix( "%sCallerIDName: %s\r\n" "%sConnectedLineNum: %s\r\n" "%sConnectedLineName: %s\r\n" + "%sLanguage: %s\r\n" "%sAccountCode: %s\r\n" "%sContext: %s\r\n" "%sExten: %s\r\n" @@ -438,6 +439,7 @@ struct ast_str *ast_manager_build_channel_state_string_prefix( prefix, S_OR(snapshot->caller_name, "<unknown>"), prefix, S_OR(snapshot->connected_number, "<unknown>"), prefix, S_OR(snapshot->connected_name, "<unknown>"), + prefix, snapshot->language, prefix, snapshot->accountcode, prefix, snapshot->context, prefix, snapshot->exten, diff --git a/main/stasis_channels.c b/main/stasis_channels.c index 816efdb45..11a2941fa 100644 --- a/main/stasis_channels.c +++ b/main/stasis_channels.c @@ -888,7 +888,7 @@ struct ast_json *ast_channel_snapshot_to_json( /* Broken up into groups of three for readability */ "{ s: s, s: s, s: s," " s: o, s: o, s: s," - " s: o, s: o }", + " s: o, s: o, s: s }", /* First line */ "id", snapshot->uniqueid, "name", snapshot->name, @@ -902,7 +902,8 @@ struct ast_json *ast_channel_snapshot_to_json( /* Third line */ "dialplan", ast_json_dialplan_cep( snapshot->context, snapshot->exten, snapshot->priority), - "creationtime", ast_json_timeval(snapshot->creationtime, NULL)); + "creationtime", ast_json_timeval(snapshot->creationtime, NULL), + "language", snapshot->language); return ast_json_ref(json_chan); } diff --git a/res/ari/ari_model_validators.c b/res/ari/ari_model_validators.c index 9b5671a76..491a4cca1 100644 --- a/res/ari/ari_model_validators.c +++ b/res/ari/ari_model_validators.c @@ -786,6 +786,7 @@ int ast_ari_validate_channel(struct ast_json *json) int has_creationtime = 0; int has_dialplan = 0; int has_id = 0; + int has_language = 0; int has_name = 0; int has_state = 0; @@ -850,6 +851,16 @@ int ast_ari_validate_channel(struct ast_json *json) res = 0; } } else + if (strcmp("language", ast_json_object_iter_key(iter)) == 0) { + int prop_is_valid; + has_language = 1; + prop_is_valid = ast_ari_validate_string( + ast_json_object_iter_value(iter)); + if (!prop_is_valid) { + ast_log(LOG_ERROR, "ARI Channel field language failed validation\n"); + res = 0; + } + } else if (strcmp("name", ast_json_object_iter_key(iter)) == 0) { int prop_is_valid; has_name = 1; @@ -908,6 +919,11 @@ int ast_ari_validate_channel(struct ast_json *json) res = 0; } + if (!has_language) { + ast_log(LOG_ERROR, "ARI Channel missing required field language\n"); + res = 0; + } + if (!has_name) { ast_log(LOG_ERROR, "ARI Channel missing required field name\n"); res = 0; diff --git a/res/ari/ari_model_validators.h b/res/ari/ari_model_validators.h index de8547cb1..947e28852 100644 --- a/res/ari/ari_model_validators.h +++ b/res/ari/ari_model_validators.h @@ -1242,6 +1242,7 @@ ari_validator ast_ari_validate_application_fn(void); * - creationtime: Date (required) * - dialplan: DialplanCEP (required) * - id: string (required) + * - language: string (required) * - name: string (required) * - state: string (required) * Dialed diff --git a/rest-api/api-docs/channels.json b/rest-api/api-docs/channels.json index f9c8d8647..cd309db10 100644 --- a/rest-api/api-docs/channels.json +++ b/rest-api/api-docs/channels.json @@ -1465,6 +1465,11 @@ "required": true, "type": "Date", "description": "Timestamp when channel was created" + }, + "language": { + "required": true, + "type": "string", + "description": "The default spoken language" } } } |