If you provide your VoIP customers with CPE equipment like IP phones, you know how laborious and yet important the task of performing initial configuration is. If the equipment is not configured properly, it will not work after being delivered to the customer. Or, even if it works initially, problems will arise if you need to change the IP address of the SIP server. How can you reconfigure thousands of devices that are already on the customer’s premises? There are two ways to manage the device configuration.
The administrator must login to the device provisioning interface (typically HTTP) and change the required parameters. There are several drawbacks to this method:
- The IP phone must be connected to the Internet when the administrator is performing this operation.
- The administrator must know the device’s IP address.
- The IP phone must be on the same LAN as the administrator, or on a public IP address (if the device is behind a NAT/firewall, the administrator will not be able to access it).
Due to these reasons, and since every device must be provisioned individually, this method is acceptable for a testing environment or small-scale service deployment, but totally inappropriate for ITSPs with thousands of IP phones around the world.
This approach is a fundamentally different one. Instead of attempting to contact an IP phone and change its parameters (pop method), the initiative is transferred to the IP phone itself. The device will periodically go to the provisioning server and fetch its configuration file.
IP phone provisioning
When you use auto-provisioning for an IP phone, instead of entering the same values for codec, server address, and so on into each of a thousand user agents, you can simply create a profile which describes all these parameters. Then PortaBilling can automatically create a configuration file for the SIP phone and place it on the provisioning server.
The only configuration setting which is required on the IP phone side is the address of the provisioning server, i.e. where it should send a request for its configuration file. When the IP phone connects to the Internet, it will retrieve a specific configuration file for its MAC address from the TFTP or HTTP server and adjust its internal configuration.
If you decide later to change the address of the SIP server, you need only update it once in the profile, and new configuration files will be built for all user agents. Each user agent will then retrieve this file the next time it goes online.
The config file is specific to each user agent, as it contains information such as username and password; thus the user agent must retrieve its own designated config file. The following are defined in the billing configuration:
- The CPE profile, so that the system knows which generic properties (e.g., preferred codec) to place in the configuration file.
- An entry about the specific IP phone in the CPE inventory (including the device’s MAC address), with a specific profile assigned to it.
- The IP phone (or, in the case of a multi-line device, a port on the phone) is assigned to a specific account in the billing.
To speed up configuration file generation (e.g., when auto-provisioning large numbers of IP phones (1000 and more)), you can make a parallel processing mode available for this task. To do this, enable the UA_Profiles.Enable_Parallel_Generation option on the Configuration server.
Auto-provisioning will only work if your IP phone knows the address of your provisioning server. If you buy IP phones retail, you will probably have to change the address of the provisioning server on every phone manually. However, if you place a large enough order with a specific vendor, these settings can be pre-configured by him, so that you may deliver an IP phone directly to the end user without even unwrapping it.
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. Then, you can perform more specific configurations of IP phone auto-provisioning. In the CPE profiles, you can specify options to be auto-provisioned by PortaSwitch (e.g., the addresses of SIP servers, codecs, passwords, etc.) and exclude options that end users can configure themselves.
For example, when creating a CPE profile for Audio Codes 405HD, 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.
The CPE inventory allows you to keep track of IP devices (SIP phones or adaptors) which are distributed to your customers. The MAC address parameter is essential for every IP phone which is to be automatically provisioned, and so a corresponding entry must be created in the CPE inventory.
Allocate IP phones to customers
PBX customers may prefer purchasing a batch of IP phones in advance to have a reserve for future employees. Now, service providers/resellers can allocate Customer Premises Equipment (CPE), such as IP phones, to a customer. Thus, when a service provider/reseller assigns an IP phone to a customer’s account for automatic provisioning, they can select either a phone allocated to this customer or a phone that doesn’t yet belong to any customer. This avoids human error such as assigning a device sold to one customer to another customer.
Additionally, the PortaBilling API now allows not only creating extensions but also assigning IP phones to extensions by customers themselves. With this feature, service providers can create self-care portals where a customer can provision an IP phone for a new employee’s extension. To do that, the customer simply picks an IP phone from the purchased batch and looks it up by the MAC address.
This is how it works:
For example, the ABC company plans to hire new employees and orders 10 IP phones from their service provider Panda Telecom.
Panda Telecom’s warehouse employee picks 10 phones to be shipped to the ABC company. They scan the phone barcodes and send their MAC addresses to the PortaBilling administrator.
The PortaBilling administrator finds these phones in the Phones/CPEs inventory and allocates them to the ABC company. To do this, the administrator needs to perform the following steps:
- Open Inventory > Phones/CPEs > Phones/CPE list > look up the phones sent to the ABC company by the MAC address.
- Select the checkboxes for the needed phones and click Assign on the toolbar;
- Select the ABC company in the drop-down list and click Apply.
Now the IP phones that are shipped to the ABC company are allocated to this customer in PortaBilling.
When a new employee joins the ABC company, the ABC’s PBX administrator picks an available phone, e.g., with MAC address 00:11:22:FF:13:44, from the purchased batch. On the custom portal that uses PortaBilling API, the PBX administrator creates an extension, finds the needed phone in the list, and assigns it to the extension for automatic provisioning. The custom portal creates the corresponding account with an assigned IP phone in PortaBilling using customer credentials. The PBX administrator turns on the phone. The new employee can now use it to make calls. Note that the PortaBilling API allows the PBX administrator to assign the allocated IP phones to existing extensions as well. The PBX administrator can also unassign an IP phone from any extension.
- Service providers/resellers can avoid human errors when assigning IP phones to accounts;
- Service providers/resellers can track which IP phones are allocated to a specific customer;
- Customers can assign IP phones purchased in advance without contacting the service provider (available via API only);
- Reduced workload for PortaBilling administrators when IP phones are assigned by customers.
“Bring your own device” support for cloud PBX customers
With “bring your own device” (BYOD), service providers can enable PBX customers to seamlessly connect their own IP phones to PortaSwitch, so the phones are automatically provisioned with the correct settings. In PortaBilling, service providers only need to pre-configure the CPE profiles for popular IP phone models anticipated for BYOD. For example, a customer already owns IP phones, purchased from a previous or outside supplier. Using the service provider’s self-care portal, the customer can add those phones to the CPE inventory and assign them to their employees’ phone lines. After that the customer only needs to make a single configuration change on the phone, pointing it to the service provider’s provisioning server – and the phone will receive all other information (enabled features, SIP credentials, etc.) automatically.
The ability for customers to manage their phones is available via the PortaBilling API, so it can be added to any in-house developed self-care portal; it is on the roadmap for the PortaOne cloud PBX self-care portal and will appear there soon.
The IP phones that customers add via the self-care portal are automatically marked as “owned by customer” in PortaBilling.
- PBX customers save money by re-utilizing IP phones they already have. The configuration process for them is as simple as possible and eliminates a chance of mistakes.
- No more manual configuration (or troubleshooting an incorrect configuration, done by the customer) when cloud PBX customers need to use their own IP phones with PortaSwitch.
Let’s say Panda Telecom has a new customer called ABC Company. ABC has IP phones they had already purchased from their previous supplier and wants to get them auto-provisioned.
Panda Telecom has implemented BYOD support in the self-care portal and pre-configured the configuration profiles for popular IP phone models (including ABC’s phone models). They inform the customer that it’s possible to manage their own IP phones via the self-care portal. They explain to the customer that, to auto-provision their IP phones, ABC simply needs to:
- Add/upload their IP phones to Panda Telecom’s self-care portal.
- Change the provisioning server address on the IP phones to Panda Telecom’s (e.g., https://pandatelecom.domain.com).
- Assign the IP phones to the employees’ phone lines (extensions).
Adam is the PBX administrator of ABC Company. To upload the IP phones, he goes to the portal and opens the device page. Adam downloads the file template (with all available columns in the required order) and fills in the mandatory columns:
Adam then uploads the file with the list of IP phones to the portal. He receives an email telling him that the IP phones have been uploaded successfully. Adam can see the corresponding records on the device page in the portal.
Adam can now manage the pool of company-owned IP phones. He can:
- Add new IP phones manually via the portal. For this, he fills in the IP phone details and saves the updated device list.
- Remove an IP phone. Adam sees that one of the IP phones he uploaded should not have been included, so he removes the IP phone from the device list.
- Edit the IP phone details. For example, after reprogramming an IP phone to use the PandaTelecom’s provisioning URL, he specifies “Re-programmed” in the phone description.
The IP phones from this pool can be assigned to ABC Company employees’ extensions (accounts) for auto-provisioning. If an IP phone is unassigned or an account is terminated, the IP phone remains in the device pool in the portal.
In PortaBilling, the administrator needs to pre-configure the list of CPE profiles that will be automatically assigned to customer’s devices upon upload/addition based on the device model. The administrator needs to select one CPE profile per each IP phone model supported for auto-provisioning:
- open CPE inventory > Upload via web self-care;
- select device model and CPE profile in the dropdown lists;
- click Add to add the next CPE profile.
The administrator can filter customer-owned devices in PortaBilling by the “owned by customer” status and manage them.
Also, the administrator can change CPE profiles for these devices, e.g., the default network settings must be changed, so the administrator creates a different CPE profile with new settings and assigns this CPE profile instead of the one that was automatically assigned to the devices upon upload.
Mark IP phones as customer-owned
Administrators can mark an IP phone as “owned by customer” when it becomes the customer’s property – for example, if the customer purchased an IP phone from the service provider. As customer-owned IP phones can’t be re-assigned to another customer and are automatically removed from PortaBilling when the customer record is permanently terminated, it will no longer be possible to assign an IP phone that belongs to one customer to a different customer by mistake.
- Service providers’/resellers’ administrators can avoid human errors when managing customer-owned devices.
The administrator can mark IP phones as “owned by customer” in two ways:
The administrator can can clear the “owned by customer” checkbox for a specific IP phone if it doesn’t belong to the customer anymore. For example, say one of the purchased IP phones is not working, so the customer sends it back to you for a replacement. You find the returned IP phone in the CPE inventory by its MAC address and clear the “owned by customer” checkbox. Thus, if this IP phone is repaired, you will be able to later assign it to another customer.