Call-Processing Language

Call Processing Language (CPL) is a language that can be used to describe and control Internet telephony services.

Details
It is designed to be implementable on either network servers or user agent servers. It is meant to be simple, extensible, easily edited by graphical clients and independent of operating system or signaling protocol. It is suitable for running on a server where users may not be allowed to execute arbitrary programs, as it has no variables, loops or ability to run external programs.

On Session Initiation Protocol Servers (SIP servers), CPL has been used to control the session protocol based on user defined preferences. For example an incoming call can be authenticated based on user set filters of Address information of called or date/time of the call.

Other telephonic session attributes such as how long to ring a phone and taking action based on busy or no answer or not found can be set and the program can take action as defined for such response. Manual update of user location can be done via the user interface.