Portsip PBX User Guide v12.3 en
Portsip PBX User Guide v12.3 en
Version: v12.3
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.
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.
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.
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 Trunking, 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.
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:
This document assumes that the Linux OS is already deployed and administrators of PortSIP PBX
have been allocated with the root permission to Linux.
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:
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.
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:
Other Requirements
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:
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.
The free edition of PortSIP PBX offers a maximum of 3 simultaneous calls and unlimited
extensions (users). If you require more simultaneous calls, please refer to License Section for
more details.
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
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.
Make sure that below ports have not been used by other programs:
UDP: 45000– 65000, 33000 - 34999 TCP: 8899– 8900、8881、8882、8883、8884、8887、
8888、9333、10443
To install the PortSIP PBX for Linux, please refer to: Setup PortSIP PBX for Linux
After having successfully installed PortSIP PBX, you must setup the Linux Firewall Rules to enable
PortSIP PBX working properly. 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, 33000 - 34999 . These ports are used for the RTP sessions.
TCP: 8899– 8900, 8881, 8882, 8883, 8884, 8887, 8888, 9333,10443. These ports are used for
the Server control and WebRTC Gateway transport.
UDP: 5060. This is the default UDP transport for SIP communications (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
firewall
Assume you have added a TCP transport on port 5061, you must open TCP port 5061 in your
firewall
Assume you have added a WS transport on port 5065, you must open TCP port 5065 in your
firewall
Assume you have added a WSS transport on port 5067, you must open TCP port 5067 in your
firewall
Assume you have added a UDP transport on port 5068, you must open UDP port 5068 in
your firewall
Note: if your server is a cloud server, you will also need open the ports on your cloud platform
firewall rule for above ports.
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
Ensure that all power saving options for your System and Network adapters are disabled (by
setting the system to High Performance).
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.
Make sure that below ports have not been used by other programs:
UDP: 45000– 65000, 33000 - 34999 TCP: 8899– 8900、8881、8882、8883、8884、8887、
8888、9333、10443
Note: if your server is a cloud server, you will also need open the ports on your cloud platform
firewall rule for above ports.
Installing the PortSIP PBX
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!!
After successfully installed PortSIP PBX, you must setup the Windows Firewall Rules to enable
PortSIP PBX working properly.
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, 33000 - 34999 . These ports are used for the RTP sessions.
TCP: 8899– 8900 、 8881、 8882、 8883、 8884、 8887、 8888、 9333、 10443. These ports are
used for the Server control and WebRTC Gateway transport.
UDP: 5060. This is the default UDP transport for SIP communications (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
firewall
Assume you have added a TCP transport on port 5061, you must open TCP port 5061 in your
firewall
Assume you have added a WS transport on port 5065, you must open TCP port 5065 in your
firewall
Assume you have added a WSS transport on port 5067, you must open TCP port 5067 in your
firewall
Assume you have added a UDP transport on port 5068, you must open UDP port 5068 in
your 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.
Warning: since the trunk and inbound rule settings has been changed, please pay attention
to below issues::
If you have the inbound rule in v12.0/12.1 which is assigned with more than one
trunk/provider, once upgraded to v12.3, the rule will keep one trunk/provider for this
inbound rule only.
You must check all inbound rules of all tenants. If the DID number mask for the
inbound rule contains a range, wildcard or multiple numbers, you must replace it with
a single number or a single * before upgrading as inbound rule may only include single
* or a specific number in v12.3.
For example, if there is an inbound rule in v12.1 for which the DID number mask is
123;210-220;56*; *89, you must modify it to a single number as inbound rule may only
include single * or a specific number in v12.3.
Before upgrade to v12.3, we recommend you backup your currently v12.0/v12.1 PBX:
Linux:
CentOS:
$ firewall-cmd --permanent --service=portsip-pbx --add-port=8882-8884/tcp
$ firewall-cmd --reload
Debian / Ubuntu
2.5 Upgrading
Windows
Linux
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.
The POSTGRES_PASSWORD is used to specify the PortSIP DB password. In this case we
will use 123456, you can change it by yourself.
if you want the PortSIP PBX to restart automatically if the Linux is restarted, please add
--restart=always parameter in to below command.
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 popup 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:
Go to Thawte or Versign or other certificate providers to purchase a SSL certificate. Save the
private key as portsip.key
After you have obtained the SSL certificate, rename the certificate to portsip.crt
On Linux, Copy the portsip.crt and portsip.key to /var/lib/portsip/certificates to replace the
existing portsip.crt and portsip.key
On Windows copy the portsip.crt and portsip.key to below path:
C:\ProgramData\PortSIP\certificates to replace the existing portsip.crt and portsip.key
Now you can sign in PortSIP PBX Management Console by URL https://yourpbx.com:8887
Note: You may also obtain SSL certificate from Let’s Encrypt for free.
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.4 section.
Access the PBX Management Console by visiting http://pbxserverip:8888. (Note, don't use the
IE browser)
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.
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 address for PBX. It is required when a SIP client or
SIP IP phone registers to PortSIP PBX.
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 domain (in this case it is portsip.io), the extension SIP URI will be sip:xxx@port
sip.io. For example, the extension 101 SIP address would be: sip:[email protected]. If you don't want
to use domain, enter the private IP (for example: 192.168.0.16) of the PC/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].
Step 3:
You can set transport layer protocol for the SIP here, with the default transport UDP on port 5060.
Note: You can add more transports in PortSIP PBX Management Console after this Wizard.
Step 4:
Setup mail server. You may setup the 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.
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.
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.
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"
Note: if the server only has public IP but no private IP, please enter the public IP for both Private
IPv4 and Public IPv4.
4.1 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
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.
After completing the Configuration Wizard, you may manage PortSIP PBX in the Management
Console.
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.
PortSIP PBX supports a wide range of transports, including UDP, TCP, TLS, WS (WebSocket), 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.
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
To add the TLS/WSS transport with self-signed certificate: First of all, prepare the certificate files.
You have to generate the certificate files by yourself if you have not purchased certificates
from a third-party certificate provider. Please download the certificate file tool from PortSIP
website (or run PortCertMaker.exe in the installation path of PBX), enter your SIP domain.
Once clicked “Generate” button, certificate files will be generated automatically.
The certificates include three files (assume your SIP domain is portsip.io):
domain_key_portsip.io.pem domain_cert_portsip.io.pem root_cert_portsip.io.pem
You can also follow below steps if you would like to purchase certificate files from a third-
party provider (assume purchased certificate for portsip.io):
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 domain_key_portsip.io.pem
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
domain_cert_portsip.io.pem
Download the root certificate from your SSL provider and rename it as
root_cert_portsip.io.pem
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,
“domain_cert_portsip.io.pem” for the “Certificate file”, “domain_key_portsip.io.pem” for
the “Private key file”, and “root_cert_portsip.io.pem” for the “Root certificate file”.
Enter the “Certificate Private Key Password”. This password is the one that you entered
when generating the certificate files in previous steps. Leave it blank if you don’t have it
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!
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.
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. From the “Call Manager > Phones” menu in the PortSIP PBX Management Console, select
“Add Phone”.
2. Select the extension that the phone uses.
3. Enter the MAC address of the phone (which can be found at the bottom of the phone).
4. Select the appropriate phone model from the drop down menu.
5. Select “Phone Display Language” and “Timezone” for the phone.
6. Enter the password for access IP Phone web UI
7. Click "Apply" button and then edit this extension.
8. Copy the provisioning link.
9. Insert the provisioning link manually into the phones. You can find it in “Phone
Provisioning” tab of extension configuration.
1. From the “Call Manager > Phones” menu in the PortSIP PBX Management Console, select
“Add Phone”.
2. Select the extension that the phone uses.
3. Enter the MAC address of the phone (which can be found at the bottom of the phone).
4. Select the appropriate phone model from the drop down menu.
5. Select “Phone Display Language” and “Timezone” for the phone.
6. Enter the password for access IP Phone web UI
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.
1. Download the firmware that has been tested by PortSIP with the legacy phones.
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. 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. Select your phone model
5. Enter the MAC address of the phone. You will be taken to the provisioning page
6. Select “Phone Display Language” and “Timezone” for the phone
7. Enter the password for access IP Phone web UI
8. Click “Apply” to add the phone to the extension
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.
Provisioning Cisco SPA 302, 303,501G, 502G, 504G, 508G, 509G, 525G/G2
Using Provisioning IP Phone via DHCP 66 to configure the provisioning URL for legacy phones.
Factory resetting Aastra, Cisco, Cisco SPA, Gigaset, Panasonic, Polycom SoundPoint, Polycom
Soundstation, Yealink.
Monitor security of extension password and PIN. Weak extension passwords and PINs are
the most common cause of security breaches.
Adding Phones
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.
1. Assign the phone to an existing extension. Click “Assign Ext” You will be prompted for the
extension number.
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. 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.
You can add new legacy phones that do not support plug and play, as follows:
If you are adding phones that are installed remotely, i.e. PBX in cloud, you must:
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:
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:
● 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.
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:
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
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 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.
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.
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:
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.
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.
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.
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.
After you have created the VoIP provider account, you will need to configure the account in
PortSIP PBX. To do this:
Select “Call Manager > VoIP Providers/Trunks > Add”. Enter a friendly name for this VoIP
provider
Select the Country for the VoIP provider. If the country that the providers locates is not listed,
please choose “Generic”
Select your VoIP provider from the Provider drop-down list. If your provider is not listed,
select “Generic”.
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
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
If your provider is verified on IP address and does not require registration, please choose "IP
Based" for"Authentication Mode"
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”
This provider only accepts single via SIP header. Usually the providers/trunks only accept
single via SIP header. It is selected by default
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.
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
Click the "Tenants" tab, choose one or more tenants to allow them access this
trunk/provider.
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.
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.
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.
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.
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.
DID pool allows to set a semicolon-separated list of multiple ranges, for example: 123;1100-
1200;44******
The PortSIP PBX will display all added providers/trunks status by clicking “Call Manager > VoIP
Providers/Trunks” menu.
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.
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.
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.
From the PortSIP PBX Management Console, select "Call Manager > Inbound Rules > Add"
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.
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.
If you need to export your Inbound Rules to a .CSV file either for backup or to make any updates,
follow these steps:
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:
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.
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 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
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.
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.
In the PortSIP PBX Management Console, select "Call Manager > Ring Groups" and click the
"Add" button
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. 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. 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
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. 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”.
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.
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.
You can create multiple digital receptionists and link them to a particular line.
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.
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.)
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.
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”.
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”.
When users call the Virtual Receptionist and dials the pre-configured DTMF key, Virtual
Receptionist will send a HTTP request as defined to the URL of a third-party server, and parse the
target extension number in respond message from the third-party server to forward the call to
the target extension.
Name: Enter a user-friendly name for the HTTP request. This field is mandatory.
Action Type: Choose the method to trigger Action URL. PortSIP PBX allows to trigger the rule
with user inputted DTMF key or caller number. Depending on his request, user may choose
“DTMF” or “Caller Number”. Once “DTMF” is chosen, if the DTMF entered is replica to DTMF
specified in “Virtual Receptionist” tab, system will always invalidate settings in “Virtual
Receptionist” and handle the call as defined in “Action URL”.
DTMF match list/ Caller number match list: Depending on the selection in “Action Type”,
user may specify the “DTMF match number” or “Caller number match list”. User may
enter a semicolon-separated list of numbers at one time, e.g. “101;102;103”. The entered
number must be unique and must not be duplicated.
The match list also can specify to a numbers range, for example: 860000-880000, it’s used for
below scenario: someone calls to virtual receptionist and enters his bank card number. If the
number fall in the matched DTMF range, the virtual receptionist will call the action URL to
return some values to indicates the next actions.
Once an item of the Action URL is triggered, an HTTP request will be sent to the third-party
server. User may specify the username and password for authentication in “Credentials for
HTTP Basic authentication with 3rd server” section (not mandatory), and choose the
method for sending HTTP request from POST or GET. Fields “Connection timeout” and
“Timeout for waiting response” are filled to setup the timeout value for communication
between Virtual Receptionist and third-party server.
Action (URL or number): Action to be executed will be entered here when the preset action
is triggered. If HTTP URL is entered here, Virtual Receptionist will send an HTTP request to
the third-party server and forward the call depending on the returned value of HTTP request.
If a DTMF number is entered here, Virtual Receptionist will forward the call to the designated
number
HTTP Request Message
PortSIP has defined below parameters to form up the HTTP request message to third-party server
in JSON format.
"from": "var_caller_number" - Caller’s number, i.e. the caller number who’s calling to Virtual
Receptionist
"to": "var_callee_number" - Callee’s number, i.e. the extension number for Virtual
Receptionist
"input":"var_input_dtmf" - DTMF inputted by user
"from_name": "var_caller_display_name" - Display name of caller. It will be left empty if no
value provided
"account_name": "var_account_name" - Name of the Virtual Receptionist
Assuming that we had create a Virtual Receptionist with number 888 and named as Sales. And its
Action URL is defined as follows:
Name: Action1
Action Type: DTMF
DTMF match list: 22, 33
HTTP method: GET
Action (URL or Number): http://www.appserver.com/dest.php (If a DTMF number is filled
here other than URL, Virtual Receptionist will forward the call to the extension specified
other than sending request to third-party server.)
When extension 101 (display name Jason) calls 888, Virtual Receptionist 888 will auto-answer the
call and play prompt to the caller. As extension 101 dials 22 or 33, Virtual Receptionist will send
below HTTP request in GET method: http://www.appserver.com/dest.php?from=101&to=888&inp
ut=22&from_name=Jason&account_name=Sales
If POST is chosen for HTTP method, Virtual Receptionist will send below HTTP request in JSON
format by means of POST:
“from” : “101”,
“from_name” : “Jason”,
“account_name” : “Sales”
PortSIP PBX has defined response to HTTP request sent by Virtual Receptionist as follows:
"status_code": 200 or other possible status code, of which 200 represents successful request
and other refers to failure.
“action”: Values including “call”, “hangup” and “repeat” indicates the action to be taken by
Virtual Receptionist.
call – To forward the call to number as defined in “destination”
hangup – To hang up the call directly
repeat – To repeat the prompt message
“destination”: The target callee number. It’s valid only if value for “action” is set as “call”;
otherwise it will be ignored.
“status_code” : 200,
“action” : “call”,
“destination” : “222”
Once Virtual Receptionist has received response as above, it will forward the call to extension 222.
To add a Call Queue, select menu “Call Manager > Call Queue” and click “Add”. Now fill in the
necessary fields:
Queue Number – Specify the queue number here. It should not be an existing extension
number
Outbound Caller ID - Once the outbound caller ID for the call queue 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.
Music on hold – The music that would be played when the caller is queued
Polling strategy – This option allows you to choose how calls should be distributed to
agents:
Ring Simultaneous: All Ring Group members will be rang at the same time.
Prioritized Hunt: Ring each available member of the group in configured order
Cyclic Hunt: Ring each available member of the group by the order the member was
added. The member who has not been rang previously will take the priority
Least worked Hunt: Ring each available member of the group by the order the
member was added to the group. The member that hasn't answered a call from this
group takes priority
In the “Destination if no answer” section, you can define what should happen if the call
does not get answered by an agent. If no agent logged into the queue, this option would be
triggered immediately
In the “Other options” section, you can specify a custom introduction prompt and a custom
music on hold file. You can now choose whether to play the full intro prompt before the
system starts to call queue agents
Play special prompt if the caller is in blacklist. If this option is checked and the caller is in
the black list of this call queue, you can set a special prompt for him. If the caller pressed the
DTMF after listening the prompt, PBX will continue the normal call queue workflow.
Maximum Queue Wait Time. Once the caller stayed in the call queue longer than this
duration, it will be hangup by PBX.
SLA time. SLA refers to service level agreement. Once it’s set, you will get a notification every
time when a call stays in the queue longer than the specified SLA time.
SLA is used to make sure that your callers are queuing no longer than the time you have
specified. For example you declare that all calls within your organization are answered within
3 minutes, you need to set the SLA in the queue to 180 seconds. Once that time is reached
the queue manager will receive an alert notifying that a call has breached the SLA.
By clicking the “Members” tab, you can select the agents for the call queue.
Notifications
You can set one or more extensions as the queue manager(s) to receive the email notifications if
the call exceeds SLA time or is lost.
If an extension is set as queue manager, PBX will not assign the call to him/her, which means the
queue manager will not receive the call even he is a member of the call queue.
Note: The SMTP server and the email of queue manager must be set up in order to receive the
notifications.
Blacklist
You can add one or more numbers to the blacklist of the call queue. When one of these numbers
starts a call to the queue, a special prompt will be played to them. For more details please refer to
Configuring Queue Options.
Select the menu “Call Manager > Conference”, and click “Add” button.
Select your conference mode from the "Conference Mode" drop-down list.
Enter a conference Room Extension number which will be dialed by the conference
Participants to join the conference. It should not be an existing extension number.
Enter the suitable Subject for the conference to remind participant the topic to be discussed.
Enter the PIN of the "Conference Room” if necessary. If the PIN was set, the Participants
must enter the PIN when joining the conference.
Enter the Admin PIN for the host. When a user enters this PIN, he/she will be identified as
the conference admin to host the conference.
Outbound Caller ID - Once the outbound caller ID for the conference room is set, when
inviting an external number to the conference, PBX will place the call to external number on
a provider / trunk, and this outbound caller ID could be a replacement for certain SIP field.
For more details, please refer to Section 5.6.
Enter the maximum number of "Maximum Participants" field that limits the count of
members who join this conference.
Specify the count of videos in “Grids for Video Conference”. Value 1, 2, 3, 4, 6, 9 supported.
Set the bandwidth used during video conference in “Video Conference Bitrate”. The value
rages 128 kbps – 2048 Kbps. The higher the value is, the better the video experience would
be.
Choose “Video Conference Frame Rate” with the rage 5 – 30. Higher value will guarantee
fluent video experience.
Choose “Video Conference Resolution” from range of QCIF to 1080P. Higher resolution
leads to larger load to bandwidth.
Choose the Prompt Language for the vocal notices which will be used when user entering
the conference.
Click “Apply” button to confirm creating the conference room.
Each conference room supports up to 200 participants. It may vary dependent on the server CPU,
memory and bandwidth.
5.12 Managing Conference
Joining Conference
Once the conference room is created, inform the participants the conference number (“Room
Extension”). Assume that the user sets Room Extension 8008 as the conference number, the user
can join the conference by dialing 8008 from any SIP clients.
You can also invite an extension or the mobile phone/landline phone user to join the conference.
Please see below section for more details.
Once the conference room is created, select the menu “Call Manager > Conference” to list
available conference rooms. You can either edit the conference room or delete it by click the "..."
icon to expand the menu.
Manage: select the “Manage” menu to manage the conference room and participants, see
next section.
Edit: select the “Edit” menu to change the conference room settings, such as the Room PIN,
Admin PIN, Maximum Participants.
Delete: End and remove the Conference.
Check a conference room in the conference list, and click the “Manage” icon to manage the
conference room participants.
Invite participant: Click the “Invite” button to select an extension from extension list, or enter
the extension number directly. PBX will start a call to the specified extension.
Once the call has been answered, the invited extension will be joint into the conference
automatically.
Mobile number or PSTN number could also be entered here to be invited into the
conference but must configured the appropriate trunk and outbound rules.
Lock: Once the conference is locked, other users cannot dial into the conference room.
Recording files: List recording files of the conference room. They could be downloaded and
saved in local.
Mute: Click the "Mute" button by the end of a listed extension to mute the selected
participant.
Set as main: Set the participant video as the main screen of video conference.
Hang up: Kick out a participant from the conference room.
5.13 Billing
PortSIP PBX allows administrators/tenants to define customized calling rate. To do this, please go
to "Call Manager > Billing".
There are few parameters need to be entered when create the billing rule:
FreeSeconds - in seconds
ConnectFee - in monetary units
PostCallSurcharge - in percents (0.01 means 1%)
GracePeriod - in seconds
Price' - in monetary units per minute
PriceN - in monetary units per minute
Interval' - in seconds
IntervalN - in seconds
The simplest parameters are ConnectFee, which is fixed amount of money charged for each
successful call regardless of its duration; and PostCallSurcharge which is additional charge applied.
It is calculated on the percentage of the amount charged, that is if the call costs 1 dollar and the
PostCallSurcharge is 0.01, the actual amount charged will be 1.01 dollar.
The following picture illustrates how the calls are charged. The process starts with comparing
value of the GracePeriod parameter with the duration of the call. The GracePeriod parameter
determines the minimum duration of the call that will be subject of charge. Calls with durations of
less than this value are not charged at all. GracePeriod value of 0 second and 1 second provide
almost the same behavior except that when the GracePeriod is 1 second, connected calls with zero
duration won't be charged with connection fee.
A ConnectFee is charged immediately upon connection, and all calls shorter than Interval’ will be
rounded to Interval1 seconds. FreeSeconds are granted after the Interval1, so this part of the call is
not charged, and calls shorter than (Interval1 + FreeSeconds) will be rounded to Interval1 seconds.
If call is longer than (Interval1 + FreeSeconds) remaining portion will be rounded up to multiple
IntervalIN seconds. After that, the PostCallSurcharge is applied to the total amount charged.
The call illustrated in the figure will be charged using the following formula:
To add billing rate, go to “Call Manager > Billing” and click “Add”, and fill in the fields below:
Number Prefix: Enter the specific number prefix. Once specified, all calls related to numbers
started with this number will be applied with this rule.
Type: Specify this rule for inbound or outbound calls.
Importing/Exporting Rate
PortSIP PBX allows to import rates in batch by using “Import” button on “Call Manager > Billing”
page. Once imported, all the imported rates will be listed on “Billing” page. If the rate to be
imported is replica to an existing rate on PBX, the import process will fail.
Besides, all rate info online could be exported by using “Export” button on “Billing” page. Once
completed, user will have a downloaded CSV file with all rates inclusive.
Note: Only CSV supported for both import and export features.
Chapter 6: Tenant Management
PortSIP PBX is designed as Multi-Tenant, which means one PortSIP PBX installation can work for
multiple enterprise (companies) by creating more than one tenants, and each tenant will be able
to have their own PBX system.
When creating a tenant, you can specify the tenant profile details such as username, password,
sip domain and office hours. A tenant can modify his profile after signing into the Management
Console.
You can also limit the resource the tenant uses by clicking the “Options” tab. The “Capability”
section under this tab allows you to set the maximum extensions, maximum concurrent calls,
maximum ring groups etc.
Username - The tenant username that is used to sign in the management console. It should
be unique.
Extension is not allowed to delete recordings - If it's selected, the extension can't delete
the recording files even if he signs in the PBX management console.
Enable this Tenant - If this option is deselected, this tenant will be disabled, and all
extensions of this tenant will no longer be valid.
Allow concurrent logins - If this option is selected, the tenant can sign in management
console from multiple devices. If deselected, once tenant signs in, the login in another
PC/mobile phone will be invalid.
Allow display extension password in local - If selected, when editing extension in the "Call
Manager > Extension > General", the extension password will be displayed.
Allow extension to create temporary meeting - If selected, the extensions of this tenant
will be able to create temporary meetings via REST API.
Disk quota (MB) - The maximum disk quota allowed for this tenant
You can set the way of deleting old recording files and voice mails in "Auto cleaning" section.
If you want enable it again, check the “Enable this tenant” box.
Note: Once the tenant is deleted, all extensions of this tenant will be deleted as well.
Hang up an established call by clicking "Hung up" button from a call session. Click the "Refresh"
button to update the calls status.
You can select the call recording and click the "..." button to expand the menu to play , or
download or delete it.
Note: You can view more call details by double clicking the CDR.
Note: To receive the exported call report, please make sure you have correctly configured SMTP
mail server. To setup, please go to the Step 4 of Setup Wizard or go to "Profile > Mail Server".
Select the “Call Statistics > Call Reports” menu and click “Generate” to create a new call report.
Click the “Apply” button, the call report will be sent to the specified email.
Chapter 8. WebRTC
PortSIP PBX has inbuilt WebRTC Gateway which provides an intelligent bridge between PBX and
the WebRTC client from webpage.
Settings
By clicking the “WebRTC > Settings” menu, you would be able to change the WebRTC settings.
Listen WSS: Once “Listen WSS” is selected, you should also fill in below fields:
Listen WSS on port: Set a port for the WSS, default is 10443.
Gateway Domain Name: WebRTC Gateway domain name, which must be resolvable. If you
don’t know it, enter the PortSIP PBX IP. Note: by default the domain is already configured,
which does not require modification.
Certificate File: For WSS, you must upload the certificate file. You can generate an SSL
certificate file by yourself, or purchase a certificate from provider such as Thawte or Digicert.
The certificate must match with the WebRTC Gateway domain (i.e. the previous “Gateway
Domain Name”).
Private key file: it will be generated with certificate together.
Password of Private key: The password of private key file is the one you entered when you
generate the certificate file. If there is not one, please leave it blank.
Important: The WSS certificate files were configured by default, which does not require to upload
it. The default certificate files are “Self-signed”, and thus it will pop up security warnings if you use
the browser to open WebRTC client. You can purchase certificate from a third-party certificate
provider in order to avoid security warning. For more details, please refer to the next section
“Setup WebRTC with the Authorized certificates”.
Call Sessions
By click "WebRTC > Call Sessions" menu you can quickly monitor all the active calls and call
details on the WebRTC.
WebRTC Client
You can open the PortSIP inbuilt WebRTC client by click "WebRTC > WebRTC Client" menu in
order to make & receive the WebRTC call in web page.
You can purchase an official certificate from the certificate provider such as Thawte or Digicert to
avoid security alerts and the necessity of adding security exceptions manually. When purchasing
the certificate, you should generate the private key and CSR by yourself – please read the
certificate provider’s instructions or ask the provider for support. We recommend you not to set
the password for private key file, and you must keep the private key file by yourself.
Assume you have purchased a certificate from Thawte (in this case we use the Thawte SSL123
certificate as example) for your WebRTC Domain example.com. After download the certificate .zip
file, you need to extract it and will get two files: IntermediateCA.crt and ssl_certificate.crt. You
need to use a plain text editor (for example Windows Notepad; do not use MS Word) to combine
your two certs into one file by copying all text from IntermediateCA.crt and appending to
ssl_certificate.crt, with the ssl_certificate.crt at the top and IntermediateCA.crt at the bottom.
1. Ensure the domain examplertc.com has been resolved correctly to the IP of server where
PortSIP PBX is installed.
2. Sign in PortSIP PBX Management Console, click menu “WebRTC> Settings”, check “Enable
WebRTC service on WSS (Web Socket Security) transport“, enter the “exmaple.com” for
“Gateway Domain Name“, and click the “Browse” button to upload your ssl_certificate.crt
and private key file. Once finished, click “Apply” button to save the settings.
Now you can click the “WebRTC Client” from the “WebRTC” menu to open the WebRTC Client,
enter your extension number and password, and the SIP domain (this is the SIP domain of
extension, not Gateway domain name”), click “Login” button to sign in the WebRTC Client to make
& receive calls.
Chapter 9. Contacts
PortSIP includes Contacts (Phone Book) feature to manage contacts. It enables to import and
export contacts to the CSV file.
Contacts not only allows easy dialing of contacts, but also enables to match incoming call to
customer names, so that caller is shown with its customer name instead of the caller ID.
The Contacts is synchronized with the PortSIP UC client apps and connected IP phones.
By clicking "Contacts" menu, all the contacts in the phone book will be listed. You can click the
"..." button to expand the menu beside a certain contact:
By navigating to "Contacts" menu, and clicking the "Add" button, you can create a new Phone
book and assign it to the specified extension group, so that the extensions of the extension group
will be able to access this Phone book.
You can import contact entries from a CSV file with the column headers on the first line, and each
contact entry on a single line with fields separated by a comma. You may find the example CSV
file at PortSIP Website.
After you have downloaded that sample CSV file, you can fill in it with your contact entries. To
import the company contact entries into the PortSIP PBX, sign in the Management Console:
1. Navigate to “Contacts” menu and click “Import” button.
2. Browse your saved CSV file, select it and click “Open” to import your contact entries into the
phonebook.
1. Navigate to the “Contacts” menu and select a phone book, and click “Export” button.
2. Enter the target CSV file and click “Save” to export your phonebook entries.
When an IP Phone is successfully provisioned, the phone books which assigned to this extension
will be Synchronized to IP Phone automatically as "Remote Phone Book" for IP Phone.
Important Note: only the administrator is allowed to access the “Settings” menu to change the
settings. Neither the tenant nor extension could change the settings.
11.1 Settings
General
You can change the general settings by selecting "Advanced > Setting" in PortSIP PBX
Management Console.
Log Level: To output all SIP messages (sent and/or received) to log file in an easy-to-read
manner. The log file is named as "callmanager_log". Set the log level as “None” will make
significant improvement to PBX performance.
Enable IPv6: This option could be used to enable or disable support on IPv6.
Disable auth-int DIGEST authentication: Once this option is checked, auth-int quality of
protection will be disabled.
Disable authentication of mid-dialog requests: The PBX will not require authentication of
all requests in dialogs if this option is selected.
Send 403 if a client sends a bad nonce: Send 403 if a client sends a bad nonce in their
credentials with this option selected. A new challenge will be sent if this options is un-
selected.
Statistics Log Interval: Specify the interval for writes of the stack statistics to the log files.
The default value is 600 seconds.
Value Description
Enable the session timer (RFC4028): Enable the session timer (RFC4028) to detect if the
caller and callee are online. If this option is selected, the PBX will send repeated INVITE
requests to both caller and callee. The call will be hung up by PBX if the INVITE is not
correctly responded.
Session timer duration: Specify the session timer duration during which the PBX will send
INVITE message to caller and callee. Default value is 120 seconds, and the minimize value is
90 seconds.
DNS Server: Specify the DNS server here, which overrides default OS detected DNS server
list. If it is left blank, the PortSIP PBX will use default DNS server for system.
Port Range
You can change the Media server RTP range by selecting "Advanced > Port Range" in PortSIP PBX
Management Console.
Advanced
You can change the advanced settings by selecting "Advanced > Settings" in PortSIP PBX
Management Console.
Dial code: Specify the prefix for making the Paging/Intercom call. With this prefix specified,
when the calling number is prefixed with dial code, the PBX will process the call as
Paging/Intercom. For more information, please see Section “Paging” and “Intercom”.
Alert-Info header for Auto Answer: Choose the “Alert-Info” header’s value, which will be
inserted into the SIP INVITE message when making Paging/Intercom call. For example, if
“alert-autoanswer” is chosen, the below header will be inserted into SIP INVITE message:
“Alert-Info:info=alert-autoanswer” Once the extension IP Phone detected “Alert-Info”, it will
answer the call automatically and turn on the speaker.
Enable Call-Info header for Auto answer: Insert the “Call-Info” header into the SIP INVITE
message when making Paging/Intercom call. For example, if this option is selected, the below
header will be inserted into SIP INVITE message: “Call-Info: sip:portsip.com;answer-
after=0” Once the extension IP Phone detected “Call-Info”, it will answer the call
automatically and turn on the speaker.
Require Answer Mode (RFC5373): Insert the “AnswerMode” into the SIP INVITE message
when making Paging/Intercom call. For example, if this option is selected, the below header
will be inserted into SIP INVITE message: “AnswerMode: auto” Once the extension IP Phone
detected “AutoAnswer” as “auto”, it will answer the call automatically and turn on the
speaker. Different IP phones support different auto answer modes. Please refer to your IP
Phone manual to choose the correct mode.
Busy Lamp Field: In this section, you could check “Enable Dialog State Agent” and enter
value for “Ringing Call Prefix” and “Held Call Prefix” respectively to enable Busy Lamp Field
feature for calls. Default value for “Ringing Call Prefix” is , and ## for “Held Call Prefix”.
For example, an administrative assistant can see the status of their supervisor's line so he or she
knows when their boss is on the phone. Speed Dial is also available, which means the assistant
can pick up the phone, press the line configured to their supervisor's line, and their supervisor's
extension will ring. If the boss’ extension is 101:
1. The assistant could use his/her IP phone to dial **101 to pick up the boss’ incoming call, if
there no available incoming call, PBX will try to pickup the held call
2. The assistant could dial ##101 on his/her own IP phone to pick up the call which held by
boss
11.2 SBC
PortSIP includes the Session Border Controller (SBC) which can be used for the following reasons:
Resolve issues of NAT Traversal at both the remote and the PBX location.
Simplify Firewall configuration at both the remote and the PBX location.
Overcome difficulties with ISPs that block VoIP Traffic based on port numbers.
Allows VoIP-over-WiFi in some restricted locations, such as Hotel rooms.
“Fixes” Firewalls that cannot handle VoIP traffic correctly or which are very problematic to
configure correctly, such as Microsoft ISA Server.
Once the SBC is enabled and the SIP Signaling port and STUN port are specified, you can block all
other ports in your firewall and remain the SIP Signaling port, STUN port and STUN port + 1 open
as the client IP phones, apps only need these three ports to make & receive calls.
Note: The STUN port + 1 indicates when the STUN port is 3478, the STUN port + 1 means 3479.
11.3 CTI
The PortSIP PBX support advanced CTI features, for example, silence monitoring, whisper, barge-
in, barge-break.
Silent call monitoring allows a supervisor to eavesdrop on a call conversation. The most common
scenario is in a call center where a call agent is speaking with a customer. Call centers need to be
able to guarantee the quality of customer service that an agent in a call center provides. With
silent monitoring, the supervisor can hear both call participants, but neither of the call
participants can hear the supervisor.
Silent monitoring is call based. When a supervisor invokes a silent monitoring session, the
following occurs:
The supervisor selects a specific extension call to be monitored.
The agent and customer voice will be sent to supervisor call automatically. The monitoring
call does not get presented to the agent and customer.
If you want someone (for example, the call queue manager) do silence monitor, you will follow
below steps:
1. Click the menu "Call manager > Extension groups", Selected an extension group and click
the "..." icon to pops up the menu, then choose "Edit", click the "Monitor" tab, choose the
extensions who you would like to grant the monitor permission to him and checked the
"Allow Monitor" the click "Apply" button.
2. Click the menu "Advanced > CTI", checked "Enable Monitor" option, by default, the silence
monitor service number(Monitor Number) is 888, you can change it if you like.
Example:
We would like to let the extension 101 and 102 to silence monitor other extension's calls.
1. Click the menu "Call manager > Extension groups", create a new group which named
"Queue Manager"
2. Selected this extension group and click the "..." button, choose "Edit" menu, click the
"Monitor" tab
3. In "Monitor" tab, add the 101 and 102 into the monitor members
4. Checked the "Allow monitor" option and click the "Apply" button
5. Click the menu "Advanced > CTI", checked "Enable Monitor" option, and click the "Apply"
button.
6. Now if the extension 103 has a call, then 101 or 102 can silence monitor 103 by dial
"888*103"
7. During silence monitoring, the 101 or 102 can press DTMF 2 to whisper, press 3 to barge-in,
and press 4 to barge-break the 103's call
8. The 101 or 102 can dial "888*103*1" or "888*103" directly to silence monitoring; By dial
"888*103*2" to whisper 103, dial "888*103*3" directly to barge-in, and dial "888*103*4"
directly to barge-break the 103's call.
The PortSIP PBX uses default media server to relay RTP packets for calls. A large amount of
simultaneous calls will lead to high loads of CPU, network bandwidth, memory overload, voice
latency, unavailability for new calls etc. You can add more media servers to handle the RTP
packets relay in order to reduce the PortSIP PBX IP loads and decrease network latency.
Select the "Advanced > Media Server" menu in PortSIP PBX Management Console, click “Add”
and enter a friendly name for the new Media server, and the IP of new Media Server (it could be
IPv4 or IPv6), and port number (default is 8896). Also please specify the maximum of call sessions
the media server could support on RTP data transportation.
You can view all the added media servers by clicking the menu “Advanced > Media Server”. In
the media server list, you can check the state for each server, such as enabled or disabled,
connected to PBX or disconnected. You may also configure the media server settings by clicking
“...” icon to popups the menu and choose the "Edit". In the "Maximum call sessions" filed, you
can specify the maximum call sessions the media server could handle. You can also disable a
media server by turning off the “Enabled” switch button in the media server list.
You can view the media servers by clicking "Advanced > Media Server". To remove a media
server, please click to select the server, and click the “Delete” button on the top of web page. After
a media server is removed, the PortSIP PBX will no longer use it to relay the RTP packets.
Note: The Built-in(default) Media Server cannot be removed, but you can disable it by clicking the
“Enabled” button to disable it. Be careful about the Built-in Media server. If you disabled it and did
not add any other media servers, the RTP packet will be sent directly between SIP endpoints
during the calls, and if the PortSIP PBX is running on internet, it may cause no audio and video
transmit in the call.
11.5 Managing Conference Server
PortSIP PBX System provides multi-user conference features. Once the PBX successfully installed,
a built-in conference server is enabled by default. You can create as many conferences as you like,
as long as there still are free system resources (i.e. memory, CPU, bandwidth) left.
PortSIP PBX uses conference server to handle the conference. The large amount of simultaneous
calls or a lot of conference servers will lead PBX server to high loads of CPU, network bandwidth
and memory, which eventually cause voice latency, and unavailability to handle new calls. You can
add more conference servers to handle the conference in order to reduce the PBX Server loads
and decrease network latency.
In PortSIP PBX Management Console, select the "Advanced > Conference Server" menu, click
"Add" button, and enter a friendly name for the new Conference Server, the IP of new Conference
Server (could be IPv4 or IPv6), and conference server port 8886. Also please enter the maximum
conference rooms and maximum participants, and click “Apply” button.
You can view all the added conference servers by clicking “Advanced > Conference Server”. In
the conference server list, you can check the state for each server, such as enabled or disabled,
connected to PBX or disconnected. You may also configure the conference server settings by
clicking “Edit” icon button to popups the menu and choose "Edit". In the "Maximum Rooms"
filed, you can specify the maximum conference rooms for this conference server that you can
handle. You can also disable a conference server by turning off the “Enabled” switch in the
conference server list.
You can view all the Conference Servers by clicking "Advanced > Conference Server". To remove
a conference server, click to select the server to be removed and "Delete" button from the top of
webpage. Once the Conference Server is removed, the PortSIP PBX will no longer use this
Conference Server to handle conference.
Note: The Built-in Conference Server cannot be removed, but you can disable it by clicking the
"Enabled" switch. Be careful about the Built-in Conference server. If you disabled it and did not
add other conference server, the conference feature will not be enabled.
11.6 Configuring Mobile PUSH
PortSIP PBX uses PUSH technology to wake up the smartphone when a call is received on client.
Mobile PUSH messages wake up PortSIP Softphone or other Client Apps on mobile device so that
a call or Instant Message can be accepted, reducing battery usage and improving reliability.
Android phones receive PUSH notifications from Firebase Cloud Messaging Server; Apple phones
receive PUSH notifications from APNs.
PortSIP UC Client app has built-in push service enabled by default in PortSIP PBX. If you wish to
enable another app, you can create your own Firebase or APN account to support the push
notifications for your apps.
2. Navigate to “Advanced > Mobile PUSH > Add new APP” for setting up a new app for
receiving PUSH notifications.
5. If necessary, enter Google Server Key and Google SenderID for Android clients, and upload
Apple Certificate File and Apple Private Key file for Apple clients.
6. Click “Apply” to apply the settings and restart all clients so they re-provision and take the
latest settings. The step by step guide for make the Mobile PUSH notifications works with
your app and PortSIP PBX, please refer to below topics:
1. Implement the PUSH notifications in Native iOS App with PortSIP PBX
2. Implement the PUSH notifications in Android App with PortSIP PBX
11.7 Configuring Voicemail
Set the extension number of voicemail
When the PortSIP PBX is successfully installed, the Voicemail service would be enabled by default.
You can specify the voicemail service extension number by clicking “Advanced > Voice Mail” node
in left menu.
Users could dial to read his voice mails. The default voice mail number is 999.
PortSIP PBX allows you specify the disk quota to store the voice mails. The default value is
unlimited. You can also enter the number of days that they will be kept before they’re deleted
automatically.
11.8 Security
PortSIP PBX provides security features with main purpose to block any malicious attacks targeted
to the PortSIP PBX in case the admin has not taken necessary precautions at firewall level. It
works by detecting and blocking packet floods / DoS attacks or brute force dictionary attacks
within the scope of identifying and cracking the extension number and the password.
The Anti Hacking configuration page is accessible by clicking on the menu “Advanced > Security”.
Detection Period
This is a time interval in seconds when counting starts but no action is enforced. To disable
security, set it to a higher value.
This is the protection in case the attacker tries to use a dictionary attack to guess the password
set for a particular extension. To do this the attacker has to send numerous invites and after the
server sends a “Proxy authentication Required message” the attacker will send an invite with
authentication. With this feature, the attacker can only send 25 requests in an attempt to crack
the password. If an IP Address spams PortSIP with 10 wrong Authentication attempts in
“Detection Period”, that IP address will be blocked and put in the blacklist for the time specified in
the “SIP Blacklist time interval” parameter, by default 1 hour.
D.O.S attacks can send REGISTER/INVITE requests but do not reply to Challenge (407). Configure
the amount of "fake" requests that PortSIP PBX will accept per IP Address. If this value is
exceeded in "Detection Period" interval the source IP address is put in the Blacklist. IP will
remain blacklisted till "SIP Blacklist time interval" expires, by default 1 hour.
Level 2 security
This is the 2nd layer of protection. Here you can specify how many packets can be sent from a
unique source IP address. The default value is 2000 packets per second. If an IP Address is
sending more than 2000 packets per second, it means that there is something wrong. At this
point the attacker IP will be blocked until "Level 2 blacklist time interval" expires.
Level 1 security
This is the 1st layer in packets per second. If an IP sends more packets than the amount specified
per second, it will get blacklisted for the “Level 1 blacklist time interval”. Default value is 5000
packets per second. At this layer, once that packet rate exceeds this layer, the blacklist is
enforced.
Once an IP address was blocked due to above rules, it will display in the 12.3 section, from which
you can add it into “Whitelist” manually.
Backup
1. Go to “Advanced > Backup” menu, and click “Backup” button on top of the page.
2. Enter the filename for the backup in “Backup File Name”, and choose the files to be
included in the backup.
3. Click “Apply” to commit the backup.
4. It will take a while to complete the backup. Once completed, please refresh the page to view
the backup file. User now may click to select one item of the list and click “...” icon button to
popups the menu and choose "download" to download it to local, or click “Restore” button
to restore PBX from backup file.
1. Backup the PBX as described in above steps, and download the backup file to local.
2. In the new machine which has the PortSIP PBX installed, copy that downloaded backup file to
the c:\ProgramData\PortSIP\backups folder of new PBX server (The c:\ProgramData is
hidden folder)
3. Sign in Web Management Console of PortSIP PBX Click menu "Advanced > Backup", you will
see that backup file.
4. Click the "..." button of this back file to expand the menu, choose "Restore"
5. Once the restoration is completed, you will be redirected to the Sign-in page. Sign in again (If
you fail to sign in, please wait a while as the restoration is not completed yet)
Migrate PBX to another Machine on Linux
1. Backup the PBX as described in above steps, and download the backup file to local.
2. In the new machine which has the PortSIP PBX installed, copy that downloaded backup file to
the /var/lib/portsip/backups folder of new PBX server
4. Sign in Web Management Console of PortSIP PBX, click the menu "Advanced > Backup", you
will see that backup file.
5. Click the "..." button of this back file to expand the menu, choose "Restore"
6. Once the restoration is completed, you will be redirected to the Sign-in page. Sign in again (If
you fail to sign in, please wait a while as the restoration is not completed yet)
Backup Schedule
In addition to common single backup, user may also setup “Backup Schedule” to backup PBX
settings and data regularly.
To do this, please go to “Advanced > Backup” menu, click “Backup Schedule” button on top of
the page, and fill in below fields if necessary:
Enable backup schedule: Please check this selection to enable “Backup Schedule”.
Choose items to be included in backup: This sections lists all the files available for backup,
including a few items which can be backup. A selected item indicates the file type to be
included in backup.
Backup timing: Backup could be scheduled to execute daily or weekly by selecting the list
time. Once selected, user may specify the hour for stating backup. For weekly backup, the
weekday for running backup is also necessary.
11.10 License
Without a license, PortSIP PBX could work for up to 3 simultaneous calls. If you require more, you
will need to purchase a license.
Once you have received the license key, please click the menu “Advanced > License”, and enter
the key received.
PortSIP PBX requires Internet connection to verify the license key periodically. Please ensure that
your PBX server could be connected to Internet smoothly. If the license key verifications fails, the
PBX will be downgraded to free version which only allow maximum of 3 simultaneous calls.
Do not let others know your license key. If PortSIP PBX detects a second user, it will be forced into
invalid and will downgrades to free version which only allow maximum of 3 simultaneous calls.
Please contact PortSIP Support or reseller if you encountered any license key related issue.
To allow or disallow the country code, please click the “Blacklist and Codes > Codes and E164 >
Allowed Country Codes”, you can select or de-select one of more than one country.
Disallowed Codes
User may use this feature to block the calls made on the trunks by specified prefix.
Go to "Blacklist and Codes > Codes and E164" menu, select the "Disallowed Codes" tab, you
can add the disallowed number prefix by click the "Add" button.
12.3 IP Blacklist
PortSIP PBX allows you to whitelist and blacklist IP addresses. All traffic originated from
whitelisted IP addresses will be allowed through unchecked by the anti-hacking features. All traffic
originating from blacklisted IP addresses will be dropped immediately.
Assume that you have a remote office connected to your PortSIP PBX. Your remote office has a
public IP address of 123.123.123.123. Traffic from this IP address is trusted. To add this IP address
into whitelist, you’ll need to follow below steps:
1. Sign in the PortSIP PBX Management Console.
4. Enter the IP address that you want to allow – in this example it should be 123.123.123.123
(you can also enter the IP 123.123.123.0 and choose a Subnet Mask to allow an IP range).
6. Add a description for the IP address, for example “My Remote office”.
7. Click “Apply”. An allow entry will be created in the IP Blacklist page for the whitelisted IP
address. All traffic originated from this IP address will not be checked and the anti-hacking
algorithms will not come into effect.
Let us look at another scenario. Assume that there is a distributed attack coming from the
following IP addresses – 41.202.160.2 and 41.202.191.5. These two IP addresses have already
been blacklisted by PortSIP PBX’s anti-hacking auto-detection mechanisms.
You would, however, want to blacklist all the range, since you are sure that you will never get any
traffic from these IP addresses. In this case, we will blacklist the whole range from 41.202.0.0 to
41.202.255.255, i.e. all the IP addresses that started with 41.202.
When configuring a range of IP addresses in the Blacklist, you should also ensure that the range
does not include the IP address of which the PBX is installed.
13.1 General
The admin user(admin also is a tenant) or tenant user can modify their profile details in the
“General” tab: Username: The username for the admin or tenant user.
General Information
Username: You can change the username (used for signing into web management console)
Password: If the password was modified, the admin or tenant user must use new password
to login to management console.
Domain: The SIP domain for the tenant.
Company name and company website: The company name and company website for the
admin or tenant user. The extension’s company name and company website is inherited
from the admin/tenant user who created the extension.
Email: The email for admin or tenant user, which is used for receiving notification from PBX.
Capability
This section will display the capability of the admin/tenant. The tenant cannot modify the
capability for himself.
Maximum Extensions
Maximum simultaneous calls
Maximum Ring Groups
Maximum Call Queues
Maximum Conference Rooms
Maximum Virtual Receptionists
Options
Holidays
You can also set up the holidays by clicking the "Add" button in "Holidays" Section. When a call is
made or received during the holiday, it will be treated according to the "Out of office hours" rule.
13.3 Storage
The “Storage” tab allows to adjust the storage quota for Recording files, Voice Mails and the Call
Reports:
Disk quota (MB) - The maximum disk quota allowed for this tenant
Recordings - Current disk usage of recordings for this tenant
Voice Mails - Current disk usage of voice mails for this tenant
If you using the Google SMTP server, please make sure that you have “less secure” enabled for
your Gmail account. Please refer to below links for more details:
You also need to select SSL or TLS security protocol if you’re using Google SMTP Server.
Enable: This box could be checked to enable “Music on Hold” so that when a call is on hold,
music will be played to the hold caller. To enable this feature, at least one piece of music file
must be specified.
Personalized Music on Hold: Once this option is selected, music will be played for the hold
caller in random. Default playing mode is “Random music per day”.
Random music per call: When Personalized Music on Hold is checked, user could specify
check this option so that music on hold for each call may differ.
Random music per day: Default playing mode for Personalized Music on Hold.
Music on Hold: Music could be uploaded here by clicking “...” button to navigate the desired
music files. To enable “Music on Hold” feature, this field is mandatory. Only .WAV files
supported currently.
Music 1:
……
Music 9: More music files could be uploaded by using these fields to support on
random music feature.
By setting up Event URL, PortSIP PBX is able to send CDR (Call Detail Report) and Extension activity
details to 3rd server by of HTTP request in POST method(Web Hook). The CDR is formatted in
JSON. To setup, please go to “Profile > Event URL” of Management Console.
CDR Events
To send the CDR event to a 3rd server, below options should be provided:
Authentication method: The authentication method used when sending request to third-party
server. Both HTTP Basic Authentication and HTTP Digest Authentication are supported by PortSIP
PBX. If authentication is not necessary, please choose “None”.
"answered_time":"1569567973",
"call_id":"b3dKobNlCwlOsjwyvlqD4A..",
"call_status":"ANSWERED",
"callee":"102",
"callee_domain":"portsip.io",
"caller":"101",
"caller_display_name":"",
"caller_domain":"portsip.io",
"did_cid":"",
"direction":"ext",
"ended_reason":"caller hangup",
"ended_time":"1569567981",
"fail_code":"0",
"final_dest":"sip:[email protected]:7059",
"outbound_caller_id":"",
"related_callid1":"",
"related_callid2":"",
"ring_duration":"5",
"ring_time":"1569567968",
"start_time":"1569567968",
"talk_duration":"8",
"tenant_id":"229806676134465536",
"tenant_name":"admin"}
Extension Events
To send the Extension events to 3rd server, below options should be provided:
Authentication method: The authentication method used when sending request to third-party
server. Both HTTP Basic Authentication and HTTP Digest Authentication are supported by PortSIP
PBX. If authentication is not necessary, please choose “None”.
Event URL: URL used for sending events to third-party server, e.g. http://www.eventsserver.com/a
dd.php.
“event_type”: “extension_registered”,
“tenant_id”: “admin”,
“extension_number”: “101”,
“source_ip”: “192.168.0.98”,
“time”: 1489482652, “domain”: “sip.portsip.net”
13.7 SMS
SMS
By setting up SMS, PortSIP PBX will be able to send SMS message when it receives a text message
from extension.
To setup, go to “Profile > SMS” of Management Console. To enable the SMS feature, below
options should be provided:
Enable: By checking/unchecking this option, you are allowed to enable or disable the SMS
feature.
SMS Provider: SMS providers supported by PortSIP PBX, currently including Twilio, Clickatell,
Nexmo, SMSAPI. You can signup an account from one of these providers.
Clickatell is a SMS provider. You can visit https://www.clickatell.com to register an account and
sign in.
Click the “SMS integrations” on the left menu, and the “Create new integration” in the top right
corner. Follow the wizard to create and copy API key once integration created. Note: You should
choose “REST” as the API type. Now in PortSIP PBX, choose the SMS provider “Clickatell“, paste
the copied API key into “API key/Token“.
SMSAPI
SMSAPI is a SMS provider. You can visit https://www.smsapi.com to register an account and sign
in.
Click the “API password (MD5)” on the left menu. In the “Change API Password” section
displayed, enter your account password and new API password, click “Change API password“. In
this page the “API password in MD5” will show up, please copy the MD5 string.
Now in PortSIP PBX, choose the SMS provider “SMSAPI“, paste the copied API MD5 string to
“Password“, enter your SMSAPI account.
Nextmo
Nextmo is a SMS provider. You can visit https://www.nextmo.com to register an account and sign
in.
Now in PortSIP PBX, choose the SMS provider as “Nexmo“, copy the “key” from Nexmo and paste
to “Username” filed in PortSIP PBX, copy the “secret” from Nexmo and paste to “Password” filed
in PortSIP PBX. Enter a name for “From” filed if you want to specify the SMS sender.
Twilio
Twilio is a SMS provider. You can visit https://www.twilio.com to register an account and sign in.
To work with Twilio, you should also buy a number in order to send the SMS. To do so, click the
Manage Numbers in “Phone Numbers” section and follow the instructions to buy a number.
Now in PortSIP PBX, choose the SMS provider “Twilio“, copy the “ACCOUNT SID” from Twilio
Console Dashboard to “Username” field in PortSIP PBX, copy the “AUTH TOKEN” from Twilio
Console Dashboard to “Password” field in PortSIP PBX, and copy the phone number to “From”
field in PortSIP PBX.
Note, you should remove the “(“, “-“, and blank space from the phone number before pasting to
PortSIP PBX. For example, the (305) 676-8541 should be 3056768541.
*Important: Before you fill the SMS provider information into PortSIP PBX, we recommend you to
send some test SMS messages in your SMS provider management console/panel to make sure
SMS works well.*
Example:
If you have setup the SMS provider, now an extension sends a pager message to PortSIP PBX, and
indicates that pager message is a SMS message:
To: sip:[email protected];messagetype=SMS
If the parameter “messagetype” is presented in the “To” header, and the value is “SMS”, PBX will
relay this pager to the configured SMS provider.
13.8 Rebranding
The PortSIP PBX allows you customize and rebrand it.
Click the menu "Profile" and choose the "Rebranding" tab, in this page, it will allows you enter
the brand name, company name and upload logo file, you can simply have your own PBX.
Each Tenant can customize the PBX with his own brand name, logo.
If the tenant wish to display his own brand information, should open the web management
console as this way:
http://192.168.0.16:8888/login?tenantname=test
In above link, the 192.168.0.16 is the PBX IP, the parameter tenantname is use for specify the
tenant name, in case is for "test" tenant.
You can access the REST API user guide to learn more.
Note: The PortSIP PBX Web Management Console is built based on REST APIs.
/api/extensions/hold - Allows use the REST API to hold a existing call by given extension number
or by given extension number and call session ID.
/api/extensions/refer - Allows use the REST API to refer the existing call by give extension
number or by given extension number and call session ID.
/api/extensions/attended_refer - Allows use the REST API to attended refer the existing call by
give extension number or by given extension number and call session ID.
/api/extensions/sessions - Allows use REST API to obtain all existing calls information by given
extension number.
/api/call_sessions/create - Initialize a call by given caller and callee number, the caller and callee
will receive the incoming call, after answered, the call will be connected.
Rewrite outbound caller ID
The outbound caller ID also known as CLI (Calling Line Identification), represents the phone
number of the calling (A) party in a phone call. It can be the full phone number or just a partial
representation (say, the last 4 digits) depending on the carrier, country and frame of mind of the
switch jockey.
PortSIP PBX allows set the outbound caller ID when make outbound call - just add a SIP header
into the INVITE message.
Example
If added X-Outbound-Cli SIP header to the INVITE message and make call to PBX, once the PBX
received call from client app, the PBX will rewrite INVITE message before send it to the trunk.
X-Outbound-Cli: rewrite-from=123
Above header will cause the PBX rewrite the username of the From header to 123 when sending
INVITE to the trunk.
X-Outbound-Cli: rewrite-pai=456
Above header will cause the PBX add "P-Asserted-Identity" SIP header and set the username to
456 when sending INVITE to the trunk.
X-Outbound-Cli: rewrite-rpi=789
Above header will cause the PBX add "Remote-Party-ID" SIP header and set the username to 789
when sending INVITE to the trunk.
If you would like to rewrite above headers only on specify trunk, you can also add below
parameter.
X-Outbound-Cli: rewrite-from=123;trunk-name:abc
Above header will cause the PBX rewrite the from header if the call is send to the trunk which
named "abc"; If no "trunk-name" parameter, the PBX will rewrite INVITE message on all trunks.
Email: [email protected]
In this deployment, when running the "Setup Wizard", in the step 1 you will need to enter the
"Private IPv4" only.
This scenario requires the PBX server has a public static IP. When running the "Setup Wizard", in
the step 1 enter the "Private IPv4" and "Public IPv4". The public IPv4 is the static public IP of the
PBX server.
Run "Setup Wizard". In the step 1, enter the private IPv4 and public IPV4
Click menu "Advanced > SBC", select the "Enabled SBC", enter the port for "SIP Signaling
Port" and "STUN Port" that you want to use or keep the default ports
Click the "Apply" button
Once the SBC is configured, you can setup your firewall to disable all ports of the PBX server
except for the "SIP Signaling port" and "STUN Port", "STUN Port +1". For example, if you set the
"SIP Signaling Port" to 5080, and the "STUN Port" to 3478, you will need open the 5080, 3478,
3479 ports on your firewall, and you can block the other ports in firewall.
Now your client app / IP Phone may register to the PBX by sending the SIP message to the 5080
port.