<?xml version="1.0"?>
<doc xmlns:tcx="http://www.3cx.com">
  <header>
    <type>gateway-template</type>
    <version>@PRODUCT_SVN_BUILD@</version>
    <time>2011-02-15 09:30:00</time>
    <name>Sangoma A200 4-port FXO 4-port FXS PCI Card</name>
    <url>http://www.sangoma.com</url>
    <image>sangoma.png</image>
    <description>A200 4-Port FXO 4-Port FXS</description>
  </header>
  <data>
    <device>
      <type>gateway</type>

	    <!-- Friendly Name -->
      <field name="Name">Sangoma A200 4-Port FXO 4-Port FXS</field>
	  
	    <!-- Hostnames and Port Numbers -->
      <field name="RegistrarHost"></field>
      <field name="RegistrarPort" status="readonly">5066</field>
      <field name="NumberOfLines" status="readonly">4</field>
      <field name="TypeOfLines" status="readonly">Analog</field>
      <field name="NumberOfExtensions" status="readonly">4</field>

	    <!-- Registration Settings -->
      <field name="RequireAuthFor" status="readonly">8</field>
      <field name="UseContactField" status="readonly">0</field>
	  
	    <!-- Gateway Capabilities -->
      <field name="IsSupportReinvite" status="readonly">1</field>
      <field name="IsSupportReplaces" status="readonly">0</field>
	 
	    <!-- Location of Destination Number -->
      <field name="DestNumberIn_TO" status="readonly">1</field>  
      <field name="DestNumberIn_REQLINEURI" status="readonly">1</field> 
      <field name="DestNumberIn_RPID_CALLED" status="readonly">0</field>
	 
	    <!-- Other Options -->
      <field name="IsInternal" status="readonly">1</field> 
      <field name="IsBindToMS" status="readonly">0</field> 
      <field name="UseIPInContactSrc" status="readonly">0</field>
      <field name="UseIPInContactSrcValue" status="readonly"></field>
      <field name="CallerIDIn" status="readonly">1</field> 
      <field name="CalledNumberIn" status="readonly">2</field>
     
      <!--Source Identification - Use Default PBX Internal Source Identification-->
      <!--<field status="readonly" name="MatchStrategy">1</field>-->
      <!--<field status="readonly" name="Source" parameter="" custom=""></field>-->
      <!--<field status="readonly" name="Source" parameter="" custom=""></field>-->
      <!--<field status="readonly" name="Source" parameter="" custom=""></field>-->
      
      <!-- Gateway / Provider Inbound Parameters -->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RequestLineURIUser"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RequestLineURIHost"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="ContactUser"></field>-->
      <field status="readonly" name="ParameterIn" custom="" parameter="ContactHost">$DevHostPort</field>
      <field status="readonly" name="ParameterIn" custom="" parameter="ToDisplayName">$CalledName</field>
      <field status="readonly" name="ParameterIn" custom="" parameter="ToUserPart">$CalledNum</field>
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="ToHostPart"></field>-->
      <field status="readonly" name="ParameterIn" custom="" parameter="FromDisplayName">$CallerName</field>
      <field status="readonly" name="ParameterIn" custom="" parameter="FromUserPart">$CallerNum</field>
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="FromHostPart"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="UserAgentTextString"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyDisplayName"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyUserPart"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCalledPartyHostPart"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyDisplayName"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyUserPart"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="RemotePartyIDCallingPartyHostPart"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="ProxyAuthID"></field>-->
      <!--<field status="readonly" name="ParameterIn" custom="" parameter="ProxyAuthRealm"></field>-->

      <!-- Gateway / Provider Outbound Parameters -->
      <field status="readonly" name="ParameterOut" custom="" parameter="RequestLineURIUser">$CalledNum</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="RequestLineURIHost">$DevHostPort</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="ContactUser">$CallerNum</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="ContactHost">$ContactURI</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="ToDisplayName">$CalledName</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="ToUserPart">$CalledNum</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="ToHostPart">$DevHostPort</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="FromDisplayName">$CallerName</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="FromUserPart">$OutboundCallerId</field>
      <field status="readonly" name="ParameterOut" custom="" parameter="FromHostPart">$DevHostPort</field>
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="UserAgentTextString"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyDisplayName"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyUserPart"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCalledPartyHostPart"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyDisplayName"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyUserPart"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyHostPart"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="ProxyAuthID"></field>-->
      <!--<field status="readonly" name="ParameterOut" custom="" parameter="ProxyAuthRealm"></field>-->

      <deviceconfig filename="Sangoma_A200_4FXO_4FXS_cfg.xml">
<![CDATA[<?xml version="1.0" encoding="utf-8"?>
<pbxConfiguration version="1.0" applicationName="Netborder Express Gateway" applicationVersion="4.1.2" oemName="3CX" oemVersion="9.0">

  <!-- gw.properties -->
  <job inputFilena_me="gw.properties" outputFilena_me="gw.properties" group="gw" converter="NullConverter">
    <data>
      <configuration>
        <netborder>
          <Installation>
            <Bin>
              <Directory value="XXX_INSTDIR_XXX/bin" defined="true"/>
            </Bin>
            <Directory value="XXX_INSTDIR_XXX" defined="true"/>
            <Lib>
              <Directory value="XXX_INSTDIR_XXX/bin" defined="true"/>
            </Lib>
          </Installation>
          <LicenseFile value="XXX_INSTDIR_XXX/config/netborder-express-gateway-license.txt" defined="true"/>
          <callData>
            <db>
              <debugSql value="false" defined="true"/>
              <url value="UNDEF" defined="false"/>
            </db>
          </callData>
          <configTimeoutSec value="60" defined="true"/>
          <curl>
            <followRedirect value="true" defined="true"/>
            <maxFileDescriptorActive value="64" defined="true"/>
            <maxPollingTimeMs value="100" defined="true"/>
            <maxRedirect value="10" defined="true"/>
          </curl>
          <exitTimeoutSec value="30" defined="true"/>
          <gw>
            <CallEngine>
              <logMemAccountingStats value="false" defined="true"/>
            </CallEngine>
            <allLegConnectionTimeoutMs value="UNDEF" defined="false"/>
            <connectionTimeoutMs value="UNDEF" defined="false"/>
            <failoverMode value="stopFailoverOnAccept" defined="true"/>
            <initialPstnSetupTimeout value="45" defined="true"/>
            <maxRoutingRulesMatches value="1" defined="true"/>
            <performRoutingRuleQueryAtStartup value="true" defined="true"/>
            <recordCalls>
              <directory value="XXX_INSTDIR_XXX/logs/recordings" defined="true"/>
              <enabled value="false" defined="true"/>
            </recordCalls>
            <ringTimeoutMs value="UNDEF" defined="false"/>
            <routing>
              <cacheCallRateThreshold value="0.2" defined="true"/>
              <cacheFlushTimeoutSec value="10" defined="true"/>
              <cacheTrafficEvaluationPeriodSec value="UNDEF" defined="false"/>
            </routing>
            <routingRulesUrl value="http://127.0.0.1:7782/config/routing-rules.xml" defined="true"/>
            <snmp>
              <callStatsRefreshTimeoutMs value="5000" defined="true"/>
            </snmp>
            <staticRoutingEngine>
              <RulesFile value="./routing-rules.xml" defined="true"/>
            </staticRoutingEngine>
            <useStaticRoutingEngine value="false" defined="true"/>
            <ws>
              <blockingTimeMs value="1000" defined="true"/>
            </ws>
          </gw>
          <infra>
            <CallLogger>
              <dateTimeDirectory value="false" defined="true"/>
              <log1CallOutOf value="1" defined="true"/>
              <outputFilePrefix value="UNDEF" defined="false"/>
              <outputFileSuffix value=".log" defined="true"/>
            </CallLogger>
            <Logger>
              <PropertiesFile>
                <development value="XXX_INSTDIR_XXX/config/dev-logger.properties" defined="true"/>
                <production value="XXX_INSTDIR_XXX/config/prod-logger.properties" defined="true"/>
              </PropertiesFile>
            </Logger>
            <abortOnAssert value="UNDEF" defined="false"/>
            <coreDump>
              <writeOnCrash value="true" defined="true">
                <path value="XXX_INSTDIR_XXX/logs/netborder.dmp" defined="true"/>
              </writeOnCrash>
            </coreDump>
          </infra>
          <killTimeoutSec value="15" defined="true"/>
          <license>
            <ExpirationDate value="UNDEF" defined="false"/>
            <MaxCallDurationInSecond value="UNDEF" defined="false"/>
            <MaxNumChannels value="UNDEF" defined="false"/>
            <adapterMAC value="UNDEF" defined="false"/>
            <multiLegRoutingRule value="UNDEF" defined="false"/>
            <productMajorVersion value="UNDEF" defined="false"/>
            <productMinorVersion value="UNDEF" defined="false"/>
            <productName value="UNDEF" defined="false"/>
            <runningOnHpEsp value="UNDEF" defined="false"/>
          </license>
          <linuxProcessMaxFd value="1024" defined="true"/>
          <linuxProcessPriority value="0" defined="true"/>
          <math>
            <xpr>
              <scriptLoader>
                <scriptsDir value="UNDEF" defined="false"/>
              </scriptLoader>
            </xpr>
          </math>
          <media>
            <CallSM>
              <txDontWaitForPeer value="false" defined="true"/>
            </CallSM>
            <CngSessionManager>
              <internalBufferSizeMs value="2000" defined="true"/>
            </CngSessionManager>
            <EndpointSM>
              <stopTimeoutSec value="300" defined="true"/>
            </EndpointSM>
            <audioFormat value="UNDEF" defined="false"/>
            <audioToneDirectory value="XXX_INSTDIR_XXX/data/tone-waves" defined="true"/>
            <cng>
              <maxNoiseLevelIndBoV value="-30" defined="true"/>
            </cng>
            <rtp>
              <IPAddress value="UNDEF" defined="false"/>
              <comfortNoise>
                <defaultNoiseLevelIndBoV value="-80" defined="true"/>
                <defaultPayloadType value="13" defined="true"/>
                <supported value="true" defined="true"/>
              </comfortNoise>
              <disableRtcp value="false" defined="true"/>
              <enableToneRegeneration value="true" defined="true"/>
              <ignoreMarkerBitInRfc2833Event value="true" defined="true"/>
              <initialDelayMs value="0" defined="true"/>
              <jitterBufferType value="adaptive" defined="true"/>
              <lockOnSDP value="false" defined="true"/>
              <m_uiAdjustementPeriodS value="1" defined="true"/>
              <maxDelayMs value="260" defined="true"/>
              <maxRxPacketSizeMs value="60" defined="true"/>
              <minDelayMs value="0" defined="true"/>
              <packetLossConcealmentType value="g711-appendix1" defined="true"/>
              <packetSizeMs value="20" defined="true"/>
              <probationType value="discard" defined="true"/>
              <resetJitterBufferOnMarkedRtpPacket value="true" defined="true"/>
              <rfc2833DefaultPayloadType value="101" defined="true"/>
              <rfc2833MinimumDurationMs value="100" defined="true"/>
              <rfc2833Supported value="true" defined="true"/>
              <rtcpTransmissionIntervalMs value="5000" defined="true"/>
              <tos value="UNDEF" defined="false"/>
              <udpPortRange value="14000:54000" defined="true"/>
              <useHalfRTCPIntervalAtStartup value="true" defined="true"/>
            </rtp>
            <rxStartTimeoutMs value="60000" defined="true"/>
            <srtp>
              <cryptoNegociationRequiresTls value="true" defined="true"/>
              <cryptoSuite value="AES_CM_128_HMAC_SHA1_80,AES_CM_128_HMAC_SHA1_32" defined="true"/>
              <maxLifeTime value="31" defined="true"/>
              <mode value="as-needed" defined="true"/>
              <replayWindowSize value="64" defined="true"/>
            </srtp>
            <t38>
              <disableV17 value="false" defined="true"/>
              <enabledSpanDspLogging value="false" defined="true"/>
              <faxFillBitRemoval value="false" defined="true"/>
              <faxRateManagement value="transferredTCF" defined="true"/>
              <faxRelayRedundancyDepth value="0" defined="true"/>
              <faxTranscodingMMR value="false" defined="true"/>
              <faxUdpECList value="t38UDPRedundancy" defined="true"/>
              <faxVersion value="0" defined="true"/>
              <startReInviteProcedure value="on-any-fax-tone" defined="true"/>
              <supported value="true" defined="true"/>
              <transportMode value="udptl" defined="true"/>
              <useEcm value="true" defined="true"/>
            </t38>
            <toneDB>
              <dir value="XXX_INSTDIR_XXX/config/tone-def" defined="true"/>
              <schemaFile value="tone-set.rng" defined="true"/>
            </toneDB>
            <tonePackage>
              <file value="XXX_INSTDIR_XXX/config/tone-package.dat" defined="true"/>
            </tonePackage>
            <vad value="true" defined="true">
              <CNPacketsIntervalMs value="0" defined="true"/>
              <alphaFilterValue value="0.988" defined="true"/>
              <minimumEnergyInitialValueLevelIndBoV value="-127" defined="true"/>
              <package>
                <directory value="UNDEF" defined="false"/>
                <filena_me value="XXX_INSTDIR_XXX/config/vad-package.dat" defined="true"/>
              </package>
              <sensitivity value="0" defined="true"/>
              <silence>
                <eneryVariationTreshhold value="0" defined="true"/>
              </silence>
              <silenceDecisionDebounceMs value="500" defined="true"/>
            </vad>
          </media>
          <mem>
            <leak>
              <detecting>
                <aggregateDuplicates value="true" defined="true"/>
                <maxFrames value="UNDEF" defined="false"/>
                <showUselessFrames value="false" defined="true"/>
              </detecting>
            </leak>
          </mem>
          <net>
            <HostNameServer>
              <DNSServerIPAddrList value="UNDEF" defined="false"/>
              <cacheFailures value="true" defined="true"/>
              <cacheFlushTimeoutMs value="10000" defined="true"/>
              <cacheSuccess value="true" defined="true"/>
              <numThread value="3" defined="true"/>
            </HostNameServer>
            <primaryIPAddress value="%%gateway_ip%%" defined="true"/>
          </net>
          <oam>
            <app>
              <pythonRunnableClassName value="paraxip.gateway.GWRunnable.GWRunnable" defined="true"/>
            </app>
            <webServiceIpAddress value="UNDEF" defined="false"/>
            <webServicePort value="18086" defined="true"/>
          </oam>
          <pstn>
            <acceptTimeoutMs value="UNDEF" defined="false"/>
            <config>
              <file value="XXX_INSTDIR_XXX/config/pstn-config.xml" defined="true"/>
              <schemaFile value="XXX_INSTDIR_XXX/config/pstn-config.rng" defined="true"/>
            </config>
            <faxToneDetectionTimeoutMs value="8000" defined="true"/>
            <initialChannelState value="in-service" defined="true"/>
            <isdn>
              <maintenance>
                <serviceMessages>
                  <supported value="false" defined="true"/>
                </serviceMessages>
              </maintenance>
            </isdn>
            <mediaLibName value="netborder-SangomaMediaEngine" defined="true"/>
            <netIfLibName value="netborder-telesoft-netif" defined="true"/>
            <resourcesFile value="UNDEF" defined="false"/>
          </pstn>
          <python>
            <sys>
              <path value="XXX_INSTDIR_XXX/data/Python-2.5/Lib,XXX_INSTDIR_XXX/bin" defined="true"/>
            </sys>
            <useChecker value="false" defined="true"/>
          </python>
          <rtp>
            <encodingList value="ulaw,alaw" defined="true"/>
          </rtp>
          <run>
            <mode value="production" defined="true"/>
          </run>
          <sangoma>
            <fxotune>
              <appPath value="XXX_INSTDIR_XXX/bin/netborder-fxo-tune" defined="true"/>
              <configPath value="XXX_INSTDIR_XXX/config/fxo.conf" defined="true"/>
            </fxotune>
          </sangoma>
          <sip>
            <HostNameResolutionTimeoutMs value="250" defined="true"/>
            <MaxRetransmissionCountINV value="UNDEF" defined="false"/>
            <MaxRetransmissionCountNONINV value="UNDEF" defined="false"/>
            <TimerC value="UNDEF" defined="false"/>
            <TimerT1 value="UNDEF" defined="false"/>
            <TimerT2 value="UNDEF" defined="false"/>
            <clientRegistration>
              <configFile value="XXX_INSTDIR_XXX/config/sip-client-registration.xml" defined="true"/>
            </clientRegistration>
            <contactHostName value="UNDEF" defined="false"/>
            <contactHostNameMode value="automatic-dotted-ip" defined="true"/>
            <digestCredentials value="3CXPhoneSystem:%%line_auth_id_0%%/%%line_auth_pw_0%%;%%line_auth_id_1%%/%%line_auth_pw_1%%;%%line_auth_id_2%%/%%line_auth_pw_2%%;%%line_auth_id_3%%/%%line_auth_pw_3%%;%%ext_auth_id_01%%/%%ext_auth_pw_01%%;%%ext_auth_id_02%%/%%ext_auth_pw_02%%;%%ext_auth_id_03%%/%%ext_auth_pw_03%%;%%ext_auth_id_04%%/%%ext_auth_pw_04%%" defined="true"/>
            <digestMatchUser value="true" defined="true"/>
            <ignoreMaxForwards value="false" defined="true"/>
            <in>
              <doNotSend180After183 value="false" defined="true"/>
              <doNotSendSDPIn180IfAlertingWithoutPIFollowsProgressWithPI value="false" defined="true"/>
              <override1XXWithSDP value="0" defined="true"/>
              <send183wSDPBeforeMediaAvailable value="false" defined="true"/>
            </in>
            <includeRportParameterInViaHeader value="true" defined="true"/>
            <interpretSupported100RelAsRequire value="false" defined="true"/>
            <lifetimeTimer value="UNDEF" defined="false"/>
            <localOutboundProxyURI value="UNDEF" defined="false"/>
            <mediaLibName value="netborder-JRtpMediaEngine" defined="true"/>
            <out>
              <accept180After183 value="true" defined="true"/>
              <acceptEarlyMedia value="true" defined="true"/>
            </out>
            <putUserAgentNameInContact value="true" defined="true"/>
            <reliableProvisionalResponse value="as-needed" defined="true"/>
            <state>
              <Disconnecting>
                <timeoutMs value="180000" defined="true"/>
              </Disconnecting>
            </state>
            <tcpTls>
              <asynchronousIO>
                <enable value="true" defined="true"/>
                <numberOfTasks value="10" defined="true"/>
              </asynchronousIO>
            </tcpTls>
            <tls>
              <cypherSuites value="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA" defined="true"/>
              <revokedCertificatesStore value="UNDEF" defined="false"/>
              <serverCertificateFile value="XXX_INSTDIR_XXX/config/certs/certnew.cer" defined="true"/>
              <serverCertificatePrivateKeyFile value="XXX_INSTDIR_XXX/config/certs/new-private-key-protected.pem" defined="true"/>
              <supportSSLv2ClientHello value="false" defined="true"/>
              <trustedRootCertificatesStore value="XXX_INSTDIR_XXX/config/certs/newTrustedRootCertificatesStore.pem" defined="true"/>
            </tls>
            <transport>
              <TcpTlsConnectionMaxIdleTimeoutMs value="180000" defined="true"/>
              <delayMsBeforeAllowingConnectAfterFailure value="15000" defined="true"/>
            </transport>
            <userAgent>
              <IPAddress value="INADDR_ANY:5066/udp,INADDR_ANY:5066/tcp" defined="true"/>
              <version value="4.1.2" defined="true"/>
            </userAgent>
            <userAgentIPAddress value="UNDEF" defined="false"/>
            <userAgentName value="Netborder Express Gateway" defined="true"/>
            <userAgentPort value="UNDEF" defined="false"/>
          </sip>
          <sipIsdnMessageMapping>
            <config>
              <file value="XXX_INSTDIR_XXX/config/sip-response-isdn-cause-mapping-rfc3398.xml" defined="true"/>
              <schemaFile value="XXX_INSTDIR_XXX/config/sip-response-isdn-cause-mapping.rng" defined="true"/>
            </config>
          </sipIsdnMessageMapping>
          <snmp>
            <agentName value="paraxip-subagent" defined="true"/>
            <agentx>
              <IPAddress value="tcp:localhost:705" defined="true"/>
              <requestTimeoutSec value="15" defined="true"/>
            </agentx>
            <enable value="false" defined="true"/>
            <mibs>
              <supported>
                <list value="ds0,ds1,sangomaIf,gwCallStats" defined="true"/>
              </supported>
            </mibs>
            <netsnmp>
              <debugToken>
                <list value="agentx/master" defined="true"/>
              </debugToken>
            </netsnmp>
          </snmp>
          <startTimeoutSec value="30" defined="true"/>
          <startup>
            <loadDynLibList value="netborder-sip-netif,netborder-telesoft-netif" defined="true"/>
          </startup>
          <system>
            <cpu>
              <monitor>
                <averageWindowSize value="15" defined="true"/>
                <monitoringPeriodInMs value="500" defined="true"/>
                <resetAlarmThreshold value="80" defined="true"/>
                <setAlarmThreshold value="90" defined="true"/>
              </monitor>
            </cpu>
          </system>
          <thread>
            <AsyncIO>
              <numThread value="1" defined="true"/>
            </AsyncIO>
            <TPReactorTask>
              <numThread value="1" defined="true"/>
            </TPReactorTask>
            <timeSource value="HighResParaxipTimeSource" defined="true">
              <ParaxipTimeSource>
                <force>
                  <interval value="20000" defined="true"/>
                </force>
                <max>
                  <precision value="2" defined="true"/>
                </max>
              </ParaxipTimeSource>
            </timeSource>
          </thread>
          <traceShutdown value="false" defined="true"/>
          <voip>
            <SlaveVoipTestSim>
              <inactivityTimeout value="UNDEF" defined="false"/>
            </SlaveVoipTestSim>
            <netIfLibName value="netborder-sip-netif" defined="true"/>
            <sip>
              <options>
                <stopMonitoringTimeOutMs value="3600000" defined="true"/>
                <timeoutMs value="120000" defined="true"/>
              </options>
            </sip>
          </voip>
          <webserver>
            <configFile value="XXX_INSTDIR_XXX/bin/shttpd.conf" defined="true"/>
          </webserver>
          <win32ProcessPriority value="REALTIME" defined="true"/>
        </netborder>
      </configuration>
    </data>
  </job>


  <!-- sip-client-registration -->
  <job inputFilena_me="sip-client-registration.xml" outputFilena_me="sip-client-registration.xml" group="cfg" converter="NullConverter">
    <data>
      <client_registration_config>

        <!-- Registration entry #1 -->
        <registration_entry>
          <address_of_record_uri>sip:%%line_auth_id_0%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_0%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
        </registration_entry>

        <!-- Registration entry #2 -->
        <registration_entry>
          <address_of_record_uri>sip:%%line_auth_id_1%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_1%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
        </registration_entry>

        <!-- Registration entry #3 -->
        <registration_entry>
          <address_of_record_uri>sip:%%line_auth_id_2%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_2%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
        </registration_entry>

        <!-- Registration entry #4 -->
        <registration_entry>
          <address_of_record_uri>sip:%%line_auth_id_3%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_3%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
        </registration_entry>

        <!-- Registration entry #5 -->
        <registration_entry>
          <address_of_record_uri>sip:%%ext_auth_id_01%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%ext_auth_id_01%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
	</registration_entry>

        <!-- Registration entry #6 -->
        <registration_entry>
          <address_of_record_uri>sip:%%ext_auth_id_02%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%ext_auth_id_02%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
	</registration_entry>

        <!-- Registration entry #7 -->
        <registration_entry>
          <address_of_record_uri>sip:%%ext_auth_id_03%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%ext_auth_id_03%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
	</registration_entry>

        <!-- Registration entry #8 -->
        <registration_entry>
          <address_of_record_uri>sip:%%ext_auth_id_04%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%ext_auth_id_04%%@%%gateway_ip%%:5066</uri> <!-- If you modified the defautl sip port (5066), apply the change here -->
            <transport>udp</transport>
          </contact>
	</registration_entry>

        <!-- Registrar -->
        <registrar>
          <uri>sip:%%pbx_ip%%</uri>
          <transport>udp</transport>
          <retry_interval_sec>300</retry_interval_sec>
        </registrar>

        <expiration_sec>3600</expiration_sec>

      </client_registration_config>
    </data>
  </job>  

  
  <job inputFilena_me="routing-rules.xml" outputFilena_me="routing-rules.xml" group="cfg" converter="NullConverter">
    <data>
      <routing_rules>
        <!-- SIP OUT TO %%pbx_ip%%:%%param::sipport%% -->
        <rule na_me="primary_sip_out" outbound_interface="sip" qvalue="0.001">
          <condition param="transfer" expr="false"/>
          <condition param="pstn.in.channelName" expr=".*"/>
          <condition param="pstn.in.dnis" expr="(.*)"/>
          <condition param="pstn.in.ani" expr="(.*)"/>
          <condition param="pstn.in.callerName" expr="(.*)"/> 
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="sip.out.requestUri" expr="sip:%0@%%pbx_ip%%:%%param::sipport%%"/>
            <param na_me="sip.out.from.displayName" expr="&quot;%2&quot;"/>
            <param na_me="sip.out.from.uri" expr="sip:%1@GW_HOST_IP:GW_SIP_PORT"/>
            <param na_me="sip.out.to.displayName" expr="&quot;%0&quot;"/>
            <param na_me="sip.out.to.uri" expr="sip:%0@%%pbx_ip%%:%%param::sipport%%"/>
            <param na_me="sip.out.contact.user" expr="%0"/>
            <param na_me="sip.out.transport" expr="udp"/>
          </out_leg>
        </rule>

	<!-- SIP OUT TO %%pbx_ip%%:%%param::sipport%% for inbound FXS analog call -->
        <rule na_me="primary_sip_out_analog_fxs_in" outbound_interface="sip" qvalue="0.01">
          <condition param="transfer" expr="false"/>
          <condition param="pstn.in.channelName" expr=".*"/>
          <condition param="pstn.in.dnis" expr="(.*)"/>
          <condition param="pstn.in.ani" expr="(%%ext_int_num_01%%|%%ext_int_num_02%%|%%ext_int_num_03%%|%%ext_int_num_04%%)"/>
          <condition param="pstn.in.callerName" expr="(.*)"/> 
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="sip.out.requestUri" expr="sip:%0@%%pbx_ip%%:%%param::sipport%%"/>
            <param na_me="sip.out.from.displayName" expr="&quot;%2&quot;"/>
            <param na_me="sip.out.from.uri" expr="sip:%1@GW_HOST_IP:GW_SIP_PORT"/>
            <param na_me="sip.out.to.displayName" expr="&quot;%0&quot;"/>
            <param na_me="sip.out.to.uri" expr="sip:%0@%%pbx_ip%%:%%param::sipport%%"/>
            <param na_me="sip.out.contact.user" expr="%1"/>
            <param na_me="sip.out.transport" expr="udp"/>
          </out_leg>
        </rule>


        <!-- PSTN OUT  with caller Name and caller id transmission. 
        The caller Name and caller-id will be transmitted only for isdn channels-->
        <rule na_me="default_pstn_out_with_caller_na_me" outbound_interface="pstn" qvalue="0.01">
          <condition param="transfer" expr="false"/>
          <condition param="sip.in.requestUri.canonical" expr="sip:([\+]?[-\*\#\d]+)@"/>
          <condition param="sip.in.from.displayName" expr="(.*)"/>
          <condition param="sip.in.from.uri.canonical" expr="sip:([\+]?[-\*\#\d]+)@"/>
          <condition param="sip.in.header.Contact" expr="sip:([\+]?[-\*\#\d]+)@"/>    
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="pstn.out.channelGroup" expr="%3"/>
            <param na_me="pstn.out.phoneNumber" expr="%0"/> 
            <param na_me="pstn.out.phoneNumber.type" expr="0"/> 
            <param na_me="pstn.out.phoneNumber.numberingPlan" expr="1"/> 
            <param na_me="pstn.out.callerName" expr="%1"/>
            <param na_me="pstn.out.ani" expr="%2"/>
            <param na_me="pstn.out.ani.type" expr="0"/> 
            <param na_me="pstn.out.ani.numberingPlan" expr="1"/>
          </out_leg>
        </rule>

        <!-- PSTN OUT -->
        <rule na_me="default_pstn_out" outbound_interface="pstn" qvalue="0.001">
          <condition param="transfer" expr="false"/>
          <condition param="sip.in.requestUri.canonical" expr="sip:([\+]?[-\*\#\d]+)@"/>
          <condition param="sip.in.from.uri.canonical" expr="sip:([\+]?[-\*\#\d]+)@"/>
          <condition param="sip.in.header.Contact" expr="sip:([\+]?[-\*\#\d]+)@"/>    
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="pstn.out.channelGroup" expr="%2"/>
            <param na_me="pstn.out.phoneNumber" expr="%0"/> 
            <param na_me="pstn.out.phoneNumber.type" expr="0"/> 
            <param na_me="pstn.out.phoneNumber.numberingPlan" expr="1"/> 
          </out_leg>
        </rule>

 	<!--
          Analog routing rules:
          Before the Quick Setup, this routing rule contains the token
          XX_FXS_PHONE_NUMBERS_XX that will be replaced at the end of the Quick
          Setup by the string xxx|yyy|zzz|... where xxx, yyy and zzz are the phone
          numbers of the Analog interfaces that were chosen by the user. When adding
          analog interfaces from the PSTN config tab or when the phone numbers of some
          interfaces are changed, the user will need to add/modify them directly in
          this routing rule.
        -->
        <rule na_me="default_analog_fxs_pstn_out" outbound_interface="pstn" qvalue="0.1">
          <condition param="transfer" expr="false"/>
	  <condition param="sip.in.requestUri.canonical" expr="sip:[\+]?(?:1)?(%%ext_int_num_01%%|%%ext_int_num_02%%|%%ext_int_num_03%%|%%ext_int_num_04%%)@"/>
          <out_leg na_me="" media_type="sendrecv">
            <!--The channel group associated to an analog line has for na_me the-->
            <!--phone number of that interface-->
            <param na_me="pstn.out.channelGroup" expr="%0"/>
            <param na_me="pstn.out.phoneNumber" expr="%0"/>
          </out_leg>
        </rule>

        <rule na_me="redirect_to_sip" outbound_interface="sip" qvalue="0.1">
          <condition param="sip.in.redirect.Contact" expr="(.*)"/>
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="sip.out.redirect.Contact" expr="%0"/>
          </out_leg>
        </rule>

        <!-- SIP to SIP transfer, results in a SIP bridged transfer on the gateway if
            transfer target is the gateway and no other transfer rule matches -->
        <rule na_me="sip_to_sip_transfer" outbound_interface="sip" qvalue="0.001">
          <condition param="transfer" expr="true"/>
          <condition param="sip.in.referTo" expr="(?U)(.*)(?:;|\?|$)"/>
          <condition param="sip.in.from.uri" expr="(.*)"/>
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="sip.out.requestUri" expr="%0;user=phone"/>
            <!-- echoing "from" fields of the REFER request -->
            <param na_me="sip.out.from.uri" expr="%1"/>
            <param na_me="sip.out.transport" expr="udp"/>
          </out_leg>
        </rule>

        <!-- Transfers -->
        <!-- REFER with Replaces parameter -->
        <rule na_me="refer_with_replaces" outbound_interface="sip" qvalue="1">
          <condition param="transfer" expr="true"/>
          <condition param="sip.in.referTo" expr="(.*)\?"/>
          <condition param="sip.in.referTo" expr="(?i)replaces=(?U)(.*)(?:;|$)"/>
          <condition param="sip.in.referTo" expr="(?i)to-tag=(?U)(.*)(?:;|$)"/>
          <condition param="sip.in.referTo" expr="(?i)from-tag=(?U)(.*)(?:;|$)"/>
          <condition param="sip.in.from.uri" expr="(.*)"/>
          <out_leg na_me="" media_type="sendrecv">
            <param na_me="sip.out.requestUri" expr="%0;user=phone"/>
            <param na_me="sip.out.header.Replaces" expr="%1;to-tag=%2;from-tag=%3"/>
            <param na_me="sip.out.from.uri" expr="%4"/>
            <param na_me="sip.out.transport" expr="udp"/>
          </out_leg>
        </rule>

      </routing_rules>
    </data>
  </job>

  <!-- pstn-config -->
  <job inputFilena_me="pstn-config.xml" outputFilena_me="pstn-config.xml" group="PSTN" converter="WanpipeSetter" xsltScript="setWanpipe.xsl">
    <data>
      <pstnConfig version="3.1">
        <providers>
          <sangoma>
            <BChannelsThreads count="4" priority="TIME_CRITICAL">
            </BChannelsThreads>
            <DChannelsThreads count="1" priority="NORMAL">
            </DChannelsThreads>
          </sangoma>
        </providers>
        <boards>
          <sangomaAnalogBoard displayName="B1 - A200_analog" model="A200" ID="1" wanpipe="999">
              <interface displayName="B1I1" phoneNumber="%%line_int_num_0%%" ID="1" type="FXO" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I2" phoneNumber="%%line_int_num_1%%" ID="2" type="FXO" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I3" phoneNumber="%%line_int_num_2%%" ID="3" type="FXO" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I4" phoneNumber="%%line_int_num_3%%" ID="4" type="FXO" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I5" callerName="%%ext_first_name_01%% %%ext_last_name_01%%" phoneNumber="%%ext_int_num_01%%" ID="5" type="FXS" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I6" callerName="%%ext_first_name_02%% %%ext_last_name_02%%" phoneNumber="%%ext_int_num_02%%" ID="6" type="FXS" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I7" callerName="%%ext_first_name_03%% %%ext_last_name_03%%" phoneNumber="%%ext_int_num_03%%" ID="7" type="FXS" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I8" callerName="%%ext_first_name_04%% %%ext_last_name_04%%" phoneNumber="%%ext_int_num_04%%" ID="8" type="FXS" wanpipeInterface="999">
              </interface>
          </sangomaAnalogBoard>
        </boards> 
        <physicalInterfaceConfigs>
            <sangomaAnalogConfig displayName="Analog-Config-1" ID="1">
              <analog fxsRxGainIndB="0.0" clocking="INTERNAL" fxoBatteryDebounceTimeInMs="64" variant="USA" fxoTxGainIndB="0.0" fxsTxGainIndB="0.0" fxoRxGainIndB="0.0" fxoBatteryThresholdInVolts="3">
              </analog>
              <audio voicePacketLengthInMs="20" toneSetName="USA" defaultPcmLaw="PCMU" optimalBchannelTxQueueLevel="3">
                <EchoCancellation doubleTalkBehavior="OPTIMAL" tailDisplacementInMs="0" type="HARDWARE" mode="NORMAL" comfortNoiseMode="NORMAL">
                </EchoCancellation>
                <AcousticEchoCancellation type="HARDWARE" mode="DISABLED">
                </AcousticEchoCancellation>
                <LevelControl direction="ALL" type="HARDWARE" mode="DISABLED">
                </LevelControl>
                <BackgroundNoiseAttenuation attenuationIndB="-18" direction="FROM_PSTN" type="HARDWARE" mode="DISABLED">
                </BackgroundNoiseAttenuation>
                <DTMFRemoval direction="FROM_PSTN" type="HARDWARE" mode="DISABLED">
                </DTMFRemoval>
              </audio>
              <applyTo>
                <interfaceRef boardID="1">
                </interfaceRef>
              </applyTo>
            </sangomaAnalogConfig>
        </physicalInterfaceConfigs>
        <callControl>
          <channelGroups>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="default">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%line_int_num_0%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%line_int_num_1%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%line_int_num_2%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%line_int_num_3%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%ext_int_num_01%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%ext_int_num_02%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%ext_int_num_03%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%ext_int_num_04%%">
            </channelGroup>
          </channelGroups>
          <analog>
            <analogFxoConfig displayName="FXO-config" ID="1" minimumOnHookDurationMs="2000">
              <inboundCallHandling>
                <notifyOutboundSide delayInMs="0" condition="ON-CALLER-ID">
                </notifyOutboundSide>
                <connect condition="ON-OUTBOUNDSIDE-CONNECTED">
                </connect>
                <callerID type="BT-Bellcore-FSK-SDMF-MDMF">
                </callerID>
              </inboundCallHandling>
              <outboundCallHandling>
                <dial waitForDialTone="YES" DTMFDigitDurationInMs="200" InternationalDialingSpecialCharacter="+" InternationalDialingSpecialCharacterSubstitute="011" active="YES" interDigitDelayInMs="100" preDialDelayInMs="100">
                </dial>
                <connectSupervision>
                  <connectOutboundSide condition="AFTER-DIALING-DESTINATION-NUMBER">
                  </connectOutboundSide>
                  <connect delayInMs="0" condition="ON-OUTBOUNDSIDE-CONNECTED">
                  </connect>
                </connectSupervision>
              </outboundCallHandling>
              <disconnectSupervision>
                <disconnectDetectors>
                  <ringCadenceDetector active="YES" ringCadenceOffDelayMs="7000">
                  </ringCadenceDetector>
                  <detector na_me="dial" sequence="dial">
                  </detector>
                  <detector na_me="busy" sequence="busy">
                  </detector>
                  <detector na_me="reorder" sequence="reorder">
                  </detector>
                  <detector na_me="disconnect" sequence="disconnect">
                  </detector>
                  <detector na_me="batteryDisconnect" sequence="batteryDisconnect">
                  </detector>
                  <detector na_me="batteryPolarityInversion" sequence="batteryPolarityInversion">
                  </detector>
                </disconnectDetectors>
              </disconnectSupervision>
              <applyTo>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_0%%" interfaceID="1">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_1%%" interfaceID="2">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_2%%" interfaceID="3">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_3%%" interfaceID="4">
                </interfaceRef>
              </applyTo>
            </analogFxoConfig>
	    <analogFxsConfig regretTimeMs="500" oosBehavior="REORDER" displayName="FXS-config" ID="2">
              <inboundCallHandling dialToneDurationMs="10000" minExpectedDigits="4" interDigitTimeoutMs="4000" busyToneDurationMs="5000">
                <relayEarlyMedia value="ENABLED">
                </relayEarlyMedia>
              </inboundCallHandling>
              <hotlineDialing enable="NO">
              </hotlineDialing>
              <disconnectAnswerNotification mode="POLARITY-REVERSAL">
              </disconnectAnswerNotification>
              <applyTo>
                <interfaceRef boardID="1" channelGroupID="%%ext_int_num_01%%" interfaceID="5">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%ext_int_num_02%%" interfaceID="6">
                </interfaceRef>
		<interfaceRef boardID="1" channelGroupID="%%ext_int_num_03%%" interfaceID="7">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%ext_int_num_04%%" interfaceID="8">
                </interfaceRef>
              </applyTo>
            </analogFxsConfig>
          </analog>
        </callControl>
      </pstnConfig>
    </data>
  </job>
</pbxConfiguration>
]]>

      </deviceconfig>
    </device>
  </data>   
</doc>
