From 3536c4ab1f0ace6d46dd807290ac3e713098b025 Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 1 Apr 2026 09:06:57 -0400 Subject: [PATCH] MT#55283 support anonymous publish Change-Id: Id68643ec4fc1520be1a266c4c9315fc07b6c8815 --- daemon/call_interfaces.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index dc3284d03..684edda6d 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -4128,11 +4128,17 @@ const char *call_publish_ng(ng_command_ctx_t *ctx, const char *addr) { int ret; const ng_parser_t *parser = ctx->parser_ctx.parser; struct recording *recording = NULL; + char rand_call_id[65]; + char rand_from_tag[65]; call_ng_process_flags(&flags, ctx); - if ((ret = call_ng_basic_checks(&flags)) > 0) - return _ng_basic_errors[ret]; + if (!flags.sdp.len) + return "No SDP body in message"; + if (!flags.call_id.len) + flags.call_id = STR_LEN(rand_hex_str(rand_call_id, 32), 64); + if (!flags.from_tag.len) + flags.from_tag = STR_LEN(rand_hex_str(rand_from_tag, 32), 64); call = call_get_or_create(&flags.call_id, false); @@ -4164,6 +4170,9 @@ const char *call_publish_ng(ng_command_ctx_t *ctx, const char *addr) { if (!ok) return "Failed to create SDP"; + parser->dict_add_str_dup(ctx->resp, "call-id", &call->callid); + parser->dict_add_str_dup(ctx->resp, "from-tag", &ml->tag); + ctx->ngbuf->sdp_out = sdp_out.s; parser->dict_add_str(ctx->resp, "sdp", &sdp_out);