PBX User Guide

Version: v12.6.1

Date: July 08, 2021

Copyright ©2021, PortSIP Solutions, Inc. All rights reserved. No part of this document may be reproduced, translated into another language or format, or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of PortSIP Solutions, Inc.
Trademarks
PortSIP®, the PortSIP logo, and the names and marks associated with PortSIP products are trademarks and/or service marks of PortSIP Solutions, Inc. and are registered and/or common law marks in the United States and various other countries. All other trademarks are property of their respective owners. No portion hereof may be reproduced or transmitted in any form or by any means, for any purpose other than the recipient's personal use, without the express written permission of PortSIP.
End User License Agreement
By installing, copying, or otherwise using this product, you acknowledge that you have read, understand and agree to be bound by the terms and conditions of the PortSIP End User License Agreement for this product.
Open Source Software Used in this Product
This product may contain open source software. You may receive the open source software from PortSIP up to three(3) years after the distribution date of the applicable product or software at a charge not greater than the cost to PortSIP of shipping or distributing the software to you.
Disclaimer
While PortSIP uses reasonable efforts to include accurate and up-to-date information in this document, PortSIP makes no warranties or representations as to its accuracy. PortSIP assumes no liability or responsibility for any typographical or other errors or omissions in the content of this document.
Limitation of Liability
PortSIP and/or its respective suppliers make no representations about the suitability of the information contained in this document for any purpose. Information is provided “as is” without warranty of any kind and is subject to change without notice. The entire risk arising out of its use remains with the recipient. In no event shall PortSIP and/or its respective suppliers be liable for any direct, consequential, incidental, special, punitive or other damages whatsoever (including without limitation, damages for loss of business profits, business interruption, or loss of business information), even if PortSIP has been advised of the possibility of such damages.

Summary of Changes

Changes for Release v12.6.1
This release includes the following changes:
  • Removed the built-in backup/restore features, suggest use the VM snapshot to backup. Or user can simply backup the data directory: a. Windows: by default it's
    1
    c:/programdata/portsip
    Copied!
    b. Linux: by default it's
    1
    /var/lib/portsip
    Copied!
  • Support store the recording and log files to the AWS S3.
  • Support the Privacy header, if the UA makes call with the Privacy header, the PBX will forward this header to the callee.
  • When there have the call reached agent of the ring group/queue, the event will be published to the WebSocket Publish subscriber.
  • Provide a custom option allows includes the recording file ID in the CDR event JSON payload.
  • The REST API for list the CDR, call recording, black list is changed.
  • Fixed a crash bug if works with the MicroSIP App for presence.

Chapter 1. Getting Started with PortSIP® PBX

This guide is designed to assist administrators deploying PortSIP products in a Windows or Linux environment, and explain a number of deployment modes, architectures, and limitations of the solution.

1.1 What is PortSIP PBX

PortSIP PBX (also known as PortPBX, PortSIP UC Server) is a software-based Unified Communications system for Windows and Linux that works with SIP standard-based IP Phones, Softphones, SIP Trunks and VoIP Gateways to provide a complete PBX solution – without the inflated cost and management headaches of an "antiquated" PBX. The SIP PBX supports not only all traditional PBX features, but also includes many new mobility and productivity features.
Calls are sent as data packets over the computer data network instead of the traditional phone network. Phones share the network with computers so no separate phone wiring is required. With the use of a VoIP Provider, SIP Trunk, you can connect existing phone lines to the PortSIP PBX to make and receive phone calls via a regular PSTN line. You can also use a VoIP Provider, which removes the requirement for a gateway. PortSIP PBX interoperates with standard SIP softphones, IP phones or smartphones, and provides internal call switching.

1.2 Before Started

Prerequisite knowledge for Linux
Deploying PortSIP PBX in a Linux environment requires planning and knowledge of session initiation protocol (SIP) audio, video call and presence, Instant Messaging (IM) administration. You should also have knowledge of the following Linux infrastructures:
A popular Linux distribution:
  • CentOS 7.9 (64-bit)
  • Debian 10.x (64-bit)
  • Ubuntu 18.04 or 20.04 (64-bit)
  • Docker 20.10 or higher
  • IPv4/IPv6
  • Systemd
  • IP tables
  • Firewalld
  • UFW
This document assumes that the Linux OS is already deployed and administrators of PortSIP PBX have been allocated with the root permission to Linux.
Prerequisite knowledge for Windows
Deploying PortSIP PBX in a Windows environment requires planning and knowledge of session initiation protocol (SIP) audio, video call and presence, Instant Messaging (IM) administration. You should also have knowledge of the following Windows infrastructures:
A Windows desktop or Windows server OS:
  • Windows 10 (64-bit)
  • Windows Server 2012 R2
  • Windows Server 2016 R2 or higher
  • IPv4/IPv6
  • Windows firewall
This document assumes that the Windows OS is already deployed and administrators of PortSIP PBX have been allocated with the administrator permission to Windows.
Cloud and Virtualization Environment Supported
To build high-availability communication solution to help clients reducing cost and improving communication performance, PortSIP PBX commits support on cloud services and have confirmed compatibility with following cloud and virtualized environment:
  • VMware ESX 5.X and above.
  • Linux HyperV
  • Microsoft HyperV 20012 R2 and above
  • Microsoft AZURE
  • Amazon AWS
  • Google Could
  • Digital Ocean
  • UCloud
System performance depends on following key factors:
  • Maximum simultaneous calls needed for PBX
  • Maximum online users needed for PBX
  • Recordings for calls
  • Recording audio only or both of audio and video
  • Maximum online users for audio/video conferences on PBX
  • Maximum IVRs (Virtual Receptionist) on PBX
  • Maximum Call Queues on PBX
  • Maximum Ring Groups on PBX
Depending on the key features listed above, PortSIP PBX is able to run on PCs and servers with various CPUs ranging from Intel i3 CPUs to Inter Xeon.
Other Requirements
  • Latest Firefox, Google Chrome, Edge browser
  • Microsoft .NET Framework version 4.5 or higher
  • Knowledge of Linux and Linux Internet administration
  • Knowledge of Windows and Windows Internet administration
  • A constant Internet connection to stun4.l.google.com on port 19302
  • Ensure server date time is synced correctly.
FQDN Support
Although PortSIP PBX is designed to be able to run on servers without FQDN specified, we recommend to specify FQGN with following advantages:
  • Easier access to management console for PortSIP PBX
  • Easier management of IP phones and clients after IP address change for PBX
  • Convenient access to HTTPS when accessing management console
  • Avoid browser warning when access the WebRTC Client
The FQDN you are using must be able to be resolved correctly into the server with PortSIP PBX installed in LAN. If PortSIP PBX is installed on public network, FQDN must be resolved correctly into the public network address for server with PBX installed.

1.3 Getting Help and Support Resources

You can find the guide, manual, video tutorials at the PortSIP Knowledge Base, or send email to [email protected] to obtain the support.

Chapter 2. Installation of PortSIP® PBX

This chapter provides the instructions for installing the PortSIP PBX on Windows and Linux.

2.1 Downloading PortSIP PBX

The latest free edition of PortSIP PBX could always be found and downloaded at PortSIP Website. It’s available for both 64-bit Windows and Linux, but not for 32-bit version.
The free edition of PortSIP PBX offers a maximum of 3 simultaneous calls and 10 extension registrations. If you require more simultaneous calls/extensions, please refer to License Section for more details.
You will get the installer after download completed.

2.2 Installing PortSIP PBX on Linux

PortSIP PBX Linux edition is migrated to docker environment, which does not support RPM and Deb installer.
The OS required:
  • CentOS: 7.9
  • Ubuntu: 18.04, 20.04
  • Debian: 10.x
  • Only supports 64bit OS
Important
From v12.6.1, the PortSIP PBX requires running with the above Linux OS versions. If there already installed the PortSIP PBX which less than v12.6.1, and wish to upgrade to v12.6.1 or a later version, must upgrade the Linux OS to the above version before upgrade the PortSIP PBX.
Preparing the Linux Host Machine for Installation
Tasks that MUST be completed before installing PortSIP PBX:
  • If the Linux on which PBX will be installed is located in LAN, assign a static LAN IP address; if it's in public network, please assign static IP address for public network
  • Install all available updates & service packs before installing PortSIP PBX
  • Do not install VPN software on your PortSIP PBX Server
  • Do not install PostgreSQL on your PortSIP PBX Server
  • Ensure that all power saving options for your System and Network adapters are disabled (by setting the system to High Performance)
  • Do not install TeamViewer, VPN and other similar software on the host machine
  • PortSIP PBX must not be installed on a host which is a DNS or DHCP server
  • Below ports must be permitted by your firewall.
    UDP: 45000– 65000, 25000- 34999 TCP: 8899– 8900、8887-8888、8881-8885
  • Make sure that below ports have not been used by other programs:
    UDP: 45000– 65000, 25000- 34999 TCP: 8899– 8900、8887-8888、8881-8885
    IMPORTANT: If you running the PBX on the cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.
Installing a fresh PortSIP PBX v12.6.1 for Linux
To install the PortSIP PBX for Linux, please refer to: Setup PortSIP PBX for Linux
Configuring Linux Firewall Rules
After having successfully installed PortSIP PBX, the PortSIP PBX ports has been opened with Linux firewall. If your server has a firewall which is blocking the ports, you must open the below ports in order to make the PortSIP PBX working properly.
  • UDP ports: 45000– 65000, 25000- 34999 . These ports are used for the RTP sessions.
  • TCP: 8899– 8900、8887-8888、8881-8885. These ports are used for the Server control and WebRTC client.
  • UDP: 5060. This is the default UDP transport for SIP communications (to send and receive SIP signaling).
  • TCP: 5065. This is the default WSS transport for SIP communications in browser (to send and receive SIP signaling).
You also need to open the port that you are using for adding new transport:
  • Assume you have added a TLS transport on port 5063, you must open TCP port 5063 in your Linux firewall and
  • Assume you have added a TCP transport on port 5061, you must open TCP port 5061 in your Linux firewall
  • Assume you have added a UDP transport on port 5068, you must open UDP port 5068 in your Linux firewall
IMPORTANT: If you running the PBX on the cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.

2.3 Installing PortSIP PBX on Windows

Preparing the Windows Host Machine for Installation
Tasks that MUST be completed before installing PortSIP PBX.
  • If the Windows PC / server on which PBX will be installed is located in LAN, assign a static LAN IP address; if it's in public network, assign a static IP address for public network.
  • Install all available Windows updates & service packs before installing PortSIP PBX. The reboot after installing Windows updates may reveal additional updates. Pay particular attention to install all updates for Microsoft .Net before running the PortSIP PBX installation.
  • Anti-virus Software should not scan the following directories to avoid complications and write access delays: C:\Program Files\PortSIP; C:\Programdata\PortSIP
  • Do not install VPN, TeamViewer software on your PortSIP PBX Server
  • Do not install PostgreSQL on your PortSIP PBX Server
  • Ensure the “Windows Firewall” service has been started.
  • Ensure that all power saving options for your System and Network adapters are disabled (by setting the system to High Performance).
  • Disable Bluetooth adapters if it is a Windows client PC.
  • PortSIP PBX must not be installed on a host which is a DNS or DHCP server, or that has MS SharePoint or Exchange services installed.
  • Below ports must be permitted by your firewall:
    UDP: 45000– 65000, 25000- 34999 TCP: 8899– 8900、8887-8888、8881-8885
  • Make sure that below ports have not been used by other programs:
    UDP: 45000– 65000, 25000- 34999 TCP: 8899– 8900、8887-8888、8881-8885
  • Ensure your Windows Firewall is enabled
IMPORTANT: If you running the PBX on the cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.
Installing a fresh PortSIP PBX v12.6.1 for Windows
To install PortSIP PBX, you only need to double-click the installer, which will guide you through the installation process.
PortSIP PBX services will automatically start after successful installation (and there after every time your computer starts up).
Important: during installation, when you choose the folders for the PBX, below two folders must not same!!
Could not load image
folders
Configuring Windows Firewall Rules
After having successfully installed PortSIP PBX, the PortSIP PBX ports has been opened with Linux firewall. If your server has a firewall which is blocking the ports, you must open the below ports in order to make the PortSIP PBX working properly.
  • UDP ports: 45000– 65000, 25000- 34999 . These ports are used for the RTP sessions.
  • TCP: 8899– 8900、8887-8888、8881-8885. These ports are used for the Server control and WebRTC client.
  • UDP: 5060. This is the default UDP transport for SIP communications (to send and receive SIP signaling).
  • TCP: 5065. This is the default WSS transport for SIP communications in browser (to send and receive SIP signaling).
You also need to open the port that you are using for adding new transport:
  • Assume you have added a TLS transport on port 5063, you must open TCP port 5063 in your Linux firewall and
  • Assume you have added a TCP transport on port 5061, you must open TCP port 5061 in your Linux firewall
  • Assume you have added a UDP transport on port 5068, you must open UDP port 5068 in your Linux firewall
IMPORTANT: If you running the PBX on the cloud platform such as AWS, and the cloud platform has the firewall itself, you MUST open the ports on the cloud platform firewall too.

2.4 Preparing for upgrading to 12.6.1 from old versions on Windows

If your installation is PortSIP PBX Linux edition, please ignore this section 2.4.
Upgrade from v12.0/12.1
If your current installation is v12.0/v12.1, you can't upgrade it to v12.6.1 directly, you have to upgrade to v12.3.2 first. Please read this link to upgrade: Upgrade PortSIP PBX from v12.0 / v12.1 to v12.3.2
Upgrade from v12.2.x/12.3.0, 12.3.1
If your current installation is v12.2.x or v12.3.0, v12.3.1, you can't upgrade it to v12.6.1 directly, you have to upgrade to v12.3.2 first. Please follow up below steps to upgrade:
  1. 2.
    Double click it to install for upgrade to v12.3.2

2.5 Upgrading

Windows
  1. 1.
    Go to c:/programdata/portsip folder, delete all *.bak files and folders
  2. 2.
    Ensure your current installation is v12.5.x or v12.4.0 or v12.3.2, or is already upgraded to 12.3.2
  3. 4.
    After downloaded the v12.6.1 installer for Windows, you only need to double-click the installer, which will guide you through the upgrade process.
Linux
Please perform below commands to upgrade.
Note:
  • The IP_ADDRESS is the IP address of your PBX server. In this case it is 66.175.222.20, you will need to change it by yourself, if your server is on public internet network, this IP should be the public IP.
  • The POSTGRES_PASSWORD is used to specify the PortSIP DB password. In this case we will use 123456, you can change it by yourself.
The OS required:
  • CentOS: 7.9
  • Ubuntu: 18.04, 20.04
  • Debian: 10.x
  • Only supports 64bit OS
Important
From v12.6.1, the PortSIP PBX requires running with the above Linux OS versions. If there already installed the PortSIP PBX which less than v12.6.1, and wish to upgrade to v12.6.1 or a later version, must upgrade the Linux OS to the above version before upgrade the PortSIP PBX.
CentOS / Debian / Ubuntu:
1
$ docker stop -t 120 portsip-pbx
2
$ docker rm -f portsip-pbx
3
$ cd /var/lib/portsip
4
$ sudo rm -rf *.bak
5
$ sudo curl https://raw.githubusercontent.com/portsip/portsip-pbx-sh/master/v12.6.x/install_pbx_docker.sh|bash
6
$ docker pull portsip/pbx:12
7
$ docker container run -d --name portsip-pbx --restart=always --cap-add=SYS_PTRACE --network=host -v /var/lib/portsip:/var/lib/portsip -v /etc/localtime:/etc/localtime:ro -e POSTGRES_PASSWORD="123456" -e POSTGRES_LISTEN_ADDRESSES="*" -e IP_ADDRESS="66.175.222.20" portsip/pbx:12
Copied!

2.6 Avoiding HTTPS Certificate Security Warnings

PortSIP PBX listens on 8888 port for providing HTTP portal to access the PBX Management Console. Assume your server IP is 172.217.14.16, you should open this URL: http://172.217.14.16:8888 by your browser. Note: Chrome and Firefox is recommended, please don’t use IE.
PortSIP PBX listens on 8887 port for providing HTTPS portal to access the PBX Management Console.
Assume your server IP is 172.217.14.16, you should open this URL: https://172.217.14.16:8887 by your browser. Note: Chrome and Firefox is recommended. Please do not use IE.
For HTTPS portal default usage of the self-signed SSL certificate will cause the browser popups SSL certificate security warning.
To avoid SSL certificate warning, you will need to purchase a Signed Certificate (which is an authorized certificate issued by trustworthy certificate authority) to replace the self-signed one. To do this, please:
  • Resolve your PBX web domain (for example mypbx.com, if you don't have the domain you can purchase it from domain provider, such as Godaddy) to the PBX IP in case is 172.217.14.16.
  • Go to Thawte or Versign or other certificate providers to purchase a SSL certificate for your PBX Web Domain(in case is mypbx.com). Save the private key as portsip.key
  • After you have obtained the SSL certificate, rename the certificate to portsip.crt
Now place the portsip.crt and portsip.key files in a folder we will use it later.
Note: You may also obtain SSL certificate from Let’s Encrypt for free.

Chapter 3. Architecture and deployment of PortSIP® PBX

PortSIP PBX consists of various components, including Call Manager, Media Server, REST API Gateway, File Server, WebRTC Gateway, Database, Call Queue, Conference, Voicemail, MOH, Auto Attendant, Instant Messaging, and Presence Server. Below is a high level architectural diagram about how it works.
Could not load image
PortSIP PBX could be deployed in wide range of scenarios. It is supported in LAN and Internet, as well as popular cloud platforms, such as AZURE, AWS, Digital Ocean and Google Cloud, UCloud, Tencent Cloud, Alibba Cloud. After successful installation of PortSIP PBX with setup wizard, all you need is a few clicks to make it running.
Running the PortSIP PBX Configuration Wizard
The PortSIP PBX configuration wizard will guide you through a number of essential tasks to get your system up and running. PortSIP PBX listens on 8888 port for providing HTTP portal to access the PBX Management Console, and listens on 8887 port for providing HTTPS portal. More details please read the 2.6 section.
  • Access the PBX Management Console by visiting http://172.217.14.16:8888 or http://mypbx.com:8888 if you resolved your PBX web domain to PBX IP.
  • Enter the Username and Password (defaulted as ”admin” for both) and click the “Sign in” button. Note that both the Username and Password are case sensitive. The “Setup Wizard” will be displayed which will guide you through the initial configuration step by step
You may change the default Username and Password for "admin" by navigating to "Profile" > "General" in PortSIP PBX Management Console.

3.1 Deploying PortSIP PBX in LAN

Assuming that PortSIP PBX is deployed in LAN with Internet connection, the server/PC has installed the PBX and the private IP is 192.168.0.16. As the PBX is connected to SIP trunk or VoIP provider, users can not only make & receive calls in LAN, but also make & receive external calls with PSTN number and mobile users via services provided by pre-configured SIP trunk or VoIP providers.
Could not load image
deploy_1
Step 1:
If you want to use the HTTPS with PortSIP PBX Web management console and WebRTC client,, you must set up the "Web Domain" here, and prepare a SSL certificate for this "Web Domain" since the browser is requires a trusted certificates otherwise it will block the HTTPS and WebRTC Client. In case we use the mypbx.com. You will also need resolve your Web domain mypbx.com to your PBX server IP.
Enter the Public IPv4 if you have a static public IP of your LAN. Do not enter the Public IPv4 if your public IP is dynamic.
Note: the loopback interface (127.0.0.1) is unacceptable. Only the static IP for LAN where the PBX is located is allowed (do not use DHCP dynamic IP). This private IP must be reachable by your SIP client.
The IP address entered here is the SIP server IP address for PBX. It is required when a SIP client or SIP IP phone registers to PortSIP PBX should be configured as the "Outbound Proxy Server".
Could not load image
deploy_2
Step 2:
You will now need to enter your SIP domain here. The SIP domain is usually a FQDN (Full Qualified Domain Name). You could use IP address instead if you don’t have an FQDN. The SIP domain does not have to be resolvable, it’s used for PBX authentication purpose only.
After setting up the SIP domain (in this case it is portsip.io), the extension SIP URI will be sip:[email protected]. For example, the extension 101 SIP address would be: sip:[email protected]. If you don't want to use domain here, enter the private IP (for example: 192.168.0.16) of the Server which has installed the PortSIP PBX instead of the domain (FQDN). In this case the extension 101 SIP address would be: sip:[email protected]
Could not load image
deploy_3
Step 3:
You can set transport layer protocol for the SIP signaling here, with the default transport UDP on port 5060. Note: You can add more transports in PortSIP PBX Management Console after this Wizard.
Could not load image
deploy_4
Step 4:
If you want to use the HTTPS with PortSIP PBX Web management console and WebRTC client, you must upload the SSL certificates file here for WSS transport, by default the PBX listens 5065 port for WSS transport which communicates with the WebRTC client.
Note: You can use the self-signed certificates here but it will cause browser pop ups the warning when you open the WebRTC client, you can purchase a trusted certificate to avoid the browser blocking and warning. More details please read the 2.6 section.
Step 5:
Setup mail server. You may set up the SMTP mail server in this step for receiving notifications, voicemails, conference invitations and CDR downloads. You can use your SMTP server or Gmail SMTP server.
Note: This step is not mandatory. You may choose to setup SMTP server whenever necessary.
By clicking the “Apply” button, you have now completed the initial configuration of PortSIP PBX. You will be redirected to Management Console.
Step 6
After successfully completed the setup wizard, you have to restart the PortSIP PBX in order to make the SSL certificates work.
Linux:
1
$ sudo docker exec -it portsip-pbx /bin/bash
2
$ supervisorctl stop nginx
3
$ supervisorctl stop gateway
4
$ supervisorctl start nginx
5
$ supervisorctl start gateway
Copied!
Windows:
Restart the Windows Server directly.
After restarted, you can sign in PortSIP PBX Management Console by URL https://mypbx.com:8887
If you don't use trusted certificate files for the WSS transport, you will get the browser warning and blocked when you use WebRTC client.
Please refer to 2.6 Avoid HTTPS Certificate Security Warnings to learn how to avoid the browser warning and blocking.

3.2 Deploying PortSIP PBX in the cloud

PortSIP PBX can be deployed on popular cloud platforms such as AWS, GCE, AZURE, Digital Ocean.
In this section we will use the AWS as an example, as the other cloud platforms are quite similar to the way how AWS works.
When PortSIP PBX is deployed on AWS, user can make or answer calls through PortSIP PBX with other users through Internet, and make or answer external calls via SIP trunk or VoIP provider.
Please refer to Creating an AWS account if you do not have an AWS account, and you will need to launch an EC2 instance for installing the PortSIP PBX.
Could not load image
aws_1
Step 1:
On the left bar of AWS EC2 Management Console, choose “Elastic IPs”. As you see the “Elastic IP”, please write it down for future use. If the “Elastic IPs” does not exist, click “Allocate New Address”, and associate the Elastic IP to your instance.
Could not load image
aws_2
Step 2:
In the Configuration Wizard of PortSIP PBX, enter the private IP of AWS EC2 as "Private IPv4", and enter the “Elastic IP” of AWS EC2 as "Public IPv4".
Now remaining steps are same to the "3.1 Deploy PortSIP PBX in LAN"

3.3 Deploying PortSIP PBX in other scenarios

If you would like to deploy PortSIP PBX in other scenarios which are not mentioned above, you will need to get the server IP address (public IP and private IP) and enter in the PBX setup wizard and follow the Configuration Wizard for deployment.
Note: if the server only has public IP but no private IP, please enter the public IP for both Private IPv4 and Public IPv4.

Chapter 4. PBX Overview

4.1 Summary

Could not load image
summary
In this page we can have an overview of the PBX statistics:
  • Version
  • Uptime
  • Events
  • Extensions
  • Tenants
  • Active Calls
  • CPU and memory usage
  • Call statistics for the past 24 hours

4.2 Services Status

Could not load image
services
You may navigate to “Home > Service Status” menu in the PortSIP PBX System Management Console to quickly view if all PortSIP PBX system services are working correctly.

4.3 Network

This section provides an overview of the general network configurations of PBX, including DNS Server, PBX IP, SIP domain, transports. These settings are useful for SIP clients to register to PBX.

4.4 System extensions

PortSIP PBX defines services such as Virtual Receptionist (auto attendant), Conferencing, Ring Group, Call Queue, voicemail and Music on Hold as system extensions, which could be used by PBX only. To check if the system services are correctly registered to PBX, please go to “Home > System Extensions” menu in the PortSIP PBX System Management Console.

Chapter 5. Call Manager

After completing the Configuration Wizard, you may manage PortSIP PBX in the Management Console.

5.1 Domain and Transport

The SIP domain is used during client registration and calling, and it should match the domain part of your own SIP address on your phone - i.e. if other people are going to call your phone, they must use that domain name as part of the SIP address they use to reach you. The domain can be a FQDN or the IP address, for example “portsip.io” or “192.168.0.16”.
The SIP domain is configured within “Setup Wizard” when you sign into Management Console for the first time. To modify a SIP domain, go to “Call Manager > Domain and Transport”, and click “Edit” button to enter new SIP domain and save.
Could not load image
domain
PortSIP PBX supports a wide range of transports, including UDP, TCP, TLS, WSS (WebSocket Security) for SIP message. You need to configure the transport, and set the ports to use when listening for SIP messages.
The default transport has been configured with “Setup Wizard”. To make changes, you need to select the “Call Manager > Domain and Transport” menu, and click “Add” button in “Transports” section. The domain must be added before you add a new transport.
Note: only administrator are allowed to create or delete SIP transport. When deleting, at least one transport must be left around.
Add UDP/TCP/WS transport
To add UDP/TCP/WS transport:
  • Click the “Add” button, choose the UDP/TCP/WS in “Transport protocol” box. The default Transport Port for UDP/TCP/WS is 5060/5063/5062. You may specify another port as you like, but the port must not be in use by other applications
  • Click the “Apply” button to add the transport
Add TLS/WSS transport
In order to use the WebRTC Client, we must add the TLS/WSS transport with self-signed certificate.
If you already uploaded the SSL certificate files in the step 4 of "Section 3.1", then the WSS transport is already added.
First of all, prepare the certificate files.
  • You have to generate the certificate files by yourself if you have not purchased trusted certificates from a trusted third-party certificate provider(for example, versign, thawte, digicert). Please download the certificate file tool from PortSIP website (or run PortCertMaker.exe in the installation path of PBX), enter your "PBX Web domain" which you entered in the step 1 of "Setup Wizard". Once clicked “Generate” button, certificate files will be generated automatically.
  • The certificates include three files (assume your "Web Domain" is mypbx.com): domain_key_mypbx.com.pem
    domain_cert_mypbx.com.pem
    root_cert_mypbx.com.pem
  • Rename domain_key_mypbx.com.pem to portsip.key, rename domain_cert_mypbx.com.pem to portsip.crt
You can also follow below steps if you would like to purchase certificate files from a trusted third-party provider (assume purchased certificate for mypbx.com):
  • Generate the CSR file and private key file according to provider’s guide, and keep the files. If you have set the password when generating the private key file, remember it for future use;
    • Rename the private key file as portsip.key
    • Submit the CRS file to provider, and download the certificate files after your certificates approved. This step will end up with two files: Intermediate CA certificate and SSL certificate
    • Use a plain text editor for example Windows Notepad (do not use MS Word) to open the Intermediate CA file and SSL certificate file, copy the Intermediate CA contents to append to the SSL certificate file, and rename SSL certificate file as portsip.crt.
  • Click “Add” button and choose the TLS or WSS in “Transport protocol” box. The default Transport Port for TLS/WSS 5063/5065. You may specify another port as you like, but the port must not be in use by other applications
  • Click the Upload button to choose the certificate files that you have generated for uploading, “portsip.crt” for the “Certificate file”, “portsip.key” for the “Private key file”.
  • Click the “Apply” button to add the transport
Important: after added TLS/WSS transport,please perform below commands to restart server.
Linux:
1
$ sudo docker exec -it portsip-pbx /bin/bash
2
$ supervisorctl stop nginx
3
$ supervisorctl stop gateway
4
$ supervisorctl start nginx
5
$ supervisorctl start gateway
Copied!
Windows:
Restart the Windows Server directly.
After restarted, you can sign in PortSIP PBX Management Console by URL https://mypbx.com:8887
If you don't use trusted certificate files for the WSS transport, you will get the browser warning and blocked when you use WebRTC client.
Please refer to 2.6 Avoid HTTPS Certificate Security Warnings to learn how to avoid the browser warning and blocking.
Firewall for new added transports
You have to edit your firewall rules to permit the port that you specified for the transports. For example, you have added below transports in PortSIP PBX: UDP: 5060 TCP: 5061 TLS: 5063 WS: 5064 WSS: 5065
Then you must add below firewall rules for your PortSIP PBX: UDP: 5060 from IP: 0.0.0.0(anywhere) TCP: 5061 from IP: 0.0.0.0(anywhere) TLS: 5063 from IP: 0.0.0.0(anywhere) TCP: 5064 from IP: 0.0.0.0(anywhere) TCP: 5065 from IP: 0.0.0.0(anywhere)

5.2 Phones

Phone Auto Provisioning
Once PortSIP PBX is installed, you can configure your IP phones and assign an extension to each phone.
Phones can be configured one by one manually using their web interface, which is time consuming and leads to many errors; Or by using phone provisioning feature offered by PortSIP PBX, which makes it possible to manage phones centrally and remotely and without having to login to the phone’s web interface one by one. Using this method you instruct the phone to retrieve its configuration from PortSIP PBX.
Phone provisioning greatly eases day to day management of IP phones. It makes it easy to change extension passwords, BLF lights and so on because you can do it centrally for all phones from the PortSIP PBX Management Console and then push the changes to the phone. The following provisioning methods are supported:
  • Plug and Play - Supported IP phones can be provisioned automatically using plug and play (Applicable for phones on the local LAN)
  • Via RPS - For the Yealink, Fanvil, Htek IP Phones, they can be provisioned by the RPS
  • Via Manual Provisioning URL - Supported IP phones can be provisioned by entering the provisioning URL into the phone's web interface (Applicable for local, remote and SBC extensions)
  • Via DHCP Option 66 - Legacy phones (from a previous PBX installation, e.g. Polycom, Cisco or Aastra) can be provisioned via DHCP for use in the local LAN only. Some limitations apply
You can find a list of supported and legacy phones here. Additional half an hour to provision the phones saves more hours from future efforts!
Provisioning phones by using Plug and Play (for local LAN)
Could not load image
auto_1
Note**: PnP provisioning requires that the PortSIP PBX runs on the default sip port 5060 and that the IP phones resides on the same local LAN subnet as PortSIP PBX.
To auto provision phones using Plug and Play:
  1. 1.
    Plug the phone into the network
  2. 2.
    The phone will send a multicast message across the LAN, this will be picked up by PortSIP PBX
  3. 3.
    The phone will show up in the “Call Manager > Phones” menu in the PortSIP PBX Management Console as a new phone
  4. 4.
    Assign the phone to an existing extension or create a new one for the phone
  5. 5.
    Go to the extension’s “Phone Provisioning” tab and specify other configuration settings for the phone
  6. 6.
    Enter the password for access IP Phone web UI
  7. 7.
    Select “Phone Display Language” and “Timezone” for the phone
  8. 8.
    Click “OK
  9. 9.
    The PBX send the configuration file URL to IP Phone, IP phone will download the configuration file
  10. 10.
    The phone will apply the settings and connect to PortSIP PBX. The IP phone will be manageable from within the PortSIP PBX Management Console
Provisioning Phones using provisioning link manually
Remote phones that are not in same LAN with PortSIP PBX, it must be configured manually by the provisioning link. To provision a remote phone:
  1. 1.
    From the “Call Manager > Phones” menu in the PortSIP PBX Management Console, select “Add Phone”.
  2. 2.
    Select the extension that the phone uses.
  3. 3.
    Enter the MAC address of the phone (which can be found at the bottom of the phone).
  4. 4.
    Select the appropriate phone model from the drop down menu.
  5. 5.
    Select “Phone Display Language” and “Timezone” for the phone.
  6. 6.
    Enter the password for access IP Phone web UI
  7. 7.
    Click "Apply" button and then edit this extension.
  8. 8.
    Copy the provisioning link.
  9. 9.
    Insert the provisioning link manually into the phones. You can find it in “Phone Provisioning” tab of extension configuration.
Provisioning remote Phones by RPS
Could not load image
rps
In the case PortSIP PBX locates in cloud, IP Phones can be auto provisioned via RPS (RPS is a service provided by IP Phone vendors). PortSIP PBX supports for Yealink, Htek, and Fanvil RPS. If you are using the IP Phone from one of the providers above, you may configure your IP Phone in a very easy way, without the need to manually copy the auto provisioning link (in this scenario the PnP mode is unavailable).
  1. 1.
    From the “Call Manager > Phones” menu in the PortSIP PBX Management Console, select “Add Phone”.
  2. 2.
    Select the extension that the phone uses.
  3. 3.
    Enter the MAC address of the phone (which can be found at the bottom of the phone).
  4. 4.
    Select the appropriate phone model from the drop down menu.
  5. 5.
    Select “Phone Display Language” and “Timezone” for the phone.
  6. 6.
    Enter the password for access IP Phone web UI
  7. 7.
    Click "Apply" button, the PortSIP PBX will writes the provisioning link to the IP Phone's RPS. Once the IP Phone is started, it will query the provisioning link with its MAC address to complete the auto provisioning.
Provisioning Legacy phones: Cisco, Polycom & Aastra
Could not load image
auto_2
Cisco, Polycom and Aastra phones do not support plug and play nor secure HTTPS provisioning with a Let’s encrypt Root CA or self-signed CA. They can only be used on the local LAN and must be provisioned as follows:
  1. 1.
    Download the firmware that has been tested by PortSIP with the legacy phones.
  2. 2.
    Factory reset your phones to ensure that there are no old settings that might conflict with the new configuration. Find out how here for Aastra, Cisco, Cisco SPA and Polycom SoundPoint / SoundStation.
  3. 3.
    Now add the phone to an extension. You can do this from the phones page or you can go straight to the extension, provisioning tab. Click “Add Phone”.
  4. 4.
    Select your phone model
  5. 5.
    Enter the MAC address of the phone. You will be taken to the provisioning page
  6. 6.
    Select “Phone Display Language” and “Timezone” for the phone
  7. 7.
    Enter the password for access IP Phone web UI
  8. 8.
    Click “Apply” to add the phone to the extension
  9. 9.
    IMPORTANT: Please take note of the provisioning link shown on “Auto Provisioning” tab.
Now configure the phone to retrieve the configuration from the PortSIP provisioning folder. Use DHCP option 66 or configure the phones manually via their web interface with the PortSIP provisioning link. Cisco 7940/7960 phones must be provisioned using TFTP and DHCP option 66.
Detailed Step by Step guides for legacy phones:
See Also
Remote phones? Read our guide on Provisioning a Remote Extension.
Using Provisioning IP Phone via DHCP 66 to configure the provisioning URL for legacy phones.
See the list of Supported IP Phones by PortSIP PBX.
Setting up a TFTP server for firmware updates.
Factory resetting Aastra, Cisco, Cisco SPA, Gigaset, Panasonic, Polycom SoundPoint, Polycom Soundstation, Yealink.

5.3 Managing Phones

PortSIP PBX provides an easy way to monitor and manage your phones and softphones throughout your network. The “Call manager > Phones” menu in the PortSIP PBX Management Console allows you to:
  • View all the phones in the network, including IP and MAC.
  • View all PortSIP Clients connected in softphone mode.
  • Check the firmware version that the phone is running.
  • Remotely reboot one or all of the phones.
  • Re-provision the phones.
  • Launch the admin interface of the phone.
  • Monitor security of extension password and PIN. Weak extension passwords and PINs are the most common cause of security breaches.
Adding Phones
You can add phones to PortSIP PBX in the following ways:
  • Plug and Play - Plug in the phone in the local LAN
  • By MAC - for legacy phones
  • By RPS - for remote phones
Plug and Play (LAN & SBC)
If you are connecting a supported phone that is on the same LAN as PortSIP PBX, you will see the phone appear on the phones page, with its entry in BOLD. This means PortSIP PBX has detected a new phone on the network that you need to process.
Select the phone and decide to:
  1. 1.
    Assign the phone to an existing extension. Click “Assign Ext” You will be prompted for the extension number.
  2. 2.
    Create a new extension for the phone. Click the “Add Ext” button. You will be taken to the create extension page and prompted for Extension name and number. Click “OK” to create the extension.
  3. 3.
    Reject the phone. If the phone does not look familiar to you, or it has not been authorized for use with PortSIP PBX, you can “Reject” to delete the provisioning request.
By MAC - for legacy phones
You can add new legacy phones that do not support plug and play, as follows:
  1. 1.
    Click “Add Phone” from the “Phones” tab.
  2. 2.
    Select extension this phone uses.
  3. 3.
    Now select the phone model.
  4. 4.
    Enter the MAC address of the device and click “OK”.
  5. 5.
    You will be taken to the provisioning page of that extension.
  6. 6.
    You can optionally configure other settings for the phone.
  7. 7.
    When done, click “Save” to add the phone to the extension.
  8. 8.
    Configure the DHCP server to serve the configuration URL, or configure it from the phone web interface.
Provision Remote extensions by RPS
If you are adding phones that are installed remotely, i.e. PBX in cloud, you must:
  1. 1.
    Click “Add Phone” button from the “Phones” tab.
  2. 2.
    Select extension this phone uses.
  3. 3.
    Select the phone model.
  4. 4.
    Enter the MAC address of the device and click “OK”.
  5. 5.
    You can optionally configure other settings for the phone.
  6. 6.
    When done, click “OK” to add the phone to the extension.
  7. 7.
    Now the PortSIP PBX will write the provision link to the IP Phone RPS. Once the IP phone starts, it will obtain the link from the RPS to download the profile from PortSIP PBX. Note: currently PortSIP PBX only support the PRS for Yealink, Fanvil, Htek. If your IP Phone is not provided by one of them, please follow the step 8.
  8. 8.
    Copy the provisioning link and insert to your IP phone manually.
Accessing the Phone UI
PortSIP PBX allows you to easily access the password protected web interface of your configured phones. PortSIP PBX will provision them with a username and unique password and manage the credentials for you. To access the Phone UI:
  • Select the phone and click on “Phone UI”.
  • For most phones, you will be taken straight to the phone UI page.
  • For some older phones you might be asked to enter the password for the phone. In this case, click the “Password” button, for the password to be shown, and copy paste the password configured for the phone in the phone authentication page.
Changing Phone Settings
Changes made to the phone configuration from the “General” tab of the “Extensions” section or within the “Phone Provisioning” tab of the “Settings” section for certain extension, will take effect within 24 hours. You can re-provision the phones to force them to pick up the new configuration immediately. If you need to re-provision the phones, for example after you have made configuration changes:
  1. 1.
    Select the phones that you wish to re-provision.
  2. 2.
    Click “Reprovision”.
  3. 3.
    If the phone needs a reboot, it will be done automatically.

5.4 Extension Management

This section explains how to create and configure extensions in PortSIP PBX. There are multiple methods to create an extension.
● When provisioning a new phone, you could choose to create a new extension. ● Extensions can be manually created from the “Extensions”. ● Extensions can be imported from a .csv file. ● Create the extension by calling REST API.
Could not load image
extension_1
To configure an extension, click on “Call Manager > Extensions” in the PortSIP PBX Management Console. Click on “Add” to create a new one, or select an existing extension and click the Edit button to configure or manage the existing extension users. “Web Access Password” is used by extension users to log into Web management console.
General
In the section of “General”, you can enter the extension number, password, first name, last name and the email address of the user. The extension number can be numerals or letters; the extension number and password are required. A welcome email with information on the extension created, as well as voicemail and missed call notifications (configurable) will be sent to the specified email address.
The field “Web Access Password” is used for the extension to sign in Management Console.
If the SMTP server is configured, once an extension is successfully created and the its email is set, PortSIP PBX will send an email to the extension's email which includes the extension information and PBX parameters such as PBX SIP Domain, PBX IP, and the QR code. User can use the PortSIP UC App to scan the QR code to login to PBX without enter the details.
There is a QR code for this extension, you can use PortSIP App to scan the QR code to sign in the PBX rather than entering the information manually.
In the “Direct Inbound Dialing (DID)” section, you can select a DID for the extension instead of creating an inbound rule separately.
Exceptions” - create exceptions by entering the “Caller ID”, selecting the time frame in “Received During” and chose the action in “Action” to bypass the extension forward rules.
Note: The email that you entered should be unique, duplicated email is not allowed since PortSIP PBX v12, user can use extension's email to sign in the PortSIP PBX Management Console.
Voicemail
The “Voicemail” tab allows you to configure the extension’s voice mail preferences (including the voicemail PIN number for authentication), enable/disable PIN Authentication, play Caller ID, and enable PortSIP PBX to read out the Caller ID and the Date/Time on which the message was received.
After the extensions created successfully, the “Greetings for Voice Mail” section allows you to configure your voicemail greetings.
Click the ""Browse"" button to upload the new greeting file, and click the “Lock” icon to specify it as greeting file.
Forwarding Rules
Each extension can have a set of call forwarding rules that define what PortSIP PBX should do when the extension user is unable to answer an incoming call. This can be configured on the basis of following:
  • The user’s status
  • The time
Each status requires a call-forwarding rule. For example, if the user is unable to take a call whilst their status is “Available”, you can forward the call to voicemail (The voicemail must enabled in the "voicemail" tab) or to the mobile phone number.
Note: forwarding the call to certain mobile number requires the VoIP provider and outbound rule configured.
Options
The “Options” tab allows you to configure options, restrictions and access for the extension:
  • Outbound Caller ID – Outbound Caller ID could be entered here for extension, so that when the extension starts external calling via certain provider/SIP trunks, an outbound caller ID could be a replacement for certain SIP field. For more details, please refer to Section 5.6.
  • Caller ID for External Emergency Call – It could be entered here for extension, so that when the extension starts emergency external calling via certain provider/SIP trunks, this ID could be used as a replacement of certain SIP field. For more details, please refer to Section 5.6.
  • Record audio calls – If checked, all calls for this extension will be recorded as wav file.
  • Record video calls – If checked, all video calls for this extension will be recorded as AVI file.
  • Enabled – If un-checked, the extension will be disabled.
  • Allow Paging/Intercom – If checked, the extension will be allowed to make Paging/Intercom calls. This options can't be changed since it is inherited from the "Extension Groups".
  • Allow External Calls – If checked, the extension will be allowed to make call to external number via configured VoIP Provider/SIP Trunk. This options can't be changed since it is inherited from the "Extension Groups".
  • Allow Management Console Access – If checked, the extension will have the access to PBX Management Console. This options can't be changed since it is inherited from the "Extension Groups".
  • Belonged groups - It indicates the extension groups that this extension belongs with.
Office Hours
The Office Hours Scheduling feature allows a user’s status to be changed on the base of global office hours or specific office hours.
Select if the extension would follow the Global Office Hours, or use Specific Office Hours. To specify Specific Office Hours, enable the option and choose the time for a week, and click left or right arrow to apply in use.
Phone Provisioning
The "Phone Provisioning" tab allows you to add or edit settings of phones linked to this extension. The management of IP phone settings is discussed in “Phone Provisioning”.
BLF
You can configure the BLF lights on an IP Phone in this tab.
Match a BLF button with an extension, so that this button will show the status of that extension. The number of available BLF buttons varies per phone.
The following options are available for BLFs:
  • BLF – shows presence of another extension.
  • Speed Dial – link to a phone number for easy calling
  • Custom Speed Dial
  • Change status
Billing
The admin/tenant can set the balance for extension. When billing is enabled and the balance is not enough (see section 5.13), the call will fails.
Profile
You can configure the extensions profile here. The company name and company website cannot be modified. These fields are inherited from administrator’s profile when the administrator creates extensions.

5.5 Extension Groups

Extensions and administrators could be managed under “Extension Group” of Call Manager.
Extension groups are used to determine what and to whom the information is shown. The defaulted extension group “DEFUALT” cannot be deleted or modified.
Note: that an extension has to be a part of at least one group. When a new extension is created, it will be grouped into “DEFAULT” by automatically.
Users can be assigned permission to view details about other members in their group, and managers can be assigned elevated rights over users in their group. Rights are assigned on the basis of Group membership, which means that a manager will be able to see call details of any member of their group, regardless of the call destination or origin.
Creating Extension Groups
On the left menu of Management Console, select "Call Manager > Extension Groups", and click Add button. Fill in the Group Name and Group Description in Group Information, and choose the Group Member Rights to be set.
By clicking "Group Members" tab, you could add existing extension users into the group. Once finished, click the Apply button to complete the creation of group.
Once an extension group is granted the permission “Allow Access to Management Console”, all extensions in this group could sign in PortSIP PBX Management Console. Assume the "web access password" for extension 101 is 111111, the SIP domain set in PBX system is portsip.io, and the extension 101 belongs to default group which has been granted with login permission to the system Management Console, extension 101 could login with below info:
  • Choose "Sign in with Extension Number"
  • Extension number: 101
  • Extension web password: the web password of extension 101, in this case it is 111111
  • SIP Domain: portsip.io
An extension may be assigned to various group simultaneously, and owns a collection of the permission for these groups.
Monitor
The extension group contains a "Monitor" tab, which is used for setting the monitor permissions for the extensions. In this tab, you can choose multiple extensions to assign them the "Monitor" permissions. The monitor members can silence monitor other extensions’ calls, whisper, barge-in, and barge-break the extensions calls. It is commonly used for CTI purpose. For more details please see CTI section.

5.6 Providers / Trunks

VoIP providers/trunks “host” phone lines and replace the traditional telco lines. VoIP providers/trunks can assign local numbers in one or more cities or countries and route these to your. In most cases they also support number porting.
VoIP providers/Trunks are able to offer better call rates because they may have an international network or have negotiated better rates. Therefore, using VoIP providers can reduce call costs.
We recommend to use supported VoIP providers as all of our supported VoIP providers have been tested for interoperability with PortSIP PBX, and are retested with each new build. The configuration wizard allows you to quickly and easily add them.
PortSIP PBX supports two types of VoIP providers:
  • Registration Based – These VoIP providers require the PBX to register with the provider by using an authentication ID and password. Most of the VoIP providers are predefined in PortSIP
  • IP Based - IP Based VoIP Providers / SIP Trunks do not generally require the PBX to register with the provider. The IP address of the PBX needs to be configured with the provider, so that it knows where calls to your number should be routed
Only the admin can add/edit/update the provider/trunk. Once the admin adds a provider/trunk, and the admin can specify the it available to one or more tenants.
The tenants can only see the trunks/providers which assigned to him by admin, and create the inbound/outbound rule on its base.
Configuring VoIP Provider / SIP Trunk
First, you need to have an account with a VoIP service provider. PortSIP PBX supports most of the popular SIP-based VoIP service providers/SIP Trunk, and we recommend to use one that has been tested and approved by PortSIP as PortSIP PBX includes pre-configured templates for these VoIP providers.
Could not load image
trunk_1
After you have created the VoIP provider account, you will need to configure the account in PortSIP PBX. To do this:
  1. 1.
    Select “Call Manager > VoIP Providers/Trunks > Add”. Enter a friendly name for this VoIP provider
  2. 2.
    Select the Country for the VoIP provider. If the country that the providers locates is not listed, please choose “Generic
  3. 3.
    Select your VoIP provider from the Provider drop-down list. If your provider is not listed, select “Generic”.
  4. 4.
    The hostname of SIP server or IP may be prefilled. Compare these information with the details that you have received from your VoIP provider and check if they are correct. Depending on the VoIP provider that you are using, some fields will be disabled, which means you do not need to change them Note: For generic providers, you need to fill in relevant parameters for server by yourself. Please consult your provide for more details
  5. 5.
    Transport. The transport which used for the PBX communicates with your provider / trunk, you should consult your provider and choose appropriate transport, currently support UDP and TCP. The transport must added in PBX before add the provider / trunk. For example, if your provider requires the TCP, you should add the TCP transport in PBX, please refer to section 5.1
  6. 6.
    If your provider is verified on IP address and does not require registration, please choose "IP Based" for"Authentication Mode"
  7. 7.
    If you have customized a provider such as the E1 gateway and it is located in the same LAN with PBX, or other PBX/SIP servers, please check “Provider is located in same LAN with PBX
  8. 8.
    This provider only accepts single via SIP header. Usually the providers/trunks only accept single via SIP header. It is selected by default
  9. 9.
    Enter the VoIP provider account details. Enter the Authentication ID/username and password of your VoIP provider account. If your provider/trunk is IP based, no need to enter them.
  10. 10.
    Associated IPs of Provider. For some providers/trunks, it maybe sends the INVITE message to PBX from multiple IPs rather than from the host only. You need to enter each IP here and click the "Add" button to add them
  11. 11.
    Click the "Tenants" tab, choose one or more tenants to allow them access this trunk/provider.
  12. 12.
    Once a tenant is assigned with the trunk/provider, admin can also set the DID pool for this tenant. When tenant creates the inbound rule based on this assigned trunk/provider, he can only use the DID number from the DID pool.
  13. 13.
    Admin can leave the DID pool empty for a tenant, so that the tenant cannot create the inbound rule based on this trunk/provider, but no matter to create the outbound rule based on this trunk/provider.
  14. 14.
    The DID Pool format: allows to set the wildcard *. If a tenant is assigned with the trunk/provider, and the DID pool is set as "*". When we assign this trunk/provider to other tenants, we cannot set any DID pool for them (the DID pool can be left as empty) since the "*" is already assigned to the first tenant.
  15. 15.
    The DID pool allows to set a numerical prefix and wildcard *. For example, setting the DID pool as 44****** means all numbers started with 44 and a total length of 8. Once the inbound rule is created, any number started with 44 and a total length of 8 can be set as DID number for this rule.
  16. 16.
    The DID pool allows to set a number range like 12000-18000, or 22000-22800. Setting the number range requires the start number and end number use a same prefix: 12000-22000 is not allowed. The numbers must has same amount of digits: 12000-180000 is not allowed. The start number must be less than end number: 18000-12000 is not allowed.
  17. 17.
    DID pool allows to set a semicolon-separated list of multiple ranges, for example: 123;1100-1200;44******
Could not load image
did_pool
The PortSIP PBX will display all added providers/trunks status by clicking “Call Manager > VoIP Providers/Trunks” menu.
Configure E1/T1 Gateway register to PortSIP PBX
Consider we deployed the PortSIP PBX on a cloud platform such as AWS, AZURE, GCE, and wish to configure the E1/T1 gateway which located in local LAN as a trunk for the PortSIP PBX, but the E1/T1 without static public IP, we can't configure the Authentication mode to "IP Based" and "Register Based".
For this scenario, we can configure that E1/T1 is registering to the cloud PortSIP PBX from local LAN, then the E1/T1 can act as the VoIP Provider / SIP Trunk works with PortSIP PBX for make & receive calls.
Please follow the below steps to config the E1/T1 register to the cloud PortSIP PBX.
  1. 1.
    Select “Call Manager > VoIP Providers/Trunks > Add”. Enter a friendly name for this VoIP provider.
  2. 2.
    Choose “Generic” for both provider country and provider brand.
  3. 3.
    Enter a domain for the "Host" filed, this domain doesn't require to exist, you can enter any domain here, for example, portspitrunk1.io.
    Important: ensure this domain does not equal to any tenant's SIP domain.
  4. 4.
    Please choose "Accept Register" for"Authentication Mode".
  5. 5.
    For the "Authorization Name" , you can enter any number here, for example 123456, the E1/T1 gateway will use this for the authorization when it registers to PortSIP PBX.
  6. 6.
    For the password, you can enter any password here, the E1/T1 gateway will use this for the authorization when it registers to PortSIP PBX.
  7. 7.
    Other settings are the same as the previous section for confining the "IP based" and "Register based" VoIP provider/Trunk.
  8. 8.
    After applied the settings, now you can configure the E1/T1 gateway to let it register to the could PortSIP PBX. In the E1/T1 settings, set up the step3 "Host" as "SIP Domain/SIP Server", for example portsiptrunk1.io, set up the cloud PBX public static IP as "Outbound Proxy Server",set up the PortSIP PBX transport port as the "Outbound Proxy Server port", set up the step 5, 6 Authorization name and Password as the username and password, then the E1/T1 gateway can register to cloud PortSIP PBX.
  9. 9.
    You can sign in to the PortSIP PBX Web Management Console to create the inbound & outbound rule base on this E1/T1 gateway trunk.
Outbound parameters and Inbound parameters
After completing the setup for providers, you could also go to “Call Manager > VoIP Providers/SIP Trunks” and click “...” button to choose "Edit" the Inbound/Outbound Parameters for providers:
  • In “Outbound Parameters” tab, you could set some rules to make changes for headers of INVITE messages to be sent to VoIP providers/SIP trunks. For example, “user” of “to” SIP header could be set to “Outbound Caller ID” of the extension who starts the call. You can setup the “Outbound caller ID” of extension in the “Options” tab of extension, see section 5.4.
  • In “Inbound Parameters” tab, user could set rules to make changes to field values of SIP messages for incoming calls.
NOTE: Both inbound and outbound parameters are advanced options. It’s recommended to use default values.

5.7 Configuring Inbound/Outbound Rules

Outbound and inbound rules determines how PortSIP PBX routes calls on the base of certain criteria. You can configure rules to control through which provider/Trunk a call will be placed, for example, to route the calls through your VoIP provider on the basis of least cost routing.
You can also set DID (Direct Inward Dialing) numbers to allow to bypass the receptionist or IVR and place calls directly to a user’s extension.
Creating Inbound Rules
Many companies provide users and/or departments with “Direct or DID numbers”, which allow their contacts to bypass the receptionist and make calls directly. DID numbers is also referred to as DDI numbers in the United Kingdom and MSN numbers in Germany.
Even if you make use of a virtual receptionist, a direct line/number is often preferable because it’s more convenient for the caller.
Direct dial numbers are easily implemented by using “Inbound Rules”. DID numbers is provided by your VoIP provider or Phone Company and are virtual numbers assigned to your physical lines. Usually you are assigned a range of numbers. Please ask your Phone Company or VoIP provider for more information about DID numbers.
You have to configure one VoIP provider/SIP Trunk before adding the inbound rules.
To add Inbound Rule:
  • From the PortSIP PBX Management Console, select "Call Manager > Inbound Rules > Add"
  • Enter a friendly name for the rule
  • CID number mask: you can enter the CID number mask here, which the PBX will use to identify the caller. You can add the number in it’s entirety, identifying a single caller, or use the * as a wildcard. For example 0044********** will identify a UK Caller and 004420******** will identify a caller from London. Note: the * digits must matched number actually digits. If the number is 3 digits, then should use ***
    The CID number mask also allow set a number range, for example: 00442012345670-00442012345680.
    The CID number mask can be empty.
  • In the "DID/DDI number/mask" field, enter the DID number as it will appear in the SIP "to" header (The number your provider has been applied as your main, or first, DID number). PortSIP PBX will match the number inserted into this field with the "to" header, you can use a single * to match any DID number, or use a single number likes 00442012345678;
    The number range is disallow, and prefix and * is disallow - for example: 004420*
  • Select which provider/SIP Trunk you wish to be associated with this DID and inbound rule, only allow assign one provider with an inbound rule.
  • Specify how you wish to forward incoming calls according to this inbound rule:
    • End Call
    • Connect to Extension
    • Connect to Ring Group
    • Connect to Virtual Receptionist
    • Connect to Voice Mail of an extension
    • Connect to Call Queue
    • Forward call to external number
  • You can specify that an incoming call should be forwarded differently if it is received outside office hours
Note: you can create multiple inbound rules based on a same DID number, but all these inbound rules should set the CID number mask, and the CID number mask must not be conflicted.
Example: You have a DID number 442012345670. Now create two inbound rules: the CID for the first rule is set to 0044**********, the DID number mask set to 00442012345670, and the call is set to route to the call queue 8000; the CID for the second rule is set to 0033*********, the DID number mask set to 00442012345670, and the call is set to route to the call queue 9000.
Now let all English-speaking employees to be agent of call queue 8000, let all French-speaking employees to be agent of call queue 9000. When the caller calls to 00442012345670, callers from UK will be routed to the call queue 8000 to talk with English agent, and callers from France will be routed to the call queue 9000 to talk with French agent.
Office hours for Inbound Rules
In the "Office Hours" tab, you can set the office hours for the inbound rule so that the incoming calls will be routed to different destinations on the basis of the current hour.
If "Use default Global Office Hours" is selected, the PBX will use the office hours specified by admin/tenant;
If "Use specific Office Hours" is selected, customized office hours rules apply instead.
Exporting and Importing Inbound Rules
If you need to export your Inbound Rules to a .CSV file either for backup or to make any updates, follow these steps:
  1. 1.
    Sign in the PortSIP PBX Management Console
  2. 2.
    Click on the “Call Manager > Inbound Rules
  3. 3.
    Click on the “Export” button to start exporting your inbound rules
  4. 4.
    Select a location and a file name for your exported inbound rule file and click “Save”. Your rules will be exported and saved in the .CSV file
To create multiple inbound rules, insert necessary fields on a CSV file by using correct format, and then import them back into PortSIP PBX by using the import function. To import your inbound rules into PortSIP PBX from a CSV file:
  1. 1.
    Sign in the PortSIP PBX Management Console.
  2. 2.
    Click on the “Call Manager > Inbound Rules", click the "Import
  3. 3.
    Browse to the file that you want to import, select it and click “Open
  4. 4.
    The rules will be imported into PortSIP PBX
Creating Outbound Rules
An outbound rule decides through which VoIP provider/Trunk an outbound call would be placed. The rule is decided by the user/extension who is making the call, the number that is being dialed or the length of the number, or the extension group to which the caller belong.
To add outbound rules:
  • From the PortSIP PBX Management Console menu, navigate to "Call Manager > Outbound Rules" and click "Add " button. Enter a name for the new rule in the prompted box.
  • Specify the criteria that should be matched for this outbound rule to be triggered with. In the “Apply this rule to below calls” section, specify any of the following options:
    • Calls to numbers started with prefix – Apply this rule to all calls started with the number you specify. For example, enter “00” to specify that all calls with numbers started with 00 should trigger this rule. Callers should dial “00123456” to trigger this rule. You can specify more than one prefixes, separated by “;”. For example, “00;123;88” specifies prefixes 00 and 123 and 88. If the called number matches one of these prefixes, this rule will be triggered.
    • Calls from extension(s) – Select this option to define a particular extension or extension range for which this rule applies. Specify one or more extensions separated by semicolons, or specify a range by using a “-”. For example 100-120.
    • Calls to number with certain digits – Select this option to apply the rule to numbers with a particular digit length, for example 8 digits. By this method, you can capture calls to local area numbers or national numbers without requiring a prefix.
    • Calls from extension group(s) – Rather than specifying individual extensions, you can select an extension group.
  • Now specify how to match outbound calls with the criteria. In the "Make outbound calls on" section, select up to three routes for the call. Each defined provider/trunk will be listed as a possible route. If the first route is not available or busy, PortSIP PBX will automatically try the second route.
  • You can transform the number that matches the outbound rule before the call is routed to the selected gateway or provider by using the "Strip Digits" and "Prepend" fields:
    • Strip digits – Allows you to remove one or more digits from the called number. Use this option to remove the prefix before a call is dialed to the gateway or provider if it is not required. For example the extension make call to 002345, if you specify to remove two digits, the prefix “00” will be removed before it is routed
    • Prepend – Allows you to add one or more digits at the beginning of the number if this is required by the provider or gateway. For example, the extension make call to 002345, we specify 2 in the “Strip digits” field and set “Prepend” to “+44”, the final called number which PBX forward to VoIP provider/SIP Trunk will be +442345
Office hours for Outbound Rules
In the "Office Hours" tab, you can set the office hours for the outbound rule so that the outgoing call will be routed to trunks or not depending on the current hour.
For example, if currently time is out of the specified office hours, the call fails even the outbound rule is successfully matched.
If selected "Use default Global Office Hours", the PBX will use the office hours which set by admin/tenant;
If selected "Use specific Office Hours" this outbound rule will use the customized office hours.

5.8 Configuring Ring Groups / Paging / Intercom

The Ring Group feature adds powerful capabilities to your PortSIP PBX. Ring groups will help you not to miss any important calls, whilst the Paging/Intercom feature allows you to make announcements to groups of people rather like a PA system.
A ring group allows you to direct calls to a group of extensions. For example, you could define a group of three sales, and have the general sales number "DID" ring on all three extensions at the same time or one after the other. When you create a ring group, you assign it with a virtual extension number. This will be the number used by the PortSIP PBX to "Address" to the ring group.
To add a Ring Group:
  • In the PortSIP PBX Management Console, select "Call Manager > Ring Groups" and click the "Add" button
  • Now enter the ring group fields:
    • Ring Group Number – This number identifies the ring group from other extensions. Specify a new one as needed. Do not specify an existing extension number
    • Ring Group Name – Enter a friendly name for the ring group
    • Outbound Caller ID - Once the outbound caller ID for the ring group is set, when no members answer the call and forward the call to external number on a provider / trunk, this outbound caller ID could be a replacement for certain SIP field. For more details, please refer to Section 5.6.
    • Ring Time – Specify how long the extension should ring for.
    • Ring strategy – Select the appropriate ring strategy for this ring group:
      • Ring Simultaneously: All Ring Group members will ring at the same time.
      • Prioritized Hunt: Ring each available member of the group by specific order.
      • Cyclic Hunt: Ring each available member of the group by the sequence the members are added into the group. The member who has not been rang from a call would take the priority.
      • Least Worked Hunt: Ring each available member of the group by the order the members are added into the group. The member who has not answered a call from this group would take the priority.
      • Paging/Intercom: This is a Paging or Intercom group (see the next section for more details).
  • In the section "Group Members", specify the extensions that should be part of this ring group. Simply click on the extensions to add them to the ring group, and click again to remove them from the group.
  • In the section "Destination if no answer", you can define what should happen if the call is not answered by the ring group
Paging
When creating the ring group, selecting the “Ring Strategy” with “Paging/intercom” would allow someone to ring a group of extensions and make an announcement via the phone speaker. The called party will not need to pick up the handset as the audio will be played via the phones speaker. The person who’s paging will not hear any audio back from the people being paged.
Intercom
When creating the ring group, selecting the “Ring Strategy” with “Paging/intercom” would allow someone to ring a group of extensions and make an announcement via the phone speaker. The called party will not need to pick up the handset as the audio will be played via the phone speaker. The person paging will not hear any audio back from the people being paged.
If the extension user wants to talk with the caller, he/she should press the “*” button to start talking, and stop by pressing “#” button.
Important
Before using the Paging or Intercom feature, make sure you have specified the paging/intercom prefix number by:
  1. 1.
    From the PortSIP PBX Management Console, select “Advanced > Settings" menu, click “Advanced” tab to add the paging prefix in the “Dial code” field (*11 for example)
  2. 2.
    Make sure that the user who is trying to page/intercom a group has the permission to do so. If a certain extension user would like to start paging/intercom, select “Call Manager > Extension Groups”, edit the group to which the extension belongs, click “Group Member Rights” table, and check the “Allow Paging/Intercom” option
There are two ways to commit Paging and Intercom:
  1. 1.
    Assume that you have created a ring group for which the group number 9000, and selected the “Ring Strategy” with “Paging/intercom”. When dialing 9000, all members of ring group 9000 will answer the call automatically and can hear from caller but caller cannot hear back from members. If someone of the members wish to talk with the caller, just press the “*”, and stop talking by press “#” key.
  2. 2.
    If extension 100 want to intercom with extension 101, just dial “**11101”, and extension user 101 will answer the call automatically and talk with caller 100. In this example, *11 is the value of “Dial Code”.

5.9 Configuring Virtual Receptionist/Auto-Attendant

The virtual receptionist feature allows PortSIP PBX to answer phone calls automatically. When a call comes into the PortSIP, the caller is presented with a list of options. The caller can choose the appropriate option by using the numbers on their phone keypad. You can implement a menu by using this feature. A virtual receptionist is also known as an Auto Attendant.
For example, "For sales, press 1. For support, press 2 or wait on the line to be transferred to the operator".
You can configure various virtual receptionists, each of which owns a unique extension number. Depending on your preferences, you may configure to answer calls on the base of which line the call comes in and from, as well on whether the call is received inside or outside office hours. For example, you can have a different prompt for outside office hours that does not include the options to be transferred to groups/queues since there are not agents available to take the calls.
Recording a Menu Prompt
Before create your virtual receptionist, you must decide the menu options you wish to offer the caller and record the announcement. A sample would be, "Welcome to XYZ. For sales, press 1. For support, press 2 or stay on the line for an operator".
Note: It is recommended to put the number the user should press after the option, i.e. "For sales, press 1", rather than “press 1 for sales". This is because the user will wait for the desired option and then "register" what number to press.
Creating a Virtual Receptionist
You can create multiple digital receptionists and link them to a particular line.
To create a virtual receptionist:
  • In the Management Console menu, click “Call Manager > Virtual Receptionist", click "Add "
  • Specify the name and extension number for the digital receptionist.
  • By default, PBX uses the system-defined “Default.WAV” for prompt. Click on the “Browse” button to select a file that you previously recorded for prompt menu. You must save the file in WAV format in PCM, 16kHz/32kHz/48 kHz, 16 bit, Mono format. (In Windows Sound Recorder you must use the "Save as" option to save this format). Besides, user may also choose prompt language for virtual receptionist in “Virtual Receptionist Language
  • The prompt when call is transferring - The prompt file which will be played when the call is transferring after caller pressed DTMF.
  • Virtual Receptionist Language - The language for the prompt files
  • Menu options. Specify actions and the extension number or System extension number for each of numeric keys. Default value is “No Actions Specified”, referring that no specific actions will be taken in response to the key. If the action is directed to specific extension, ring group, call queue or another virtual receptionist, please also select the target extension number you desired
  • User Input: this option allows you to determine when the auto attendant will begin the search for an extension that matches the user’s input. The available options are detailed below:
    • When Extension Matches: The auto attendant will wait until the caller’s digit sequence matches an existing account. Once the auto attendant finds a match, it will call that extension. This mechanism is useful when accounts of varying name length are used; however, it might be annoying to callers who enter a non-existing number since the auto attendant will never begin the search
    • After 1/2/3/4/5 Digit Input: The auto attendant will wait until the correct number of digits has been entered before it will begin looking for an account that matches. If the account does not exist, the system will play an announcement indicating that the extension does not exist.
    • User Must Hit Pound: The auto attendant will wait until the user hits the # sign before searching for an extension. This mode is useful in variable-length scenarios
  • Timeout allows you to specify how long the system should wait for an input. If it receives no input, it will automatically perform this action. This is for callers who do not understand the menu or who do not have a DTMF capable phone. When ready, click “Apply” to save the virtual receptionist.
  • If extension user enters a DTMF value or key that is not defined in step 4, the action fails. User may define how the call should be handled in such case in “Calling failed” section, and the extension number (if necessary)
Direct Destinations
The Direct Destinations feature is somewhat like a built-in version of the IVR system.
To direct inbound calls to specified extensions, you can use the pre-configured destination fields and link them to pre-recorded announcements and user input options.
Using the sample shown below, the auto attendant’s welcome message will be as follows: “For Sales, press 1. For Support, press 2. For Accounting, press 3. For all other inquiries, press 0.” (The user input options are linked to extensions 555, 518, 511, and 570.)
Could not load image
aa_1
When configuring straight forward, uncomplicated auto attendants, direct destination is a great solution. However, when configuring auto attendants that require advanced IVR development and functionality, the IVR node is recommended.
Once the direct destination links have been established, the system will call the destination number whenever a caller enters the number that is associated with it. In the sample shown above, when the caller presses 2, the call will be connected to extension 101.
By placing a pound sign after the direct destination (e.g., “2#”), the system will wait 3 seconds before dialing the direct destination. This is useful if you have extension numbers in the 100 range (101, 102, etc.). The 3-second delay ensures that the caller’s complete input (e.g., 101) will be processed rather than just the first digit.
  • User Input: This number can be one or multiple digits; however, the system dials direct destinations immediately after a user has provided keypad input, so overlapping between a direct destination and an extension number can be a problem. For example, extensions starting with “1” would conflict with a direct destination of “1” because the system would be unable to dial the extension number. The best way to avoid this situation is to choose extension numbers that do not overlap with either direct destinations or mailbox and outbound call prefixes. The extension range 4xx through 7xx meets these criteria. Wild cards can also be used in this field.
    • If circumstances render it difficult to change the extension assignments (e.g., business cards with extension numbers already in circulation), a timeout mechanism can be used. By placing a pound sign after the direct destination (e.g., “1#”), the system will wait for 3 seconds before dialing the destination.
    • To redirect fax messages to a specific destination, you can use the direct destination “F”. The CNG tone that announces a fax tone is recognized by the system and is translated into the “F” key.
  • Destination: This number can be either an internal number (e.g., an extension or conference room) or an external number (must configure appropriate VoIP provider and outbound rules)
Allowing Callers to Dial a Known Extension Directly
Whilst a digital receptionist prompt is playing, a caller can enter the extension number directly to be connected to an extension immediately. This allows callers who know their party’s extension to avoid going through a receptionist. This option is enabled by default. If you wish to make use of this feature, simply instruct your callers by explaining this in the voice prompt.
For example, “Welcome to Company XYZ. If you know your party's extension number, you may enter it now, otherwise, for sales press 1. For support press 2”.
Sending HTTP Request to 3rd Server Depending on User’s Input(Web Hook)
When creating virtual receptionist, there are two tabs available for user: Virtual Receptionist and Action URL. User may setup common Virtual Receptionist in “Virtual Receptionist” tab, and define HTTP request and relevant actions in “Action URL”.
Action URL is applied as in below scenario: