ARI: External Media

The Channel resource has a new sub-resource "externalMedia".
This allows an application to create a channel for the sole purpose
of exchanging media with an external server.  Once created, this
channel could be placed into a bridge with existing channels to
allow the external server to inject audio into the bridge or
receive audio from the bridge.
See https://wiki.asterisk.org/wiki/display/AST/External+Media+and+ARI
for more information.

Change-Id: I9618899198880b4c650354581b50c0401b58bc46
This commit is contained in:
George Joseph
2019-08-05 05:59:59 -06:00
parent c00a010fe8
commit d566314e38
7 changed files with 579 additions and 24 deletions

View File

@@ -477,6 +477,24 @@ int ast_ari_validate_dialplan_cep(struct ast_json *json);
*/
ari_validator ast_ari_validate_dialplan_cep_fn(void);
/*!
* \brief Validator for ExternalMedia.
*
* ExternalMedia session.
*
* \param json JSON object to validate.
* \returns True (non-zero) if valid.
* \returns False (zero) if invalid.
*/
int ast_ari_validate_external_media(struct ast_json *json);
/*!
* \brief Function pointer to ast_ari_validate_external_media().
*
* See \ref ast_ari_model_validators.h for more details.
*/
ari_validator ast_ari_validate_external_media_fn(void);
/*!
* \brief Validator for RTPstat.
*
@@ -1522,6 +1540,10 @@ ari_validator ast_ari_validate_application_fn(void);
* - context: string (required)
* - exten: string (required)
* - priority: long (required)
* ExternalMedia
* - channel: Channel (required)
* - local_address: string
* - local_port: int
* RTPstat
* - channel_uniqueid: string (required)
* - local_maxjitter: double