ARI: Add the ability to intercept hold and raise an event
authorMatthew Jordan <mjordan@digium.com>
Tue, 7 Apr 2015 15:21:17 +0000 (15:21 +0000)
committerMatthew Jordan <mjordan@digium.com>
Tue, 7 Apr 2015 15:21:17 +0000 (15:21 +0000)
commitab803ec3422e5377b5aa4769fbcc6b315d167d8b
treed86d3c961bbd420fd8f99952660159391d956fc6
parent488f093e97b52a1337c7f480aac16f27bf3908b1
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

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434216 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