RFC 2824:Call Processing Language Framework and Re...
RFC-Ref

language


Click on the red underlined text to get to the source

... respond to call signalling events by triggering user-created programs written in a simple, static, non-expressively-complete language. We call this language a call processing language ...
... written in a simple, static, non-expressively-complete language. We call this language a call processing language. ...
... language. We call this language a call processing language. The development of this document has been substantially informed by ...
... The development of this document has been substantially informed by the development of a particular call processing language, as described in [5]. In general, when this document refers to "a call processing language ...
... call processing language, as described in [5]. In general, when this document refers to "a call processing language," it is referring to a generic language that fills this role ...
... described in [5]. In general, when this document refers to "a call processing language," it is referring to a generic language that fills this role; "the call processing language ...
... language that fills this role; "the call processing language" or "the CPL" refers to this particular language ...
... call processing language" or "the CPL" refers to this particular language. ...


... CPL: A Call Processing Language, a simple language to describe how Internet telephony ...
... CPL: A Call Processing Language, a simple language to describe how Internet telephony call invitations should be processed. ...


... Because a CPL is a standardized language, it can also be used to allow third parties to create or customize services ...


... example of the web middleware described in the previous section. With a simple, text-based syntax, standard text- processing languages will be able to create and edit CPL scripts easily. ...


... The Call Processing Language operates on a generalized model of an Internet telephony network ...
... In the Call Processing Language's network model, an Internet telephony network ...


... Creation and transport of a call processing language script ...
... Users create call processing language scripts, typically on end devices, and transmit them through the network to signalling servers. ...


... more requested features produce ambiguous or conflicting behavior [8]. Feature interaction issues for features implemented with a call processing language can be roughly divided into three categories: feature-to-feature in one server, script-to-script in one server, and server-to-server. ...
... Due to the explicit nature of event conditions discussed in the previous section, feature-to-feature interaction is not likely to be a problem in a call processing language environment. Whereas a subscriber to traditional telephone ...
... class of server-to-server interactions are best resolved by the underlying signalling protocol, since they can arise whether the signalling servers are being controlled by a call processing language or by some entirely different means. One example of this is forwarding loops, where user X may have calls forwarded to Y, who has ...
... calls forwarded back to X. SIP has a mechanism to detect such loops. A call processing language server thus does not need to define any special mechanisms to prevent such occurrences; it should, however, be possible to trigger a different set of call processing ...


... Relationship with existing languages ...
... This document's description of the CPL as a "language" is not intended to imply that a new language necessarily needs to be ...
... CPL as a "language" is not intended to imply that a new language necessarily needs to be implemented from scratch. A server could potentially implement all the functionality described here as a library or set of extensions ...
... implemented from scratch. A server could potentially implement all the functionality described here as a library or set of extensions for an existing language; Java, or the various freely-available scripting languages (Tcl, Perl, Python, Guile), are obvious ...
... for an existing language; Java, or the various freely-available scripting languages (Tcl, Perl, Python, Guile), are obvious possibilities. ...
... possibilities. However, there are motivations for creating a new language. All the existing languages are, naturally, expressively complete; this has ...
... However, there are motivations for creating a new language. All the existing languages are, naturally, expressively complete; this has two inherent disadvantages. The first is that any function implemented in them can take an arbitrarily long time, use an ...
... model for this is the electronic mail filtering language Sieve [4], which deliberately restricts itself from being Turing-complete. ...
... executed on a given server without running into the server's resource limits, and a program which executes successfully on one server may fail unexpectedly on another. Non-expressively-complete languages, on the other hand, allow an implicit contract between the script writer and the server: so long as the script stays within the rules of the ...
... the other hand, allow an implicit contract between the script writer and the server: so long as the script stays within the rules of the language, the server will guarantee that it will execute the script. The second disadvantage with expressively complete languages ...
... language, the server will guarantee that it will execute the script. The second disadvantage with expressively complete languages is that they make automatic generation and parsing of scripts very difficult, as every parsing tool ...
... they make automatic generation and parsing of scripts very difficult, as every parsing tool must be a full interpreter for the language. An analogy can be drawn from the document-creation world: while text markup languages ...
... language. An analogy can be drawn from the document-creation world: while text markup languages like HTML or XML can be, and are, easily manipulated ...
... HTML or XML can be, and are, easily manipulated by smart editors, powerful document programming languages such as LaTeX or Postscript usually cannot be. While there are word ...


... Necessary language features ...
... This section lists those properties of a call processing language which we believe to be necessary to have in order to implement the motivating examples, in line with the described architecture ...
... Language characteristics ...
... These are some abstract attributes which any proposed call processing language should possess. o Light-weight, efficient, easy to implement ...
... Additionally, since CPL scripts will typically run on a server on which users cannot normally run code, either the language or its execution environment must be designed so that scripts ...
... o Extensible It should be possible to add additional features to a language in a way that existing scripts continue to work, and existing servers can easily recognize features they don't understand and ...
... requirements, but this should map fairly easily to other systems.) It may also be useful to have the language extend to processing of other sorts of communication, such as e-mail or fax ...
... To be useful, a call processing language obviously should be able to react to and initiate call signalling events. ...
... A number of other features that a call processing language should have do not refer to call signalling per se; however, they are still extremely desirable to implement many useful features. ...
... Internet devices, or might be local to the server (or other possibilities). The language should be independent of the location of these servers, at least at a high level. ...
... If an unexpected error occurs, the script should be able to report the error to the script's owner. This may use the same mechanism as the script server uses to report language errors to the user (see section 12.5). ...
... authorization information, for a CPL under administrative control. The language could specify some specific database access protocols (such as SQL or LDAP ...
... Language features ...
... encryption is very useful. The specification of this mechanism can be (and probably ought to be) a separate specification from that of the call processing language itself. ...


... CPL scripts are discussed in sections 8 and 12.5. Some considerations about the execution of the language are discussed in section 12.1. ...


... T. Showalter, "Sieve: A mail filtering language", Work in Progress. ...
... J. Lennox and H. Schulzrinne, "CPL: a language for user control of internet telephony services", Work in Progress ...


... copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. ...



Google
Web
RFC-Ref