Sophie

Sophie

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

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: SignallingUtils 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_1SignallingUtils.html">SignallingUtils</a>
  </div>
</div>
<div class="contents">
<h1>SignallingUtils Class Reference</h1><!-- doxytag: class="TelEngine::SignallingUtils" -->Library wide services and data provider.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="yatesig_8h-source.html">yatesig.h</a>&gt;</code>
<p>

<p>
<a href="classTelEngine_1_1SignallingUtils-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></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 <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#d69b6146f565eb21bc676a53254ba719">codings</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#d5c084ca43403ae08240ad8441ebc303">locations</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#477f055827aa343f8f12436612ad68f4">dict</a> (unsigned int index, unsigned char coding=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#1a88634c43e2d34041d52590272ec493">hasFlag</a> (const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const char *param, const char *flag)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#ff529371dcd1caebdec0e1440e0990e1">removeFlag</a> (<a class="el" href="classTelEngine_1_1String.html">String</a> &amp;flags, const char *flag)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#5707b98955540fdebc44f066af591436">addKeyword</a> (<a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const char *param, const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *tokens, unsigned int val)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#9f2bed5da177769198b6cfb69af234c9">dumpData</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const char *param, const unsigned char *buf, unsigned int len, char sep= ' ')</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#b6504641721495fc1ae3f58a25b4de86">dumpDataExt</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const char *param, const unsigned char *buf, unsigned int len, char sep= ' ')</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#ff0f178dbef6ff8dfd41dc3a95fdc1eb">decodeFlags</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const char *param, const <a class="el" href="structTelEngine_1_1SignallingFlags.html">SignallingFlags</a> *flags, const unsigned char *buf, unsigned int len)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#2ebffcae941ba162503d9c67259959b3">decodeCause</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const unsigned char *buf, unsigned int len, const char *prefix, bool isup)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#032d00b0b7a994c68aca27535cc768df">decodeCaps</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;list, const unsigned char *buf, unsigned int len, const char *prefix, bool isup)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#2724b7363497ee62fdc74a526a43ed02">encodeFlags</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, int &amp;dest, const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;flags, <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *dict)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#1a87bc5d054f2d05e029bde17ecd9591">encodeCause</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;buf, const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;params, const char *prefix, bool isup, bool fail=false)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#3b4e10b0a2e64ebcddb1d82e66b52fc5">encodeCaps</a> (const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *comp, <a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;buf, const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;params, const char *prefix, bool isup)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">static unsigned int *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classTelEngine_1_1SignallingUtils.html#bb7f15e357ba2d442c2cdac5c21a8fb8">parseUIntArray</a> (const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;source, unsigned int minVal, unsigned int maxVal, unsigned int &amp;count, bool discardDup)</td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Library wide services and data provider. 
<p>
Provides data and services for SS7 and ISDN <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="5707b98955540fdebc44f066af591436"></a><!-- doxytag: member="TelEngine::SignallingUtils::addKeyword" ref="5707b98955540fdebc44f066af591436" args="(NamedList &amp;list, const char *param, const TokenDict *tokens, unsigned int val)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void addKeyword           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *&nbsp;</td>
          <td class="paramname"> <em>tokens</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>val</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add string (keyword) if found in a dictionary or integer parameter to a named list <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>Destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>Parameter to add to the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>tokens</em>&nbsp;</td><td>The dictionary used to find the given value </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>val</em>&nbsp;</td><td>The value to find/add to the list </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="d69b6146f565eb21bc676a53254ba719"></a><!-- doxytag: member="TelEngine::SignallingUtils::codings" ref="d69b6146f565eb21bc676a53254ba719" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a>* codings           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retreive the dictionary keeping the coding standard flags of ISUP and ISDN parameters as defined in Q.850 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the coding standards dictionary </dd></dl>

</div>
</div><p>
<a class="anchor" name="032d00b0b7a994c68aca27535cc768df"></a><!-- doxytag: member="TelEngine::SignallingUtils::decodeCaps" ref="032d00b0b7a994c68aca27535cc768df" args="(const SignallingComponent *comp, NamedList &amp;list, const unsigned char *buf, unsigned int len, const char *prefix, bool isup)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool decodeCaps           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isup</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decode bearer capabilities as defined in Q.931 (Bearer Capabilities) and Q.763 (User Service Information) <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer containing the data to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Buffer's length </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix to add to the fields before adding to the destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isup</em>&nbsp;</td><td>True if the requestor is ISUP, false for ISDN requestor </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if successfully parsed </dd></dl>

</div>
</div><p>
<a class="anchor" name="2ebffcae941ba162503d9c67259959b3"></a><!-- doxytag: member="TelEngine::SignallingUtils::decodeCause" ref="2ebffcae941ba162503d9c67259959b3" args="(const SignallingComponent *comp, NamedList &amp;list, const unsigned char *buf, unsigned int len, const char *prefix, bool isup)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool decodeCause           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isup</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decode cause parameters as defined in Q.850 <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer containing the data to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Buffer's length </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix to add to the fields before adding to the destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isup</em>&nbsp;</td><td>True if the requestor is ISUP, false for ISDN requestor </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if successfully parsed </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff0f178dbef6ff8dfd41dc3a95fdc1eb"></a><!-- doxytag: member="TelEngine::SignallingUtils::decodeFlags" ref="ff0f178dbef6ff8dfd41dc3a95fdc1eb" args="(const SignallingComponent *comp, NamedList &amp;list, const char *param, const SignallingFlags *flags, const unsigned char *buf, unsigned int len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool decodeFlags           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structTelEngine_1_1SignallingFlags.html">SignallingFlags</a> *&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decode a received buffer to a comma separated list of flags and add it to a list of parameters <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter to add to the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flags description to use </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer containing the data to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Buffer's length </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>False if the flags description or the buffer is missing or the buffer's length exceeds the length of the 'unsigned int' data type </dd></dl>

</div>
</div><p>
<a class="anchor" name="477f055827aa343f8f12436612ad68f4"></a><!-- doxytag: member="TelEngine::SignallingUtils::dict" ref="477f055827aa343f8f12436612ad68f4" args="(unsigned int index, unsigned char coding=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a>* dict           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&nbsp;</td>
          <td class="paramname"> <em>coding</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retreive a dictionary given by index and coding standard for ISUP and ISDN parameters <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>index</em>&nbsp;</td><td>The desired disctionary: 0: The release causes of ISUP and ISDN calls as defined in Q.850. 1: The formats negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 2: The transfer capability negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 3: The transfer mode negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. 4: The transfer rate negotiated in ISDN and ISUP parameters as defined in Q.931/Q.763. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>coding</em>&nbsp;</td><td>Optional coding standard. Defaults to CCITT if 0 </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the requested dictionary or 0 </dd></dl>

</div>
</div><p>
<a class="anchor" name="9f2bed5da177769198b6cfb69af234c9"></a><!-- doxytag: member="TelEngine::SignallingUtils::dumpData" ref="9f2bed5da177769198b6cfb69af234c9" args="(const SignallingComponent *comp, NamedList &amp;list, const char *param, const unsigned char *buf, unsigned int len, char sep= ' ')" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void dumpData           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>sep</em> = <code>'&nbsp;'</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dump a buffer to a list of parameters <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>Parameter to add to the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer containing the data to dump </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Buffer's length </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sep</em>&nbsp;</td><td>The separator between elements </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="b6504641721495fc1ae3f58a25b4de86"></a><!-- doxytag: member="TelEngine::SignallingUtils::dumpDataExt" ref="b6504641721495fc1ae3f58a25b4de86" args="(const SignallingComponent *comp, NamedList &amp;list, const char *param, const unsigned char *buf, unsigned int len, char sep= ' ')" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static unsigned int dumpDataExt           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const unsigned char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&nbsp;</td>
          <td class="paramname"> <em>sep</em> = <code>'&nbsp;'</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Dump data from a buffer to a list of parameters. The buffer is parsed until (and including) the first byte with the extension bit (the most significant one) set <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The destination list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>Parameter to add to the list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The buffer containing the data to dump </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</td><td>Buffer's length </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>sep</em>&nbsp;</td><td>The separator between elements </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes processed. 0 if the end of the buffer was reached without finding a byte with the extension bit set </dd></dl>

</div>
</div><p>
<a class="anchor" name="3b4e10b0a2e64ebcddb1d82e66b52fc5"></a><!-- doxytag: member="TelEngine::SignallingUtils::encodeCaps" ref="3b4e10b0a2e64ebcddb1d82e66b52fc5" args="(const SignallingComponent *comp, DataBlock &amp;buf, const NamedList &amp;params, const char *prefix, bool isup)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool encodeCaps           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isup</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Encode bearer capabilities as defined in Q.931 (Bearer Capabilities) and Q.763 (User Service Information) <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The destination buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>The list with the parameters </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix of the fields obtained from parameter list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isup</em>&nbsp;</td><td>True if the requestor is ISUP, false for ISDN requestor </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True </dd></dl>

</div>
</div><p>
<a class="anchor" name="1a87bc5d054f2d05e029bde17ecd9591"></a><!-- doxytag: member="TelEngine::SignallingUtils::encodeCause" ref="1a87bc5d054f2d05e029bde17ecd9591" args="(const SignallingComponent *comp, DataBlock &amp;buf, const NamedList &amp;params, const char *prefix, bool isup, bool fail=false)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool encodeCause           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1DataBlock.html">DataBlock</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>params</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>prefix</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>isup</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>fail</em> = <code>false</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Encode cause parameters as defined in Q.850. Create with normal clearing value if parameter is missing. Don't encode diagnostic if total length exceeds 32 bytes for Q.931 requestor <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>The destination buffer </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>params</em>&nbsp;</td><td>The list with the parameters </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>prefix</em>&nbsp;</td><td>The prefix of the fields obtained from parameter list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>isup</em>&nbsp;</td><td>True if the requestor is ISUP, false for ISDN requestor </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fail</em>&nbsp;</td><td>Fail if the buffer is too long. Ignored if isup is true </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>False if the requestor is Q.931, fail is true and the length exceeds 32 bytes </dd></dl>

</div>
</div><p>
<a class="anchor" name="2724b7363497ee62fdc74a526a43ed02"></a><!-- doxytag: member="TelEngine::SignallingUtils::encodeFlags" ref="2724b7363497ee62fdc74a526a43ed02" args="(const SignallingComponent *comp, int &amp;dest, const String &amp;flags, TokenDict *dict)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static void encodeFlags           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1SignallingComponent.html">SignallingComponent</a> *&nbsp;</td>
          <td class="paramname"> <em>comp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>dest</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>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a> *&nbsp;</td>
          <td class="paramname"> <em>dict</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Encode a comma separated list of flags. Flags can be prefixed with the '-' character to be reset if previously set <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>comp</em>&nbsp;</td><td>Signalling component requesting the service. Used to print debug messages </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dest</em>&nbsp;</td><td>Destination flak mask </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The flag list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dict</em>&nbsp;</td><td>Dictionary used to retrive the flag names and values </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The OR'd value of found flags </dd></dl>

</div>
</div><p>
<a class="anchor" name="1a88634c43e2d34041d52590272ec493"></a><!-- doxytag: member="TelEngine::SignallingUtils::hasFlag" ref="1a88634c43e2d34041d52590272ec493" args="(const NamedList &amp;list, const char *param, const char *flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool hasFlag           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1NamedList.html">NamedList</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>list</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>param</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check if a list's parameter (comma separated list of flags) has a given flag <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>list</em>&nbsp;</td><td>The parameter list </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>param</em>&nbsp;</td><td>The parameter to check </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>The flag to check </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the given flag is found </dd></dl>

</div>
</div><p>
<a class="anchor" name="d5c084ca43403ae08240ad8441ebc303"></a><!-- doxytag: member="TelEngine::SignallingUtils::locations" ref="d5c084ca43403ae08240ad8441ebc303" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static const <a class="el" href="structTelEngine_1_1TokenDict.html">TokenDict</a>* locations           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Retreive the dictionary keeping the location flags of ISUP and ISDN parameters as defined in Q.850 <dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to the locations dictionary </dd></dl>

</div>
</div><p>
<a class="anchor" name="bb7f15e357ba2d442c2cdac5c21a8fb8"></a><!-- doxytag: member="TelEngine::SignallingUtils::parseUIntArray" ref="bb7f15e357ba2d442c2cdac5c21a8fb8" args="(const String &amp;source, unsigned int minVal, unsigned int maxVal, unsigned int &amp;count, bool discardDup)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static unsigned int* parseUIntArray           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>minVal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>maxVal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int &amp;&nbsp;</td>
          <td class="paramname"> <em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>discardDup</em></td><td>&nbsp;</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 list of unsigned integers or unsigned integer intervals. Source elements must be separated by a '.' or ',' character. Interval margins must be separated by a '-' character. Empty elements are ignored <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>source</em>&nbsp;</td><td>The string to parse </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>minVal</em>&nbsp;</td><td>The minimum value for each element in the array </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>maxVal</em>&nbsp;</td><td>The maximum value for each element in the array </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>On exit will contain the length of the returned array (0 on failure) </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>discardDup</em>&nbsp;</td><td>True to discard duplicate values </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>Pointer to an array of unsigned integers on success (the caller must delete it after use). 0 on failure (source is empty or has invalid format or an invalid value was found) </dd></dl>

</div>
</div><p>
<a class="anchor" name="ff529371dcd1caebdec0e1440e0990e1"></a><!-- doxytag: member="TelEngine::SignallingUtils::removeFlag" ref="ff529371dcd1caebdec0e1440e0990e1" args="(String &amp;flags, const char *flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static bool removeFlag           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classTelEngine_1_1String.html">String</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>flag</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove a flag from a comma separated list of flags <dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</td><td>The list of flags </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>The flag to remove </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>True if the given flag was found and removed </dd></dl>

</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&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>