Fanvil VoIP Auto Provison Standard Version Author Date Remark 1.0 May 2012-1-11 I write the first fanvil VoIP auto provision standard according to the before auto provision and the new auto provision standard 1.1 May 2012-4-12 Adjust the format based on the first version and add the TR069 settings
CONTENTS 1Preface... 2 1.1 Intentions... 2 1.2 Definition(keyword)... 2 2 Summary... 2 3 Obtain the server address and other parameters... 2 3.1 DHCP option... 3 3.1.1 DHCP custom option... 3 3.1.2 DHCP option 66... 3 3.1.3 DHCP option 43... 4 3.2 Pushed by PnP servers... 4 3.3 phone flash... 4 3.4TR069 Settings... 5 4 Download configuration file... 5 5 Resolve and apply the configurations... 6 6 Parameters Introduction... 7 6.1Auto Provision Settings Parameters... 7 6.2 DHCP option parameters... 7 6.3 PnP parameters... 8 6.4 phone flash parameters... 9 7 Do other updates... 9 1
1Preface 1.1 Intentions The presented document is written to make developers and testers and customers know how auto provision works and how to make auto provision work. Testers could test the auto provision overall as the document, and customers could deploy their auto provision servers as the standard. 1.2 Definition(keyword) Auto provision PnP Plug and Play DHCP custom option DHCP option 66 DHCP option 43 Phone flash AES Advanced Encryption Standard TR069 Technical Report 069 ACS CPE Auto Configuration Servers Customer Premise Equipment 2 Summary The presented document will show you how auto provision works and how to make auto provision work. The process of a successful auto provision is: 1. Obtain a server address in which store the configuration files and other parameters. 2. Download the configuration files from the configured server. 3. Resolve and apply the configurations written in the configuration file. 4. Do other updates, for example the firmware updating. 3 Obtain the server address and other parameters Fanvil endpoint supports PnP and DHCP and Phone Flash and TR069 to obtain the parameters. The PnP and DHCP and Phone Flash are all deployed, endpoint will go by the following process to try to obtain the server address and other parameters, when it boots up: 2
DHCP option. When enable TR069, Fanvil endpoint will obtain the parameters by TR069 regardless of whether the PnP and DHCP and Phone Flash are enabled or not. 3.1 DHCP option DHCP option supports DHCP custom option and DHCP option 66 and DHCP option 43 to obtain the parameters. Customer could choose one method among them,the default is DHCP option disable. 3.1.1 DHCP custom option It must be configured on the phone by web management: Note: A valid Custom Option is from 128 to 254. The Custom Option Custom must be in accordance with the one defined in the DHCP server. If the phone fails to get any information from custom option, it will go to detect other processes. If the phone get some information successfully from custom option, even though PnP and phone flash is enable, it wouldn t get any information from PnP server and ftp/tftp/http/https server of phone flash. 3.1.2 DHCP option 66 If customer chooses the DHCP option 66, fanvil endpoint will check and obtain the DHCP option 66 parameters. If the endpoint fails to get any information from DHCP 3
option 66, it will go to detect other processes. If the phone get some information successfully from option 66, even though PnP and phone flash is enable, it wouldn t get any information from PnP server and ftp/tftp/http/https server of phone flash. 3.1.3 DHCP option 43 If customer chooses the DHCP option 43, fanvil endpoint will check and obtain the DHCP option 43 parameters. If the endpoint fails to get any information from DHCP option 43, and the Phone Flash configuration is available, it will go to detect the Phone Flash. If the phone get some information successfully from option 43, even though PnP and phone flash is enable, it wouldn t get any information from PnP server and ftp/tftp/http/https server of phone flash. 3.2 Pushed by PnP servers Note: Plug & Play (PnP) provides a proprietary method to enable "Auto Provisioning". If Enable PnP is Enabled, the phone will send SIP SUBSCRIBE messages to a multicast address when it boots up. Any SIP server understanding that message will reply with a SIP NOTIFY message containing the Auto Provisioning Server URL where the phones can request their configuration. This kind of auto provision is mainly used under some possible circumstance like your phones have no default provisioning server set and are not able to detect DHCP options (when the they use static IP address). In C62 firmware or higher, if it fails to get any information from PnP servers, it will go to other processes. If the phone get some information successfully, even though phone flash is enable, it wouldn t get any information from ftp/tftp/http/https server of phone flash. 3.3 phone flash The value is what you can read from the web management of the phone: Note: This process depends on the setting of Update mode and if it is set to be Disabled, the phone won t detect the FLASH. The supported protocols of a URL are: HTTP/HTTPS/FTP/TFTP. when the phone powers on,if the phone fails to get any information from phone flash, the current round of obtaining server address will stop here. 4
3.4TR069 Settings TR069 is entitled CPE WAN Management Protocol. It provides the communication between CPE and ACS. It defines an application layer protocol for remote management of end-user devices. It includes both a safe auto configuration and the control of other CPE management function within an integrated framework. So before deploying TR069, we need a valid ACS. Fanvil endpoints support two type ACS, one is CTC, the other one is common. There are different function supported as different ACS, the endpoints support to download configuration of XML format for CTC ACS, and support SIP information and configuration and firmware for common ACS. This process also depends on the setting of Enable TR069 and if it is set to be Disabled, the phone won t detect the TR069. 4 Download configuration file There are 4 configuration files both of which are CFG formatted that the phone will try to download from the server during provisioning. We call them Common file and MAC-Oriented file and ID-Oriented file and Custom name file. The Common CFG file will be effectual for all the phones of the right model. A common CFG file has a fixed name for each model,the names of the Common CFG file for each model are: C62:f0C00620000.cfg D800:f0D08000000.cfg The character string from the second to the third represents endpoint series name, and from the fourth to the seventh represents model, and the last four numbers represents hardware version. A MAC-Oriented CFG file will only be effectual for the specific phone which can be told by its MAC address. A MAC-Oriented CFG file is named after a MAC address of the 5
specific phone. For instance, for a C62 whose MAC address is 00:15:65:11:3a:f8, the MAC-Oriented configuration files for it will be 001565113af8.cfg. The ID-Oriented CFG file will be effectual for any phones. Custom could input autonomously ID distributed by manager, and then the endpoint downloads configuration from the server. To have this name division on configuration files will help when doing same auto provision to mass phones. For example, assumed that you have 1000 pieces of T28 and you want to update firmware for all phones, you just need to prepare only one f00c00620000.cfg which defines the firmware update request, then put it onto the provisioning server. The endpoints would compare version of the running configuration and version of the configuration downloaded whether the same are. If the configuration downloaded and the running configurations are the same, the auto provision would stop here. If the endpoints confirm the configuration by Digest method, the endpoints wouldn t upgrade configuration unless the configuration in the server is different with the running configuration. The endpoints support three format configuration, they are XML and CFG and TXT. Note: PnP and DHCP support Common CFG file and MAC-Oriented file and ID-Oriented file auto provision. The endpoints download Common CFG file firstly, and then download MAC-Oriented file or ID-Oriented file. Phone Flash support Common CFG file and MAC-Oriented file or Custom file. If customer deploys Custom file name in the web page, the endpoint will download Custom file. If customer doesn t deploy Custom file name in the web page, the endpoint will download MAC-Oriented file. 5 Resolve and apply the configurations If the downloaded configuration files have been AES encrypted, the AES Keys will be needed. The Common AES Key is for decrypting the Common CFG file. The Config Encrypt Key is for decrypting the MAC-Oriented CFG file. The keys must be 64 characters and the supported characters are: 0 ~ 9, A ~ F, a ~ f. 6
6 Parameters Introduction 6.1Auto Provision Settings Parameters The Current Config Version is phone-specific configuration that contains MAC-Oriented file and ID-Oriented file and Custom name file and Common Config Version. Account and Password will be used to access to the URL if required. FTP server always has this requirement. For example, the following settings will make the phone access to FTP server 192.168.1.118, using account winline and Passwords 123 (on the web it is hid by 3 points). If the configurations downloaded are encrypted, and you need input config encryption key and common config encryption key in the Config Encryption Key and common config encryption key input. Fanvil endpoints support to save auto provision information that are username and password and ID. For instance, if endpoint download ID-Oriented file and enable the save auto provision information option, the endpoint will use the username and password and ID information to download configuration when the URL of configuration got and the URL of configuration saved are same. 6.2 DHCP option parameters Customer could choose method among the DCHP option custom and the DHCP option 66 and the DHCP option 43. For example, customer choose the DHCP option 43 to obtain the DHCP option parameters, endpoint sends DHCP discover message and DHCP request message to the DHCP server, the messages contain the following fields: Option: (t=55,l=7) Parameter Request List Option: (55) Parameter Request List Length: 7 Value: 011c0302042b06 1 = Subnet Mask 28 = Broadcast Address 43 = Vendor-Specific Information The DHCP server replies with DHCP offer message and DHCP ACK message, the messages contain the following fields: Option: (t=43,l=29) Vendor-Specific Information Option: (43) Vendor-Specific Information Length: 29 Value: 746674703a2f2f3139322e3136382e312e3131382f246d61... The Value is the hexadecimal configuration URL where endpoints can request their configuration in Option: (t=43,l=29) Vendor-Specific Information. The value is http://192.168.1.118/$mac.cfg. Fanvil's endpoints support URL with $mac, which is used for generating the actual phone's configuration file from Mac address. The value might be 7
http://ip/$mac.cfg, and also might be http://ip/mac.cfg?mac=$mac.cfg etc. You could deploy the DHCP option 66 and DHCP custom option URL parameter as DHCP option 43. Note: Fanvil endpoints support http://ip/$input.cfg URL format. If the value is http: //192.168.1.118/$input.cfg in the above Option: (t=43,l=29) Vendor-Specific Informa tion, then there would be a input box for ID on the screen. The manager distribut es the ID. The endpoint would auto download configuration in accordance with in putted ID from the server after inputting the ID. Fanvil endpoints support URL wi th $input, which is used for generating the actual phone's configuration file from i nputted ID. The value might be http://ip/$input.cfg, and also might be chttp://ip/ma c.cfg?mac=$mac.cfg. Some HTTP/HTTPS/FTP servers require username and password authentication, fanvil endpoints have two methods for this situation. The one is that contain the username and password in the URL, for example, the URL is http://username:password@ip/$mac.cfg, the other one is that there would be a input box for username and password authentication on the screen. 6.3 PnP parameters If Enable PnP is Enabled, the phone will send SIP SUBSCRIBE messages to a multicast address when it boots up.the header of SIP SUBSCRIBE message contains the following fields: Via: SIP/2.0/UDP 192.168.1.45:5060;branch=z9hG4bK3102710241234624733 From: <sip:mac=000810a99948@224.0.1.75> To: <sip:mac=000810a99948@224.0.1.75> Call-ID: 322432620212850-163241588724467@192.168.1.45 CSeq: 1 SUBSCRIBE Contact: <sip:192.168.1.45:5060> Max-Forwards: 70 User-Agent: voip phone Expires: 0 Event: ua-profile;profile-type="device";vendor="fanvil";model="voip PHONE ";version="v2.0.114.51" Accept: application/url Content-Length: 0 Any SIP server understanding that message will reply with a SIP NOTIFY message containing the Auto Provisioning Server URL where the phones can request their configuration. The header of SIP NOTIFY message contains the following fields: Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch] From: <sip:mac=000810a9994a@192.168.1.169> To: <sip:mac=000810a9994a@192.168.1.169> 8
Call-ID: 176851610432700-321342882818040@192.168.1.14 CSeq: 3 NOTIFY Max-Forwards: 70 Content-Type: application/url Subscription-State: terminated;reason=timeout Event: ua-profile;profile-type="device";vendor="fanvil";model="voip PHONE ";version="v2.0.97.44" Content-Length: 29 http://192.168.1.118/$mac.cfg The URL is the configuration URL where endpoints can request their configuration in the SIP NOTIFY message Note:PnP supports $mac and $input URL format,and username and password authentication. 6.4 phone flash parameters If customer choose Phone Flash auto provision method,he/she could input Server Address, Config File Name, Protocol Type, Update Interval Time, Update Mode in the web page The Config File Name also is custom name,for example,the fanvil.cfg is the custom configuration name that must be in accordance with the one defined in the server. Note:Phone Flash supports $mac format,and username and password authentication. 7 Do other updates It depends on the texts written in the CFG files to decide whether to make other updates that Fanvil endpoints support to make firmware and phonebook and authentication certification updates. If the CFG files in the server contain the following fields, the endpoints would update firmware: <AUTOUPDATE CONFIG MODULE> Auto Image URL: xxx/yyy Auto Image Version: Auto Image User : Auto Image Password: Auto Image URL is from that endpoints could update firmware, for example, the URL is http://ip/firmware ; Auto Image Version is firmware version; Auto Image User is username in accordance with Auto Image Server; Auto Image User is password in accordance with 9
Auto Image Server(TFTP needn t username and password). Fanvil endpoints also support the before configuration parameters as the following fields: <AUTOUPDATE CONFIG MODULE> Auto Image Server: xxx/yyy Auto Image Name Auto Image Version: Auto Image User : Auto Image Password: : xxx Auto Image Protocol: 2 Auto Image Server is the server that is used to update firmware; Auto Image Name is firmware name; Auto Image Protocol is protocol type, one is FTP, two is TFTP, and four is HTTP. If the CFG files in the server contain the following fields, the endpoints would update phonebook: <AUTOUPDATE CONFIG MODULE> Auto Pbook Url : Auto Pbook Url is from that endpoints could update firmware, for example, the URL is http://ip/phonebook. If the CFG files in the server contain the following fields, the endpoints would update authentication certification: <AUTOUPDATE CONFIG MODULE> Auto ect Url : Auto ect Url is from that endpoints could update firmware, for example, the URL is http://ip/ect ; 10