Currently GRP26XX phones can use OPTION66, auto-provision with TFTP, HTTP and HTTPS, Web interface and now with a device auto recognition option that Grandstream called Plug and Play.
The purpose of his option is to make an easy installation of the GRP device, by zero configuration with just having the user to connect the phone to a LAN via a hub/switch/router. Once the phone is connected to the LAN, a PBX should be able to detect it and display the phone information in its console or web interface. The PBX user should be able to select the new phone detected and assign the basic configuration a phone needs to at least make a sip registration against the PBX. As well as been able to place and receive phone calls, for example; Sip User ID or extension number, sip password and Caller name. Other configuration can be provisioned to the phone like; prefer audio codecs, Speed Dial keys or BLF (Busy Lamp Field) and most important indicating the server path of configuration and firmware server.
Plug and Play option needs to be supported in both the IP phone and the PBX. Here you will find the technical details of how the phone engages in this mechanism. PBX developers need to adapt their system to interact with Grandstream IP Phones.
First make sure the following guidelines are met:
- GRP26XX phone should be reset to factory default or out of the box
- GRP26XX and PBX (support Plug and Play) are in the same local area network
When the phone boots up, it will start sending a sip SUBSCRIBE message to a multicast IP address 184.108.40.206. The phone will send SUBSCRIBE for 5 times and stop IF no response from the server or when receiving 200 or 500. It will ignore errors like 30x and 4xx.
Below is how the SUBSCRIBE message looks like:
Description of the SUBSCRIBE message:
- Request URI user part: Contains device MAC address with following format
- Contact: IP address and port of the phone
- User-Agent: Contains Vendor, Model and firmware version
- Event: Contains information about the phone like ua-profile, profile-type, vendor, model and version
Per detection of the SUBSCRIBE message, the PBX should display the phone in its device manager tool. The administrator should be able to see the vendor’s name, model, firmware version and MAC address then he can right-click on the device and assign the corresponding account information. Once the configuration is saved from the device manager tool, the PBX should create the configuration file and send it to the provisioning server location.
Grandstream configuration file can be generated in two different ways.
- By utilizing a Grandstream encoder tool (Java API is available)
- By Creating an XML text file. For more information on how to accomplish these methods, please visit: SIP Device Provisioning Guide – Documentation Center (grandstream.com)
After PBX generates the configuration file, it will then need to notify the phone where to find it. This is done by sending a sip NOTIFY with the URL indicating where to download the configuration file.
Below is how the NOTIFY looks like:
The last line (Message Body) contains the URL that the phone will use to download the configuration file.
The phone will reply 200 OK If this header is included otherwise it will reply 4XX or 5XX.
The phone will immediately open a TCP connection to the URL indicated in the NOTIFY, begins downloading the configuration file and flash it.
Phone will reboot to take effect new configuration and a second attempt to download a configuration file will occur. This time the phone will do a checksum and If the file is the same as the previous one downloaded then it will discard flashing in memory again.
Phone is ready to use with new configuration.
All GRP phones will engage the Plug and Play option at boot up, if no NOTIFY is received then the phone will continue with normal provisioning mechanism, meaning checking for an OPTION66 message, If nothing received then go to the indicated URL in the phone’s configuration.
The Plug and Play option was developed and verified operation originally with 3CX phone systems.