Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > eeacaa4eb55fa544d622989e42fc27b1 > files > 448

libyate-devel-2.0.0-2mdv2009.1.i586.rpm

<!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: SIPTransaction 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&nbsp;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&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceTelEngine.html">TelEngine</a>::<a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a>
  </div>
</div>
<div class="contents">
<h1>SIPTransaction Class Reference</h1><!-- doxytag: class="TelEngine::SIPTransaction" --><!-- doxytag: inherits="TelEngine::RefObject" --><code>#include &lt;<a class="el" href="yatesip_8h-source.html">yatesip.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for SIPTransaction:</div>
<div class="dynsection">

<p><center><img src="classTelEngine_1_1SIPTransaction.png" usemap="#SIPTransaction_map" border="0" alt=""></center>
<map name="SIPTransaction_map">
<area href="classTelEngine_1_1RefObject.html" alt="RefObject" shape="rect" coords="0,56,97,80">
<area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,97,24">
</map>
</div>

<p>
<a href="classTelEngine_1_1SIPTransaction-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 &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a> { <br>
&nbsp;&nbsp;<b>Invalid</b>, 
<b>Initial</b>, 
<b>Trying</b>, 
<b>Process</b>, 
<br>
&nbsp;&nbsp;<b>Retrans</b>, 
<b>Finish</b>, 
<b>Cleared</b>
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#60587b24892ebc76ee16bbfdb4d52544">Processed</a> { <b>NoMatch</b>, 
<b>NoDialog</b>, 
<b>Matched</b>
 }</td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#f6aff4eab9db125d13f5205c17104dfa">SIPTransaction</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message, <a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a> *engine, bool outgoing=true)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#1d0d0303aa287990068a79df214a1ce1">SIPTransaction</a> (const <a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a> &amp;original, const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;tag)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#1646f28fb0a3e7cd60bdaa35c173fcb0">~SIPTransaction</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#f63e8c613d15b5563db86658d38ddab8">getState</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#22761609071413dcce0632885c820e87">isActive</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#993ab3d19408189ea59a18e0d44991a2">initialMessage</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#6fee38fe3b5f86b18433ec0ec39c59d2">latestMessage</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#c0c4e91c3e510134b3ce269a22648344">recentMessage</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#e7683d950ee47891da9c567602604a19">getEngine</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1Mutex.html">Mutex</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#aa3ff3c344379ebab5b3160a479aba57">mutex</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#07940f718d7777b6870e84d4f027e709">isOutgoing</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#c7b578c32ac980a62fd845aa40dab5cd">isIncoming</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#f49bf4d436b0c8c8b79b3bd788710c36">isInvite</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#7ee2f87dbf5217227591de8726f1f137">isReliable</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#e4f207b9b7010f3ea40b7832a97a80bc">getMethod</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#da7a42216632dea0d78bd4ef4d28432c">getURI</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#0fe54156a750a1fc930b3ac8cebfe1c6">getBranch</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#274ccd245583dfce95b846434ec8923e">getCallID</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#38cede5bcbd00c05db6671ca9cc334f9">getDialogTag</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#7509efe8d7f9620c66976fbc9e24f424">setDialogTag</a> (const char *tag=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#107c0bbe929a66c71c5eee23a976a68f">setTransmit</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#9f2ba9d85df9692bf8bdb295894a106a">requestAuth</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;realm, const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;domain, bool stale, bool proxy=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#5bb0432830c5c214b1ad9d38507ac592">authUser</a> (<a class="el" href="classTelEngine_1_1String.html">String</a> &amp;user, bool proxy=false, <a class="el" href="classTelEngine_1_1GenObject.html">GenObject</a> *userData=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1SIPTransaction.html#60587b24892ebc76ee16bbfdb4d52544">Processed</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#02b8f4ce79608c6ad4c7abeb2e61bbb7">processMessage</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message, const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;branch)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#ab0f56b69294d596b96c67b49fc65993">getEvent</a> (bool pendingOnly=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#837a435f8f54c4fa2b6e7bb4e01f6e45">setResponse</a> (int code, const char *reason=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#b4235bf7e35c5673f26559cfda217eec">setResponse</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#ac30265400a6380cbbc33f7d091a4784">getResponseCode</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#079b94ddfc1b7e6d6e25b69fafe283c1">setUserData</a> (void *data)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#7ead208cc3c358a799bef54f4529548e">getUserData</a> () const </td></tr>

<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#e53f53ebd5abe5bbaa8c314e9e82e670">stateName</a> (int state)</td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#113b7842ed43d55c700b4d2deeac3297">SIPTransaction</a> (<a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a> &amp;original, <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *answer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#3adb10a4f1d537e843b5026828d8ff15">tryAutoAuth</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *answer)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#a029808d1f8cefed93c30bd12311c3ea">getClientEvent</a> (int state, int timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#38116c4d85492d2d3ffd36cf73fcefaa">getServerEvent</a> (int state, int timeout)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#351124b84c3f08f1965b6a65c7f25487">processClientMessage</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message, int state)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#1bd9d845eb949853f1a22c8298433d42">processServerMessage</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message, int state)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#cd32659b7176fa5ed17e7f04354513ff">changeState</a> (int newstate)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#347fcc67fdad7dd54985927db6c8100e">setLatestMessage</a> (<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *message=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#6e6c205d69781eef5cfe14c5546d4dee">setPendingEvent</a> (<a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *event=0, bool replace=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#6d1ec191abdc14c6cc183bd29be0647f">isPendingEvent</a> () const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SIPTransaction.html#e70f0ef75a18d007a11a2be65a611aad">setTimeout</a> (u_int64_t delay=0, unsigned int count=1)</td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="59a58ba861f07fd78e435af02a763688"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_outgoing" ref="59a58ba861f07fd78e435af02a763688" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_outgoing</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6c46e6d6fcf4f5d62c21b16f45c74305"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_invite" ref="6c46e6d6fcf4f5d62c21b16f45c74305" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_invite</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77450c3a6c61814211e921417030c86d"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_transmit" ref="77450c3a6c61814211e921417030c86d" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_transmit</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cc4f94200981f2eb41a7df212afc1093"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_state" ref="cc4f94200981f2eb41a7df212afc1093" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_state</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b34e492b4f700ee9e01f5c4100d5f63e"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_response" ref="b34e492b4f700ee9e01f5c4100d5f63e" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_response</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d4371fbe51ecf2dc50e0ebb2bb7c2e3a"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_timeouts" ref="d4371fbe51ecf2dc50e0ebb2bb7c2e3a" args="" -->
unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_timeouts</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d56c5c059f3a339a116b3b1ca0d20455"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_delay" ref="d56c5c059f3a339a116b3b1ca0d20455" args="" -->
u_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_delay</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5132f90ff1396e72f9ea22c312ac2060"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_timeout" ref="5132f90ff1396e72f9ea22c312ac2060" args="" -->
u_int64_t&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_timeout</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5d618109fae77a16d94451aea29d7eb3"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_firstMessage" ref="5d618109fae77a16d94451aea29d7eb3" args="" -->
<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_firstMessage</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6609a609d81e9f99390f1b769639d86f"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_lastMessage" ref="6609a609d81e9f99390f1b769639d86f" args="" -->
<a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_lastMessage</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0512b0eb2acb6f2aac297d49102df45"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_pending" ref="f0512b0eb2acb6f2aac297d49102df45" args="" -->
<a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_pending</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1e3a4c5c17f051cc1279d49bd60e5315"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_engine" ref="1e3a4c5c17f051cc1279d49bd60e5315" args="" -->
<a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_engine</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="293cfe8b15b74e75b70375a7753ba6d4"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_branch" ref="293cfe8b15b74e75b70375a7753ba6d4" args="" -->
<a class="el" href="classTelEngine_1_1String.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_branch</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8a43822612f2e909d45b80861b72851"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_callid" ref="e8a43822612f2e909d45b80861b72851" args="" -->
<a class="el" href="classTelEngine_1_1String.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_callid</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="deeea94fe6ef49795280fdd8d82c28b8"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_tag" ref="deeea94fe6ef49795280fdd8d82c28b8" args="" -->
<a class="el" href="classTelEngine_1_1String.html">String</a>&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_tag</b></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="253561d47485a107a1651800e8cf87df"></a><!-- doxytag: member="TelEngine::SIPTransaction::m_private" ref="253561d47485a107a1651800e8cf87df" args="" -->
void *&nbsp;</td><td class="memItemRight" valign="bottom"><b>m_private</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
All informaton related to a SIP transaction, starting with 1st message <hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="60587b24892ebc76ee16bbfdb4d52544"></a><!-- doxytag: member="TelEngine::SIPTransaction::Processed" ref="60587b24892ebc76ee16bbfdb4d52544" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classTelEngine_1_1SIPTransaction.html#60587b24892ebc76ee16bbfdb4d52544">Processed</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Possible return values from <a class="el" href="classTelEngine_1_1SIPTransaction.html#02b8f4ce79608c6ad4c7abeb2e61bbb7">processMessage()</a> 
</div>
</div><p>
<a class="anchor" name="5d74787dedbc4e11c1ab15bf487e61f8"></a><!-- doxytag: member="TelEngine::SIPTransaction::State" ref="5d74787dedbc4e11c1ab15bf487e61f8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classTelEngine_1_1SIPTransaction.html#5d74787dedbc4e11c1ab15bf487e61f8">State</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Current state of the transaction 
</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="f6aff4eab9db125d13f5205c17104dfa"></a><!-- doxytag: member="TelEngine::SIPTransaction::SIPTransaction" ref="f6aff4eab9db125d13f5205c17104dfa" args="(SIPMessage *message, SIPEngine *engine, bool outgoing=true)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a> *&nbsp;</td>
          <td class="paramname"> <em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>outgoing</em> = <code>true</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor from 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>message</em>&nbsp;</td><td>A pointer to the initial message, should not be used afterwards as the transaction takes ownership </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>engine</em>&nbsp;</td><td>A pointer to the SIP engine this transaction belongs </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>outgoing</em>&nbsp;</td><td>True if this transaction is for an outgoing request </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1d0d0303aa287990068a79df214a1ce1"></a><!-- doxytag: member="TelEngine::SIPTransaction::SIPTransaction" ref="1d0d0303aa287990068a79df214a1ce1" args="(const SIPTransaction &amp;original, const String &amp;tag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a>           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>original</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>tag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy constructor to be used with forked INVITEs <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>Original transaction that is to be copied </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tag</em>&nbsp;</td><td>Dialog tag for the new transaction </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="1646f28fb0a3e7cd60bdaa35c173fcb0"></a><!-- doxytag: member="TelEngine::SIPTransaction::~SIPTransaction" ref="1646f28fb0a3e7cd60bdaa35c173fcb0" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a>           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Destructor - clears all held objects 
</div>
</div><p>
<a class="anchor" name="113b7842ed43d55c700b4d2deeac3297"></a><!-- doxytag: member="TelEngine::SIPTransaction::SIPTransaction" ref="113b7842ed43d55c700b4d2deeac3297" args="(SIPTransaction &amp;original, SIPMessage *answer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a>           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPTransaction.html">SIPTransaction</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>original</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>answer</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constructor from previous auto authenticated transaction. This is used only internally <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>original</em>&nbsp;</td><td>Original transaction that failed authentication </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>answer</em>&nbsp;</td><td>SIP answer that creates the new transaction </td></tr>
  </table>
</dl>

</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5bb0432830c5c214b1ad9d38507ac592"></a><!-- doxytag: member="TelEngine::SIPTransaction::authUser" ref="5bb0432830c5c214b1ad9d38507ac592" args="(String &amp;user, bool proxy=false, GenObject *userData=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int authUser           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>user</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>proxy</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1GenObject.html">GenObject</a> *&nbsp;</td>
          <td class="paramname"> <em>userData</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Detect the proper credentials for any user in the engine <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>user</em>&nbsp;</td><td><a class="el" href="classTelEngine_1_1String.html" title="A C-style string handling class.">String</a> to store the authenticated user name or user to look for (if not null on entry) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>proxy</em>&nbsp;</td><td>True to authenticate as proxy, false as user agent </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>userData</em>&nbsp;</td><td>Pointer to an optional object that is passed back to <a class="el" href="classTelEngine_1_1SIPEngine.html#2a01aed30505afbe78b7122842947330">SIPEngine::checkUser</a> </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Age of the nonce if user matches, negative for a failure </dd></dl>

</div>
</div><p>
<a class="anchor" name="cd32659b7176fa5ed17e7f04354513ff"></a><!-- doxytag: member="TelEngine::SIPTransaction::changeState" ref="cd32659b7176fa5ed17e7f04354513ff" args="(int newstate)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool changeState           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>newstate</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change the transaction 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>newstate</em>&nbsp;</td><td>The desired new state </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if state change occured </dd></dl>

</div>
</div><p>
<a class="anchor" name="0fe54156a750a1fc930b3ac8cebfe1c6"></a><!-- doxytag: member="TelEngine::SIPTransaction::getBranch" ref="0fe54156a750a1fc930b3ac8cebfe1c6" 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>&amp; getBranch           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The Via branch that may uniquely identify this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The branch parameter taken from the Via header </dd></dl>

</div>
</div><p>
<a class="anchor" name="274ccd245583dfce95b846434ec8923e"></a><!-- doxytag: member="TelEngine::SIPTransaction::getCallID" ref="274ccd245583dfce95b846434ec8923e" 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>&amp; getCallID           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The call ID may identify this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The Call-ID parameter taken from the message </dd></dl>

</div>
</div><p>
<a class="anchor" name="a029808d1f8cefed93c30bd12311c3ea"></a><!-- doxytag: member="TelEngine::SIPTransaction::getClientEvent" ref="a029808d1f8cefed93c30bd12311c3ea" args="(int state, int timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a>* getClientEvent           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an event only for client transactions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The current state of the transaction </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>If timeout occured, number of remaining timeouts, otherwise -1 </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly allocated event or NULL if none is needed </dd></dl>

</div>
</div><p>
<a class="anchor" name="38cede5bcbd00c05db6671ca9cc334f9"></a><!-- doxytag: member="TelEngine::SIPTransaction::getDialogTag" ref="38cede5bcbd00c05db6671ca9cc334f9" 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>&amp; getDialogTag           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The dialog tag that may identify this transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The dialog tag parameter </dd></dl>

</div>
</div><p>
<a class="anchor" name="e7683d950ee47891da9c567602604a19"></a><!-- doxytag: member="TelEngine::SIPTransaction::getEngine" ref="e7683d950ee47891da9c567602604a19" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a>* getEngine           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The <a class="el" href="classTelEngine_1_1SIPEngine.html">SIPEngine</a> this transaction belongs to 
</div>
</div><p>
<a class="anchor" name="ab0f56b69294d596b96c67b49fc65993"></a><!-- doxytag: member="TelEngine::SIPTransaction::getEvent" ref="ab0f56b69294d596b96c67b49fc65993" args="(bool pendingOnly=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a>* getEvent           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>pendingOnly</em> = <code>false</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an event for this transaction if any is available. It provides default handling for invalid states, otherwise calls the more specific protected version. You may override this method if you need processing of invalid states. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pendingOnly</em>&nbsp;</td><td>True to only return outgoing and pending events </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly allocated event or NULL if none is needed </dd></dl>

</div>
</div><p>
<a class="anchor" name="e4f207b9b7010f3ea40b7832a97a80bc"></a><!-- doxytag: member="TelEngine::SIPTransaction::getMethod" ref="e4f207b9b7010f3ea40b7832a97a80bc" 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>&amp; getMethod           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The SIP method this transaction handles 
<p>References <a class="el" href="classTelEngine_1_1String.html#45d69b02f1e1f30d7b0b5320725950be">String::empty()</a>.</p>

</div>
</div><p>
<a class="anchor" name="ac30265400a6380cbbc33f7d091a4784"></a><!-- doxytag: member="TelEngine::SIPTransaction::getResponseCode" ref="ac30265400a6380cbbc33f7d091a4784" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getResponseCode           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retrive the latest response code <dl class="return" compact><dt><b>Returns:</b></dt><dd>Code of most recent response, zero if none is known </dd></dl>

</div>
</div><p>
<a class="anchor" name="38116c4d85492d2d3ffd36cf73fcefaa"></a><!-- doxytag: member="TelEngine::SIPTransaction::getServerEvent" ref="38116c4d85492d2d3ffd36cf73fcefaa" args="(int state, int timeout)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a>* getServerEvent           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>state</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>timeout</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get an event only for server transactions. <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The current state of the transaction </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>If timeout occured, number of remaining timeouts, otherwise -1 </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>A newly allocated event or NULL if none is needed </dd></dl>

</div>
</div><p>
<a class="anchor" name="f63e8c613d15b5563db86658d38ddab8"></a><!-- doxytag: member="TelEngine::SIPTransaction::getState" ref="f63e8c613d15b5563db86658d38ddab8" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int getState           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The current state of the transaction <dl class="return" compact><dt><b>Returns:</b></dt><dd>The current state as one of the State enums </dd></dl>

</div>
</div><p>
<a class="anchor" name="da7a42216632dea0d78bd4ef4d28432c"></a><!-- doxytag: member="TelEngine::SIPTransaction::getURI" ref="da7a42216632dea0d78bd4ef4d28432c" 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>&amp; getURI           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The SIP <a class="el" href="classTelEngine_1_1URI.html" title="Encapsulation for an URI.">URI</a> this transaction handles 
<p>References <a class="el" href="classTelEngine_1_1String.html#45d69b02f1e1f30d7b0b5320725950be">String::empty()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7ead208cc3c358a799bef54f4529548e"></a><!-- doxytag: member="TelEngine::SIPTransaction::getUserData" ref="7ead208cc3c358a799bef54f4529548e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* getUserData           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the opaque user data 
</div>
</div><p>
<a class="anchor" name="993ab3d19408189ea59a18e0d44991a2"></a><!-- doxytag: member="TelEngine::SIPTransaction::initialMessage" ref="993ab3d19408189ea59a18e0d44991a2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a>* initialMessage           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The first message that created this transaction 
</div>
</div><p>
<a class="anchor" name="22761609071413dcce0632885c820e87"></a><!-- doxytag: member="TelEngine::SIPTransaction::isActive" ref="22761609071413dcce0632885c820e87" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isActive           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if the transaction is active for the upper layer <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the transaction is active, false if it finished </dd></dl>

</div>
</div><p>
<a class="anchor" name="c7b578c32ac980a62fd845aa40dab5cd"></a><!-- doxytag: member="TelEngine::SIPTransaction::isIncoming" ref="c7b578c32ac980a62fd845aa40dab5cd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isIncoming           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this transaction was initiated locally or by the remote peer <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the transaction was created by an incoming message </dd></dl>

</div>
</div><p>
<a class="anchor" name="f49bf4d436b0c8c8b79b3bd788710c36"></a><!-- doxytag: member="TelEngine::SIPTransaction::isInvite" ref="f49bf4d436b0c8c8b79b3bd788710c36" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isInvite           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this transaction is an INVITE transaction or not <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the transaction is an INVITE </dd></dl>

</div>
</div><p>
<a class="anchor" name="07940f718d7777b6870e84d4f027e709"></a><!-- doxytag: member="TelEngine::SIPTransaction::isOutgoing" ref="07940f718d7777b6870e84d4f027e709" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isOutgoing           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this transaction was initiated by the remote peer or locally <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the transaction was created by an outgoing message </dd></dl>

</div>
</div><p>
<a class="anchor" name="6d1ec191abdc14c6cc183bd29be0647f"></a><!-- doxytag: member="TelEngine::SIPTransaction::isPendingEvent" ref="6d1ec191abdc14c6cc183bd29be0647f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isPendingEvent           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if there is a pending event waiting <dl class="return" compact><dt><b>Returns:</b></dt><dd>True is there is a pending event </dd></dl>

</div>
</div><p>
<a class="anchor" name="7ee2f87dbf5217227591de8726f1f137"></a><!-- doxytag: member="TelEngine::SIPTransaction::isReliable" ref="7ee2f87dbf5217227591de8726f1f137" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool isReliable           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if this transaction is handled by a reliable protocol <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if a reliable protocol (TCP, SCTP) is used </dd></dl>

</div>
</div><p>
<a class="anchor" name="6fee38fe3b5f86b18433ec0ec39c59d2"></a><!-- doxytag: member="TelEngine::SIPTransaction::latestMessage" ref="6fee38fe3b5f86b18433ec0ec39c59d2" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a>* latestMessage           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The last message (re)sent by this transaction 
</div>
</div><p>
<a class="anchor" name="aa3ff3c344379ebab5b3160a479aba57"></a><!-- doxytag: member="TelEngine::SIPTransaction::mutex" ref="aa3ff3c344379ebab5b3160a479aba57" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classTelEngine_1_1Mutex.html">Mutex</a>* mutex           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the mutex that protects the engine's objects <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the engine's mutex object or NULL if none exists </dd></dl>

</div>
</div><p>
<a class="anchor" name="351124b84c3f08f1965b6a65c7f25487"></a><!-- doxytag: member="TelEngine::SIPTransaction::processClientMessage" ref="351124b84c3f08f1965b6a65c7f25487" args="(SIPMessage *message, int state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void processClientMessage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process only the messages for client transactions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>A pointer to the message to process, should not be used afterwards if this method returned True </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The current state of the transaction </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="02b8f4ce79608c6ad4c7abeb2e61bbb7"></a><!-- doxytag: member="TelEngine::SIPTransaction::processMessage" ref="02b8f4ce79608c6ad4c7abeb2e61bbb7" args="(SIPMessage *message, const String &amp;branch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classTelEngine_1_1SIPTransaction.html#60587b24892ebc76ee16bbfdb4d52544">Processed</a> processMessage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>branch</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a message belongs to this transaction and process it if so <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>A pointer to the message to check, should not be used afterwards if this method returned True </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>branch</em>&nbsp;</td><td>The branch parameter extracted from first Via header </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Matched if the message was handled by this transaction, in which case it takes ownership over the message </dd></dl>

</div>
</div><p>
<a class="anchor" name="1bd9d845eb949853f1a22c8298433d42"></a><!-- doxytag: member="TelEngine::SIPTransaction::processServerMessage" ref="1bd9d845eb949853f1a22c8298433d42" args="(SIPMessage *message, int state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void processServerMessage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>state</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Process only the messages for server transactions <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>message</em>&nbsp;</td><td>A pointer to the message to process, should not be used afterwards if this method returned True </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>state</em>&nbsp;</td><td>The current state of the transaction </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="c0c4e91c3e510134b3ce269a22648344"></a><!-- doxytag: member="TelEngine::SIPTransaction::recentMessage" ref="c0c4e91c3e510134b3ce269a22648344" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a>* recentMessage           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
The most recent message handled by this transaction 
</div>
</div><p>
<a class="anchor" name="9f2ba9d85df9692bf8bdb295894a106a"></a><!-- doxytag: member="TelEngine::SIPTransaction::requestAuth" ref="9f2ba9d85df9692bf8bdb295894a106a" args="(const String &amp;realm, const String &amp;domain, bool stale, bool proxy=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void requestAuth           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>realm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>domain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>stale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>proxy</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Send back an authentication required response <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>realm</em>&nbsp;</td><td>Authentication realm to send in the answer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>domain</em>&nbsp;</td><td>Domain for which it will authenticate </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>stale</em>&nbsp;</td><td>True if the previous password is valid but nonce is too old </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>proxy</em>&nbsp;</td><td>True to authenticate as proxy, false as user agent </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="7509efe8d7f9620c66976fbc9e24f424"></a><!-- doxytag: member="TelEngine::SIPTransaction::setDialogTag" ref="7509efe8d7f9620c66976fbc9e24f424" args="(const char *tag=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setDialogTag           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>tag</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a new dialog tag, optionally build a random 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>tag</em>&nbsp;</td><td>New dialog tag, a null string will build a random tag </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="347fcc67fdad7dd54985927db6c8100e"></a><!-- doxytag: member="TelEngine::SIPTransaction::setLatestMessage" ref="347fcc67fdad7dd54985927db6c8100e" args="(SIPMessage *message=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setLatestMessage           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the latest message sent by 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>message</em>&nbsp;</td><td>Pointer to the latest message </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="6e6c205d69781eef5cfe14c5546d4dee"></a><!-- doxytag: member="TelEngine::SIPTransaction::setPendingEvent" ref="6e6c205d69781eef5cfe14c5546d4dee" args="(SIPEvent *event=0, bool replace=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setPendingEvent           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPEvent.html">SIPEvent</a> *&nbsp;</td>
          <td class="paramname"> <em>event</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>replace</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Store a pending event to be picked up at the next <a class="el" href="classTelEngine_1_1SIPTransaction.html#ab0f56b69294d596b96c67b49fc65993">getEvent()</a> call <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>&nbsp;</td><td>Event to store </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>replace</em>&nbsp;</td><td>True to replace any existing pending event </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b4235bf7e35c5673f26559cfda217eec"></a><!-- doxytag: member="TelEngine::SIPTransaction::setResponse" ref="b4235bf7e35c5673f26559cfda217eec" args="(SIPMessage *message)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setResponse           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>message</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Transmits a final response message 
</div>
</div><p>
<a class="anchor" name="837a435f8f54c4fa2b6e7bb4e01f6e45"></a><!-- doxytag: member="TelEngine::SIPTransaction::setResponse" ref="837a435f8f54c4fa2b6e7bb4e01f6e45" args="(int code, const char *reason=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool setResponse           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>reason</em> = <code>0</code></td><td>&nbsp;</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 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>code</em>&nbsp;</td><td>Response code to send </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>reason</em>&nbsp;</td><td>Human readable reason text (optional) </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="e70f0ef75a18d007a11a2be65a611aad"></a><!-- doxytag: member="TelEngine::SIPTransaction::setTimeout" ref="e70f0ef75a18d007a11a2be65a611aad" args="(u_int64_t delay=0, unsigned int count=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTimeout           </td>
          <td>(</td>
          <td class="paramtype">u_int64_t&nbsp;</td>
          <td class="paramname"> <em>delay</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>count</em> = <code>1</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a repetitive timeout <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>delay</em>&nbsp;</td><td>How often (in microseconds) to fire the timeout </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>How many times to keep firing the timeout </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="107c0bbe929a66c71c5eee23a976a68f"></a><!-- doxytag: member="TelEngine::SIPTransaction::setTransmit" ref="107c0bbe929a66c71c5eee23a976a68f" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTransmit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the (re)transmission flag that allows the latest outgoing message to be send over the wire 
</div>
</div><p>
<a class="anchor" name="079b94ddfc1b7e6d6e25b69fafe283c1"></a><!-- doxytag: member="TelEngine::SIPTransaction::setUserData" ref="079b94ddfc1b7e6d6e25b69fafe283c1" args="(void *data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setUserData           </td>
          <td>(</td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>data</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set an arbitrary pointer as user specific data 
</div>
</div><p>
<a class="anchor" name="e53f53ebd5abe5bbaa8c314e9e82e670"></a><!-- doxytag: member="TelEngine::SIPTransaction::stateName" ref="e53f53ebd5abe5bbaa8c314e9e82e670" args="(int state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const char* stateName           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>state</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the name of a transaction state 
</div>
</div><p>
<a class="anchor" name="3adb10a4f1d537e843b5026828d8ff15"></a><!-- doxytag: member="TelEngine::SIPTransaction::tryAutoAuth" ref="3adb10a4f1d537e843b5026828d8ff15" args="(SIPMessage *answer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool tryAutoAuth           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1SIPMessage.html">SIPMessage</a> *&nbsp;</td>
          <td class="paramname"> <em>answer</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Attempt to perform automatic client transaction authentication <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>answer</em>&nbsp;</td><td>SIP answer that creates the new transaction </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if current client processing must be abandoned </dd></dl>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="yatesip_8h-source.html">yatesip.h</a></ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Dec 7 21:36:14 2008 for Yate by&nbsp;
<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>