diff options
author | Joshua Colp <jcolp@digium.com> | 2013-11-23 12:52:54 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2013-11-23 12:52:54 +0000 |
commit | 14a74529344ef5229f100c81bc969f34e27112b3 (patch) | |
tree | 42d11fb48fe467f013a14a0b8ae05c77cc21de8d /res/ari | |
parent | eda712686268daaaf02754fbb0903cf4f973da87 (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.c | 25 | ||||
-rw-r--r-- | res/ari/ari_model_validators.h | 2 |
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) |