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