The present invention relates to methods and system for providing telecommunications
services, such as call waiting, three-way call, and automatic recall, utilizing
a plurality of state machines. Logic specifications define a set of states for
each state machine. Each state in turn defines at least one action to be performed
in response to a signal received by the state machine. The logic specification
for each state machine can be stored, for example, in a textual format in a mark
up language, such as HTML, XML, or or other markup language. A compiled representation
of the logic specification is generated. Further, a context object tracks a current
state of the telecommunication service. The context object accesses the compiled
representation in response to an event, e.g., a call progress event, in order to
effect a state transition and/or perform an action with respect to the telecommunication service.