|
|
|
|
@ -1996,20 +1996,24 @@ int sdp_replace(struct sdp_chopper *chop, GQueue *sessions, struct call_monologu
|
|
|
|
|
else
|
|
|
|
|
chopper_append_c(chop, "a=inactive\r\n");
|
|
|
|
|
|
|
|
|
|
if (MEDIA_ISSET(call_media, RTCP_MUX) && flags->opmode == OP_ANSWER) {
|
|
|
|
|
chopper_append_c(chop, "a=rtcp:");
|
|
|
|
|
chopper_append_printf(chop, "%hu", ps->sfd->fd.localport);
|
|
|
|
|
chopper_append_c(chop, "\r\na=rtcp-mux\r\n");
|
|
|
|
|
ps_rtcp = NULL;
|
|
|
|
|
}
|
|
|
|
|
else if (ps_rtcp && !flags->ice_force_relay) {
|
|
|
|
|
chopper_append_c(chop, "a=rtcp:");
|
|
|
|
|
chopper_append_printf(chop, "%hu", ps_rtcp->sfd->fd.localport);
|
|
|
|
|
if (!MEDIA_ISSET(call_media, RTCP_MUX))
|
|
|
|
|
chopper_append_c(chop, "\r\n");
|
|
|
|
|
else
|
|
|
|
|
if (call_media->protocol && call_media->protocol->rtp) {
|
|
|
|
|
if (MEDIA_ISSET(call_media, RTCP_MUX) && flags->opmode == OP_ANSWER) {
|
|
|
|
|
chopper_append_c(chop, "a=rtcp:");
|
|
|
|
|
chopper_append_printf(chop, "%hu", ps->sfd->fd.localport);
|
|
|
|
|
chopper_append_c(chop, "\r\na=rtcp-mux\r\n");
|
|
|
|
|
ps_rtcp = NULL;
|
|
|
|
|
}
|
|
|
|
|
else if (ps_rtcp && !flags->ice_force_relay) {
|
|
|
|
|
chopper_append_c(chop, "a=rtcp:");
|
|
|
|
|
chopper_append_printf(chop, "%hu", ps_rtcp->sfd->fd.localport);
|
|
|
|
|
if (!MEDIA_ISSET(call_media, RTCP_MUX))
|
|
|
|
|
chopper_append_c(chop, "\r\n");
|
|
|
|
|
else
|
|
|
|
|
chopper_append_c(chop, "\r\na=rtcp-mux\r\n");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
ps_rtcp = NULL;
|
|
|
|
|
|
|
|
|
|
insert_crypto(call_media, chop);
|
|
|
|
|
insert_dtls(call_media, chop);
|
|
|
|
|
|