Provisioning a Remote Extension with 3CX Phone System

3CX Phone System logo - Guidelines on provisioning a remote extensionA remote extension is an extension that will be used remotely, from  a home office or a remote office. The extension connects to 3CX Phone System over the internet, and has all the functionality available to a normal extension, including  making and receiving calls to other extensions and external numbers.

There are two ways that a remote extension can be configured – either as a direct remote extension using STUN or by using the 3CX SBC.

It is recommended to use 3CX SBC to connect remote extensions or offices as it tunnels both SIP and Voice over one single port thus making VoIP more reliable.

STUN mode is used when you have remote extensions in a location which cannot use 3CX SBC (like for example there is no computer that is constantly switched on).

Prerequisites

  1. 3CX Phone System 12.5 or higher.
  2. If using 3CX SBC, you need to have the 3CX SBC installed on a computer in the remote office network. This machine is required to have a static local IP address. Click here: 3CX Session Border Controller for more information.
  3. 3CX Phone System must has a static public IP address.

NOTE: This article explains how to provision the phones using HTTP provisioning. You can also provision remote extensions using PnP provisioning if you are able to plug in the phones to the same network as 3CX Phone System, provision the phones as remote extensions and ship the phones to the remote location. In this case,  you would just need to attach the phone to the remote network, and they will automatically connect to the external IP address configured in 3CX Phone System.

Provisioning a remote extension in 3CX SBC

To provision a remote extension for 3CX SBC please follow the next steps:

        1. Open the following ports on the firewall  and port-forward them to the 3CX Phone System IP address :
          • TCP Port 5000 (used for the provisioning of remote extensions).
          • TCP and UDP port 5090 (used for inbound Tunnel connections).
        2. Log into the 3CX Phone System Management console.
        3. Create or edit an existing extension. This the extension that will be used and provisioned as a remote extension.
        4. Select the Phone Provisioning tab, insert the MAC address and select the Model of the phone that you want to provision.
        5. If you want you can also select the Phone Display Language of your choice by clicking and selecting from the drop down list.
        6. Select the network interface on which connections for Phone provisioning will be received for the phone (if you have multiple NIC cards connected).
          3CX SBC Config-1
        7. Click on the field next to the Select Provisioning Method and from the drop down menu select 3CX Session Border Controller. This option will only be shown for phones that have been tested and are known to work well with 3CX SBC.
        8. Enter the private IP address of the 3CX SBC and the SIP Port used (5060 by default) as in the example shown above. Note: The 3CX SBC must be installed on a computer in the remote location. For more information click on Using 3CX SBC.
        9. You can also configure your Codec Priority and BLF settings at this stage (optional).
        10. Click OK to save your changes.  The 3CX Phone System will automatically create a configuration file to configure the remote phone in 3CX SBC mode.
        11. Access the web interface of the SIP Phone you want to configure for use with 3CX Phone System. To do that:
          1. Type the IP Phone’s IP Address in your browser.
          2. Enter the Username (default is admin) and Password (default is admin) in the login screen.
        12. Depending on the type of phone that you are using, you will need to the provisioning URL in each phone. Since each phone has a specific URL format, samples are provided below for the HTTP URL format used by the most popular 3CX supported phones.
          • Provisioning link for Yealink phones:

            For T2X series: Click on Upgrade > Advanced menu
            For T3X Series: Click on Phone > Auto provision menu
            For T4X Series: Click on Settings > Auto provision menu
            and in the  Server or Provisioning server URL field (name depends on the phone series) enter the following url:
            V11: http://PublicIPofPBX:5000/provisioning/
            V12: http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%
            V14: http://V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%% (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

          • Provisioning link for snom phones:

            Click on Setup>Advanced>Update and in the Setting URL enter the following url:
            V11: http:// PublicIPofPBX:5000/provisioning/cfg{mac}
            V12: http:// PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/cfg{mac}
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%/cfg{mac}
            V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%/cfg{mac} (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

          • Provisioning link for Cisco SPA phones:

            Click on Admin Logon > Advanced > Provisioning > Profile Rule and enter the following URL:
            V11: http://PublicIPofPBX:5000/provisioning/$MA.xml
            V12: http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/$MA.xml
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%
            V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%% (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

            Note: To immediately force a Cisco to provision enter this link in a browser
            http://LocalIPofPhone/admin/resync?http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/$MA.xml  – where LocalIPofPhone should be replaced with the ip address of the Cisco Phone, PublicIPofPBX should be replaced with the public ip of the 3CX Phone System and ProvSubDir variable should be replaced with the Provisioning Sub Directory folder name. You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

Provisioning a remote extension in STUN Mode

        1. Open the following ports on the firewall  and port-forward them to the 3CX Phone System IP address :
          • TCP Port 5000 (or the TCP port you have configured during installation) – used for the provisioning of remote extensions.
          • UDP port 5060 – used for SIP traffic.
          • UDP ports 9000–9255 – used for RTP traffic – audio.
        2. Log into the 3CX Phone System Management console.
        3. Create or edit an existing extension. This the extension that will be used and provisioned as a remote extension.
        4. Select the Phone Provisioning tab, insert the MAC address and select the Model of the phone that you want to provision.
        5. If you want you can also select the Phone Display Language of your choice by clicking and selecting from the drop down list.
        6. Select the network interface on which connections for Phone provisioning will be received for the phone (if you have multiple NIC cards connected).3CX STUN Config
        7. Click on the field next to the Select Provisioning Method and from the drop down menu select Remote extension (STUN).  This option will only be shown for phones that have been tested and are known to work well with STUN.
        8. You can leave Local SiP Port of Phone and RTP Ports at default.
        9. You can also configure your Codec Priority and BLF settings at this stage (optional).
        10. Click OK to save your changes. 3CX Phone System will automatically create a configuration file to configure the remote phone in STUN mode.
        11. Access the remote location where the SIP Phones are located.
        12. Access the web interface of the SIP Phone you want to configure for use with 3CX Phone System. To do that:
          1. Type the IP Phone’s IP Address in your browser.
          2. Enter the  Username (default is admin) and Password (default is admin) in the login screen.
        13. Depending on the type of phone that you are using, you will need to the provisioning URL in each phone. Since each phone has a specific URL format, samples are provided below for the HTTP URL used by the most popular 3CX supported phones.
          • Provisioning link for Yealink phones:

            For T2X series: Click on Upgrade > Advanced menu
            For T3X Series: Click on Phone > Auto provision menu
            For T4X Series: Click on Settings > Auto provision menu
            and in the  Server or Provisioning server URL field (name depends on the phone series) enter the following url:
            V11: http://PublicIPofPBX:5000/provisioning/
            V12: http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%
            V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%% (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

          • Provisioning link for snom phones:

            Click on Setup>Advanced>Update and in the Setting URL enter the following url:
            V11: http:// PublicIPofPBX:5000/provisioning/cfg{mac}
            V12: http:// PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/cfg{mac}
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%/cfg{mac}
            V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%/cfg{mac} (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

          • Provisioning link for Cisco SPA phones:

            Click on Admin Logon > Advanced > Provisioning > Profile Rule and enter the following URL:
            V11: http://PublicIPofPBX:5000/provisioning/$MA.xml
            V12: http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/$MA.xml
            V12.5: http://PublicIPofPBX:ConfiguredPort/provisioning/%%ProvSubDir%%
            V14: http://FQDNofPBX:ConfiguredPort/provisioning/%%ProvSubDir%% (where by :ConfiguredPort is default 80 or 5000)
            You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

            Note: To immediately force a Cisco to provision enter this link in a browser
            http://LocalIPofPhone/admin/resync?http://PublicIPofPBX:5000/provisioning/%%ProvSubDir%%/$MA.xml  – where LocalIPofPhone should be replaced with the ip address of the Cisco Phone, PublicIPofPBX should be replaced with the public ip of the 3CX Phone System and ProvSubDir variable should be replaced with the Provisioning Sub Directory folder name. You can find the provisioning URL from the 3CX Management Console from “Settings” > “Phone Provisioning” > “External/Public Provisioning URL” field.

Notes when using Remote Extension with STUN:

    1. Please make sure that your Remote Location has Static NAT implemented as well to the phones and that the SIP port and RTP port range for each phone as specified in Extension Settings >> Provisioning tab is correctly forwarded to the IP address of each phone
    2. If you have multiple IP Phones on the same remote network configured with the same SIP and RTP ports, you might have an audio problem caused by the way certain routers implement NAT. In this scenario, each phone must have a different SIP Port and a range of RTP ports must be configured per phone. To do this, click on the Provisioning tab, change the SIP and RTP ports and perform a re-provision of each phone from the Phones node.
    3. SIP ALG may interfere with the correct handling of audio and signaling. If you have audio issues, try to disable SIP ALG from the firewall. If you encounter such issues, you should check if your router has any known issues with SIP and VoIP. On most firewalls, SIP ALG needs to be turned off.
    4. If you are using 3CX Phone System as a Virtual PBX Server, you would need to allow access to the ports for the specific instance you are configuring. The default port list can be found in the Installing 3CX Phone System as a Virtual PBX Server admin guide.
    5. If you have a Thomson router, you MUST make sure that the SIP Port of the phone is NOT EQUAL to 5060. Read this post for more information http://www.3cx.com/blog/docs/disable-sip-alg-on-thomson/

Liked this article?


Get notified of new articles
or share
You might also be interested in:
  1. Pingback: SIP Trunks | SIP Trunking » Provisioning a Remote Extension with 3CX Phone System

  2. Craig Reilly

    I have not successfully been able to get a Yealink to work. Audio and Outbound calls are fine – but inbound calls can not be answered. The caller continues to hear ringing. Then when remote phone hangs up it rings again within 10 seconds.

    I did get an Aastra 6753i to work correctly on that same network. I have not been able to definitivly pin point the difference.

    June 6, 2012 at 12:47 am
  3. @Craig you have an Firewall issue related to the Yealink (YL are very finiky when it comes to changed ports and so on). Best open a ticket at 3cx support so check it out if your firewall may causes the issue…

    June 6, 2012 at 3:27 pm
  4. Craig Reilly

    Stefan – on the T2x series – a new firmware was released just today (T22 – 7.61.23.11) and all is well. It has been able to accept calls now for 7 hours without hesitation.

    June 7, 2012 at 5:07 am
  5. Andy Kallistros

    Do you have a list of the tested phones for step 6 in both procedures. Select the provisioning method. I noticed the option was available for some model Grandstream Phones and not others. If you have a list of the phones that have been tested and known to work with STUN and Proxy Manager, that would be very helpful, when suggesting phones to clients.

    June 7, 2012 at 3:14 am
    • @Andy – We have a list – We can add this here. Put short, Cisco SPA, Grandstream Executive phones, Snom and yealink.
      However 3CX management console will show you which phones work – Those that have a template for these network modes. If you select a phone and you see that the dropdown is grayed out, then that phone not tested for STUN / SPM.
      The old grandstream phones are not tested even though I know they can work. You can dig in the template and make your own template for these phones.

      June 7, 2012 at 12:38 pm