12-07-2011 02:19 PM - edited 03-21-2019 05:02 AM
Hello,
we are a service provider and our customers buy their ip phones from internet retailers, maybe used ones from ebay, but certanly not from us. We would like to use the SPC format so we can --target to the different mac (there are passwords).
1. The spc utility can generate sample xml files, but cannot compile them, is there a utility to map xml files to text file for scp.?, Usefull if download the xonfig.xml file with http://phoneip/admin/spacfg.xml
2. I am aware that you can have somethink like Upgrade_Rule "( $SWVER != 7.4.9c )? https://provisioningserver/spa5x5-7-4-9c.bin" ;
but my question is abaout compatibility. If I compile for 7.4.9c and a customer comes with a lower firmware, will the phone accept this cfg file? and then download the firmware? what about a higher firmware release?.
Could I just write $SWVER < 7.4.9c so for newer releases it ould only use whatever is specified in the cfg file?
3. Is a way to force the phone to a firmware with something like http://phoneIP/admin/firmware?https://provisioningserver/spa5x5-7-4-9c.bin" same idea that the resync?
Thank you, Diego Betancor
12-07-2011 02:49 PM
Hi Diego,
I don't fully understand the question in #1. I'll try to answer, but if I missed your question, please ask it again.
The SPC can generate sample files, it can compile files, and it can also encrypt files. Run the command with no arguments for help, for example:
C:\SPC>spa525g-sip-7-4-9-spc-win32-i386.exe
Sipura Profile Compiler -- SPA525G-SIP Revision 7.4.9
Copyright (c) 2006 Cisco-Linksys. All rights reserved.
usage 1: spc [opt_args] source_text_file target_binary_file
usage 2: spc --sample-profile output_filename
usage 3: spc --sample-xml [--va] output_filename
usage 4: spc --sample-xml-compact [--va] output_filename
usage 5: spc --xml-schema output_filename
--cmd-file file_name Reads additional arguments from file
--target hex_string 12 hex-digits MAC Address of target
--scramble ascii_string Plain ASCII obfuscation string
--rc4 Alleged RC4 256 Stream Cipher
--aes AES Block Cipher (CBC mode)
--ascii-key ascii_string Plain ASCII encryption password
--hex-key hex_string Binary encryption key
--quiet Do not print status messages
--log file_name Log status messages to file
spc profile syntax: parName [ '!' | '?' ] [ "parValue" ] ';'
C:\SPC>
The Provisioning Guide provides additional help with using the SPC.
2. I am aware that you can have somethink like Upgrade_Rule "( $SWVER != 7.4.9c )? https://provisioningserver/spa5x5-7-4-9c.bin" ;
but my question is abaout compatibility. If I compile for 7.4.9c and a customer comes with a lower firmware, will the phone accept this cfg file? and then download the firmware? what about a higher firmware release?.
Could I just write $SWVER < 7.4.9c so for newer releases it ould only use whatever is specified in the cfg file?
You can do any of the following:
3. Is a way to force the phone to a firmware with something like http://phoneIP/admin/firmware?https://provisioningserver/spa5x5-7-4-9c.bin" same idea that the resync?
Yes, the correct syntax is: http://phoneIP/admin/upgrade?http://provServer/spa50x-30x-7-4-9c.bin
Note that you can use TFTP or HTTP but not HTTPS to upgrade the phone.
Regards,
Patrick
-----------
12-08-2011 08:02 AM
Hi, thank you Patrick.
Let me refrase the questions:
1.
diego@alison ~/temp $ ./spa50x-30x-sip-7-4-9c-spc-linux-i386 --sample-xml sample.xml
spc: generated SPA50x-30x-SIP sample configuration sample.xml
diego@alison ~/temp $ ./spa50x-30x-sip-7-4-9c-spc-linux-i386 sample.xml sample.cfg
spc error: unrecognized parameter name
spc error: unrecognized parameter name w=3
spc error: unrecognized parameter name c=1
spc error: unrecognized parameter name w=3
spc error: unrecognized parameter name c=2
the sample.xml file cannot be compiled with scp. scp does not understant xml. It is OK with me, but looks inconsistent,
2. My question really is what happens when you insert a 7.4.9c configuration in a (say) 5.2.3 firmware. Obviusly it doesn't understant a lot of parameters. Will it keep them even without knowing them? so when upgraded the firmware it will use them?
Thank you, Diego
12-08-2011 12:03 PM
Hi Diego,
Thanks for rephrasing the questions.
#1. You are correct, the SPC utility does have some quirks. It generates sample profiles in both xml and text format. Per the Provisioning Guide's "Compiling Profiles by using SPC" section,you must use the text file format as input if you want to compile a configuration file.
For example:
voipLab$ ./spa50x-30x-sip-7-4-9c-spc-linux-i386 --sample-profile sample.txt
spc: generated SPA50x-30x-SIP sample configuration sample.txt
voipLab$ ./spa50x-30x-sip-7-4-9c-spc-linux-i386 sample.txt sample.cfg
spc: generated SPA50x-30x-SIP sample.cfg len=30944 bytes
voipLab$
The sample.txt file is a plain text file while the sample.cfg file is a binary file.
#2. When a phone receives a configuration file, it parses the configuration file for syntax. If a syntax error is located, the phone will reject the configuration and generate a "corrupt profile" syslog message if syslog is configured. Assuming syntactical correctness, the phone then starts at the top of the configuration file and applies changes that it can interpret. If the phone has 5.2.3 firmware on it and you send it a configuration file that contains parameters for 7.4.9c firmware, the phone will silently ignore any parameters that it cannot interpret and continue loading the configuration file.
When you upgrade the phone to 7.4.9c, it will use its existing 5.2.3 parameters and apply them. If any 5.2.3 parameters do not work in 7.4.9c [a situation we work really had at avoiding], the phone will silently ignore the parameters. The phone does not keep parameters that it cannot interpret. As soon as the phone resyncs with your provisioning server after upgrading from 5.2.3 to 7.4.9c, it will apply the 7.4.9c parameters that your provisioning server sends.
Regards,
Patrick
----------
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide