<html>
<head>
    <base href="https://wiki.asterisk.org/wiki">
            <link rel="stylesheet" href="/wiki/s/en/2171/18/9/_/styles/combined.css?spaceKey=TOP&amp;forWysiwyg=true" type="text/css">
    </head>
<body style="background: white;" bgcolor="white" class="email-body">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><s>Configuration (Users)</s></h2>
     <h4>Page <b>removed</b> by             <a href="https://wiki.asterisk.org/wiki/display/~beagles">Brent Eagles</a>
    </h4>
     <br/>
     <div class="notificationGreySide">
         <p>Asterisk SCF components are configured using multiple means. Startup configuration related to the Ice runtime is specified on the command line when a component starts. Information regarding this type of configuration can be found <a href="/wiki/pages/createpage.action?spaceKey=TOP&amp;title=Example+Icebox+Config+Files&amp;linkCreation=true&amp;fromPageId=19007453" class="createlink">here</a>. In addition to the configuration provided at startup, some Asterisk SCF components can accept configuration over Ice while running in order to affect application behavior. A short example that illustrates how this works for SIP can be found <a href="/wiki/display/TOP/Hello+World+-+Asterisk+SCF+Style" title="Hello World - Asterisk SCF Style">here</a>.</p>

<p>For developer information about configuration, go <a href="/wiki/display/TOP/Component+Configuration" title="Component Configuration">here</a>.</p>

<h1><a name="Configuration%28Users%29-TheConfigurator"></a>The Configurator</h1>

<p>Asterisk SCF components that accept dynamic configuration have a configurator script included as a means of helping. The configurator is written in Python and parses an <a href="http://en.wikipedia.org/wiki/INI_file" class="external-link" rel="nofollow">INI-style file</a>. The Python script packages the information from the file into appropriate Ice data and then sends it to Asterisk SCF.</p>

<p>Each component that contains a configurator will contain its script in the <tt>config</tt> directory of its repository. It will have a name like <tt>MediaFormatGenericConfigurator.py</tt> or <tt>SipConfigurator.py</tt>.</p>

<h1><a name="Configuration%28Users%29-RunningtheConfigurator"></a>Running the Configurator</h1>

<p>Configurators rely on some environment variables to be set. First, you'll need to add a couple of items to your <tt>PYTHONPATH</tt>. You will need to add the path to Ice's python definitions (on Linux, this is /opt/Ice-3.4.2/python/ by default) and the path to the Asterisk SCF <tt>configurator</tt> repo. You will also need to set the <tt>ASTSCF_HOME</tt> environment variable. This is the path to the <tt>slice</tt> subdirectory of the Asterisk SCF <tt>slice</tt> repo. On Unix-like systems, this is done using the following command:</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>$ export PYTHONPATH=/opt/Ice-3.4.2/python:/home/asteriskscf/gitall/configurator
$ export ASTSCF_HOME=/home/asteriskscf/gitall/slice/slice
</pre>
</div></div>

<p>Now that you have the appropriate environment variables set up, you can actually run the configurator script. Below is an example for how you would run the SIP configurator script.</p>

<div class="preformatted panel" style="border-width: 1px;"><div class="preformattedContent panelContent">
<pre>$ cd /home/asteriskscf/gitall/sip/config
$ ./SipConfigurator.py --wipe --config=Sip.config --locator="LocatorService:tcp -p 4411"
</pre>
</div></div>

<h1><a name="Configuration%28Users%29-Sampleconfiguration"></a>Sample configuration</h1>

<p>For your convenience, here are links to the sample configuration files for all components that support dynamic configuration over Ice. The same content can be found in each of the component repositories in the <tt>config/</tt> directory.</p>

<h3><a name="Configuration%28Users%29-SIP"></a>SIP</h3>

<p><a href="https://code.asterisk.org/code/browse/astscf-sip-release/config/Sip.config?hb=true" class="external-link" rel="nofollow">https://code.asterisk.org/code/browse/astscf-sip-release/config/Sip.config?hb=true</a></p>

<h3><a name="Configuration%28Users%29-MediaRTPPJMEDIA"></a>MediaRTPPJMEDIA</h3>

<p><a href="https://code.asterisk.org/code/browse/astscf-media_rtp_pjmedia-release/config/Rtp.config?hb=true" class="external-link" rel="nofollow">https://code.asterisk.org/code/browse/astscf-media_rtp_pjmedia-release/config/Rtp.config?hb=true</a></p>

<h3><a name="Configuration%28Users%29-MediaFormatGeneric"></a>MediaFormatGeneric</h3>

<p><a href="https://code.asterisk.org/code/browse/astscf-mediaformatgeneric-integration/config/MediaFormatGeneric.config?hb=true" class="external-link" rel="nofollow">https://code.asterisk.org/code/browse/astscf-mediaformatgeneric-integration/config/MediaFormatGeneric.config?hb=true</a></p>

<h3><a name="Configuration%28Users%29-Logger"></a>Logger</h3>

<p><a href="https://code.asterisk.org/code/browse/astscf-logger-release/server/config/Logger.config?hb=true" class="external-link" rel="nofollow">https://code.asterisk.org/code/browse/astscf-logger-release/server/config/Logger.config?hb=true</a></p>

<h3><a name="Configuration%28Users%29-MediaTransportUDPTL"></a>MediaTransportUDPTL</h3>

<p><a href="https://code.asterisk.org/code/browse/astscf-media_transport_udptl-integration/config/Udptl.config?hb=true" class="external-link" rel="nofollow">https://code.asterisk.org/code/browse/astscf-media_transport_udptl-integration/config/Udptl.config?hb=true</a></p>
     </div>
</div>
</div>
</div>
</div>
</body>
</html>