ari: Provide the caller ID RDNIS for the channels

Provide the caller ID RDNIS when available. This will allow an
application to follow the redirect.
This commit is contained in:
Holger Hans Peter Freyther 2023-10-14 15:48:10 +08:00 committed by asterisk-org-access-app[bot]
parent 5c22cfccd9
commit 69590ba33e
4 changed files with 18 additions and 0 deletions

View File

@ -1323,6 +1323,10 @@ struct ast_json *ast_channel_snapshot_to_json(
"creationtime", ast_json_timeval(snapshot->base->creationtime, NULL),
"language", snapshot->base->language);
if (!ast_strlen_zero(snapshot->caller->rdnis)) {
ast_json_object_set(json_chan, "caller_rdnis", ast_json_string_create(snapshot->caller->rdnis));
}
if (snapshot->ari_vars && !AST_LIST_EMPTY(snapshot->ari_vars)) {
ast_json_object_set(json_chan, "channelvars", ast_json_channel_vars(snapshot->ari_vars));
}

View File

@ -1067,6 +1067,15 @@ int ast_ari_validate_channel(struct ast_json *json)
res = 0;
}
} else
if (strcmp("caller_rdnis", ast_json_object_iter_key(iter)) == 0) {
int prop_is_valid;
prop_is_valid = ast_ari_validate_string(
ast_json_object_iter_value(iter));
if (!prop_is_valid) {
ast_log(LOG_ERROR, "ARI Channel field caller_rdnis failed validation\n");
res = 0;
}
} else
if (strcmp("channelvars", ast_json_object_iter_key(iter)) == 0) {
int prop_is_valid;
prop_is_valid = ast_ari_validate_object(

View File

@ -1346,6 +1346,7 @@ ari_validator ast_ari_validate_application_fn(void);
* Channel
* - accountcode: string (required)
* - caller: CallerID (required)
* - caller_rdnis: string
* - channelvars: object
* - connected: CallerID (required)
* - creationtime: Date (required)

View File

@ -2187,6 +2187,10 @@
"required": false,
"type": "object",
"description": "Channel variables"
},
"caller_rdnis": {
"type": "string",
"description": "The Caller ID RDNIS"
}
}
}