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 ...
... 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 ...
... 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.
...
... 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.
...
