1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
<HTML>
<HEAD>
<TITLE>class SDPParser</TITLE>
<META NAME="Generator" CONTENT="KDOC ">
</HEAD>
<BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff">
<TABLE WIDTH="100%" BORDER="0">
<TR>
<TD>
<TABLE BORDER="0">
<TR><TD valign="top" align="left" cellspacing="10">
<h1>class SDPParser</h1>
</TD>
<TD valign="top" align="right" colspan="1">A SDP parser. <small><A HREF="#longdesc">More...</A></small></TD></TR>
</TABLE>
<HR>
<TABLE BORDER="0">
<TR><TH>Full name</TH><TD><code><A HREF="TelEngine.html">TelEngine</A>::SDPParser</code></TD></TR>
<TR><TH>Definition</TH><TD><code>#include <<A HREF="libs___ysdp___yatesdp_h.html">libs/ysdp/yatesdp.h</A>></code></TD></TR>
<TR><TH>Inherits</TH><TD><A HREF="TelEngine__DebugEnabler.html">TelEngine::DebugEnabler</A> <small>[public ]</small>, <A HREF="TelEngine__Mutex.html">TelEngine::Mutex</A> <small>[public ]</small></TD></TR>
<TR><TH><A HREF="full-list-TelEngine__SDPParser.html">List of all Methods</A></TH></TR>
</TABLE>
</TD>
<TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</A></small></TD></TR>
<TR><TD><small><A HREF="header-list.html">Files</A></small></TD></TR>
<TR><TD><small><A HREF="all-globals.html">Globals</A></small></TD></TR>
<TR><TD><small><A HREF="hier.html">Hierarchy</A></small></TD></TR>
<TR><TD><small><A HREF="index.html">Index</A></small></TD></TR>
</TABLE></TD></TR></TABLE>
<h4>Public Methods</h4><ul><LI>inline <b><A HREF="#ref2">SDPParser</A></b> (const char* dbgName, const char* sessName, const char* fmts = "alaw,mulaw")
</LI>
<LI>inline void <b><A HREF="#ref3">getAudioFormats</A></b> (String& buf)
</LI>
<LI>inline bool <b><A HREF="#ref4">rfc2833</A></b> () const
</LI>
<LI>inline bool <b><A HREF="#ref5">secure</A></b> () const
</LI>
<LI>inline bool <b><A HREF="#ref6">sdpForward</A></b> () const
</LI>
<LI>inline bool <b><A HREF="#ref7">ignorePort</A></b> () const
</LI>
<LI>ObjList* <b><A HREF="#ref8">parse</A></b> (const MimeSdpBody& sdp, String& addr, ObjList* oldMedia = 0,
const String& media = String::empty())
</LI>
<LI>inline ObjList* <b><A HREF="#ref9">parse</A></b> (const MimeSdpBody* sdp, String& addr, ObjList* oldMedia = 0,
const String& media = String::empty())
</LI>
<LI>void <b><A HREF="#ref10">initialize</A></b> (const NamedList* codecs, const NamedList* hacks, const NamedList* general = 0)
</LI>
</ul><h4>Public Members</h4><ul><LI>static const TokenDict <b><A HREF="#ref11">s_payloads[]</A></b></LI>
<LI>static const TokenDict <b><A HREF="#ref12">s_rtpmap[]</A></b></LI>
</ul><HR><H2><A NAME="longdesc">Detailed Description</A></H2><p>
This class holds a SDP parser and additional data used by SDP objects
</p>
<A NAME="SDPParser"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline <strong>SDPParser</strong> (const char* dbgName, const char* sessName, const char* fmts = "alaw,mulaw")
<br></td><td align="right"><h3><strong>SDPParser</strong></h3></td></tr></table><p></p><p>
Constructor
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>dbgName</i></TD><TD align="left" valign="top">Debug name of this parser
</TD></TR>
<TR><TD align="left" valign="top"><i>sessName</i></TD><TD align="left" valign="top">Name of the session in SDP
</TD></TR>
<TR><TD align="left" valign="top"><i>fmts</i></TD><TD align="left" valign="top">Default media formats
</TD></TR>
</TABLE></P>
<A NAME="getAudioFormats"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline void <strong>getAudioFormats</strong> (String& buf)
<br></td><td align="right"><h3><strong>getAudioFormats</strong></h3></td></tr></table><p></p><p>
Get the formats list
This method is thread safe
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>buf</i></TD><TD align="left" valign="top">String to be filled with comma separated list of formats
</TD></TR>
</TABLE></P>
<A NAME="rfc2833"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline bool <strong>rfc2833</strong> ()
<br></td><td align="right"><h3><strong>rfc2833</strong></h3></td></tr></table><p> <small>[const]</small></p><p>
Get the RFC 2833 offer flag
</p>
<p><b>Returns</b>: True if RFC 2883 telephony events will be offered
</p>
<A NAME="secure"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline bool <strong>secure</strong> ()
<br></td><td align="right"><h3><strong>secure</strong></h3></td></tr></table><p> <small>[const]</small></p><p>
Get the secure offer flag
</p>
<p><b>Returns</b>: True if SDES descriptors for SRTP will be offered
</p>
<A NAME="sdpForward"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline bool <strong>sdpForward</strong> ()
<br></td><td align="right"><h3><strong>sdpForward</strong></h3></td></tr></table><p> <small>[const]</small></p><p>
Get the SDP forward flag
</p>
<p><b>Returns</b>: True if raw SDP should be added to RTP forward offer
</p>
<A NAME="ignorePort"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline bool <strong>ignorePort</strong> ()
<br></td><td align="right"><h3><strong>ignorePort</strong></h3></td></tr></table><p> <small>[const]</small></p><p>
Get the RTP port change ignore flag
</p>
<p><b>Returns</b>: True if a port change should not cause an offer change
</p>
<A NAME="parse"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td>ObjList* <strong>parse</strong> (const MimeSdpBody& sdp, String& addr, ObjList* oldMedia = 0,
const String& media = String::empty())
<br></td><td align="right"><h3><strong>parse</strong></h3></td></tr></table><p></p><p>
Parse a received SDP body
This method is thread safe
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>sdp</i></TD><TD align="left" valign="top">Received SDP body
</TD></TR>
<TR><TD align="left" valign="top"><i>addr</i></TD><TD align="left" valign="top">Remote address
</TD></TR>
<TR><TD align="left" valign="top"><i>oldMedia</i></TD><TD align="left" valign="top">Optional list of existing media (an already existing media
will be moved to returned list)
</TD></TR>
<TR><TD align="left" valign="top"><i>media</i></TD><TD align="left" valign="top">Optional expected media type. If not empty this will be the
only media type returned (if found)
</TD></TR>
</TABLE></P>
<p><b>Returns</b>: List of SDPMedia objects, may be NULL
</p>
<A NAME="parse"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td>inline ObjList* <strong>parse</strong> (const MimeSdpBody* sdp, String& addr, ObjList* oldMedia = 0,
const String& media = String::empty())
<br></td><td align="right"><h3><strong>parse</strong></h3></td></tr></table><p></p><p>
Parse a received SDP body, returns NULL if SDP is not present
This method is thread safe
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>sdp</i></TD><TD align="left" valign="top">Pointer to received SDP body
</TD></TR>
<TR><TD align="left" valign="top"><i>addr</i></TD><TD align="left" valign="top">Remote address
</TD></TR>
<TR><TD align="left" valign="top"><i>oldMedia</i></TD><TD align="left" valign="top">Optional list of existing media (an already existing media
will be moved to returned list)
</TD></TR>
<TR><TD align="left" valign="top"><i>media</i></TD><TD align="left" valign="top">Optional expected media type. If not empty this will be the
only media type returned (if found)
</TD></TR>
</TABLE></P>
<p><b>Returns</b>: List of SDPMedia objects, may be NULL
</p>
<A NAME="initialize"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>initialize</strong> (const NamedList* codecs, const NamedList* hacks, const NamedList* general = 0)
<br></td><td align="right"><h3><strong>initialize</strong></h3></td></tr></table><p></p><p>
Update configuration. This method should be called after a configuration file is loaded
</p>
<p><b>Parameters</b>:<TABLE BORDER="0" CELLPADDING="5">
<TR><TD align="left" valign="top"><i>codecs</i></TD><TD align="left" valign="top">List of supported codecs
</TD></TR>
<TR><TD align="left" valign="top"><i>hacks</i></TD><TD align="left" valign="top">List of hacks
</TD></TR>
<TR><TD align="left" valign="top"><i>general</i></TD><TD align="left" valign="top">List of general settings
</TD></TR>
</TABLE></P>
<A NAME="s_payloads[]"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td>static const TokenDict <strong>s_payloads[]</strong>
</td><td align="right"><h3><strong>s_payloads[]</strong></h3></td></tr></table><p></p><A NAME="s_rtpmap[]"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td>static const TokenDict <strong>s_rtpmap[]</strong>
</td><td align="right"><h3><strong>s_rtpmap[]</strong></h3></td></tr></table><p></p><HR>
<table>
<tr><td><small>Generated by: paulc on bussard on Mon Mar 8 12:18:15 2010, using kdoc 2.0a54.</small></td></tr>
</table>
</BODY>
</HTML>
|