diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 7bca799e3..6ad82d46c 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -1393,7 +1393,7 @@ static void call_ng_flags_freqs(sdp_ng_flags *out, bencode_item_t *value) { } } -static void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, +void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, enum call_opmode opmode) { str s = STR_NULL; diff --git a/daemon/control_ng_flags_parser.c b/daemon/control_ng_flags_parser.c index ef3e4e99f..31e666a41 100644 --- a/daemon/control_ng_flags_parser.c +++ b/daemon/control_ng_flags_parser.c @@ -460,7 +460,8 @@ generic: call_ng_flags_flags(out, &key, NULL); /* generic flags with value, but no particular processing */ else - bencode_dictionary_str_add_str(root_dict, &key, &val); + call_ng_main_flags(out, &key, bencode_str(buf, &val), opmode); + next: start = eptr; } diff --git a/include/call_interfaces.h b/include/call_interfaces.h index 3e4152f1d..a68a9b04b 100644 --- a/include/call_interfaces.h +++ b/include/call_interfaces.h @@ -287,6 +287,8 @@ void call_interfaces_free(void); void call_interfaces_timer(void); void call_ng_flags_flags(sdp_ng_flags *out, str *s, helper_arg dummy); +void call_ng_main_flags(sdp_ng_flags *out, str *key, bencode_item_t *value, + enum call_opmode opmode); INLINE struct sdp_manipulations *sdp_manipulations_get_by_id(const sdp_ng_flags *f, enum media_type id) { if (id < 0 || id >= G_N_ELEMENTS(f->sdp_manipulations))