3CX Hosted - SIP Trunk Import Provider

Status
Not open for further replies.

aaronkohn

Joined
Jul 4, 2024
Messages
4
Reaction score
0
I am trying to setup up a generic provider, but would need to import a file in order to make it work, I DO NOT have the option of Import Provider as per below snapshot, the provider provided me with a snapshot (further below) that there is such option, could any one please clarify why I don't have this option? Thanks much

1720809547326.png

1720809344203.png
 
For the 3CX Hosted this is not an option.
You can however select your country and create a Sip Trunk with the Generic Template.
 
Hello, I cannot find the option on a self hosted instance
 
Hello, I cannot find the option on a self hosted instance
Depends on your version of 3cx.Check templates, there you will find this option under the actual version.
 
For the 3CX Hosted this is not an option.
You can however select your country and create a Sip Trunk with the Generic Template.
This was an option to import a template under 'Advanced -> Templates -> Provider Templates' in the version before Version 20.0 Update 2 (Build 715 Release), why did this suddenly disappear? It makes no sense why there is a feature gap between 3CX hosted, Cloud hosted and on premise hosted 3CX instances.
 
This was an option to import a template under 'Advanced -> Templates -> Provider Templates' in the version before Version 20.0 Update 2 (Build 715 Release), why did this suddenly disappear? It makes no sense why there is a feature gap between 3CX hosted, Cloud hosted and on premise hosted 3CX instances.
There are more feature gaps thant his. Hosted was always more restricted than all other options.
 
I am facing this issue on a self-hosted instance which should have the least restrictions.
 
We have some provider templates that we were using on other v20 systems by importing them — I am unable to import new providers from XML files. This is important because the caller id fields for both incoming and outgoing calls need to be adjusted for use with our provider.
 
Those are custom templates created in the PBX previously?
 
We exported the provider from the Voice/chat menu, made necessary edits and then were able to import again.
 
What is the error that you receive?
 
Previously under Add SIP trunk there was an option to Import trunk. That option is not there anymore.
 
Previously under Add SIP trunk there was an option to Import trunk. That option is not there anymore.
Its under templates now
 
This is not an option for the 3CX Hosted.
 
Its under templates now
Got it, thanks. Now my issue is that when I try to edit the Generic template and import, it says header / template field is missing a value and I do not know the accepted values for that. If I put in a random value for the template field it says a bunch of features are not supported and if I try to import it anyways it says that the filename is not an existing filename.
 
I wouled try to install the generic sip trunk as far as possible and than export it, adjust the settings and reimport it. that should work
 
Facing the same issue
1721911997760.png
 
Than there is something wrong in your template. The Name of the file should be genericSIPTrunk.pv.xml or genericVoipProvider.pv.xml.
 
  • Like
Reactions: N_G
This is the correct template without any adjustments:


Code:
<?xml version="1.0"?>
<doc xmlns:tcx="http://www.3cx.com">
<header>
    <type>gateway-template</type>
    <version>150006</version>
    <time>2024-05-21 16:00:00</time>
    <name>Generic SIP Trunk</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</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</manufacturer>
      <model>Provider</model>

      <!-- Friendly Name -->
      <field name="Name">Generic</field>

      <!-- Hostnames and Port Numbers -->
      <field name="RegistrarHost"></field>                                    <!-- Registrar & Proxy IP / FQDN  -->
      <field name="RegistrarPort">5060</field>                                <!-- Registrar & Proxy Port Number -->
      <field name="ProxyHost"></field>                                        <!-- Proxy IP / FQDN -->
      <field name="ProxyPort">5060</field>                                    <!-- Proxy Port Number -->
      <field name="StunServerHost"></field>                                    <!-- StunServer IP / FQDN -->
      <field name="StunServerPort"></field>                                    <!-- StunServer Port Number -->

      <!-- Registration Settings -->
      <field name="LineAuthenticationPassword" status="readonly"></field>
      <field name="TimeBetweenRegistration">180</field>                        <!-- Registration Expiry -->
      <field name="RequireAuthFor">1</field>                                <!-- No=1; In=2; Out=3; Both=4 -->
      <field name="IpInContactReg">1</field>                                <!-- Ext=1; Int=2; Both=3; Specified=4 -->
      <field name="IpInContactRegValue"></field>                            <!-- List of PBX IPs -->
      <field name="3wayauthenticationid" status="readonly"></field>            <!-- Entry to enable 3 way authentication-->

      <!-- Provider Capabilities -->
      <field name="IsSupportReinvite">0</field>                                <!-- Yes=1; No=0 -->
      <field name="IsSupportReplaces">0</field>                                <!-- Yes=1; No=0 -->
      <field name="DisableVideo">1</field>                                    <!-- Yes=1; No=0 -->
      <field name="RegistrarInvite">1</field>                                <!-- Send INVITE to same IP as REGISTER=1; Resolve FQDN each time for INVITE=0-->

      <!-- Location of Destination Number -->
      <field name="DestNumberIn_TO">1</field>                                <!-- Yes=1; No=0 -->
      <field name="DestNumberIn_REQLINEURI">1</field>                        <!-- Yes=1; No=0 -->
      <field name="DestNumberIn_RPID_CALLED">0</field>                        <!-- Yes=1; No=0 -->

      <!-- Other Options -->
      <field name="IPRestriction">ANY</field>                                <!-- Restricts IPv4 or IPv6. Values: ANY, IPV4, IPV6 -->
      <field name="TransportRestriction">ANY</field>                        <!-- Restricts the Transport Protocol. Values: ANY, UDP, TCP, TLS -->
      <field name="SecondaryRegistrar"></field>                                <!-- Possible values: FQDN:Port or IP:Port -->
      <field name="IsBindToMS">1</field>                                    <!-- Bound=1; NotBound=0 -->
      <field name="UseIPInContact">0</field>                                <!-- UseIP=1; DoNotUseIP=0 -->
      <field name="CallerIDIn">1</field>                                    <!-- Fm=1; To=2; ReqURI=3; Con=4; RemPtyClg=6 -->
      <field name="CalledNumberIn">2</field>                                <!-- Fm=1; To=2; ReqURI=3; Con=4; RemPtyCld=5 -->

    <codecs>
      <codec rfcname="pcmu"/>
      <codec rfcname="pcma"/>
      <codec rfcname="g729"/>
    </codecs>

      <!--Source Identification - Use Default PBX Internal Source Identification-->
      <field status="readonly" name="MatchStrategy">0</field>
      <field status="readonly" name="Source" parameter="ContactHost" custom="">$GWHostPort</field>

      <!-- Gateway / Provider Inbound Parameters -->
      <field name="ParameterIn" custom="" parameter="ToUserPart">$CalledNum</field>
      <field name="ParameterIn" custom="" parameter="FromUserPart">$CallerName</field>
      <field name="ParameterIn" custom="" parameter="FromUserPart">$CallerNum</field>

      <!-- Gateway / Provider Outbound Parameters -->
      <field name="ParameterOut" custom="" parameter="RequestLineURIUser">$CalledNum</field>
      <field name="ParameterOut" custom="" parameter="RequestLineURIHost">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="ContactUser">$OutboundCallerId</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">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="FromUserPart">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="FromHostPart">$GWHostPort</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyDisplayName">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyUserPart">$OutboundCallerId</field>
      <field name="ParameterOut" custom="" parameter="RemotePartyIDCallingPartyHostPart">$GWHostPort</field>
    </device>
</data>
</doc>
 
Status
Not open for further replies.

Forum statistics

Threads
112,141
Messages
590,936
Members
165,158
Latest member
ascheney74