summaryrefslogtreecommitdiff
path: root/main/stasis_channels.c
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2013-05-31 15:34:20 +0000
committerRichard Mudgett <rmudgett@digium.com>2013-05-31 15:34:20 +0000
commitccc8cc5346f7f68f38b1749755777a33cd897f07 (patch)
tree994ae78a31cd77542073af477e3111795a3740b9 /main/stasis_channels.c
parenta1494300c935864074b000dc33590010c70e749b (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.c14
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);