This chapter demonstrates how to set up SIP phone auto-provisioning so that you can easily control the parameters and configuration of thousands of IP phones from the PortaBilling web interface, without having to provision each unit individually.
Please refer to the PortaBilling Help for detailed instructions on how to navigate and operate the web interface, as well as for detailed explanations of particular fields.
Setting up auto-provisioning of IP phones
The following section will assist you in setting up automatic provisioning of IP phones by PortaSwitch, so that every phone will automatically download all the required configuration parameters, such as phone number or password, from the provisioning server. Thus, there is no need for your end users to perform any configuration settings via the IP phone web interface.
Checklist
Use this checklist to check off the operations you have completed while performing the system setup according to the instructions in this chapter. Please be sure to perform all of the operations in the order designated (all of the boxes should be checked), otherwise, the service will not work.
Operation |
Done |
General configuration |
|
Create a new CPE profile for the required type of IP phone |
|
In the CPE profile, fill in all the required parameters (e.g., SIP proxy address) |
|
CPE inventory |
|
Create a record for your IP phone in the CPE inventory, making sure to enter the correct MAC address |
|
Assigning a phone number to the IP phone |
|
Make sure your SIP service is provisioned according to the instructions given above in this guide |
|
Create a new account with the product you allocated for the SIP service, with an account ID identical to the phone number |
|
Assign this account for provisioning on a certain IP phone |
|
IP phone settings |
|
Connect the IP phone to the Internet |
|
If the phone has not been pre-configured for your provisioning server by the vendor, enter provisioning information into the phone manually |
|
Wait until the configuration files are updated on the provisioning server |
|
Testing |
|
After your phone downloads the configuration from the server and successfully registers on the SIP server for the first time, you will receive a “first login greeting” call |
|
Make a test phone call |
Create a CPE profile
- On the navigation menu, select Infrastructure, then select Inventory and click Phones/CPEs.
- On the CPEs Inventory panel, select CPE profiles. On the Create a profile panel that opens, specify the basic CPE profile information:
- Name – type a short descriptive name for this profile (e.g., “Sipura Standard.”)
- Device model – choose the hardware type of the IP phone. (e.g., “Sipura 2000.”)
- Managed by – if you plan to use this profile for a certain reseller’s customers, choose the reseller from the select menu; otherwise leave this as Administrator only.
- Effective from – leave the value in this field as Immediately.
- Click Save.
CPE profile settings
After clicking Save on the previous page, you are redirected to the Edit CPE Profile panel, where you can edit the generic device settings. These configuration parameters are dependent on the specific model of your IP device. The example below uses a Sipura-2000 device, but most of the settings should be the same for other Sipura/Linksys VoIP products.
Field |
Description |
Enable web server |
Enable/disable the built-in web server (for device monitoring). |
Enable web admin access |
Enable/disable the built-in web server (for device administration and changing configuration parameters). |
Admin password |
The password for administrator access. |
User password |
The password for user access. |
Field |
Description |
Profile rule |
Path to the profile configuration file (e.g., [--key $B]http://PB_WEB_SERVER/$A/$MA.cfg
for Sipura/Linksys VoIP products, [--key $B]http://PB_WEB_SERVER/
for Grandstream, [--key \$B]http://PB_WEB_SERVER/\$A/\$MA.cfg
for Cisco products.) Replace PB_WEB_SERVER with the actual hostname or IP address of your PortaBilling web server; for instance, the actual value in the field might be (for Sipura/Linksys): [--key $B]http://demo.portaone.com/$A/$MA.cfg.
The example on the screen assumes provisioning via the HTTP protocol; change http: to tftp: for TFTP provisioning. When an individual IP phone makes a request for a configuration file, $MA will be automatically replaced by its MAC-address, so leave this as is (if you enter the actual MAC address, you will not be able to reuse the same profile for multiple phones). |
GPP A, GPP B, GPP C |
Dynamic variables. During config file generation, $i_env will be replaced by a unique environment ID, and $ascii_key by the crypt key from the IP phone. GPP A corresponds to $A variable in the Profile Rule field, GPP B to $B, etc. Please refer to the Appendices section for other variables used in CPE profile configuration. |
In the Line 1 and Line 2 tabs, you can specify parameters for both phone ports of your IP phone.
Field |
Description |
Proxy |
SIP server for registration and placing outgoing calls. |
Use outbound proxy |
If set to “no”, the SIP server defined by the Proxy parameter will be used for all registrations and outgoing calls. |
Outbound proxy |
SIP Server for placing outgoing calls (if different from the SIP registration server). |
Register |
Whether or not the IP phone should register with the SIP server; this is required to receive incoming calls. |
Register expires |
Registration lifetime in seconds (the Expires value in a REGISTER request). The IP phone will periodically renew registration shortly before the current registration expires. |
Display name |
The subscriber’s display name, which appears in the caller-id for their outgoing calls; by default First Name + M Name + Last Name. |
User ID |
The phone number assigned to this port. The dynamic variable $id will be automatically replaced by the account’s ID (phone number), e.g., 16045558921. If you want to configure a user ID that looks like <ID>_<additional characters>, you should additionally use backslash “\” as a separator, so the variable will look like: $id\_<additional characters>. For example, you configure the account 16045558921 as a shared line with two line keys on an IP phone. Specify $id\_1 in the User ID field of Line 1. In the generated configuration file, $id\_1 is replaced by 16045558921_1 and is registered on the phone as 16045558921_1 line. For Line 2, specify $id\_2 correspondingly.
|
Auth ID |
Authentication ID (if different from the phone number). |
Use auth ID |
If set to “yes”, the combination Auth ID and Password will be used for SIP authentication. Otherwise, User ID and Password are used. |
Preferred codec |
Select a preferred codec for all calls. However, the actual codec used in a call will still depend on the outcome of the codec negotiation protocol. Possible values: G711u, G711a, G726-16, G726-24, G726-32, G726-40, G729a, G723. |
Use pref codec Only |
Only use the preferred codec for all calls. The call will fail if the other endpoint does not support this codec. |
DTMF tx method |
Method for transmitting DTMF signals to the far end: Inband = Send DTMF using audio path; INFO = Use the SIP INFO method, AVT = Send DTMF as AVT events; Auto = Use Inband or AVT based on outcome of codec negotiation. |
Dial plan |
Per-line dial plan script; see the product manual for a detailed description of the syntax. |
Create IP device entry
- On the navigation menu, select Infrastructure, then select Inventory and click Phones/CPEs.
- On the CPEs Inventory panel, select Phones/CPEs list. On the Create CPE panel that opens, specify the basic CPE device information:
- Device ID – type a unique ID for the IP phone (e.g., JB SPA-2000).
- Device model – select Sipura 2000 from the drop-down list.
- MAC address – type the hardware ID of the IP phone (typically printed on the back of the device), 6 hexadecimal numbers, separated by colons. Make sure you enter the full value of the MAC address, including the colons!
- Managed by – select Administrator only from the drop-down list.
- CPE profile – select the IP device profile you previously created (e.g., Sipura Standard).
- Click Save.
Provisioning an account on an IP device
- On the Account panel, click General info, then select Additional info and open Auto-provisioning panel.
- On the Auto-provisioning panel configure the following options:
- Use a slider to enable the Auto-provisioning option.
- Option – select CPE from the drop-down list.
- Device model – select Sipura 2000 from the drop-down list.
- IP device – select JB SPA-2000 from the drop-down list.
- CPE port – choose a specific port from the drop-down list, if the device has multiple phone ports.
- Click Save.
After the automated script creates a new configuration file, it will place it on the provisioning server. The file generation process runs every hour (or every time you update a specific IP device profile).
All device configuration files are stored in /porta_var/<Server_IP>/tftp on the PortaBilling web server, in subdirectories with a name identical to the environment ID (i_env): 1, 2, 3, and so on.
IP phone device configuration
Sipura SPA 100
If your IP phone/ATA was pre-configured by the vendor to retrieve a configuration from your provisioning server, you need only connect the phone to the Internet. Otherwise, you must enter information regarding the provisioning server into the IP phone manually:
- Connect the Sipura device to the LAN, and find the IP address assigned to it by DHCP: connect an analog phone to phone port 1 and then dial **** on the phone, so that you enter the configuration menu. Dial 110# and listen to the IP address announced.
- On the PC connected to the same LAN as the Sipura device, open a new web browser window and enter the URL http://<IP>, where <IP> is the IP address which was announced to you by the IVR.
- Click on Admin login, then go to Advanced view and the Provisioning tab.
- Enter the provisioning information.
- In the Profile Rule field, enter:
[--key $B]http://PB_WEB_SERVER/$A/$MA.cfg (for Sipura/Linksys VoIP products), [--key $B]http://PB_WEB_SERVER/cfg$MA (for Grandstream)
Replace PB_WEB_SERVER with the actual hostname or IP address of your PortaBilling web server; for instance, the actual value in the field might be:
[--key $B]http://demo.portaone.com/$A/$MA.cfg.
- In the GPP A field, enter the numeric ID of the environment (i_env).
- If you plan to use encryption for the configuration files, enter the secret key in the GPP B field.
- In the Profile Rule field, enter:
- Apply the changes by clicking Submit All Changes at the bottom of the page. After reboot, the device will request the configuration file from the server via the http protocol, and all profile parameters will be applied.
Yealink SIP-T28P
- Launch your web browser.
- Enter the Yealink device’s IP address in the browser’s Address field. For example: http://192.168.1.175.
- Click on Admin login.
- Then go to the Upgrade tab and select Advanced view:
- In the URL field type in the full address of the provisioning server. This may be the actual hostname or IP address of your PortaBilling web server, and env_id – the numeric ID of the environment. For example: http://demo.portaone.com/1/.
- Click on the Auto provision button if you want to auto provision the device immediately (mind that Check new config should not be disabled).
- Click on the Confirm button to save changes.
Polycom SoundPoint IP 550
In order to use auto-provisioning with Polycom devices, you need to specify the provisioning server using device controls.
- Press the Menu and select Settings by scrolling down.
- Then choose Advanced, enter the Password (by default it is set to 456), and then press the Enter button.
- Go to Admin Settings, choose Network Configuration.
- Scroll down and select the Server Menu.
- Here specify:
- Server Type (e.g., http)
- Server Address in the following format:
PB_WEB_SERVER/env_id/
Replace PB_WEB_SERVER with the actual hostname or IP address of your PortaBilling web server and env_id with the numeric ID of the PortaBilling environment. For instance, the actual value in the field might be: 1.2.3.4/1/ or demo.portaone.com/1/
- Press Ok to save the configuration.
Linksys SPA-941
- Launch your web browser.
- Enter Linksys device’s IP address in the browser’s Address field. For example: http://192.168.1.179.
- Click on Admin login, then choose the Advanced view and go to the Provisioning tab.
- Enter the provisioning information.
- In the Profile Rule field, enter:
[--key $B]http://PB_SERVER/$A/$MA.cfg
Replace PB_SERVER with the actual hostname or IP address of your PortaBilling web server. For instance, the actual value in the field might be:
[--key $B]http://demo.portaone.com/$A/$MA.cfg.
- In the GPP A field, enter the numeric ID of the environment (i_env).
- If you plan to use encryption for the configuration files, enter the secret key in the GPP B field.
- In the Profile Rule field, enter:
- Apply the changes by clicking Submit All Changes at the bottom of the page. After the system reboots, the device will request the configuration file from the server via the http protocol, and all profile parameters will be applied.
Telefield IPX500
These instructions show you how to configure automatic provisioning for Telefield IPX500 phones. When provisioning a Telefield IPX500 IP device, PortaBilling generates an automated script that contains, among other things, the following information:
- a link to the configuration file that contains the device configuration parameters;
- the Telefield firmware information.
Therefore, to provision a Telefield IPX500 phone, complete the following steps:
- Specify the path to PortaBilling on the IP phone web interface.
- Configure the Telefield firmware update on the configuration server.
Specify the path to the provisioning server on the IP phone web interface
- Launch your web browser.
- Enter the Telefield phone IP address in the browser address field and log in with the phone credentials.
- Go to the Service tab and select Advanced Upgrade in the left-hand menu.
- Enter the provisioning information in the URL field: https://PB_WEB_SERVER/ipx.html?i_env=ENV_ID&protocol=PROTOCOL, where
- PB_WEB_SERVER is the hostname or IP address of your PortaBilling web server;
- ENV_ID is the PortaBilling environment ID; and
- PROTOCOL is either an http or tftp protocol.
The actual value in the field might be: https://demo.portaone.com/ipx.html?i_env=3&protocol=http.
- Click Save.
Once the information is submitted, the URL field will appear blank. However, Telefield will have received and stored this URL.
Get the newest firmware information from the Telefield RDS server
The Telefield RDS server stores the original Telefield firmware. You need to specify the application and ROM server information on the configuration server.
- Go to the Telefield RDS server using the https://115.28.151.223/download/bash.sh link.
- Find the following values:
- APP_SERVER_URI
- APP_VERSION
- ROM_SERVER_URI
- ROM_VERSION.
Use these values for the next stage.
Specify firmware information on the configuration server
- On the configuration server web interface, go to the Configurations tab.
- Clone the current configuration.
- In the Configuration Tree, select Web Cluster.
- In the Environments panel, select the required environment.
- In the Groups panel, select UA_Profiles.
- Use the firmware information from the Telefield RDS server to fill in the following fields:
- Click Save.
- Click Check/Apply to apply this configuration.
The next time the IP phone sends a provisioning request, it will receive all essential information for the Telefield firmware update. The IP phone then downloads the firmware from the specified links and installs it.
Fanvil C600
- Launch your web browser.
- Enter the Fanvil device’s IP address in the browser’s Address field. For example: http://192.168.1.175.
- Click on Admin login.
- Then go to the Maintenance → Auto Provision → Phone Flash Settings.
- Here specify:
- Server Address (in the following format: PB_WEB_SERVER/env_id/)
- Protocol Type (e.g., http).
- Update Mode (Update After Reboot or Update at Time Interval).
- If you plan to use encryption for the configuration files, enter the secret key in the Config Encryption Key field.
- Click Apply to save changes.
- Reboot phone (if Update After Reboot mode is used).
Note that auto-provisioning may take several minutes.
Fanvil X3S, Fanvil X4G, Fanvil X5S and Fanvil X6
- Launch your web browser.
- Enter the Fanvil device’s IP address in the browser’s Address field. For example: http://192.168.1.175.
- Click on Admin login. (e.g., X4G)
- Then go to the System → Auto Provision → Static Provisioning Server
- Here specify:
- Server Address (in the following format: PB_WEB_SERVER/env_id/)
- Protocol Type (e.g., http).
- Update Mode (Update After Reboot or Update at Time Interval).
- If you plan to use encryption for the configuration files, enter the secret key in the Config Encryption Key field.
- Click Apply to save changes.
- Reboot phone (if Update After Reboot mode is used).
Htek IP Phones
- Launch your web browser.
- Enter the Htek device’s IP address in the browser’s Address field. For example: http://192.168.1.175.
- Click on Admin login.
- Then go to the Managment → Auto Provision → Firmware Upgrade.
- Here specify:
- Config Server Path (in the following format: PB_WEB_SERVER/env_id/)
- Upgrade Mode (e.g., http).
- If you plan to use encryption for the configuration files, set Yes for Authenticate Cfg File and enter the secret key in the Set Common AES Key field.
- Click SaveSet to save changes.
- Click Autoprovision Now.
Advanced provisioning tips
In order to understand provisioning in depth, you have to know something about the internal processes of configuration file generation.
Auto-provisioning is a built-in function of an IP phone, allowing the device to download its configuration from an external server via the HTTP or TFTP protocols. Different IP phones use a different set of configuration parameters and a different format for the configuration file. In addition, many IP phone manufacturers require the configuration file to be processed by some proprietary utility (profile compiler) before it can be supplied to the IP phone.
PortaBilling initially processes each account with an associated IP phone and creates a parameter-value plain-text file located in /home/porta-admin/profile. This file then becomes the source for the manufacturer’s configuration compiler. The result of the compilation (i.e., the file to be downloaded by the IP phone) is placed in /porta_var/<Server_IP>/tftp. All provision configuration files are stored with a $env-subfolder. Any IP phone can access its configuration file just by sending a request to the http-port of the PortaBilling web server.
For phones that do not support http provisioning, you may use the TFTP protocol. The main disadvantage of TFTP is that it has a higher chance of being blocked by a firewall.
Partial CPE profile configuration
Some IP phones support partial auto-provisioning, i.e., the device takes some settings from the configuration file and then uses its own default settings to complete the configuration.
Also, some IP phones can be customized by end users. Thus, end users may wish to configure particular options (e.g., soft keys) according to their preferences.
For example, when creating a CPE profile for Audio Codes 405HD, you can remove such personal settings as programmable keys from the list of options to be auto-provisioned. Then, if end users configure the programmable keys for their IP phones, those changes remain after the IP phone configuration update.
To enable partial CPE profile configuration, follow the next steps:
- On the Configuration server go to the Configurations tab.
- Clone the existing configuration.
- In the Configuration Tree, select Web Cluster.
- In the Environments panel, select the Environment name. This allows you to enable the functionality only for the selected environment only.
To enable partial CPE profiles configuration for all environments select Global from the Environments panel.
- In the Groups panel, select UA_Profiles.
- In the AlloPartialProfileConfiguration option, specify Yes.
- Click the Save button and then the Verify button.
- Verify the new configuration and click the Check/Apply button.
After the configuration has been applied, go to the administrator web interface.
To create a new CPE profile, follow the steps described in the Create a CPE Profile section of the current handbook.
To configure the existing profile, follow the steps described in the CPE Profile Settings section of the current handbook.
Note that when partial CPE profiles configuration is enabled on the Configuration server, additional controls appear near each configuration option. The controls are enabled by default, therefore to disable the provisioning of particular options, clear them.
To apply changes to previously generated CPE profiles and remove unwanted options do the following:
- On the CPE profiles page select the profile you need.
- On the Edit CPE profile page click Regenerate.
- Click Save.
You can also apply changes to previously generated CPE profiles and remove unwanted options via the API.