We have an existing 7.1(3) Cluster and want to add an older MCS server as a dedicated/backup TFTP server. The server (a MCS-7845H-2.4-ECS2) is not supported for 7.1(3), so I want to know my options if I run a third-party TFTP service on it. I searched old posts and it seems possible, though the details were a bit slim.
Thanks in advance,
Well, I haven't fielded this question before but personally - I wouldn't recommend it. Others may go against that, good for them...but I firmly believe the more uniform the environment, the better. It also makes troubleshooting much easier as well.
Fair enough ... opinions welcome.
I'm just the guy with the hammer; the decision was already made. Heck, they have to do something with these old MCSs, and to buy a new MCS just to host files ... oof ... but I digress.
Anyone else with info, please chime in.
Well, I didn't say you can't do it. If it's something you're interested in, it's called a "Load Server" technically. The definition of a Load Server for CUCM is Load Server indicates that the phone will use an alternative server to obtain firmware loads and upgrades, rather than the defined TFTP server. This option enables you to indicate a local server to be used for firmware upgrades, which can assist in reducing install times, particularly for upgrades over a WAN. Enter the hostname or the IP address (using standard IP addressing format) of the server. The indicated server must be running TFTP services and have the load file in the TFTP path. If the load file is not found, the load will not install. The phone will not be redirected to the TFTP server. If this field is left blank, the phone will use the designated TFTP server to obtain its load files and upgrades.
Uses I've seen are where you have a remote site with TFTP running on say a local ISR/router and the phones there point to this as a load server. Technically, should be able to use a server running TFTP as well. There is some maintenance you need to be aware of when you employ this method. Read up a bit on the SRND for CUCM 7x (http://www.cisco.com/en/US/docs/voice_ip_comm/cucm/srnd/7x/uc7_0.html) and also the Administration and Maintenance guide for more info. You should be able to get the info you need there.
Please rate helpful posts!
None of the docs I checked, including the Admin and SRND get into too much detail. The System Guide had some usable info.
Considering TFTP is a relatively simple protocol, I imagine there should be little complexity. If there is any it's in the replication (manual or automatic) between the primary and the secondary.
In short: yes, we're interested in doing this - if Cisco supports it and can provide documentation or steps necessary to make it workable.
I have a TAC case pending.
Anyone else with thoughts?
I'd agree with Hailey - it's a fairly regular query that comes up.
The CM TFTP has a lot of dynamic content, and there's no way you will keep an external TFTP server up to date with that stuff. It changes every time someone makes a config change to any device in CCM (download a sepxxxxx.cnf.xml file to see the sort of stuff that is likely to change). The chances of admin errors causing weird problems are too high for this to be practical in my opinion.
The 'load server' option might be workable, but you will still have to make sure you keep all those files up to date, and the benefit of it will only really be felt during upgrades.
Also I'm not sure if there is a way to pull all the files (static or not) from the TFTP server given that you are on a locked appliance model.
Please rate helpful posts...
Thanks Aaron, good follow-up. Technically, the Load Server is supported as it is even discussed in the SRND...but again, it's sort of a specialized use case in why you would do this. Other than repurposing the servers you have, is there a particular reason you want to add more TFTP resources to your cluster? Not that it's a bad idea to have dedicated TFTP services (or other services for that matter) but if it's just one of those "hey, we're gonna do this because" then I'd go back to the well and talk strategically about what exactly is being accomplished. What other apps are you running besides CUCM?
Interesting thread to be sure. You use TFTP for:
1. Images (background)
3. Binary files (firmware)
4. config files
If you are looking for a primary replacement for servicing all of these functions then you will find that it will be downright problematic. I won't go into methods or problems here, I think we all get the idea.
Most of the above file types aren't a heavy load on the network or the server so it may not be worth the effort to come up with a primary replacement.
However, coming up with a solution to handle the binary images in a way that is nice to your network is pretty important. There are two solutions available to you and one of those involves a TFTP server. Instead of repeating them here, I will point you to a write up on the Load Server option (which Hailey mentioned) and the Peer-Firmware-Sharing option. The article link:
Please remember to rate helpful responses and identify
I have some queries regarding the TFTP methods:
1. Where is this option (in CallManager or on IP Phone itself)?
Peer firmware sharing
1. How is the configuration? What configuration is required in Call Manager?
2. How other IP Phones knows about the root IP Phone?
3. Does this root IP phone acts as TFTP Server for other IP Phones? What method is used to select the root IP Phone?
4. Is this also a manual process?
1) Load server is a configuration field on the phone configuration (in the Product Specific section) in CCMAdmin. You configure the IP address of the TFTP server per phone.
2) Peer firmware sharing is a setting in the same location on the phones (CCMAdmin, on each phone). You set it to 'enabled' on each phone. Negotiation of which phones serve and how the other phones find things is automatic, and detailed in the article that Bill linked to above.
Please rate helpful posts...
Like many others have already said, the biggest chanllenge is the "dynamic update" of TFTP contents.
You may install Windows/Linux on that grandfather MCS and run a scheduled script on it to get the TFTP file from CUCM server.
The command is "file get tftp * recurs". You need to run SFTP server on the grandfather server. CUCM 7.1.3 would be the SFTP client.
If you want to get the "updated" conent only, you may schedule the script to run at a specific time period (for example every 15 minutes). Then you may fine tune the command as below:
file get tftp * recurs reltime minutes 15
Similarly, if you scheduled your script to run every 24 hours (everyday), the command would be:
file get tftp * recurs reltime days 1
Thanks for all the replies. While I appreciate the opinions, I think this thread got bogged down in the "why" not the "how". I still find the reasons not to go with a non-Cisco/Callmanager TFTP options compelling.
A very interesting discovery: the UCM 7.1(2) System Guide seems to indicate that it's possible to run an older version of Callmanager as a TFTP and in the same cluster. Since the MCS in question supports UCM 5.x I plan on investigating the possibility that it'll jive well in a 7.x environment. I'll post an update when I build and test this option.
Bill, excellent write-up ... real good stuff.