MT#55283 move inject flags into struct

Change-Id: Ib7b42091db3a2d8d20fd04a7d1db38c4f8e3abed
pull/2097/head
Richard Fuchs 2 weeks ago
parent 235c47a5a3
commit b2554a0be3

@ -1910,6 +1910,16 @@ void call_ng_main_flags(const ng_parser_t *parser, str *key, parser_arg value, h
STR_FMT(&s));
}
break;
case CSH_LOOKUP("source-tag"):
case CSH_LOOKUP("source tag"):
out->source_tag = s;
break;
case CSH_LOOKUP("source-call-id"):
case CSH_LOOKUP("source call id"):
case CSH_LOOKUP("source-call-ID"):
case CSH_LOOKUP("source call ID"):
out->source_call_id = s;
break;
case CSH_LOOKUP("start-pos"):
case CSH_LOOKUP("start pos"):
out->start_pos = parser->get_int_str(value, out->start_pos);

@ -1244,12 +1244,10 @@ static const char *call_recording_common_ng(ng_command_ctx_t *ctx,
{
g_auto(sdp_ng_flags) flags;
g_autoptr(call_t) call = NULL;
parser_arg input = ctx->req;
const ng_parser_t *parser = ctx->parser_ctx.parser;
call_ng_process_flags(&flags, ctx);
if (!parser->dict_get_str(input, "call-id", &flags.call_id))
if (!flags.call_id.len)
return "No call-id in message";
call = call_get(&flags.call_id);
if (!call)
@ -1257,13 +1255,11 @@ static const char *call_recording_common_ng(ng_command_ctx_t *ctx,
struct call_monologue *ml = NULL;
if (parser->dict_get_str(input, "from-tag", &flags.from_tag)) {
if (flags.from_tag.s) {
ml = call_get_monologue(call, &flags.from_tag);
if (!ml)
ilog(LOG_WARN, "Given from-tag " STR_FORMAT_M " not found",
STR_FMT_M(&flags.from_tag));
}
if (flags.from_tag.len) {
ml = call_get_monologue(call, &flags.from_tag);
if (!ml)
ilog(LOG_WARN, "Given from-tag " STR_FORMAT_M " not found",
STR_FMT_M(&flags.from_tag));
}
if (ml)
@ -2335,29 +2331,23 @@ const char *call_unsubscribe_ng(ng_command_ctx_t *ctx) {
static const char *call_inject_ng(ng_command_ctx_t *ctx, bool start) {
g_auto(sdp_ng_flags) flags;
parser_arg input = ctx->req;
const ng_parser_t *parser = ctx->parser_ctx.parser;
call_ng_process_flags(&flags, ctx);
str source_call_id = STR_NULL;
str source_tag = STR_NULL;
if (!flags.call_id.s)
return "No call-id in message";
if (!flags.to_tag.s)
return "No to-tag in message";
parser->dict_get_str(input, "source-tag", &source_tag);
if (!source_tag.s)
if (!flags.source_tag.len)
return "No source-tag in message";
if (!parser->dict_get_str(input, "source-call-id", &source_call_id))
source_call_id = flags.call_id;
if (!flags.source_call_id.len)
flags.source_call_id = flags.call_id;
g_auto(str_q) call_ids = TYPED_GQUEUE_INIT;
t_queue_push_tail(&call_ids, &flags.call_id);
t_queue_push_tail(&call_ids, &source_call_id);
t_queue_push_tail(&call_ids, &flags.source_call_id);
g_auto(call_q) calls = calls_get(&call_ids);
if (!calls.length)
@ -2371,7 +2361,7 @@ static const char *call_inject_ng(ng_command_ctx_t *ctx, bool start) {
if (!dst_ml)
return "To-tag not found";
struct call_monologue *src_ml = call_get_monologue(call, &source_tag);
struct call_monologue *src_ml = call_get_monologue(call, &flags.source_tag);
if (!src_ml)
return "Source-tag not found";

@ -57,6 +57,8 @@ struct sdp_ng_flags {
str from_tag;
str to_tag;
str via_branch;
str source_tag;
str source_call_id;
str sdp;
str received_from_family;
str received_from_address;

Loading…
Cancel
Save