CDL -- A Call Processing Data Language


Most research on call processing focuses on the state of call processes and how the processes interact. However, developers of call processing systems must also pay much attention to data aspects such as provisioning and real-time parameters. CDL is a language and compiler that automates the development of the data aspects of call processing.

The main benefit of CDL is that it greatly reduces the time needed to write new call processing features. CDL is simple to write, and one line of CDL leads to about 10 lines of generated code. Testing and maintenance are also reduced because the generated code is of high quality. When a change is made to a CDL specification, various modules and database tables are updated in a consistent way.

In CDL one specifies the processes that perform call processing, the values these processes need (such as 'screen call?'), and the real-time parameters the values depend on (such as time-of-day). The CDL compiler (written in Java) takes a CDL specification and produces:

The CDL project was a collaboration between myself, Alan Frey, Peter Mataga, and Sue Tripp. Moh Barathan and Michael Benedikt also contributed.

CDL information:


Send comments or suggestions to grb@research.bell-labs.com