<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Yate: MGCPTransaction Class Reference</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1MGCPTransaction.html">MGCPTransaction</a> </div> </div> <div class="contents"> <h1>MGCPTransaction Class Reference</h1><!-- doxytag: class="TelEngine::MGCPTransaction" --><!-- doxytag: inherits="TelEngine::RefObject,TelEngine::Mutex" -->An MGCP transaction. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatemgcp_8h-source.html">yatemgcp.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for MGCPTransaction:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1MGCPTransaction.png" usemap="#MGCPTransaction_map" border="0" alt=""></center> <map name="MGCPTransaction_map"> <area href="classTelEngine_1_1RefObject.html" alt="RefObject" shape="rect" coords="0,56,115,80"> <area href="classTelEngine_1_1Mutex.html" alt="Mutex" shape="rect" coords="125,56,240,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,115,24"> </map> </div> <p> <a href="classTelEngine_1_1MGCPTransaction-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Types</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> { <br> <b>Invalid</b> = 0, <b>Initiated</b> = 1, <b>Trying</b> = 2, <b>Responded</b> = 3, <br> <b>Ack</b> = 4, <b>Destroying</b> = 5 <br> }</td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#e1738bb3f1b33d3586d33ea8dbec9b95">MGCPTransaction</a> (<a class="el" href="classTelEngine_1_1MGCPEngine.html">MGCPEngine</a> *engine, <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> *msg, bool outgoing, const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> &address)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#b0765b094e5f8c74ca17cf30585b1fbc">~MGCPTransaction</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#3804c9648e6d1325751536cca350f2bf">state</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#fbee9fd63cc167498cd18e503c253e7c">id</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#bf0a85f6a7ff9ab42c7f7d86b1bc0da8">outgoing</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#54b00cf5b655b1697be41ff469865b3b">ep</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#37daa045dcf7a1b182cda22f09ae61a4">addr</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1MGCPEngine.html">MGCPEngine</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#bebc8e9f0ca79286f4b1e6b98b8d706d">engine</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#c70841b2d1baead65794c3377f0ec323">initial</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#181fc688c52f38ca185fa4dc1cda18ba">msgProvisional</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#de81c066760cda17ec84b5a1769cc736">msgResponse</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#12a7d1f8c3f0c68edeb870316fc56e38">msgAck</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#9c437d53bf2d1e353a45486af2fd3343">timeout</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#8d042c8d2cd995d6eb10fce205231d65">userData</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#720e116390cc3be7d7ea60599bceb686">userData</a> (void *data)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#fb29cd55e152d370493c6fe726ed5a57">getEvent</a> (u_int64_t time=<a class="el" href="classTelEngine_1_1Time.html">Time</a>())</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#c6d655558a3847792d94bd27d1cc1e55">sendProvisional</a> (int code=100, const char *comment=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#1d86cea62d00d6f86c99bf9386283823">setResponse</a> (int code, const char *comment=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#4819b4a58fb9a0443be2fbf3192a3861">setResponse</a> (int code, const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> *params, <a class="el" href="classTelEngine_1_1MimeSdpBody.html">MimeSdpBody</a> *sdp1=0, <a class="el" href="classTelEngine_1_1MimeSdpBody.html">MimeSdpBody</a> *sdp2=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#dc772c0bcf35598e88a066e9939746af">setResponse</a> (<a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> *msg)</td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#29e169c1327513d2db6127ddb301dc19">destroyed</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#414137980f7fa1349b39bd42fd3c1c98">processMessage</a> (<a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> *msg)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#0fd2c5c3a8668dd57a8a16687b96872a">checkTimeout</a> (u_int64_t time)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#0683d536ea3f641877d7e42626289397">eventTerminated</a> (<a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a> *event)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#1577509118f887e9718396d2e91d0dcd">changeState</a> (<a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> newState)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#dac84c9442e2a0a0fa6c89616baf5bbc">setProvisional</a> (int code=100)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#7948f3243a620ee5447f4109bcfb1da3">send</a> (<a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> *msg)</td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="48b5bac301bb5bb17289036b0f7248ed"></a><!-- doxytag: member="TelEngine::MGCPTransaction::MGCPEngine" ref="48b5bac301bb5bb17289036b0f7248ed" args="" --> class </td><td class="memItemRight" valign="bottom"><b>MGCPEngine</b></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae6430d1c7497ef1ead3f5a1ad68b1ad"></a><!-- doxytag: member="TelEngine::MGCPTransaction::MGCPEvent" ref="ae6430d1c7497ef1ead3f5a1ad68b1ad" args="" --> class </td><td class="memItemRight" valign="bottom"><b>MGCPEvent</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> An MGCP transaction. <p> This class implements an MGCP transaction <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="5d74787dedbc4e11c1ab15bf487e61f8"></a><!-- doxytag: member="TelEngine::MGCPTransaction::State" ref="5d74787dedbc4e11c1ab15bf487e61f8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Transaction state enumeration </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="e1738bb3f1b33d3586d33ea8dbec9b95"></a><!-- doxytag: member="TelEngine::MGCPTransaction::MGCPTransaction" ref="e1738bb3f1b33d3586d33ea8dbec9b95" args="(MGCPEngine *engine, MGCPMessage *msg, bool outgoing, const SocketAddr &address)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1MGCPTransaction.html">MGCPTransaction</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPEngine.html">MGCPEngine</a> * </td> <td class="paramname"> <em>engine</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td> <td class="paramname"> <em>msg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>outgoing</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a> & </td> <td class="paramname"> <em>address</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor. Construct a transaction from its first message <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>engine</em> </td><td>The engine owning this transaction </td></tr> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>The command creating this transaction </td></tr> <tr><td valign="top"></td><td valign="top"><em>outgoing</em> </td><td>The direction of this transaction </td></tr> <tr><td valign="top"></td><td valign="top"><em>address</em> </td><td>Remote enpoint's address </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="b0765b094e5f8c74ca17cf30585b1fbc"></a><!-- doxytag: member="TelEngine::MGCPTransaction::~MGCPTransaction" ref="b0765b094e5f8c74ca17cf30585b1fbc" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1MGCPTransaction.html">MGCPTransaction</a> </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="37daa045dcf7a1b182cda22f09ae61a4"></a><!-- doxytag: member="TelEngine::MGCPTransaction::addr" ref="37daa045dcf7a1b182cda22f09ae61a4" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1SocketAddr.html">SocketAddr</a>& addr </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the remote endpoint's IP address <dl class="return" compact><dt><b>Returns:</b></dt><dd>The remote endpoint's IP address </dd></dl> </div> </div><p> <a class="anchor" name="1577509118f887e9718396d2e91d0dcd"></a><!-- doxytag: member="TelEngine::MGCPTransaction::changeState" ref="1577509118f887e9718396d2e91d0dcd" args="(State newState)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void changeState </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> </td> <td class="paramname"> <em>newState</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Change transaction's state if the new state is a valid one <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newState</em> </td><td>The new state of this transaction </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="0fd2c5c3a8668dd57a8a16687b96872a"></a><!-- doxytag: member="TelEngine::MGCPTransaction::checkTimeout" ref="0fd2c5c3a8668dd57a8a16687b96872a" args="(u_int64_t time)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a>* checkTimeout </td> <td>(</td> <td class="paramtype">u_int64_t </td> <td class="paramname"> <em>time</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check timeouts. Manage retransmissions <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>time</em> </td><td>Current time in milliseconds </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1MGCPEvent.html" title="An MGCP event.">MGCPEvent</a> pointer if timeout </dd></dl> </div> </div><p> <a class="anchor" name="29e169c1327513d2db6127ddb301dc19"></a><!-- doxytag: member="TelEngine::MGCPTransaction::destroyed" ref="29e169c1327513d2db6127ddb301dc19" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void destroyed </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gracefully terminate this transaction. Release memory <p>Reimplemented from <a class="el" href="classTelEngine_1_1RefObject.html#29e169c1327513d2db6127ddb301dc19">RefObject</a>.</p> </div> </div><p> <a class="anchor" name="bebc8e9f0ca79286f4b1e6b98b8d706d"></a><!-- doxytag: member="TelEngine::MGCPTransaction::engine" ref="bebc8e9f0ca79286f4b1e6b98b8d706d" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1MGCPEngine.html">MGCPEngine</a>* engine </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the engine owning this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The engine owning this transaction </dd></dl> </div> </div><p> <a class="anchor" name="54b00cf5b655b1697be41ff469865b3b"></a><!-- doxytag: member="TelEngine::MGCPTransaction::ep" ref="54b00cf5b655b1697be41ff469865b3b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1String.html">String</a>& ep </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the id of the endpoint owning this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The id of the endpoint owning this transaction </dd></dl> </div> </div><p> <a class="anchor" name="0683d536ea3f641877d7e42626289397"></a><!-- doxytag: member="TelEngine::MGCPTransaction::eventTerminated" ref="0683d536ea3f641877d7e42626289397" args="(MGCPEvent *event)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void eventTerminated </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a> * </td> <td class="paramname"> <em>event</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Event termination notification <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>event</em> </td><td>The notifier </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="fb29cd55e152d370493c6fe726ed5a57"></a><!-- doxytag: member="TelEngine::MGCPTransaction::getEvent" ref="fb29cd55e152d370493c6fe726ed5a57" args="(u_int64_t time=Time())" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1MGCPEvent.html">MGCPEvent</a>* getEvent </td> <td>(</td> <td class="paramtype">u_int64_t </td> <td class="paramname"> <em>time</em> = <code><a class="el" href="classTelEngine_1_1Time.html">Time</a>()</code> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Get an event from this transaction. Check timeouts <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>time</em> </td><td>Current time in microseconds </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1MGCPEvent.html" title="An MGCP event.">MGCPEvent</a> pointer or 0 if none </dd></dl> </div> </div><p> <a class="anchor" name="fbee9fd63cc167498cd18e503c253e7c"></a><!-- doxytag: member="TelEngine::MGCPTransaction::id" ref="fbee9fd63cc167498cd18e503c253e7c" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">unsigned int id </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the id of this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The id of this transaction </dd></dl> </div> </div><p> <a class="anchor" name="c70841b2d1baead65794c3377f0ec323"></a><!-- doxytag: member="TelEngine::MGCPTransaction::initial" ref="c70841b2d1baead65794c3377f0ec323" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a>* initial </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the initial command message sent or received by this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transaction's initial message </dd></dl> </div> </div><p> <a class="anchor" name="12a7d1f8c3f0c68edeb870316fc56e38"></a><!-- doxytag: member="TelEngine::MGCPTransaction::msgAck" ref="12a7d1f8c3f0c68edeb870316fc56e38" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a>* msgAck </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the response aknowledgement message sent or received by this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transaction's response aknowledgement message </dd></dl> </div> </div><p> <a class="anchor" name="181fc688c52f38ca185fa4dc1cda18ba"></a><!-- doxytag: member="TelEngine::MGCPTransaction::msgProvisional" ref="181fc688c52f38ca185fa4dc1cda18ba" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a>* msgProvisional </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the provisional response message sent or received by this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transaction's provisional response message </dd></dl> </div> </div><p> <a class="anchor" name="de81c066760cda17ec84b5a1769cc736"></a><!-- doxytag: member="TelEngine::MGCPTransaction::msgResponse" ref="de81c066760cda17ec84b5a1769cc736" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a>* msgResponse </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the final response message sent or received by this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transaction's final response message </dd></dl> </div> </div><p> <a class="anchor" name="bf0a85f6a7ff9ab42c7f7d86b1bc0da8"></a><!-- doxytag: member="TelEngine::MGCPTransaction::outgoing" ref="bf0a85f6a7ff9ab42c7f7d86b1bc0da8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool outgoing </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the direction of this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this is an outgoing transaction </dd></dl> </div> </div><p> <a class="anchor" name="414137980f7fa1349b39bd42fd3c1c98"></a><!-- doxytag: member="TelEngine::MGCPTransaction::processMessage" ref="414137980f7fa1349b39bd42fd3c1c98" args="(MGCPMessage *msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void processMessage </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td> <td class="paramname"> <em>msg</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Consume (process) a received message, other then the initiating one <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>The received message </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="7948f3243a620ee5447f4109bcfb1da3"></a><!-- doxytag: member="TelEngine::MGCPTransaction::send" ref="7948f3243a620ee5447f4109bcfb1da3" args="(MGCPMessage *msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void send </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td> <td class="paramname"> <em>msg</em> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> (Re)send one the initial, provisional or final response. Change transaction's state <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>The message to send </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="c6d655558a3847792d94bd27d1cc1e55"></a><!-- doxytag: member="TelEngine::MGCPTransaction::sendProvisional" ref="c6d655558a3847792d94bd27d1cc1e55" args="(int code=100, const char *comment=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool sendProvisional </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>code</em> = <code>100</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>comment</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Explicitely transmits a provisional code <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>Provisional response code to send, must be in range 100-199 </td></tr> <tr><td valign="top"></td><td valign="top"><em>comment</em> </td><td>Optional response comment text </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the provisional response was sent </dd></dl> </div> </div><p> <a class="anchor" name="dac84c9442e2a0a0fa6c89616baf5bbc"></a><!-- doxytag: member="TelEngine::MGCPTransaction::setProvisional" ref="dac84c9442e2a0a0fa6c89616baf5bbc" args="(int code=100)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void setProvisional </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>code</em> = <code>100</code> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set and send the provisional response (codes between 100 and 199) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>The response code </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="dc772c0bcf35598e88a066e9939746af"></a><!-- doxytag: member="TelEngine::MGCPTransaction::setResponse" ref="dc772c0bcf35598e88a066e9939746af" args="(MGCPMessage *msg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool setResponse </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MGCPMessage.html">MGCPMessage</a> * </td> <td class="paramname"> <em>msg</em> </td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p> Transmits a final response (code must at least 200) message if this is an incoming transaction <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>msg</em> </td><td>The message to transmit </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the message was queued for transmission </dd></dl> </div> </div><p> <a class="anchor" name="4819b4a58fb9a0443be2fbf3192a3861"></a><!-- doxytag: member="TelEngine::MGCPTransaction::setResponse" ref="4819b4a58fb9a0443be2fbf3192a3861" args="(int code, const NamedList *params, MimeSdpBody *sdp1=0, MimeSdpBody *sdp2=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool setResponse </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> * </td> <td class="paramname"> <em>params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MimeSdpBody.html">MimeSdpBody</a> * </td> <td class="paramname"> <em>sdp1</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1MimeSdpBody.html">MimeSdpBody</a> * </td> <td class="paramname"> <em>sdp2</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p> Creates and transmits a final response (code must at least 200) message if this is an incoming transaction. The SDP(s) will be consumed (appended to the message or destroyed) <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>Response code to send </td></tr> <tr><td valign="top"></td><td valign="top"><em>params</em> </td><td>Parameters to set in response, name will be set as comment </td></tr> <tr><td valign="top"></td><td valign="top"><em>sdp1</em> </td><td>Optional SDP to be added to the response </td></tr> <tr><td valign="top"></td><td valign="top"><em>sdp2</em> </td><td>Optional second SDP to be added to the response if the first one is not 0 </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the message was queued for transmission </dd></dl> </div> </div><p> <a class="anchor" name="1d86cea62d00d6f86c99bf9386283823"></a><!-- doxytag: member="TelEngine::MGCPTransaction::setResponse" ref="1d86cea62d00d6f86c99bf9386283823" args="(int code, const char *comment=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool setResponse </td> <td>(</td> <td class="paramtype">int </td> <td class="paramname"> <em>code</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"> <em>comment</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates and transmits a final response (code must at least 200) message if this is an incoming transaction <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>Response code to send </td></tr> <tr><td valign="top"></td><td valign="top"><em>comment</em> </td><td>Optional response comment text </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the message was queued for transmission </dd></dl> <p>References <a class="el" href="yatemgcp_8h-source.html#l00378">MGCPTransaction::setResponse()</a>.</p> <p>Referenced by <a class="el" href="yatemgcp_8h-source.html#l00378">MGCPTransaction::setResponse()</a>.</p> </div> </div><p> <a class="anchor" name="3804c9648e6d1325751536cca350f2bf"></a><!-- doxytag: member="TelEngine::MGCPTransaction::state" ref="3804c9648e6d1325751536cca350f2bf" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1MGCPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> state </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the current transaction's state <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transaction state as enumeration </dd></dl> </div> </div><p> <a class="anchor" name="9c437d53bf2d1e353a45486af2fd3343"></a><!-- doxytag: member="TelEngine::MGCPTransaction::timeout" ref="9c437d53bf2d1e353a45486af2fd3343" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool timeout </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if this transaction timed out <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this transaction timed out </dd></dl> </div> </div><p> <a class="anchor" name="720e116390cc3be7d7ea60599bceb686"></a><!-- doxytag: member="TelEngine::MGCPTransaction::userData" ref="720e116390cc3be7d7ea60599bceb686" args="(void *data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void userData </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>data</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set the private user data of this transaction <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>The new private user data of this transaction </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="8d042c8d2cd995d6eb10fce205231d65"></a><!-- doxytag: member="TelEngine::MGCPTransaction::userData" ref="8d042c8d2cd995d6eb10fce205231d65" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* userData </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the private user data of this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The private user data of this transaction </dd></dl> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatemgcp_8h-source.html">yatemgcp.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:13 2008 for Yate by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>