From 3d1c17bc001598a039b4227b12900165d51b2a8c Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sun, 2 Mar 2008 04:13:51 +0000 Subject: [PATCH] break rfc3264 rejected m line support so t.38 works (will need to work this into an option) git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7769 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c b/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c index 8f949661bd..22dc11a258 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c +++ b/libs/sofia-sip/libsofia-sip-ua/sdp/sdp_print.c @@ -565,6 +565,7 @@ static void print_media(sdp_printer_t *p, { char const *media, *proto; sdp_rtpmap_t *rm; + int print_rejected = 0; sdp_mode_t session_mode = sdp_sendrecv; @@ -593,11 +594,13 @@ static void print_media(sdp_printer_t *p, default: proto = m->m_proto_name; break; } + if (print_rejected || m->m_rtpmaps || m->m_format) { if (m->m_number_of_ports <= 1) sdp_printf(p, "m=%s %u %s", media, m->m_port, proto); else sdp_printf(p, "m=%s %u/%u %s", media, m->m_port, m->m_number_of_ports, proto); + } if (m->m_rtpmaps) { for (rm = m->m_rtpmaps; rm; rm = rm->rm_next) { @@ -612,13 +615,13 @@ static void print_media(sdp_printer_t *p, for (; l; l = l->l_next) sdp_printf(p, " %s", l->l_text); } - else { + else if (print_rejected) { sdp_printf(p, " 19"); /* SDP syntax requires at least one format. 19 is used by nobody, right?. */ } - sdp_printf(p, CRLF); + if (print_rejected || m->m_rtpmaps || m->m_format) sdp_printf(p, CRLF); if (m->m_information) print_information(p, m->m_information);