#include "spa.h" void SPA_vMsgDomainSet(String domain) String SPA_vMsgDomainGet(void) SPA_PlayResult SPA_vMsgPlayN(PP_PortDesc portDesc, String vMsg, Int nuDtmfs) SPA_PlayResult SPA_wordSeqPlayN(PP_PortDesc portDesc, String wordSeq, Int nuDtmfs) SuccFail SPA_dtmfWaitFor(PP_PortDesc portDesc, Int nuDtmfs, String dtmfTerms, Int wait, Char *buf, Char *bufEnd) SuccFail SPA_mfWaitFor(PP_PortDesc portDesc, Int nuDtmfs, String dtmfTerms, Int wait, Char *buf, Char *bufEnd) SuccFail SPA_dtmfGenerate(PP_PortDesc portDesc, String dtmfStr)
A voice response application in VoRDE environment is a state table that is executed by PM_Machine. PP_ module can be used to assign a name to an application and to assign the application to one or more Phone-Ports.
PM_ module provides the service of dynamic creation of state tables and event driven execution of these state tables. Several state tables (Applications) may exist within a program (process). Each of these state tables may be associated with one or more Phone-Ports.
Sections 5.4.2 address the categories of services provided by the PM_ module.
The PM_ state machine, takes as input the
the Phone-Port.
There is a PM_Machine associated with each Phone-Port. Each PM_Machine consists of:
- A Stack. - Memory for static variables. - State Information.
PM_ states may dynamically be generated and linked together to generate state tables (Voice Response Applications).
A state is normally generated through a facility which has the form PM_genStateName. % 'StateName'% is the name of the desired state. For example to generate a state that would play a file, the user would:
{
PM_State *state;
state = PM_genPlayN(0, "hello.vox");
}
A state table is a linked set of states. PM_States are linked together through PM_Events.
PM_addState facility is used to link two states together with an event.