summaryrefslogtreecommitdiff
path: root/res/ari
diff options
context:
space:
mode:
authorJoshua Colp <jcolp@digium.com>2013-11-23 12:52:54 +0000
committerJoshua Colp <jcolp@digium.com>2013-11-23 12:52:54 +0000
commit14a74529344ef5229f100c81bc969f34e27112b3 (patch)
tree42d11fb48fe467f013a14a0b8ae05c77cc21de8d /res/ari
parenteda712686268daaaf02754fbb0903cf4f973da87 (diff)
ari: Add events for playback and recording.
While there were events defined for playback and recording these were not actually sent. This change implements the to_json handlers which produces them. (closes issue ASTERISK-22710) Reported by: Jonathan Rose Review: https://reviewboard.asterisk.org/r/3026/ ........ Merged revisions 403119 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/ari')
-rw-r--r--res/ari/ari_model_validators.c25
-rw-r--r--res/ari/ari_model_validators.h2
2 files changed, 10 insertions, 17 deletions
diff --git a/res/ari/ari_model_validators.c b/res/ari/ari_model_validators.c
index 9634a473c..9ea2f94cd 100644
--- a/res/ari/ari_model_validators.c
+++ b/res/ari/ari_model_validators.c
@@ -996,6 +996,15 @@ int ast_ari_validate_live_recording(struct ast_json *json)
int has_state = 0;
for (iter = ast_json_object_iter(json); iter; iter = ast_json_object_iter_next(json, iter)) {
+ if (strcmp("cause", 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 LiveRecording field cause failed validation\n");
+ res = 0;
+ }
+ } else
if (strcmp("format", ast_json_object_iter_key(iter)) == 0) {
int prop_is_valid;
has_format = 1;
@@ -3292,20 +3301,9 @@ int ast_ari_validate_recording_failed(struct ast_json *json)
{
int res = 1;
struct ast_json_iter *iter;
- int has_cause = 0;
int has_recording = 0;
for (iter = ast_json_object_iter(json); iter; iter = ast_json_object_iter_next(json, iter)) {
- if (strcmp("cause", ast_json_object_iter_key(iter)) == 0) {
- int prop_is_valid;
- has_cause = 1;
- prop_is_valid = ast_ari_validate_string(
- ast_json_object_iter_value(iter));
- if (!prop_is_valid) {
- ast_log(LOG_ERROR, "ARI RecordingFailed field cause failed validation\n");
- res = 0;
- }
- } else
if (strcmp("recording", ast_json_object_iter_key(iter)) == 0) {
int prop_is_valid;
has_recording = 1;
@@ -3324,11 +3322,6 @@ int ast_ari_validate_recording_failed(struct ast_json *json)
}
}
- if (!has_cause) {
- ast_log(LOG_ERROR, "ARI RecordingFailed missing required field cause\n");
- res = 0;
- }
-
if (!has_recording) {
ast_log(LOG_ERROR, "ARI RecordingFailed missing required field recording\n");
res = 0;
diff --git a/res/ari/ari_model_validators.h b/res/ari/ari_model_validators.h
index 8724b642a..a1e5b099e 100644
--- a/res/ari/ari_model_validators.h
+++ b/res/ari/ari_model_validators.h
@@ -1032,6 +1032,7 @@ ari_validator ast_ari_validate_application_fn(void);
* - id: string (required)
* - technology: string (required)
* LiveRecording
+ * - cause: string
* - format: string (required)
* - name: string (required)
* - state: string (required)
@@ -1167,7 +1168,6 @@ ari_validator ast_ari_validate_application_fn(void);
* - timestamp: Date
* - playback: Playback (required)
* RecordingFailed
- * - cause: string (required)
* - recording: LiveRecording (required)
* RecordingFinished
* - recording: LiveRecording (required)