diff options
author | Richard Mudgett <rmudgett@digium.com> | 2013-05-31 15:34:20 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2013-05-31 15:34:20 +0000 |
commit | ccc8cc5346f7f68f38b1749755777a33cd897f07 (patch) | |
tree | 994ae78a31cd77542073af477e3111795a3740b9 /main/stasis_channels.c | |
parent | a1494300c935864074b000dc33590010c70e749b (diff) |
Fixup hold/unhold with attended and blind transfers.
* DTMF attended and blind transfers have hold/unhold behavior restored.
* External attended and blind transfers unhold the transfered party when
the transfer is initiated.
* Made prohibit blind transferring a bridge marked as masquerade only.
(ConfBridge bridges)
* Made running an application or playing a file inside a bridge post the
hold/unhold messages if MOH is requested.
Review: https://reviewboard.asterisk.org/r/2574/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@390289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/stasis_channels.c')
-rw-r--r-- | main/stasis_channels.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/main/stasis_channels.c b/main/stasis_channels.c index ae253ddca..14f265018 100644 --- a/main/stasis_channels.c +++ b/main/stasis_channels.c @@ -484,6 +484,20 @@ struct ast_json *ast_multi_channel_blob_get_json(struct ast_multi_channel_blob * return obj->blob; } +void ast_channel_publish_blob(struct ast_channel *chan, struct stasis_message_type *type, struct ast_json *blob) +{ + RAII_VAR(struct stasis_message *, message, NULL, ao2_cleanup); + + if (!blob) { + blob = ast_json_null(); + } + + message = ast_channel_blob_create(chan, type, blob); + if (message) { + stasis_publish(ast_channel_topic(chan), message); + } +} + void ast_channel_publish_snapshot(struct ast_channel *chan) { RAII_VAR(struct ast_channel_snapshot *, snapshot, NULL, ao2_cleanup); |