Group Details Private

Global Moderators

Forum wide moderators

Member List

  • Creating an ed25519 SSH key in Windows 10

    There are many reasons that you may need an SSH key setup on your system. Some of the most common reasons are connecting to git repository and connecting to a Linux server.

    This used to be a painful process, as Microsoft did not include OpenSSH in the operating system. Thankfully they rectified that over a year ago.

    As long as you are running an up to date version of Windows 10, you will have no problems following along.

    1. Right click on the start button and choose Windows PowerShell

      • If your system says Command Prompt you are either not up to date, or you intentionally changed it back.
        35e530ba-dcfe-4ea4-a1d6-4471af5a3e2c-image.png
    2. In the powershell windows, run the ssh-keygen command as follows:

      • The -t ed25519 tell it which algorithm to use.
      • The -C "Work Computer" is a comment that makes it easy to know what a key was created on. Update appropriately.
    ssh-keygen -t ed25519 -C "Work Computer"
    
    1. It will prompt where to save the file. You will almost always want to use the default. Just press enter to accept the default.
      0ae4e9cb-4b2d-4006-9c1f-266054bd47c7-image.png
    2. It will ask for a passphrase. Generally, I do not set a passphrase on my SSH keys, but there are valid reasons to do so depending on your environment. Press enter again for no passphrase.
      66075dcb-5ca2-4b61-ad09-35ce878d7b97-image.png
    3. It will ask you to confirm the passphrase, even if you left it blank. Press enter again.
      2ce50e56-baa5-4ef4-b7a0-72be8771b6c3-image.png
    4. It will then create your key and spit out some information about the key. Congratulations, you now have an SSH keypair available for use.
      300cdae7-1057-4883-8f73-19192a50922f-image.png

    This is why I recommend the -C command in the key generation. It puts whatever was in the comment out at the end of the public key string.
    d08f80c2-8a5a-41fb-a2f4-7a939956b237-image.png

    This useful when you add the key to things like GitLab. It will automatically title the key with that comment.
    db945d19-419f-4148-ae2b-54d93fbec0d3-image.png

    posted in Guides & Walkthroughs
  • Decide where you want your PBX

    Once you have done your initial discovery and know how your current PBX operates, you can then figure out the best place to put your new FreePBX system.

    This will be different for every organization and has to be based on what works best for the business.

    You have two choices.

    1. Host it on your internal virtualization infrastructure
    2. Host it on a public virtualization platform

    Can it be installed on a physical appliance? Sure, but you would not want to run your main line of business application on random hardware, so why would you run your phone system that way?

    You have to base this decision on a number of things.
    Below is a general guideline to think about.

    • Do you have a solid virtualization platform in place locally
      • if no, make the PBX hosted
      • if yes, make the PBX hosted or local
    • Do you have more than one site needing to register phone to this PBX
      • make the PBX hosted
    • Do you have solid backups locally
      • if no, make the PBX hosted
      • if yes, make the PBX hosted or local
    • Do you have solid internet for the total concurrent call volume and well as extension to extension volume
      • if yes, make the PBX hosted
      • if no, make the PBX local
    • What Needs to survive the most when the internet goes down
      • extension to extension calling
        • make the PBX local
      • inbound customer calls getting handled
        • make the PBX hosted

    There are always more things to consider, but those are the key factors.

    Each of them need thought about without emotion to determine what is best for the business.

    posted in FreePBX Guides
  • FreePBX 15 Setup Guide

    Before you install


    Installation
    Once you know have worked through the items above, you are ready to begin installing FreePBX.

    For this guide, we will use Vultr to host the system.
    There are only a few differences in steps 2 and 3 if you do not use Vultr.
    The rest of the guide is the same, irregardless of where you host the system.

    1. Creating a FreePBX Instance on Vultr
    2. ISO Installation
    3. Standard Setup Part 1: Command Line
    4. Standard Setup Part 2: Initial GUI Wizard
    5. Configure the Firewall
    6. System Admin setup
    7. Create your first exentsions
    8. Trunk setup
    9. Conference setup
    10. Ring group setup
    11. Creating system recordings
    12. IVR setup
    13. Using time groups and time conditions
    14. Caller ID setup
    15. Inbound call routing
    16. Outbound call routing

    Setting up Desk Phones

    • With Endpoint Manager
    • Manually - git backed
    posted in FreePBX Guides
  • FreePBX Standard Setup Part 2: Initial GUI Wizard

    Sangoma continually updates FreePBX.

    Because of that, this guide will generalize some terms where possible.

    Screens may differ after an update.


    1. Upon first log in to the web interface, you will be presented with this screen to create the initial admin user account.
      d1aa6866-a994-4ee5-b031-6ae2c102f385-image.png

    2. Create a username and secure password.
      e5e4b68f-8780-40ca-94b6-ca7c1ed7f2c8-image.png

    3. Enter an email address for the user. This can be changed later if needed.
      c5d31a47-ba76-404b-b768-d647c51ea18b-image.png

    4. Give the system a name. This will used in various system emails that are generated, as well as in voicemail notification emails.
      6d21145d-ce47-4ca6-9d9a-8d53c077ec10-image.png

    5. Change the update settings as desired.
      We recommend not using automatic updates, but instead actively updating things monthly. Enable email notification, in order to be made aware of anything important.
      Finally, set it to check daily in the morning. You don't need yet another system email coming in over night when sleeping.
      8412578d-7db1-4b7b-9cf0-92ebcbc16095-image.png

    6. Click Setup system
      abc52822-6fcb-4c78-a025-b7d8c835cc70-image.png

    7. The system will apply the settings and you will be presented with the standard FreePBX home screen. Click on FreePBX Administration.
      32387c9c-7e17-4b3e-a0ee-49eb9c676f92-image.png

    8. Enter your just created administrator log in and click continue.
      5e32a6c5-16f2-4c5a-8fa8-74f5a8155201-image.png

    9. You will be asked to activate your system. There is no cost to it and you will want your system activated, but this screen has been intermittently buggy. Click Skip, you will activate it later.
      25bfe52a-f0ee-4f6d-b96c-729e43570ee1-image.png

    10. Now you will get a couple screens of advertisement for Sangoma owned products. Click skip on each of them. If you want the product you can order it later.
      c0b4ea04-c8fb-459a-a455-87c560d8cada-image.png
      54ec2c71-8c10-453d-8645-f5d87c3ea19e-image.png

    11. Set your default locale information as appropriate for your needs.
      2c266780-0e93-4f75-a5bb-1e1cbbbcd29a-image.png

    12. The red Apply Config button will appear at the top, ignore it for now.
      02d9c68d-da5c-47a5-8866-ad5bf1c2ee7e-image.png

    13. The system will now ask you to setup the built in firewall. We alays recommend this be enabled. Even if your system if behind a hardware firewall and NAT. Click continue.
      a79fc9bd-50e5-49e0-953d-321bfe9496fb-image.png

    14. Click Next.
      415b66af-6335-492f-87e1-b02d22c8773e-image.png

    15. Click Yes here, or you can lock yourself out during the initial setup. This will be modified later.
      6283375d-1910-408c-80d5-ec3ac514210e-image.png

    16. Click No here, even if you are on a local LAN that you want trusted. For now, you only care that the computer you are doing the setup from is allowed access.
      476e57fe-7be4-442d-b578-d0f52a1e9b53-image.png

    17. Click No to the responsive firewall. This is a very useful tool depending on your needs. It is something to configure later, not during initial setup.
      719cedb4-f309-4bbc-989c-8d1f96ede994-image.png

    18. Click Yes here, to let the system correctly setup your Asterisk settings. They can be changed later, but this is the easiest way to get it right for most people.
      1994e9f2-6379-4dce-a5d5-39c6fefb3202-image.png

    19. If your browser pops up a warning about resending, click resend.
      006180a4-f61e-4e67-968f-e599593b475a-image.png

    20. At this point the FreePBX dashboard will load.
      07ce86f2-25c3-4dc8-b00e-d054ac224d20-image.png

    21. Now click the Apply Config button.
      02d9c68d-da5c-47a5-8866-ad5bf1c2ee7e-image.png

    22. You will see a reloading screen.
      75c3254f-b266-4fa7-bdea-dabe1f6eeabd-image.png

    23. You have completed the Initial GUI wizard. Welcome to FreePBX.

    posted in FreePBX Guides
  • Creating a SSH key for the Asterisk user in FreePBX

    When we setup FreePBX, clients will often elect not to purchase the Endpoint Manager (EPM) commercial module.

    They do this because once the physical phones are setup, they almost never make changes often that require learning how to use and maintain the endpoints via EPM.

    EPM is a solid product for a very reasonable cost. But like all things, the cost must be weighed against the benefit.

    For customers that do not use EPM, we setup a private git repository to easily maintain things. To automate that, the PBX needs to use key based SSH.

    Everything FreePBX does is owned by the user asterisk so you need to create a keypair under that user.

    1. Log in to your PBX console via ssh as yourself.
      ssh pbx.domain.com or ssh [email protected]

    2. Switch to the asterisk user.
      sudo su asterisk

    3. Create the ssh keypair using modern strong methods.
      ssh-keygen -o -t ed25519 -C "FreePBX Asterisk User"

    4. It will ask what directory, to store the key, press enter.
      The default is what you want: /home/asterisk/.ssh

    5. It will ask for a passphrase, do not enter anything. This is for automation, there will be no user to enter the passphrase every time the key is used.

    6. It will ask to confirm the passphrase, press enter again.

    7. It will then display the key fingerprint and ascii art.
      1f545f62-a660-40b8-8ac2-5619220a9dce-image.png

    posted in FreePBX Guides
  • FreePBX Standard Setup Part 1: Command Line

    Sangoma continually updates FreePBX.

    Because of that, this guide will generalize some terms where possible.

    Screens may differ after an update.


    If your method for accessing the console does not allow you to copy and paste into the console, then we strongly recommend that you use SSH, as the root user, for this initial setup.

    This process requires that you have created a SSH keypair for secure login to Linux systems.

    If you need instruction for that see: Creating an ed25519 key in Windows 10


    1. However you installed FreePBX from the ISO, when that installation completes, the console screen should be waiting for a log in.

      1. The only login available immediately after installation will be the root user.
      2. You can log in to the console or via SSH. Be aware of the notice above about copy and paste.
        1. On the Console, enter root for the login and hit enter.
        2. Enter the root password you set during installation, the password will not be echoed back, then press enter.
          899a3caa-f07d-472b-bb9b-40c2d2c4beb2-image.png
        3. Or log in initially via SSH.
          7dfdff63-79be-43c6-8bb1-04ac12ea7c19-image.png
      3. Either way you will be greeted by the standard FreePBX message of the day (MOTD).
        f16cf3ee-05ab-425f-856c-907dc9e6946b-image.png
    2. The first thing to do is to secure SSH. This is accomplished by:

      1. Creating a non-root user with administrator rights (sudo).
      2. Disabling the ability of the root user to log with the SSH protocol.
      3. Disabling the ability to log in with a password.
      4. We have created a script to handle this initial root setup process. If you want to do it manually, please read the script to see how we did it.
    3. Execute this command to download the script from our public GitLab with this command:
      wget https://gitlab.com/bundyassociates/freepbx-scripts/setup-scripts/-/raw/master/root_setup.sh
      73cd9efe-38cb-4c48-9425-52108e441dab-image.png

    4. Set the downloaded script to be executable: chmod +x root_setup.sh
      ca63bbd5-4347-45c3-ae5d-c55d37de5090-image.png

    5. Execute the script: ./root_setup.sh

      1. It will prompt for your SSH username
        4af06f63-ab3d-42c9-ae34-804de3a98184-image.png
      2. Then tell you to log out.
        b142a8b9-28f8-4f67-9e89-4b03472d1620-image.png
    6. Logout of the root session by entering: exit

    7. Log in as the user you just created. You will be forced to update your password.

      1. Your current password is: ChangeMe
      2. Your new password can be whatever you want, try to be a bit secure about it.
      3. You will enter ChangeMe once to log in. Then again as the "current password" to be changed.
      4. It will automatically log you out after changing your password.
        a63a2450-64d8-474f-8e90-a3e3e2f12f78-image.png
    8. Before logging back in, you need to copy your SSH public key to the system.
      The command to do that is: ssh-copy-id [email protected]
      03d64ffa-8de8-4632-879f-0608866417af-image.png
      I have multiple keys on my system, so I need to specify the key I want to use with the -i option.

    9. Log in via SSH again, it will not ask for a password.
      5e88ba7b-074d-46b7-b83e-4ac2ae0a27fc-image.png

    10. Execute, with sudo, the setup script that was pre-downloaded during the root setup.
      sudo ./setup.sh

    11. You will be prompted for your password in order to execute the commands in the script with sudo access.
      c5e014db-f2f1-4949-9173-db68eac4b53c-image.png

    12. Get a coffee, this will take a while to finish.
      de922a87-76aa-4ac3-b1bf-e693eab5673a-image.png

      1. Especially if the updates include a new Linux kernel.
        ec5ab139-4ef0-4da0-8ba7-14353450108d-image.png
    13. When completed, it will tell you to reboot and go to the web interface to complete the setup.
      ad25c983-2512-4d7b-9988-277599e84c60-image.png

    14. Reboot the system as instructed
      sudo reboot
      7af3f0a7-9c61-486d-b804-2b8cc2d16aa1-image.png

    15. Wait for the reboot to complete and then go to the web interface as previously instructed to complete the setup.

      1. You know the reboot is complete when the console screen returns to this.
        3170c173-5acd-4086-bc9f-64c6e8cb2ad9-image.png
      2. Be prepared for warnings about insecure connections the the web interface. Part of the GUI process will be to create a valid SSL certificate.
        2cc50034-9293-4af5-bf4a-20c4e89e8213-image.png
    posted in FreePBX Guides
  • FreePBX ISO Installation

    Sangoma creates FreePBX installation ISO files several times per year.

    Because of that, this guide will generalize some terms where possible.

    Screens may differ after an update.


    1. Once you boot to the ISO file, you will be presented with a screen to select what version of Asterisk you want to install.
      35aa339d-2b55-4d9a-b56d-95ceaf6b61f2-image.png

    2. For most companies, there is no reason to stay back on an LTS version, I always recommend using the current release. That is Asterisk 17 as of the writing of this guide. So select that version with the arrow keys on the keyboard and hit enter.
      a2fbff03-bbad-4e20-9dd8-5c2cdd9bc726-image.png

    3. On the next screen, leave it on Output to VGA and hit enter.
      9a2c0d77-ff24-403e-b056-badffcd70ed7-image.png

    4. Hit enter again on the next screen, confirming what you previously chose.
      ec281702-a46c-4556-9398-ef577eb91706-image.png

    5. You will now see various Linux boot screens go past.
      b33075ce-b2bf-482a-8c66-6abcdd99c013-image.png
      6d09ed6c-f4c3-4e18-a5ea-e9e1ecb0f0d1-image.png
      dbd3e245-85fd-4cd1-8749-5295abf3f9ac-image.png
      b4b51c07-40a3-4dc2-9ff6-9f00d9b07bca-image.png

    6. When you see this screen, click on ROOT PASSWORD to set the Linux root user password.
      1fb798af-1764-4f42-9357-a286620b9810-image.png

    7. Enter the password twice, and then click done on the top left.
      2b65b6c5-508d-4f43-84e7-5af67b8c6b95-image.png

    8. It will show that the root password has been set.
      bad52e03-bbbd-48ef-ba61-d490b2afbda7-image.png

    9. Now wait for the reboot button to appear on the bottom right. Depending on the resources of the system you are installing on, this can take up to 10 minutes. Once it appears, click reboot.
      96116b4f-4edd-4a91-a9e0-7c1f58a16cd0-image.png

    10. Your system should boot to the Linux login prompt.
      If your system does not automatically eject the installation media, Vultr instances do not, you will get the initial setup screen again. Manually remove the installation media and reboot again.
      114a5d80-9eef-4096-b450-1b5f15aaa410-image.png

    11. The FreePBX ISO Installation is complete. You can now continue with the FreePBX Standard Setup Part 1: Command Line guide.

    posted in FreePBX Guides
  • Creating a FreePBX instance on Vultr
    1. Log in to your Vultr account. You will be presented with your existing instances, if you have any.
      https://my.vultr.com
      40432e4f-75ac-4415-8168-7999daa511f4-image.png

    2. On the upper right of the page will be a blue button. Click on it to deploy a new instance.

      1. If you mouse over it, you will see that there are more options, but the default action on this screen is to deploy a new instance.
        ab2e62f3-051d-4422-902d-aafaab62511f-image.png
    3. Under the Choose Server heading, ensure that Cloud Compute is selected.
      220c97e0-be9c-41ab-bbf0-c9a731c768bb-image.png

    4. Under the Server Location heading, choose a location regionally close to where most of the phones will be, Chicago in this example.
      d20e5826-512d-4666-aaa3-d0b2a091b7e7-image.png

    5. Under the Server Type heading, choose ISO Library.
      d11e943c-5a5e-42e9-be78-ffb67d79cc69-image.png

    6. Then look for FreePBX, there may be more than one. Choose the newest.

      1. The date code is YYMM-R (year, month, release in month. August 2020, release 1 in this example.
        6a2d1f83-f7e9-42cb-b8b0-8f38c0c00c91-image.png
    7. Under the Server Size heading, choose the appropriate sized instance for the PBX.

      1. The specific size depends on the needs of the location, if unsure, always start with the $5 instance.
        1. An office with ~20 concurrent calls and ~200 extensions will run just fine on a $5 instance.
      2. Instances can always be scaled up. They cannot be scaled down.
        b6710765-1e91-466d-88fb-cc6942e57e95-image.png
    8. Under the Additional Features heading, check the option for automatic backups.

      1. The price is based on the instance size, for example the $10 instance is $1.25
        70b11e58-b245-429e-9127-259178770283-image.png
    9. Under the Firewall Group heading, leave it at no firewall.
      7f7fe97c-0795-4a24-83a9-d4314c32b172-image.png

    10. Under the Server Hostname & Label header, give the system a label. The hostname is irrelevant for FreePBX installs.

      1. The label is what you see in the Vultr list of instances
        39c9dbe5-d122-407e-b8af-acdeee36c0a8-image.png
    11. You will see a cost summary on the bottom left.
      18b6f9db-9f87-4f88-918d-b6700685f923-image.png

    12. Click on the Deploy Now button on the bottom right.
      26fe6788-f615-4b12-aa81-3554368e7337-image.png

    13. The screen will go back to the list of instances. Your new instance will say Installing.
      a701e843-2081-465d-bb34-939312afb3dc-image.png

    14. When the instance changes to running, click on the three dots to the right of the instance and then on View Console. This will open the virtual console where you will complete the FreePBX ISO Installation process.
      1fc5d87c-6335-4d1d-9913-3e736984ad6c-image.png

    15. The virtual console will open and you will see Sangoma's customized installation menu for FreePBX.
      fbcbdc04-7c84-4302-b6e3-6c6c96b9e995-image.png

    16. At this point, switch to the FreePBX ISO Installation guide.

      1. You will come back to this guide for a few more steps after the ISO installation guide competes the first reboot.
    17. Once the FreePBX ISO Installation has completed the first reboot, you will need to remove the ISO.

    18. Click on the instance name or server details from the menu.
      3997340f-236d-418f-ac5e-fa76c8a2daa9-image.png

      1. Click on Settings.
        8ddbd7c2-a377-4fa1-b38c-46b26f51faff-image.png
    19. Click on Custom ISO.
      c0a9b39f-8fb2-483a-966a-d24b704707df-image.png

    20. Click on the Remove ISO button.
      6ec7c2c3-4462-4921-b4de-63968726ee36-image.png

    21. You will be prompted to confirm the ISO removal. Click Remove ISO again.d059c7bc-17ca-42d5-8bac-f7647f5071ac-image.png

    22. When you remove the ISO, the Console will look like this, close the window as you will have to reopen the console.
      1ca2e1ab-365e-4551-8763-59f78e5ad56b-image.png

    23. Click on the Console button on the top of the instance detail screen.

      1. If you changed back to the instance list, you can access the console as mentioned in step 14.
        0cf0688f-9cf6-4635-8926-d293f5b997c8-image.png
    24. You will see the instance has booted normally.
      6a211661-0683-4a10-b831-6ff601784ad2-image.png

    25. You will now switch to the FreePBX Standard Setup Part 1: Command Line guide.

    posted in FreePBX Guides