Setting Up Vodia PBX on Azure VM (Debian)
Note: We are grateful to one of our partners for submitting this tutorial.
Steps
Disclosure for VM creation: It should be noted that, unless it is EXPLICITLY instructed here, to ignore the settings presented.
- Create the Azure VM
- Basics
- Instance Details
- Size: Standard_B2s – 2vcpus, 4 GiB memory (Change this size if you need a bigger VM.)
- Image: Debian 11 “Bullseye”
- This is what is used for this guide, but your distro choice is up to you.
- Region: whatever is closest to you
- Resource group: whatever resource group is appropriate in your environment
- Virtual machine name: A meaningful name, i.e. companyname-vodia-pbx
- Security type: Standard
- Administrator account
- SSH public key
- Set a meaningful username, secure password, and key pair name.
- SSH public key
- Inbound port rules
- Public inbound ports: Allow selected ports
- Use dropdown to ensure all HTTPS (443), HTTP (80) and SSH (22) are selected
- Instance Details
- Disks
- Disk options
- OS disk type: Premium SSD
- Check box “Delete with VM”
- Encryption type: Default
- Disk options
- Networking
- Virtual network: select appropriate one, or create new if necessary
- Public IP: select appropriate one, or create new if necessary
- NIC network security group: Basic
- Public inbound ports: Allow selected ports
- HTTPS (443)
- HTTP (80)
- SSH (22)
- Management
- Monitoring
- Boot diagnostics: Enable with managed storage account
- Advanced
- Nothing, hit Next
- Tags
- Nothing, hit Next
- Review + create
- Review all changes, then click Create.
- Wait for it to provision, etc.
- Monitoring
- Basics
- Vodia Installation on the VM
- SSH into your new VM instance – make sure you’re sudo/root
- Ssh username@public_IP, i.e. ssh itdept@13.29.278.147
- You can locate your VM’s public IP by going to the VM instance in Azure, and looking next to “Public IP address” in the “Overview” pane.
- Enter the password you just created in the previous step of VM creation.
- Ssh username@public_IP, i.e. ssh itdept@13.29.278.147
- Run the following commands:
- SSH into your new VM instance – make sure you’re sudo/root
wget
http://portal.vodia.com/downloads/pbx/install-debian.sh
chmod a+rx install-debian.sh
./install-debian.sh
- Configure DNS – It is recommended that you assign a subdomain to the Vodia instance, i.e. pbx.yourcompany.com. You will need to do this in order to correctly issue SSL certificates to the Vodia instance.
- Cloudflare – Cloudflare was used for this guide, but you’re not required to use it.
- Add an A record with the following information on a top-level domain of your choice.
- Name: subdomain of choice, i.e. pbx
- Content: public IP address of your VM
- Proxy status: DNS only (This means NO proxy. This is VERY important!)
- TTL: Auto
- Add an A record with the following information on a top-level domain of your choice.
- Cloudflare – Cloudflare was used for this guide, but you’re not required to use it.
- Configure Vodia on the VM
- Point your browser to the address you just set in Cloudflare (or other DNS management), i.e. pbx.yourcompany.com, and log in with the following:
- Username: admin
- Password: no password (leave blank)
- It is STRONGLY recommended that you set this to something secure IMMEDIATELY!
- Once logged in, at the Administrator (System level), go to Settings > General > License. Input your activation code in the text box, and click Save.
- At the top left, under the search bar, click Tenants > List, and then the Create button.
- Name of this tenant: your company or client, i.e. Your Company Name
- Primary DNS address: your full PBX DNS address that you created and configured, i.e. pbx.yourcompany.com
- Click OK
- Under Tenants, click DID Management. Add all your DIDs in here.
- Once the new tenant shows in the list, click the name of the tenant to go into it. Within the tenant, do the following:
- Under Accounts, click Extensions. Make sure to add all of the following for each extension:
- Account (extension number)
- Name (who will be using it)
- Cell phone – Optional
- Email – Vodia will send setup credentials and instructions for softphones here in a welcome email, as well as other important information.
- MAC address – The phone itself assigned to the user. This is especially important later on, so do NOT skip it.
- On the left hand side, click Trunks > SIP Trunks. Find your SIP trunk provider, and click OK. (If yours is not listed, choose Other.)
- Once it shows up in the list, click its name, and configure the following:
- Type: SIP Registration
- Direction: Inbound and outbound
- State: Enabled
- Global: Yes
- Is secure: No (You can change this later once networking and ports are configured properly, but for the sake of initial set up, leave it as is.)
- Registrations: use your appropriate username, password, and domain as provided by your SIP trunking provider.
- Leave all other settings as is, click Save (at the bottom of the page).
- On the left, go to Trunks > DID Management, and do the following:
- Click the “Add DID” button, and configure as follows:
- Inbound DID: the phone # to associate with an individual
- Trunk: the name of the trunk you just created
- Mapped-To Account: the extension you want associated with that phone #
- Use it as Outbound-DID as well: Off (unless you want it on for some reason, but that’s up to you)
- Click OK.
- Repeat this process for all extensions and DIDs.
- Click the “Add DID” button, and configure as follows:
- On the left hand side, click Trunks > Dial Plans, and do the following:
- Name: Default
- Global: Yes
- Number presentation in dial plan: Domain number presentation (unless you have something more specific you want it to use)
- Check if number is in do not call list: Yes
- Star codes that are handled in dial plan: leave blank (to go with default)
- Route internal calls: Yes
- In the field boxes below, enter a 1 in Pref, and * for Pattern and Replacement. Make sure it’s enabled, and leave everything else as is.
- Click Save.
- Under Accounts, click Extensions. Make sure to add all of the following for each extension:
- Point your browser to the address you just set in Cloudflare (or other DNS management), i.e. pbx.yourcompany.com, and log in with the following:
- Provision phones
- Factory reset ALL phones before proceeding, and make sure that the firmware is the most current.
- Follow instructions based on phone’s manufacturer.