<?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 6-port FXO PCI Card</name>
    <url>http://www.sangoma.com</url>
    <image>sangoma.png</image>
    <description>A200 6-Port FXO</description>
  </header>
  <data>
    <device>
      <type>gateway</type>

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

	    <!-- Registration Settings -->
      <field name="RequireAuthFor" status="readonly">6</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_6FXO_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%%;%%line_auth_id_4%%/%%line_auth_pw_4%%;%%line_auth_id_5%%/%%line_auth_pw_5%%" 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:%%line_auth_id_4%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_4%%@%%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:%%line_auth_id_5%%@%%pbx_ip%%</address_of_record_uri>
          <contact> 
            <uri>sip:%%line_auth_id_5%%@%%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>


        <!-- 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>

        <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" phoneNumber="%%line_int_num_4%%" ID="5" type="FXO" wanpipeInterface="999">
              </interface>
              <interface displayName="B1I6" phoneNumber="%%line_int_num_5%%" ID="6" type="FXO" 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="%%line_int_num_4%%">
            </channelGroup>
            <channelGroup outboundHuntingScheme="REVERSE_LINEAR" direction="BIDIR" ID="%%line_int_num_5%%">
            </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>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_4%%" interfaceID="5">
                </interfaceRef>
                <interfaceRef boardID="1" channelGroupID="%%line_int_num_5%%" interfaceID="6">
                </interfaceRef>
              </applyTo>
            </analogFxoConfig> 
          </analog>
        </callControl>
      </pstnConfig>
    </data>
  </job>
</pbxConfiguration>
]]>

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