summaryrefslogtreecommitdiff
path: root/main/stasis_channels.c
diff options
context:
space:
mode:
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)