summaryrefslogtreecommitdiff
path: root/main/stasis_channels.c
diff options
context:
space:
mode:
authorKinsey Moore <kmoore@digium.com>2013-06-25 13:03:17 +0000
committerKinsey Moore <kmoore@digium.com>2013-06-25 13:03:17 +0000
commita1e219ef51dc37fbf570382d2d3861bd876414b2 (patch)
tree32ed3c62e66c358cd3d24554cbe0361f3e77d09d /main/stasis_channels.c
parent13b470d704285b596caab33039fdf1b063bbcf9d (diff)
CEL refactoring cleanup
This change removes AST_CEL_BRIDGE_UPDATE since it should no longer be used because masquerade situations are now accounted for in other ways. This also refactors usage of AST_CEL_FORWARD to be produced by a Dial message which has been extended with a "forward" field. (closes issue ASTERISK-21566) Review: https://reviewboard.asterisk.org/r/2635/ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@392829 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/stasis_channels.c')
-rw-r--r--main/stasis_channels.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/main/stasis_channels.c b/main/stasis_channels.c
index e76f25824..6dddb0a5e 100644
--- a/main/stasis_channels.c
+++ b/main/stasis_channels.c
@@ -210,7 +210,8 @@ static void channel_blob_dtor(void *obj)
ast_json_unref(event->blob);
}
-void ast_channel_publish_dial(struct ast_channel *caller, struct ast_channel *peer, const char *dialstring, const char *dialstatus)
+void ast_channel_publish_dial_forward(struct ast_channel *caller, struct ast_channel *peer,
+ const char *dialstring, const char *dialstatus, const char *forward)
{
RAII_VAR(struct ast_multi_channel_blob *, payload, NULL, ao2_cleanup);
RAII_VAR(struct stasis_message *, msg, NULL, ao2_cleanup);
@@ -219,8 +220,9 @@ void ast_channel_publish_dial(struct ast_channel *caller, struct ast_channel *pe
RAII_VAR(struct ast_channel_snapshot *, peer_snapshot, NULL, ao2_cleanup);
ast_assert(peer != NULL);
- blob = ast_json_pack("{s: s, s: s}",
+ blob = ast_json_pack("{s: s, s: s, s: s}",
"dialstatus", S_OR(dialstatus, ""),
+ "forward", S_OR(forward, ""),
"dialstring", S_OR(dialstring, ""));
if (!blob) {
return;
@@ -252,6 +254,12 @@ void ast_channel_publish_dial(struct ast_channel *caller, struct ast_channel *pe
publish_message_for_channel_topics(msg, caller);
}
+void ast_channel_publish_dial(struct ast_channel *caller, struct ast_channel *peer,
+ const char *dialstring, const char *dialstatus)
+{
+ ast_channel_publish_dial_forward(caller, peer, dialstring, dialstatus, NULL);
+}
+
static struct stasis_message *create_channel_blob_message(struct ast_channel_snapshot *snapshot,
struct stasis_message_type *type,
struct ast_json *blob)