Module: sems Branch: master Commit: d8f4137cb217ea7e74d60f8d2f0cf65dbb367e5c URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=d8f4137cb217ea7e74d60f8d2f0cf65dbb367e5c
Author: Juha Heinanen <[email protected]> Committer: Juha Heinanen <[email protected]> Date: Thu Nov 20 10:10:35 2014 +0200 core: made sems aware of rfc5764 media types UDP/TLS/RTP/SAVP and UDP/TLS/RTP/SAVPF --- core/AmSdp.cpp | 10 ++++++++-- core/AmSdp.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/core/AmSdp.cpp b/core/AmSdp.cpp index 5689a34..dd2ff5f 100644 --- a/core/AmSdp.cpp +++ b/core/AmSdp.cpp @@ -103,6 +103,8 @@ inline string transport_p_2_str(int tp) case TP_UDP: return "udp"; case TP_RTPSAVP: return "RTP/SAVP"; case TP_RTPSAVPF: return "RTP/SAVPF"; + case TP_UDPTLSRTPSAVP: return "UDP/TLS/RTP/SAVP"; + case TP_UDPTLSRTPSAVPF: return "UDP/TLS/RTP/SAVPF"; case TP_UDPTL: return "udptl"; default: return "<unknown media type>"; } @@ -358,7 +360,7 @@ void AmSdp::print(string& body) const string options; - if (media_it->transport == TP_RTPAVP || media_it->transport == TP_RTPSAVP || media_it->transport == TP_RTPSAVPF) { + if (media_it->transport == TP_RTPAVP || media_it->transport == TP_RTPSAVP || media_it->transport == TP_RTPSAVPF || media_it->transport == TP_UDPTLSRTPSAVP || media_it->transport == TP_UDPTLSRTPSAVPF) { for(std::vector<SdpPayload>::const_iterator pl_it = media_it->payloads.begin(); pl_it != media_it->payloads.end(); pl_it++) { @@ -889,7 +891,7 @@ static void parse_sdp_media(AmSdp* sdp_msg, char* s) } case FMT: { - if (m.transport == TP_RTPAVP || m.transport == TP_RTPSAVP || m.transport == TP_RTPSAVPF) { + if (m.transport == TP_RTPAVP || m.transport == TP_RTPSAVP || m.transport == TP_RTPSAVPF || m.transport == TP_UDPTLSRTPSAVP || m.transport == TP_UDPTLSRTPSAVPF) { if (contains(media_line, line_end, ' ')) { next = parse_until(media_line, ' '); string value; @@ -1471,6 +1473,10 @@ static TransProt transport_type(string transport) return TP_RTPSAVP; else if(transport_uc == "RTP/SAVPF") return TP_RTPSAVPF; + else if(transport_uc == "UDP/TLS/RTP/SAVP") + return TP_UDPTLSRTPSAVP; + else if(transport_uc == "UDP/TLS/RTP/SAVPF") + return TP_UDPTLSRTPSAVPF; else if(transport_uc == "UDPTL") return TP_UDPTL; else diff --git a/core/AmSdp.h b/core/AmSdp.h index 1e20e12..23302fc 100644 --- a/core/AmSdp.h +++ b/core/AmSdp.h @@ -55,7 +55,7 @@ enum AddressType { AT_NONE=0, AT_V4, AT_V6 }; /** media type */ enum MediaType { MT_NONE=0, MT_AUDIO, MT_VIDEO, MT_APPLICATION, MT_TEXT, MT_MESSAGE, MT_IMAGE }; /** transport protocol */ -enum TransProt { TP_NONE=0, TP_RTPAVP, TP_UDP, TP_RTPSAVP, TP_UDPTL, TP_RTPSAVPF }; +enum TransProt { TP_NONE=0, TP_RTPAVP, TP_UDP, TP_RTPSAVP, TP_UDPTL, TP_RTPSAVPF, TP_UDPTLSRTPSAVP, TP_UDPTLSRTPSAVPF }; /** \brief c=... line in SDP*/ struct SdpConnection _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
