<!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: ISDNFrame 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_1ISDNFrame.html">ISDNFrame</a> </div> </div> <div class="contents"> <h1>ISDNFrame Class Reference</h1><!-- doxytag: class="TelEngine::ISDNFrame" --><!-- doxytag: inherits="TelEngine::RefObject" -->An ISDN frame. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="yatesig_8h-source.html">yatesig.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for ISDNFrame:</div> <div class="dynsection"> <p><center><img src="classTelEngine_1_1ISDNFrame.png" usemap="#ISDNFrame_map" border="0" alt=""></center> <map name="ISDNFrame_map"> <area href="classTelEngine_1_1RefObject.html" alt="RefObject" shape="rect" coords="0,56,77,80"> <area href="classTelEngine_1_1GenObject.html" alt="GenObject" shape="rect" coords="0,0,77,24"> </map> </div> <p> <a href="classTelEngine_1_1ISDNFrame-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_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> { <br> <b>DISC</b> = 1, <b>DM</b> = 2, <b>FRMR</b> = 3, <b>I</b> = 4, <br> <b>REJ</b> = 5, <b>RNR</b> = 6, <b>RR</b> = 7, <b>SABME</b> = 8, <br> <b>UA</b> = 9, <b>UI</b> = 10, <b>XID</b> = 11, <b>Invalid</b> = 100, <br> <b>ErrUnknownCR</b> = 101, <b>ErrHdrLength</b> = 102, <b>ErrDataLength</b> = 103, <b>ErrRxSeqNo</b> = 104, <br> <b>ErrTxSeqNo</b> = 105, <b>ErrInvalidEA</b> = 106, <b>ErrInvalidAddress</b> = 107, <b>ErrUnsupported</b> = 108, <br> <b>ErrInvalidCR</b> = 109 <br> }</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#9ca8f05608edcbf85ab6c2c85a439ccb">Category</a> { <b>Data</b>, <b>Supervisory</b>, <b>Unnumbered</b>, <b>Error</b> }</td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#72a995d962b958b686d67376b7a44278">~ISDNFrame</a> ()</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#fbd0fa31db28593e9669c3c56711c0a7">type</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#5a7ab02da352e6ed004116c3dbfbd42a">error</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classTelEngine_1_1ISDNFrame.html#9ca8f05608edcbf85ab6c2c85a439ccb">Category</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#90945611409c6107e98e374e4469a329">category</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_1ISDNFrame.html#403280203774bb5de305c96a3b9fc62b">command</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#df7d32712d59039b8bb0197fd3213741">sapi</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#096c806d6454ac81799d96095b50cd7b">tei</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_1ISDNFrame.html#9bca7ab33d4f32fcc1e874ef85dbffa8">poll</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#a9557be5bd279c279d1d165c45d15d5b">ns</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#2b8898915228c232c3a8bb6491057838">nr</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#c35d5a16f2adc7745bb44b849826b06a">headerLength</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">u_int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#c9ec303cf1f346ac316693f24ad24657">dataLength</a> () const </td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#ef4b4ca09dc9fa6950b8a7293f5e0383">buffer</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_1ISDNFrame.html#963bc899b3d864e8eda6e6cf7d5af34d">sent</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_1ISDNFrame.html#0ccb7c8dd2c524879645eec33ebde71d">sent</a> (bool value)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#862958aa3c2b9bf36903f1f0f2e81c54">name</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_1ISDNFrame.html#b647fbba9204ef9f6db14ff6aee7e6a6">update</a> (u_int8_t *ns=0, u_int8_t *nr=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#8a39d739ac8d2a8f5c7467fc52737e41">getData</a> (<a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &dest) 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_1ISDNFrame.html#622d1c0205621335911a3f99c3f5f692">toString</a> (<a class="el" href="classTelEngine_1_1String.html">String</a> &dest, bool extendedDebug) 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 <a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#aabb650fdb10085137ee6d8190f33da5">parse</a> (const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &data, <a class="el" href="classTelEngine_1_1ISDNLayer2.html">ISDNLayer2</a> *receiver)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#75588e31c63da02ea56240300b88a327">commandBit</a> (bool network)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#79889f3823a8615c1b08ecdaa465781c">responseBit</a> (bool network)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#adf50ab4d5f24c4e33adc938c0463a47">isCommand</a> (u_int8_t cr, bool senderNetwork)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#7466e69571e93dfc064b675770170c98">typeName</a> (<a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> type)</td></tr> <tr><td colspan="2"><br><h2>Static Public Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#0634bb49208c45edcb84494c85b5479d">s_types</a> []</td></tr> <tr><td colspan="2"><br><h2>Protected 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_1ISDNFrame.html#5f687a8cbcb9b28c17ad886ed6c8e603">ISDNFrame</a> (<a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> type=Invalid)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#436d55e1a7adff536928c08e24864472">ISDNFrame</a> (<a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> type, bool command, bool senderNetwork, u_int8_t sapi, u_int8_t tei, bool pf, u_int8_t nr=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1ISDNFrame.html#697f054de044640e69c9ba17f8563554">ISDNFrame</a> (bool ack, bool senderNetwork, u_int8_t sapi, u_int8_t tei, bool pf, const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &data)</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="c0150b158c66475c38db65cd7cfefb32"></a><!-- doxytag: member="TelEngine::ISDNFrame::ISDNQ921" ref="c0150b158c66475c38db65cd7cfefb32" args="" --> class </td><td class="memItemRight" valign="bottom"><b>ISDNQ921</b></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> An ISDN frame. <p> Encapsulates an ISDN (Q.921) frame exchanged over a hardware HDLC interface <hr><h2>Member Enumeration Documentation</h2> <a class="anchor" name="9ca8f05608edcbf85ab6c2c85a439ccb"></a><!-- doxytag: member="TelEngine::ISDNFrame::Category" ref="9ca8f05608edcbf85ab6c2c85a439ccb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTelEngine_1_1ISDNFrame.html#9ca8f05608edcbf85ab6c2c85a439ccb">Category</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Frame category </div> </div><p> <a class="anchor" name="1d1cfd8ffb84e947f82999c682b666a7"></a><!-- doxytag: member="TelEngine::ISDNFrame::Type" ref="1d1cfd8ffb84e947f82999c682b666a7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Frame type according to Q.921 3.6 </div> </div><p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="72a995d962b958b686d67376b7a44278"></a><!-- doxytag: member="TelEngine::ISDNFrame::~ISDNFrame" ref="72a995d962b958b686d67376b7a44278" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual ~<a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</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> <a class="anchor" name="5f687a8cbcb9b28c17ad886ed6c8e603"></a><!-- doxytag: member="TelEngine::ISDNFrame::ISDNFrame" ref="5f687a8cbcb9b28c17ad886ed6c8e603" args="(Type type=Invalid)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td> <td class="paramname"> <em>type</em> = <code>Invalid</code> </td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor Used by the parser <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Frame type </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="436d55e1a7adff536928c08e24864472"></a><!-- doxytag: member="TelEngine::ISDNFrame::ISDNFrame" ref="436d55e1a7adff536928c08e24864472" args="(Type type, bool command, bool senderNetwork, u_int8_t sapi, u_int8_t tei, bool pf, u_int8_t nr=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</a> </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>command</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>senderNetwork</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>sapi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>tei</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>pf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>nr</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor Create U/S frames: SABME/DM/DISC/UA/FRMR/XID/RR/RNR/REJ Set data members. Encode frame in buffer according to Q.921 Used by <a class="el" href="classTelEngine_1_1ISDNLayer2.html" title="Abstract ISDN layer 2 (Q.921) message transport.">ISDNLayer2</a> to create outgoing frames <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Frame type </td></tr> <tr><td valign="top"></td><td valign="top"><em>command</em> </td><td>Frame command/response's flag </td></tr> <tr><td valign="top"></td><td valign="top"><em>senderNetwork</em> </td><td>True if the sender is the network side of the data link </td></tr> <tr><td valign="top"></td><td valign="top"><em>sapi</em> </td><td>SAPI value </td></tr> <tr><td valign="top"></td><td valign="top"><em>tei</em> </td><td>TEI value </td></tr> <tr><td valign="top"></td><td valign="top"><em>pf</em> </td><td>Poll/final flag </td></tr> <tr><td valign="top"></td><td valign="top"><em>nr</em> </td><td>Optional transmitter receive sequence number </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="697f054de044640e69c9ba17f8563554"></a><!-- doxytag: member="TelEngine::ISDNFrame::ISDNFrame" ref="697f054de044640e69c9ba17f8563554" args="(bool ack, bool senderNetwork, u_int8_t sapi, u_int8_t tei, bool pf, const DataBlock &data)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</a> </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>ack</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>senderNetwork</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>sapi</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>tei</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>pf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> & </td> <td class="paramname"> <em>data</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Constructor Create I/UI frames Set data members. Encode frame in buffer according to Q.921 Used by <a class="el" href="classTelEngine_1_1ISDNLayer2.html" title="Abstract ISDN layer 2 (Q.921) message transport.">ISDNLayer2</a> to create outgoing frames <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ack</em> </td><td>True to create an I frame. False to create an UI frame </td></tr> <tr><td valign="top"></td><td valign="top"><em>senderNetwork</em> </td><td>True if the sender is the network side of the data link </td></tr> <tr><td valign="top"></td><td valign="top"><em>sapi</em> </td><td>SAPI value </td></tr> <tr><td valign="top"></td><td valign="top"><em>tei</em> </td><td>TEI value </td></tr> <tr><td valign="top"></td><td valign="top"><em>pf</em> </td><td>Poll/final flag </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>Transmitted data </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="ef4b4ca09dc9fa6950b8a7293f5e0383"></a><!-- doxytag: member="TelEngine::ISDNFrame::buffer" ref="ef4b4ca09dc9fa6950b8a7293f5e0383" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a>& buffer </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the frame's buffer <dl class="return" compact><dt><b>Returns:</b></dt><dd>The frame's buffer </dd></dl> </div> </div><p> <a class="anchor" name="90945611409c6107e98e374e4469a329"></a><!-- doxytag: member="TelEngine::ISDNFrame::category" ref="90945611409c6107e98e374e4469a329" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html#9ca8f05608edcbf85ab6c2c85a439ccb">Category</a> category </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the category of this frame <dl class="return" compact><dt><b>Returns:</b></dt><dd>The category of this frame as enumeration </dd></dl> </div> </div><p> <a class="anchor" name="403280203774bb5de305c96a3b9fc62b"></a><!-- doxytag: member="TelEngine::ISDNFrame::command" ref="403280203774bb5de305c96a3b9fc62b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool command </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 frame is a command <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this frame is a command. False if it is a response </dd></dl> </div> </div><p> <a class="anchor" name="75588e31c63da02ea56240300b88a327"></a><!-- doxytag: member="TelEngine::ISDNFrame::commandBit" ref="75588e31c63da02ea56240300b88a327" args="(bool network)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool commandBit </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>network</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the command bit value for a given side of a data link <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>network</em> </td><td>True for the network side, false for the user side of a data link </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The appropriate command bit value </dd></dl> </div> </div><p> <a class="anchor" name="c9ec303cf1f346ac316693f24ad24657"></a><!-- doxytag: member="TelEngine::ISDNFrame::dataLength" ref="c9ec303cf1f346ac316693f24ad24657" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int32_t dataLength </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the length of the data carried by this frame <dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of the data carried by this frame </dd></dl> </div> </div><p> <a class="anchor" name="5a7ab02da352e6ed004116c3dbfbd42a"></a><!-- doxytag: member="TelEngine::ISDNFrame::error" ref="5a7ab02da352e6ed004116c3dbfbd42a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> error </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the error type <dl class="return" compact><dt><b>Returns:</b></dt><dd>The error type of this frame as enumeration </dd></dl> </div> </div><p> <a class="anchor" name="8a39d739ac8d2a8f5c7467fc52737e41"></a><!-- doxytag: member="TelEngine::ISDNFrame::getData" ref="8a39d739ac8d2a8f5c7467fc52737e41" args="(DataBlock &dest) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void getData </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> & </td> <td class="paramname"> <em>dest</em> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the data transferred with this frame <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>The destination buffer </td></tr> </table> </dl> <p>References <a class="el" href="classTelEngine_1_1DataBlock.html#91096598cfab98db0ebbde3e9b971da2">DataBlock::assign()</a>.</p> </div> </div><p> <a class="anchor" name="c35d5a16f2adc7745bb44b849826b06a"></a><!-- doxytag: member="TelEngine::ISDNFrame::headerLength" ref="c35d5a16f2adc7745bb44b849826b06a" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int8_t headerLength </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the length of the frame's header <dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of the frame's header </dd></dl> </div> </div><p> <a class="anchor" name="adf50ab4d5f24c4e33adc938c0463a47"></a><!-- doxytag: member="TelEngine::ISDNFrame::isCommand" ref="adf50ab4d5f24c4e33adc938c0463a47" args="(u_int8_t cr, bool senderNetwork)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool isCommand </td> <td>(</td> <td class="paramtype">u_int8_t </td> <td class="paramname"> <em>cr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>senderNetwork</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the command/response type from C/R bit value and sender type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>cr</em> </td><td>The value of the C/R bit </td></tr> <tr><td valign="top"></td><td valign="top"><em>senderNetwork</em> </td><td>True if the sender is the network side of the data link </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if it is a command </dd></dl> </div> </div><p> <a class="anchor" name="862958aa3c2b9bf36903f1f0f2e81c54"></a><!-- doxytag: member="TelEngine::ISDNFrame::name" ref="862958aa3c2b9bf36903f1f0f2e81c54" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const char* name </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the text associated with the frame's type <dl class="return" compact><dt><b>Returns:</b></dt><dd>The text associated with the frame's type </dd></dl> </div> </div><p> <a class="anchor" name="2b8898915228c232c3a8bb6491057838"></a><!-- doxytag: member="TelEngine::ISDNFrame::nr" ref="2b8898915228c232c3a8bb6491057838" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int8_t nr </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the transmitter receive sequence number <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transmitter receive sequence number </dd></dl> </div> </div><p> <a class="anchor" name="a9557be5bd279c279d1d165c45d15d5b"></a><!-- doxytag: member="TelEngine::ISDNFrame::ns" ref="a9557be5bd279c279d1d165c45d15d5b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int8_t ns </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the transmitter send sequence number <dl class="return" compact><dt><b>Returns:</b></dt><dd>The transmitter send sequence number </dd></dl> </div> </div><p> <a class="anchor" name="aabb650fdb10085137ee6d8190f33da5"></a><!-- doxytag: member="TelEngine::ISDNFrame::parse" ref="aabb650fdb10085137ee6d8190f33da5" args="(const DataBlock &data, ISDNLayer2 *receiver)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="classTelEngine_1_1ISDNFrame.html">ISDNFrame</a>* parse </td> <td>(</td> <td class="paramtype">const <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> & </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classTelEngine_1_1ISDNLayer2.html">ISDNLayer2</a> * </td> <td class="paramname"> <em>receiver</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Parse a received data block <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>Data to parse </td></tr> <tr><td valign="top"></td><td valign="top"><em>receiver</em> </td><td>The receiver of the data </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd><a class="el" href="classTelEngine_1_1ISDNFrame.html" title="An ISDN frame.">ISDNFrame</a> pointer or 0 (no control field) </dd></dl> </div> </div><p> <a class="anchor" name="9bca7ab33d4f32fcc1e874ef85dbffa8"></a><!-- doxytag: member="TelEngine::ISDNFrame::poll" ref="9bca7ab33d4f32fcc1e874ef85dbffa8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool poll </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 frame is a poll (expect response) or a final one <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if this a poll frame. False if it is a final one </dd></dl> </div> </div><p> <a class="anchor" name="79889f3823a8615c1b08ecdaa465781c"></a><!-- doxytag: member="TelEngine::ISDNFrame::responseBit" ref="79889f3823a8615c1b08ecdaa465781c" args="(bool network)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static bool responseBit </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>network</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the response bit value for a given side of a data link <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>network</em> </td><td>True for the network side, false for the user side of a data link </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The appropriate response bit value </dd></dl> </div> </div><p> <a class="anchor" name="df7d32712d59039b8bb0197fd3213741"></a><!-- doxytag: member="TelEngine::ISDNFrame::sapi" ref="df7d32712d59039b8bb0197fd3213741" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int8_t sapi </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the SAPI of this frame <dl class="return" compact><dt><b>Returns:</b></dt><dd>The SAPI of this frame </dd></dl> </div> </div><p> <a class="anchor" name="0ccb7c8dd2c524879645eec33ebde71d"></a><!-- doxytag: member="TelEngine::ISDNFrame::sent" ref="0ccb7c8dd2c524879645eec33ebde71d" args="(bool value)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void sent </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>value</em> </td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set transmitted flag </div> </div><p> <a class="anchor" name="963bc899b3d864e8eda6e6cf7d5af34d"></a><!-- doxytag: member="TelEngine::ISDNFrame::sent" ref="963bc899b3d864e8eda6e6cf7d5af34d" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool sent </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check if the frame was sent <dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the frame was sent </dd></dl> </div> </div><p> <a class="anchor" name="096c806d6454ac81799d96095b50cd7b"></a><!-- doxytag: member="TelEngine::ISDNFrame::tei" ref="096c806d6454ac81799d96095b50cd7b" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">u_int8_t tei </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the TEI of this frame <dl class="return" compact><dt><b>Returns:</b></dt><dd>The TEI of this frame </dd></dl> </div> </div><p> <a class="anchor" name="622d1c0205621335911a3f99c3f5f692"></a><!-- doxytag: member="TelEngine::ISDNFrame::toString" ref="622d1c0205621335911a3f99c3f5f692" args="(String &dest, bool extendedDebug) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void toString </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> & </td> <td class="paramname"> <em>dest</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>extendedDebug</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p> Write this frame to a string for debug purposes <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>dest</em> </td><td>The destination string </td></tr> <tr><td valign="top"></td><td valign="top"><em>extendedDebug</em> </td><td>True to dump message header and data </td></tr> </table> </dl> </div> </div><p> <a class="anchor" name="fbd0fa31db28593e9669c3c56711c0a7"></a><!-- doxytag: member="TelEngine::ISDNFrame::type" ref="fbd0fa31db28593e9669c3c56711c0a7" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> type </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the type of this frame <dl class="return" compact><dt><b>Returns:</b></dt><dd>The type of this frame as enumeration </dd></dl> </div> </div><p> <a class="anchor" name="7466e69571e93dfc064b675770170c98"></a><!-- doxytag: member="TelEngine::ISDNFrame::typeName" ref="7466e69571e93dfc064b675770170c98" args="(Type type)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static const char* typeName </td> <td>(</td> <td class="paramtype"><a class="el" href="classTelEngine_1_1ISDNFrame.html#1d1cfd8ffb84e947f82999c682b666a7">Type</a> </td> <td class="paramname"> <em>type</em> </td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the text associated with the given frame type <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>Frame type to get the text for </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The text associated with the given frame type </dd></dl> <p>References <a class="el" href="namespaceTelEngine.html#4668c9172c6ae5f59f5782ecc6e05516">TelEngine::lookup()</a>.</p> </div> </div><p> <a class="anchor" name="b647fbba9204ef9f6db14ff6aee7e6a6"></a><!-- doxytag: member="TelEngine::ISDNFrame::update" ref="b647fbba9204ef9f6db14ff6aee7e6a6" args="(u_int8_t *ns=0, u_int8_t *nr=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void update </td> <td>(</td> <td class="paramtype">u_int8_t * </td> <td class="paramname"> <em>ns</em> = <code>0</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">u_int8_t * </td> <td class="paramname"> <em>nr</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> Update sequence numbers for I frames <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>ns</em> </td><td>Optional update send sequence number </td></tr> <tr><td valign="top"></td><td valign="top"><em>nr</em> </td><td>Optional update receive sequence number </td></tr> </table> </dl> </div> </div><p> <hr><h2>Member Data Documentation</h2> <a class="anchor" name="0634bb49208c45edcb84494c85b5479d"></a><!-- doxytag: member="TelEngine::ISDNFrame::s_types" ref="0634bb49208c45edcb84494c85b5479d" args="[]" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> <a class="el" href="classTelEngine_1_1ISDNFrame.html#0634bb49208c45edcb84494c85b5479d">s_types</a>[]<code> [static]</code> </td> </tr> </table> </div> <div class="memdoc"> <p> Keep the association between frame types and texts </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="yatesig_8h-source.html">yatesig.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 <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>