<?xml version="1.0" encoding="utf-8"?>
<doc xmlns:tcx="http://www.3cx.com">
  <header>
    <type>gateway-template</type>
    <version>150008</version>
    <time>2026-06-17 00:02:03</time>
    <name>Generic SIP Trunk (IP Based)</name>
    <url>https://www.3cx.com/partners/sip-trunks/</url>
    <image>default-icon.png</image>
    <logo>default-logo.png</logo>
    <description>AR,AT,AU,BE,BG,BR,CA,CH,CL,CN,CY,CZ,DE,DK,ES,FR,GR,HK,HR,HU,IE,IL,IN,IS,IT,JP,LT,LV,MT,MX,MY,NL,NO,NZ,PE,PL,PT,RO,RU,SE,SG,SI,SK,TH,TR,UA,UK,US,VN,Worldwide,ZA</description>
    <priority>2</priority>
    <tags>registrar,proxy,IpInContactReg,PublicIPVia,SecondaryRegistrar,port,advanced,cert,3wayauth,authtype,geo911</tags>
    <templatetype>thirdparty</templatetype>
  </header>
  <data>
    <sms>
      <variable name="MESSAGING_API_KEY">
        <title>APIKEY</title>
        <option name="Messaging API key" required="true" maxlength="512" type="textbox"></option>
      </variable>
      <variable name="PROVIDER_URL">
        <title>PROVIDER_URL_KEY</title>
        <option name="Provider URL" required="true" type="textbox"></option>
      </variable>
      <field name="ProviderName" status="readonly">Generic</field>
      <field name="OptionalProvider" status="readonly">1</field>
      <field name="ProviderType" status="readonly">generic</field>
      <field name="OutboundRouting" status="readonly">1</field>
      <field name="HasWebhook" status="readonly">1</field>
    </sms>
    <device>
      <type>provider</type>
      <manufacturer>Generic SIP Trunk (IP Based)</manufacturer>
      <model>Provider</model>
      <field name="Name">Generic</field>
      <field name="RegistrarHost"></field>
      <field name="RegistrarPort">5060</field>
      <field name="ProxyHost"></field>
      <field name="ProxyPort">5060</field>
      <field name="StunServerHost"></field>
      <field name="StunServerPort"></field>
      <field name="LineAuthenticationPassword" status="readonly"></field>
      <field name="TimeBetweenRegistration">180</field>
      <field name="RequireAuthFor">1</field>
      <field name="IpInContactReg">1</field>
      <field name="IpInContactRegValue"></field>
      <field name="3wayauthenticationid" status="readonly"></field>
      <field name="IsSupportReinvite">0</field>
      <field name="IsSupportReplaces">0</field>
      <field name="DisableVideo">1</field>
      <field name="RegistrarInvite">1</field>
      <field name="DestNumberIn_TO">1</field>
      <field name="DestNumberIn_REQLINEURI">1</field>
      <field name="DestNumberIn_RPID_CALLED">0</field>
      <field name="IPRestriction">ANY</field>
      <field name="TransportRestriction">TCP</field>
      <field name="SecondaryRegistrar"></field>
      <field name="IsBindToMS">1</field>
      <field name="UseIPInContact">0</field>
      <field name="CallerIDIn">1</field>
      <field name="CalledNumberIn">2</field>
      <field status="readonly" name="MatchStrategy">0</field>
      <field status="readonly" name="Source" parameter="ContactHost" custom="">$GWHostPort</field>
      <field name="ParameterIn" custom="" parameter="ToUserPart">$CalledNum</field>
      <field name="ParameterIn" custom="" parameter="FromUserPart">$CallerName</field>
      <field name="ParameterIn" custom="" parameter="FromUserPart">$CallerNum</field>
      <field name="ParameterOut" custom="" parameter="RequestLineURIUser">$CalledNum</field>
      <field name="ParameterOut" custom="" parameter="RequestLineURIHost">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="ContactUser">$OriginatorCallerId</field>
      <field name="ParameterOut" custom="" parameter="ContactHost">$ContactURI</field>
      <field name="ParameterOut" custom="" parameter="ToDisplayName">$CalledName</field>
      <field name="ParameterOut" custom="" parameter="ToUserPart">$CalledNum</field>
      <field name="ParameterOut" custom="" parameter="ToHostPart">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="FromDisplayName">$OriginatorCallerId</field>
      <field name="ParameterOut" custom="" parameter="FromUserPart">$OriginatorCallerId</field>
      <field name="ParameterOut" custom="" parameter="FromHostPart">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyDisplayName">$OriginatorCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyUserPart">$OriginatorCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyHostPart">$GWHostPort</field>
      <codecs>
        <codec rfcname="pcma"></codec>
        <codec rfcname="pcmu"></codec>
      </codecs>
    </device>
  </data>
</doc>