Project Types

Cable & Satellite Control Systems
Since the early 1980's, Controlsoft has been deeply involved with Cable and Satellite Video delivery systems. Starting with Oak Communications and the Orion (Satellite) and Sigma (Cable) systems, we have developed control systems for Set-top Boxes and Head-end Controller systems. In more recent years, much experience has been developed in controlling "Conditional Access" and "Pay-Per-View" features of various manufacturers video delivery systems. Most recently we have implemented the embedding of a licensed 3rd-party Conditional Access system in our client's digital set-top decoder.

Specific experience has been gained interfacing to the following Cable/Satellite Controller systems:
  • Motorola
  • General Instruments (Wirelink)
  • Hits
  • Hits-2-Home
  • Jerrold
  • Millennium Digital
  • Pioneer
  • Scientific Atlanta
  • Zenith

  • Though not dealing directly with developing the billing systems themselves, Controlsoft has worked extensively with billing system vendors to develop the database manipulation and communication protocols required to control the systems mentioned above, as well as retrieving billing information from the system for Pay-Per-View and Impulse-Pay-Per-View operations.

    In the following discussions, it may be helpful to keep in mind the following corporate pecking order. There is Controlsoft  (us—a software consulting company), consulting to a billing systems vendor, who's customers are cable systems operators, who use the various vendor's equipment (such as Jerrold or Pioneer) to deliver cable or satellite services to their subscribers. It was our job to write the control software, so our client could sell it to their customers to control the equipment they buy from the equipment vendors.

    Through the mid to late 1990's, most of this development was done using DOS based programs. (Windows was not considered stable enough to run 24/7 style applications.) In general, a foreground task would communicate with a shared database, (shared with the billing system) and a set of TSRs would be installed to handle the communications needs of the individual manufacturer's systems (the vendor's equipment). In this way, only the TSRs for the individual systems at a particular installation site needed to be installed, and systems could be specialized for the specific needs of the individual site. The billing system would make changes to records in the shared database, which would be picked up by the TSR system, and communicated through to the controller(s). Conversely, Impulse order information would be received from the controller(s) by the TSRs, and placed in the shared database for subsequent billing purposes.

    Eventually it became obvious that the billing system would need to be updated to run in a Windows multi-user environment. At this point it was also needed to update the Control and Communications System to run in a modern OS, as well as handle any upcoming Y2K problems and concerns.

    Thus Controlsoft started developing a program for one of its clients called "The SuperController". This program ran under Windows NT. It was designed such that the SuperController sat between the billing system (now running under Win-95) and the vendor's controller. The unique communications aspects of each vendor's system was contained in an individual DLL. This system could simultaneously control multiple independent controllers from different vendors. In essence, the DLLs performed the same functions that the TSRs performed in the older DOS system. A Host-Command interface was designed through which the billing System could communicate with the SuperController, and update or query its databases. Originally, the Host and Controller ports were strictly RS-232 communications ports, but this was later updated to handle TCP/IP communications as well. This system was initially intended for sale with the client's billing system only. However, the client realized that the system could be sold as "stand-alone". The client's customers (cable systems who already have their own billing system) could interface to the SuperController's Host Port, and thus gain control of ANY vendor's system that the SuperController supported.