|
|
|
@ -887,6 +887,20 @@ static void call_ng_process_flags(struct sdp_ng_flags *out, bencode_item_t *inpu |
|
|
|
bencode_get_str(it->sibling, &out->received_from_address); |
|
|
|
} |
|
|
|
|
|
|
|
if (bencode_dictionary_get_str(input, "drop-traffic", &s)) { |
|
|
|
switch (__csh_lookup(&s)) { |
|
|
|
case CSH_LOOKUP("start"): |
|
|
|
out->drop_traffic_start = 1; |
|
|
|
break; |
|
|
|
case CSH_LOOKUP("stop"): |
|
|
|
out->drop_traffic_stop = 1; |
|
|
|
break; |
|
|
|
default: |
|
|
|
ilog(LOG_WARN, "Unknown 'drop-traffic' flag encountered: '"STR_FORMAT"'", |
|
|
|
STR_FMT(&s)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (bencode_dictionary_get_str(input, "ICE", &s)) { |
|
|
|
switch (__csh_lookup(&s)) { |
|
|
|
case CSH_LOOKUP("remove"): |
|
|
|
@ -1146,6 +1160,14 @@ static const char *call_offer_answer_ng(bencode_item_t *input, |
|
|
|
recording_start(call, NULL, &flags.metadata); |
|
|
|
} |
|
|
|
|
|
|
|
if (flags.drop_traffic_start) { |
|
|
|
call->drop_traffic = 1; |
|
|
|
} |
|
|
|
|
|
|
|
if (flags.drop_traffic_stop) { |
|
|
|
call->drop_traffic = 0; |
|
|
|
} |
|
|
|
|
|
|
|
ret = monologue_offer_answer(monologue, &streams, &flags); |
|
|
|
if (!ret) { |
|
|
|
// SDP fragments for trickle ICE are consumed with no replacement returned |
|
|
|
|