You mentioned in another message that you’re using Geoserver to host WMS. Awhile back, I was able to get Geoserver to serve terrain for Cesium, but the only way I was able to do it was via a plugin meant to serve BIL files to NASA World Wind. The problem is that Geoserver’s WMS support is really intended to serve images. I couldn’t find a way to make it serve heights with greater than one byte per pixel, which is insufficient for elevation data. The code I used to do that is based on a much older iteration of the Cesium terrain architecture, so it’s not of much use itself, but if you get the BIL plugin up and running, writing a TerrainProvider to access it will be very straightforward.
In a previous post, Jonah Taylor mentioned that he was able to serve terrain data from Geoserver via WCS (rather than WMS) and a proxy to convert to the resulting TIFF files into a PNG in a special format. That’s another avenue you could explore. https://groups.google.com/d/msg/cesium-dev/8oC6OtbbBGI/7l8WWGOXY3kJ
For what it’s worth, the company I work for, AGI, is currently building a terrain server as a commercial product that will make it extremely easy to build a mosaic of custom terrain datasets that can then be used for visualization and analysis in Cesium and our other products. You may also be interested in VT MAK’s VR-TheWorld, another commercial product, available today, that lets you incorporate multiple sources of terrain and imagery data. Cesium has out-of-the-box support for VR-TheWorld.