ARI: Add the ability to intercept hold and raise an event
authorMatthew Jordan <mjordan@digium.com>
Tue, 7 Apr 2015 15:22:42 +0000 (15:22 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 7 Apr 2015 15:22:42 +0000 (15:22 +0000)
commitc2f50ba6f47e04c0457baa0bb5bf84b22a26d20b
treebef776975d16755afde6f2809bd5fae43fd7075a
parentaf4d8027730fff35dba65eb2d7ade73ade4a4a8e
ARI: Add the ability to intercept hold and raise an event

For some applications - such as SLA - a phone pressing hold should not behave
in the fashion that the Asterisk core would like it to. Instead, the hold
action has some application specific behaviour associated with it - such as
disconnecting the channel that initiated the hold; only playing MoH to channels
in the bridge if the channels are of a particular type, etc.

One way of accomplishing this is to use a framehook to intercept the
hold/unhold frames, raise an event, and eat the frame. Tasty. This patch
accomplishes that using a new dialplan function, HOLD_INTERCEPT.

In addition, some general cleanup of raising hold/unhold Stasis messages was
done, including removing some RAII_VAR usage.

Review: https://reviewboard.asterisk.org/r/4549/

ASTERISK-24922 #close
........

Merged revisions 434216 from http://svn.asterisk.org/svn/asterisk/branches/13

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@434217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
CHANGES
main/bridge_channel.c
main/channel.c
main/manager_channels.c
main/stasis_channels.c
res/ari/ari_model_validators.c
res/ari/ari_model_validators.h
rest-api/api-docs/events.json