Bayonne2 / Common C++ 2 Framework
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes | Friends
ost::BayonneSession Class Referenceabstract

The primary session object representing a server timeslot and active communication endpoint in Bayonne. More...

#include <bayonne.h>

Inheritance diagram for ost::BayonneSession:
Inheritance graph
[legend]
Collaboration diagram for ost::BayonneSession:
Collaboration graph
[legend]

Public Types

enum  scrAccess {
  scrPUBLIC, scrPROTECTED, scrPRIVATE, scrFUNCTION,
  scrLOCAL
}
 
typedef enum scrAccess scrAccess
 
enum  symType {
  symNORMAL = 0, symCONST, symDYNAMIC, symFIFO,
  symSEQUENCE, symSTACK, symCOUNTER, symPOINTER,
  symREF, symARRAY, symASSOC, symINITIAL,
  symNUMBER, symLOCK, symPROPERTY, symORIGINAL,
  symMODIFIED, symTIMER, symBOOL
}
 
typedef enum symType symType
 
typedef bool(ScriptInterp::* Method )(void)
 
typedef const char
*(ScriptCommand::* 
Check )(Line *line, ScriptImage *img)
 
typedef bool(* Cond )(ScriptInterp *interp, const char *v)
 
typedef long(* Function )(long *args, unsigned prec)
 
typedef const char *(* Meta )(ScriptInterp *interp, const char *token)
 
typedef const char *(* Parse )(ScriptCompiler *img, const char *token)
 
typedef void(* Init )(void)
 
typedef struct ost::Script::_symbol Symbol
 
typedef struct ost::Script::_array Array
 
enum  interface_t {
  IF_PSTN, IF_SPAN, IF_ISDN, IF_SS7,
  IF_INET, IF_NONE, IF_POTS =IF_PSTN
}
 Telephony endpoint interface identifiers. More...
 
enum  calltype_t {
  NONE, INCOMING, OUTGOING, PICKUP,
  FORWARDED, RECALL, DIRECT, RINGING,
  VIRTUAL
}
 Type of call session being processed. More...
 
enum  bridge_t {
  BR_TDM, BR_INET, BR_SOFT, BR_GATE,
  BR_NONE
}
 Type of bridge used for joining ports. More...
 
enum  state_t {
  STATE_INITIAL = 0, STATE_IDLE, STATE_RESET, STATE_RELEASE,
  STATE_BUSY, STATE_DOWN, STATE_RING, STATE_PICKUP,
  STATE_SEIZE, STATE_ANSWER, STATE_STEP, STATE_EXEC,
  STATE_THREAD, STATE_CLEAR, STATE_INKEY, STATE_INPUT,
  STATE_READ, STATE_COLLECT, STATE_DIAL, STATE_XFER,
  STATE_REFER, STATE_HOLD, STATE_RECALL, STATE_TONE,
  STATE_DTMF, STATE_PLAY, STATE_RECORD, STATE_JOIN,
  STATE_WAIT, STATE_CALLING, STATE_CONNECT, STATE_RECONNECT,
  STATE_HUNTING, STATE_SLEEP, STATE_START, STATE_HANGUP,
  STATE_LIBRESET, STATE_WAITKEY, STATE_LIBWAIT, STATE_IRESET,
  STATE_FINAL, STATE_SUSPEND = STATE_DOWN, STATE_STANDBY = STATE_DOWN, STATE_LIBEXEC = STATE_EXEC,
  STATE_RINGING = STATE_RING, STATE_RUNNING = STATE_STEP, STATE_THREADING = STATE_THREAD
}
 Call processing states offered in core library. More...
 
enum  signal_t {
  SIGNAL_EXIT = 0, SIGNAL_ERROR, SIGNAL_TIMEOUT, SIGNAL_DTMF,
  SIGNAL_0, SIGNAL_1, SIGNAL_2, SIGNAL_3,
  SIGNAL_4, SIGNAL_5, SIGNAL_6, SIGNAL_7,
  SIGNAL_8, SIGNAL_9, SIGNAL_STAR, SIGNAL_POUND,
  SIGNAL_A, SIGNAL_OVERRIDE = SIGNAL_A, SIGNAL_B, SIGNAL_FLASH = SIGNAL_B,
  SIGNAL_C, SIGNAL_IMMEDIATE = SIGNAL_C, SIGNAL_D, SIGNAL_PRIORITY = SIGNAL_D,
  SIGNAL_RING, SIGNAL_TONE, SIGNAL_EVENT, SIGNAL_WINK,
  SIGNAL_CHILD, SIGNAL_FAIL, SIGNAL_PICKUP, SIGNAL_PART,
  SIGNAL_INVALID, SIGNAL_PARENT, SIGNAL_WAIT, SIGNAL_HANGUP = SIGNAL_EXIT
}
 Signaled interpreter events. More...
 
enum  event_t {
  MSGPORT_WAKEUP = 0, MSGPORT_SHUTDOWN, MSGPORT_LOGGING, MSGPORT_REGISTER,
  ENTER_STATE = 100, EXIT_STATE, EXIT_THREAD, EXIT_TIMER,
  EXIT_PARTING, NULL_EVENT, ERROR_STATE, ENTER_HUNTING,
  EXIT_HUNTING, ENTER_RECONNECT, EXIT_RECONNECT, RECALL_RECONNECT,
  EXIT_SCRIPT, STEP_SCRIPT, START_DIRECT = 200, START_INCOMING,
  START_OUTGOING, START_RECALL, START_FORWARDED, START_RINGING,
  START_HUNTING, START_REFER, STOP_SCRIPT, STOP_DISCONNECT,
  STOP_PARENT, CANCEL_CHILD, DETACH_CHILD, CHILD_RUNNING,
  CHILD_FAILED, CHILD_INVALID, CHILD_EXPIRED, CHILD_BUSY,
  CHILD_FAX, CHILD_DND, CHILD_AWAY, CHILD_NOCODEC,
  CHILD_OFFLINE, START_SCRIPT = START_INCOMING, START_SELECTED = START_OUTGOING, START_TRANSFER = START_REFER,
  ENTER_LIBEXEC = 300, EXIT_LIBEXEC, HEAD_LIBEXEC, ARGS_LIBEXEC,
  GOT_LIBEXEC, READ_LIBEXEC, DROP_LIBEXEC, STAT_LIBEXEC,
  PROMPT_LIBEXEC, CLEAR_LIBEXEC, WAIT_LIBEXEC, RECORD_LIBEXEC,
  REPLAY_LIBEXEC, RESTART_LIBEXEC, TONE_LIBEXEC, XFER_LIBEXEC,
  POST_LIBEXEC, ERROR_LIBEXEC, TIMER_EXPIRED = 400, LINE_WINK,
  LINE_PICKUP, LINE_HANGUP, LINE_DISCONNECT, LINE_ON_HOOK,
  LINE_OFF_HOOK, RING_ON, RING_OFF, RING_STOP,
  LINE_CALLER_ID, RINGING_DID, DEVICE_BLOCKED, DEVICE_UNBLOCKED,
  DEVICE_OPEN, DEVICE_CLOSE, DSP_READY, RING_SYNC,
  CALL_DETECT = 500, CALL_CONNECTED, CALL_RELEASED, CALL_ACCEPTED,
  CALL_ANSWERED, CALL_HOLD, CALL_HOLDING =CALL_HOLD, CALL_NOHOLD,
  CALL_DIGITS, CALL_OFFERED, CALL_ANI, CALL_ACTIVE,
  CALL_NOACTIVE, CALL_BILLING, CALL_RESTART, CALL_SETSTATE,
  CALL_FAILURE, CALL_ALERTING, CALL_INFO, CALL_BUSY,
  CALL_DIVERT, CALL_FACILITY, CALL_FRAME, CALL_NOTIFY,
  CALL_NSI, CALL_RINGING, CALL_DISCONNECT, CALL_CLEARED,
  CALL_PROCEEDING, RESTART_FAILED, RELEASE_FAILED, START_RING = 600,
  STOP_RING, CLEAR_TIMESLOT, START_FLASH, STOP_FLASH,
  DIAL_CONNECT, DIAL_TIMEOUT, DIAL_FAILED, DIAL_INVALID,
  DIAL_BUSY, DIAL_FAX, DIAL_PAM, DIAL_DND,
  DIAL_AWAY, DIAL_OFFLINE, DIAL_NOCODEC, DIAL_MACHINE = DIAL_PAM,
  AUDIO_IDLE = 700, AUDIO_ACTIVE, AUDIO_EXPIRED, INPUT_PENDING,
  OUTPUT_PENDING, AUDIO_BUFFER, TONE_IDLE, DTMF_KEYDOWN,
  DTMF_KEYSYNC, DTMF_KEYUP, TONE_START, TONE_STOP,
  AUDIO_START, AUDIO_STOP, DTMF_GENDOWN, DTMF_GENUP,
  AUDIO_SYNC, AUDIO_RECONNECT, AUDIO_DISCONNECT, PEER_RECONNECT,
  PEER_DISCONNECT, PEER_REFER, DTMF_GENTONE = DTMF_GENUP, MAKE_TEST = 800,
  MAKE_BUSY, MAKE_IDLE, MAKE_DOWN, MAKE_UP,
  MAKE_EXPIRED, ENABLE_LOGGING, DISABLE_LOGGING, PART_EXPIRED,
  PART_EXITING, PART_DISCONNECT, JOIN_PEER, PEER_WAITING,
  RELOCATE_REQUEST, RELOCATE_ACCEPT, RELOCATE_REJECT, START_RELOCATE,
  STREAM_ACTIVE, STREAM_PASSIVE, JOIN_RECALL, DROP_RECALL,
  DROP_REFER, ENTER_RESUME = MAKE_UP, ENTER_SUSPEND = MAKE_DOWN, SYSTEM_DOWN = 900,
  DRIVER_SPECIFIC = 1000
}
 Primary event identifiers. More...
 
enum  result_t {
  RESULT_SUCCESS = 0, RESULT_TIMEOUT, RESULT_INVALID, RESULT_PENDING,
  RESULT_COMPLETE, RESULT_FAILED, RESULT_BADPATH = 254, RESULT_OFFLINE = 255
}
 
typedef uint16_t timeslot_t
 
typedef int32_t rpcint_t
 
typedef rpcint_t rpcbool_t
 
typedef void(* rpcmethod_t )(BayonneRPC *rpc)
 A rpc method handler. More...
 
typedef bool(BayonneSession::* Handler )(Event *event)
 The current state handler in effect for a given channel to receive events. More...
 
typedef bool(ScriptInterp::* Method )(void)
 
typedef const char
*(ScriptCommand::* 
Check )(Line *line, ScriptImage *img)
 
typedef bool(* Cond )(ScriptInterp *interp, const char *v)
 
typedef long(* Function )(long *args, unsigned prec)
 
typedef const char *(* Meta )(ScriptInterp *interp, const char *token)
 
typedef const char *(* Parse )(ScriptCompiler *img, const char *token)
 
typedef void(* Init )(void)
 
typedef struct ost::Script::_symbol Symbol
 
typedef struct ost::Script::_array Array
 

Public Member Functions

bool isDTMF (void)
 
bool isPeering (void)
 
BayonneSpangetSpan (void)
 
timeslot_t getTimeslot (void)
 
ScriptEnginegetEngine (void)
 
const char * getExternal (const char *option)
 Process interpreter session symbols. More...
 
bool addSymbol (const char *id, const char *value)
 Add to an existing symbol. More...
 
bool clearSymbol (const char *id)
 Clear an existing symbol. More...
 
uint16 getEventSequence (void)
 Get event sequence id. More...
 
BayonneTranslatorgetTranslator (void)
 Get the current language translator. More...
 
void startConnecting (void)
 Start connecting child... More...
 
 BayonneSession (BayonneDriver *driver, timeslot_t timeslot, BayonneSpan *span=NULL)
 Create a new session. More...
 
virtual ~BayonneSession ()
 Destroy a session. More...
 
const char * getDigits (void)
 
const char * defVoicelib (void)
 
const char * getSessionId (void)
 
const char * getSessionParent (void)
 
const char * getSessionJoined (void)
 
time_t getSessionStart (void)
 
void initialevent (void)
 Initial kickoff event. More...
 
void initialize (void)
 Initialine ccengine script environment. More...
 
void detach (void)
 Detach interpreter. More...
 
time_t getJoined (void)
 Return time this call is joined or 0 if not child node. More...
 
BayonneDrivergetDriver (void)
 Return driver associated with this session. More...
 
virtual timeout_t getRemaining (void)=0
 Return time remaining until timer expires. More...
 
virtual void startTimer (timeout_t timer)=0
 Start a timer on the session. More...
 
virtual void stopTimer (void)=0
 Stop the timer for the session. More...
 
virtual void setOffhook (bool state)
 Set the port hook state. More...
 
virtual void makeIdle (void)
 Handles driver specific stuff when going idle. More...
 
void part (event_t reason)
 Disconnect notify peer... More...
 
virtual bool postEvent (Event *event)
 Post an event to the session state engine. More...
 
bool matchLine (Line *line)
 
virtual void queEvent (Event *event)
 queue an event through the msgport. More...
 
virtual void startThread (void)
 ccengine thread handling. More...
 
virtual void enterThread (ScriptThread *thr)
 ccengine thread handling. More...
 
virtual void exitThread (const char *msg)
 ccengine thread handling. More...
 
virtual void clrAudio (void)
 Clear/cleanup audio processing for the session. More...
 
virtual timeout_t getToneFraming (void)
 Get frame rate used for creating tone generators. More...
 
virtual const char * audioEncoding (void)
 Get driver default encoding. More...
 
virtual const char * audioExtension (void)
 Get driver default extension. More...
 
virtual timeout_t audioFraming (void)
 Get driver default framing. More...
 
const char * getAudio (bool live=true)
 Check script keywords for audio processing. More...
 
void branching (void)
 ccengine branch event notification. More...
 
bool isOffhook (void)
 Return hook state. More...
 
interface_t getInterface (void)
 Return interface type of this session. More...
 
bridge_t getBridge (void)
 Return bridge type for joins. More...
 
calltype_t getType (void)
 Return call type on session. More...
 
timeslot_t getSlot (void)
 Return server timeslot this session uses. More...
 
bool isIdle (void)
 Return if the session is currently idle. More...
 
bool isRefer (void)
 Return if currently referring. More...
 
bool isJoined (void)
 Return state of join. More...
 
bool isAssociated (void)
 Return state of association with parent in call. More...
 
void associate (BayonneSession *s)
 Set new call association. More...
 
bool isHolding (void)
 
bool isDisconnecting (void)
 Return state disconnecting or idle... More...
 
timeout_t getJoinTimer (void)
 Return parent answer timer, if joining. More...
 
bool signalScript (signal_t signal)
 Signal notification to script. More...
 
virtual bool peerLinear (void)
 Indicate whether session peers audio as linear frames. More...
 
virtual bool peerAudio (Audio::Encoded encoded)
 Post a peer audio frame into the driver. More...
 
virtual bool setPeering (Audio::Encoding encoding, timeout_t framing)
 Set peer audio encoding to the encoding type and framing specified by peer on drivers which can switch encoding. More...
 
const char * getKeyString (const char *id)
 
bool getKeyBool (const char *id)
 
long getKeyValue (const char *id)
 
timeout_t getSecTimeout (const char *id)
 
timeout_t getMSecTimeout (const char *id)
 
timeout_t getTimeoutValue (const char *opt=NULL)
 
timeout_t getTimeoutKeyword (const char *kw)
 
const char * getExitKeyword (const char *def)
 
const char * getMenuKeyword (const char *def)
 
unsigned getInputCount (const char *digits, unsigned max)
 
uint32 newTid (void)
 Compute a new unique transaction id. More...
 
const char * getTid (void)
 Get the current transaction identifier string for the session. More...
 
bool digitEvent (const char *event)
 Throw a digit pattern matching event message to the interprer. More...
 
bool stringEvent (const char *evt)
 
char getDigit (void)
 Get the next pending digit in the DTMF input buffer. More...
 
long getIntValue (const char *text, unsigned prec, ScriptProperty *property=NULL)
 
int numericExpression (long *list, int max, unsigned prec, ScriptProperty *property=NULL)
 
bool conditionalExpression (void)
 
bool conditional (void)
 
unsigned long getSequence (void)
 
virtual const char * getLogname (void)
 
ScriptImagegetImage (void)
 
const char * getMember (void)
 
const char * getKeyword (const char *kw)
 
const char * getKeyoption (const char *kw)
 
const char * getValue (const char *def=NULL)
 
const char * getOption (const char *def=NULL)
 
const char * hasOption (void)
 
const char * getContent (const char *opt)
 
const char * getSymContent (const char *opt)
 
SymbolgetKeysymbol (const char *kw, unsigned size=0)
 
SymbolgetSymbol (unsigned short size=0)
 
bool getSymbol (const char *id, char *buffer, unsigned short max)
 
const char * getSymbol (const char *id)
 
char getPackToken (void)
 
FramegetFrame (void)
 
LinegetLine (void)
 
void setFrame (void)
 
NamegetName (void)
 
bool getTrace (void)
 
bool execute (Method method)
 Runtime execution of script handler. More...
 
virtual void logmissing (const char *id, const char *level="undefined", const char *group="symbol")
 
virtual void logerror (const char *msg, const char *name=NULL)
 
SymbolmapSymbol (const char *id, unsigned short=0)
 
SymbolmapDirect (const char *id, unsigned short=0)
 
bool setNumber (const char *id, const char *value=NULL, unsigned dec=0)
 
bool setSymbol (const char *id, const char *value=NULL, unsigned short size=0)
 
bool setConst (const char *id, const char *value)
 
bool putSymbol (const char *id, const char *value, unsigned short size=0)
 
bool catSymbol (const char *id, const char *value, unsigned short size=0)
 
NamegetScript (const char *name)
 
bool step (void)
 
bool attach (ScriptCommand *cmd, const char *scrname)
 
void attach (ScriptCommand *cmd, ScriptImage *img, Name *scr)
 
void release (void)
 Release any acquired lock... More...
 
bool signal (const char *name)
 Signals are used during "delayed" execution steps when a signal event has occured aynchronously with the execution of a script controlled state event handler. More...
 
bool signal (unsigned id)
 Signals can be referenced by numeric id as well as by symbolic name. More...
 
bool done (void)
 
timeout_t getTimeout (void)
 
bool isRunning (void)
 
bool isExiting (void)
 
char * getTemp (void)
 
unsigned getTempSize (void)
 
void nameMutex (const char *name)
 Enable setting of mutex name for deadlock debug. More...
 
void enterMutex (void)
 Entering a Mutex locks the mutex for the current thread. More...
 
void enter (void)
 Future abi will use enter/leave/test members. More...
 
void leave (void)
 Future abi will use enter/leave/test members. More...
 
bool test (void)
 Future abi will use enter/leave/test members. More...
 
bool tryEnterMutex (void)
 Tries to lock the mutex for the current thread. More...
 
void leaveMutex (void)
 Leaving a mutex frees that mutex for use by another thread. More...
 
const char * cstring (const char *str)
 
unsigned gathertype (Symbol **idx, unsigned max, const char *prefix, symType group)
 
unsigned gather (Symbol **idx, unsigned max, const char *prefix, const char *suffix)
 
Symbolfind (const char *id, unsigned short size=0)
 
Symbolmake (const char *id, unsigned short size)
 
SymbolsetReference (const char *id, Symbol *target)
 
int getPages (void)
 Return the total number of pages that have been allocated for this memory pool. More...
 
void md5_hash (char *out, const char *source)
 Compute md5 hashes... More...
 

Static Public Member Functions

static const char * getGlobal (const char *id)
 
static bool setGlobal (const char *id, const char *value)
 
static bool sizeGlobal (const char *id, unsigned size)
 
static bool addGlobal (const char *id, const char *value)
 
static bool clearGlobal (const char *id)
 
static long getRealValue (double val, unsigned prec)
 
static double getDouble (long value, unsigned prec)
 
static long getInteger (long value, unsigned prec)
 
static long getTens (unsigned prec)
 
static void setDebug (bool mode)
 Enable or disable deadlock debugging. More...
 
static bool isScript (Name *scr)
 
static bool isSymbol (const char *id)
 
static bool use (const char *name)
 
static unsigned getIndex (const char *id)
 
static Symbolderef (Symbol *sym)
 
static bool commit (Symbol *sym, const char *value)
 
static bool append (Symbol *sym, const char *value)
 
static bool symindex (Symbol *sym, short offset)
 
static const char * extract (Symbol *sym)
 
static unsigned count (Symbol *sym)
 
static unsigned storage (Symbol *sym)
 
static void clear (Symbol *sym)
 
static void addFunction (const char *name, unsigned count, Function i)
 
static void addConditional (const char *name, Cond test)
 
static bool isPrivate (Name *scr)
 
static bool isFunction (Name *scr)
 
static void snmptrap (unsigned id, const char *descr=NULL)
 
static void allocate (timeslot_t timeslots, ScriptCommand *pointer=NULL, timeslot_t overdraft=0)
 Allocates the maximum number of timeslots the server will use as a whole and attaches a given server to the library. More...
 
static const char * getRegistryId (const char *id)
 
static BayonneDrivergetDriverTag (const char *id)
 
static Audio::Encoding getEncoding (const char *cp)
 
static void allocateLocal (void)
 Allocate local script engine sessions, if needed. More...
 
static void addConfig (const char *cfgfile)
 Add config file entry. More...
 
static void waitLoaded (void)
 Wait for live flag... More...
 
static unsigned long uptime (void)
 Get server uptime. More...
 
static ScriptCompilerreload (void)
 Request active scripts to be recompiled from the library. More...
 
static void down (void)
 Used to down the server from the library. More...
 
static bool service (const char *service)
 Sets server service level from the library. More...
 
static const char * getRunLevel (void)
 Get service level. More...
 
static BayonneSessiongetSession (timeslot_t timeslot)
 Returns a session pointer for a server timeslot. More...
 
static ScriptImage ** getLocalImage (timeslot_t timeslot)
 Returns a local image pointer for a server timeslot. More...
 
static BayonneSessionstartDialing (const char *dial, const char *name, const char *caller, const char *display, BayonneSession *parent=NULL, const char *manager=NULL, const char *secret=NULL)
 Start a dialing session. More...
 
static BayonneSessiongetSid (const char *id)
 Returns a session pointer for a string identifier. More...
 
static timeslot_t toTimeslot (const char *id)
 Returns a server timeslot number for a string identifier. More...
 
static timeslot_t getTimeslotsUsed (void)
 Return total library timeslots used (highest used). More...
 
static timeslot_t getTimeslotCount (void)
 Return total timeslots allocated for the server. More...
 
static timeslot_t getAvailTimeslots (void)
 Return remaining timeslots available to allocate driver ports into. More...
 
static Handler getState (const char *name)
 Map a state name into a handler. More...
 
static int getDigit (char dtmf)
 Convert a dtmf character into a 0-15 number reference. More...
 
static char getChar (int dtmf)
 Convert a dtmf digit number into it's ascii code. More...
 
static bool matchDigits (const char *digits, const char *match, bool partial=false)
 A function to support pattern matching and templates for digit strings. More...
 
static ScriptImageuseImage (void)
 Use the current compiled script image; mark as in use. More...
 
static void endImage (ScriptImage *image)
 Release a script image in use. More...
 
static bool loadPlugin (const char *path)
 Load a plugin module. More...
 
static bool loadMonitor (const char *path)
 Load a monitoring/management module. More...
 
static bool loadAudio (const char *path)
 Load a bgm/audio processing module for continues audio. More...
 
static void errlog (const char *level, const char *fmt,...)
 
static bool getUserdata (void)
 
static void addTrap4 (const char *addr)
 
static bool isScript (Name *scr)
 
static bool isSymbol (const char *id)
 
static bool use (const char *name)
 
static unsigned getIndex (const char *id)
 
static Symbolderef (Symbol *sym)
 
static bool commit (Symbol *sym, const char *value)
 
static bool append (Symbol *sym, const char *value)
 
static bool symindex (Symbol *sym, short offset)
 
static const char * extract (Symbol *sym)
 
static unsigned count (Symbol *sym)
 
static unsigned storage (Symbol *sym)
 
static void clear (Symbol *sym)
 
static void addFunction (const char *name, unsigned count, Function i)
 
static void addConditional (const char *name, Cond test)
 
static bool isPrivate (Name *scr)
 
static bool isFunction (Name *scr)
 

Data Fields

Traffic call_attempts
 
Traffic call_complete
 
BayonneAudio audio
 
class __EXPORT Line
 
class __EXPORT Name
 
class __EXPORT Line
 
class __EXPORT Name
 

Static Public Attributes

static size_t pagesize
 
static bool fastStart
 
static bool useBigmem
 
static unsigned fastStepping
 
static unsigned autoStepping
 
static unsigned symsize
 
static unsigned symlimit
 
static char decimal
 
static bool use_definitions
 
static bool use_macros
 
static bool use_prefix
 
static bool use_merge
 
static bool use_funcs
 
static const char * plugins
 
static const char * altplugins
 
static const char * access_user
 
static const char * access_pass
 
static const char * access_host
 
static bool exec_funcs
 
static const char * exec_extensions
 
static const char * exec_token
 
static const char * exec_prefix
 
static const char * exit_token
 
static const char * apps_extensions
 
static const char * apps_prefix
 
static const char * etc_prefix
 
static const char * var_prefix
 
static const char * log_prefix
 
static char dtmf_keymap [256]
 
static timeout_t step_timer
 
static timeout_t reset_timer
 
static timeout_t exec_timer
 
static unsigned compile_count
 
static volatile bool image_loaded
 
static BayonneTranslatorinit_translator
 
static const char * init_voicelib
 
static const char * trap_community
 
static AtomicCounter libexec_count
 
static statetab states []
 Table of states ordered by id. More...
 
static Mutex serialize
 A mutex to serialize any direct console I/O operations. More...
 
static ThreadLock reloading
 A mutex to serialize reload requests. More...
 
static Traffic total_call_attempts
 master traffic counters for call attempts and call completions. More...
 
static Traffic total_call_complete
 
static volatile unsigned short total_active_calls
 
static bool fastStart
 
static bool useBigmem
 
static unsigned fastStepping
 
static unsigned autoStepping
 
static size_t pagesize
 
static unsigned symsize
 
static unsigned symlimit
 
static char decimal
 
static bool use_definitions
 
static bool use_macros
 
static bool use_prefix
 
static bool use_merge
 
static bool use_funcs
 
static const char * plugins
 
static const char * altplugins
 
static const char * access_user
 
static const char * access_pass
 
static const char * access_host
 
static bool exec_funcs
 
static const char * exec_extensions
 
static const char * exec_token
 
static const char * exec_prefix
 
static const char * exit_token
 
static const char * apps_extensions
 
static const char * apps_prefix
 
static const char * etc_prefix
 
static const char * var_prefix
 
static const char * log_prefix
 

Protected Member Functions

bool requiresDTMF (void)
 Used to indicate commands which require dtmf handling to be enabled. More...
 
void enterCall (void)
 Enter a co-joined call session; used to notify other services. More...
 
void exitCall (const char *reason)
 Exit a co-joined call session; used to notify other services. More...
 
virtual bool enableDTMF (void)
 Enable dtmf detection for this channel. More...
 
virtual void disableDTMF (void)
 Disable dtmf detection for this channel. More...
 
virtual const char * checkAudio (bool live)
 Check audio properties for file and channel audio processing based on the driver specific capabilities of this channel through it's virtual. More...
 
virtual bool filterPosting (Event *event)
 virtual to filter incoming events. More...
 
virtual bool enterCommon (Event *event)
 
virtual bool enterInitial (Event *event)
 
virtual bool enterFinal (Event *event)
 
virtual bool enterIdle (Event *event)
 
virtual bool enterReset (Event *event)
 
virtual bool enterRelease (Event *event)
 
virtual bool enterRinging (Event *event)
 
virtual bool enterPickup (Event *event)
 
virtual bool enterAnswer (Event *event)
 
virtual bool enterSeize (Event *event)
 
virtual bool enterHunting (Event *event)
 
virtual bool enterHangup (Event *event)
 
virtual bool enterTone (Event *event)
 
virtual bool enterReconnect (Event *event)
 
virtual bool enterDTMF (Event *event)
 
virtual bool enterPlay (Event *event)
 
virtual bool enterRecord (Event *event)
 
virtual bool enterJoin (Event *event)
 
virtual bool enterWait (Event *event)
 
virtual bool enterDial (Event *event)
 
virtual bool enterBusy (Event *event)
 
virtual bool enterStandby (Event *event)
 
virtual bool enterXfer (Event *event)
 
virtual bool enterRefer (Event *event)
 
virtual bool enterHold (Event *event)
 
virtual bool enterRecall (Event *event)
 
void check (void)
 Check dtmf handling and other nessisities for the interpreter after an event has changed interpreter state. More...
 
void renameRecord (void)
 
bool stateInitial (Event *event)
 
bool stateFinal (Event *event)
 
bool stateIdle (Event *event)
 
bool stateIdleReset (Event *event)
 
bool stateReset (Event *event)
 
bool stateRelease (Event *event)
 
bool stateBusy (Event *event)
 
bool stateStandby (Event *event)
 
bool stateRinging (Event *event)
 
bool statePickup (Event *event)
 
bool stateAnswer (Event *event)
 
bool stateSeize (Event *event)
 
bool stateHunting (Event *event)
 
bool stateRunning (Event *event)
 
bool stateLibexec (Event *event)
 
bool stateLibreset (Event *event)
 
bool stateLibwait (Event *event)
 
bool stateWaitkey (Event *event)
 
bool stateThreading (Event *event)
 
bool stateHangup (Event *event)
 
bool stateCollect (Event *event)
 
bool stateSleep (Event *event)
 
bool stateStart (Event *event)
 
bool stateClear (Event *event)
 
bool stateInkey (Event *event)
 
bool stateInput (Event *event)
 
bool stateRead (Event *event)
 
bool stateDial (Event *event)
 
bool stateXfer (Event *event)
 
bool stateRefer (Event *event)
 
bool stateHold (Event *event)
 
bool stateRecall (Event *event)
 
bool stateTone (Event *event)
 
bool stateDTMF (Event *event)
 
bool statePlay (Event *event)
 
bool stateRecord (Event *event)
 
bool stateJoin (Event *event)
 
bool stateWait (Event *event)
 
bool stateConnect (Event *event)
 
bool stateReconnect (Event *event)
 
bool stateCalling (Event *event)
 
bool putEvent (Event *event)
 Direct method to post an event to a channel. More...
 
void libWrite (const char *string)
 Write libexec... More...
 
void libClose (const char *string)
 
bool isLibexec (const char *tsid)
 
timeout_t getLibexecTimeout (void)
 
const char * getWritepath (char *buf=NULL, size_t len=0)
 
void incIncomingAttempts (void)
 
void incOutgoingAttempts (void)
 
void incIncomingComplete (void)
 
void incOutgoingComplete (void)
 
void incActiveCalls (void)
 
void decActiveCalls (void)
 
ScriptInterpgetInterp (const char *id)
 Return session id for interpreter session command. More...
 
ScriptSymbolsgetSymbols (const char *id)
 Return ccengine symbol page map. More...
 
NameattachStart (Event *event)
 Start a script from idle or ringing. More...
 
unsigned getId (void)
 Used by ccengine. More...
 
void setSid (void)
 Compute a uneque call session id for the current call on the current session object. More...
 
void setState (state_t)
 Set the session to a new state. More...
 
void setRunning (void)
 Set the session to the running state, resume interpreter or libexec. More...
 
bool setReconnect (const char *enc, timeout_t framing)
 Attempt to readjust encoding of active session if supported. More...
 
bool recallReconnect (void)
 Attempt to readjust encoding of active session for recall. More...
 
void setConnecting (const char *evname=NULL)
 Set the session to the connecting (join) state or run state based on flags and circumstances from seize/pickup. More...
 
bool setLibexec (result_t result)
 Set the result of a libexec initiated process and change state to libexec. More...
 
bool setLibreset (result_t result)
 Set the result of a libexec initiated process and execute a reset timer interval. More...
 
libaudio_tgetLibaudio (void)
 Get the libaudio object. More...
 
void finalize (void)
 ccengine. More...
 
bool exit (void)
 Exit processing for interpreter. More...
 
ScriptSymbolsgetLocal (void)
 
void initRuntime (Name *name)
 Initialize execution environment for a script. More...
 
bool push (void)
 Attempt to push a value onto the stack. More...
 
bool pull (void)
 Attempt to recall a previous stack level. More...
 
void clearStack (void)
 Clear the stack of local loops or recursion for branching. More...
 
void advance (void)
 Advance program to the next script statement. More...
 
void skip (void)
 Skip line without checking or setting updates. More...
 
void error (const char *error)
 Set error variable and advance to either the error handler or next script statement. More...
 
bool scriptEvent (const char *name, bool inhereted=true)
 Events reference to named @event handlers which have been attached to a script. More...
 
void gotoEvent (NamedEvent *event)
 Branch to a selected event record immediately. More...
 
void trap (unsigned id)
 Set the execution interpreter to a trap identifier. More...
 
void trap (const char *name)
 Select trap by symbolic name and execute if found, else advance to next script step (unless exit trap). More...
 
bool tryCatch (const char *id)
 Tries a catch handler... More...
 
virtual bool isLocked (const char *id)
 
virtual const char * remapLocal (void)
 
virtual void waitThread (void)
 
bool eventThread (const char *evt, bool flag=true)
 
bool redirect (const char *scr)
 
bool redirect (bool evflag)
 
void ripple (void)
 
unsigned long getMask (void)
 
void purge (void)
 
virtual void * first (size_t size)
 Allocate first workspace from paged memory. More...
 
char * first (char *str)
 Allocate a string from the memory pager pool and copy the string into it's new memory area. More...
 
virtual void * alloc (size_t size)
 Allocate memory from either the currently active page, or allocate a new page for the object. More...
 
char * alloc (const char *str)
 Allocate a string from the memory pager pool and copy the string inti it's new memory area. More...
 
void clean (void)
 Clean for memory cleanup before exiting. More...
 

Protected Attributes

std::ostream * logevents
 
std::ostream * logtrace
 
Ring * ring
 
BayonneDriverdriver
 
BayonneMsgportmsgport
 
BayonneSessionpeer
 
BayonneSpanspan
 
timeslot_t timeslot
 
uint8 seq
 
uint16 evseq
 
uint32 tseq
 
bool offhook
 
bool dtmf
 
bool answered
 
bool starting
 
bool holding
 
bool connecting
 
bool referring
 
time_t audiotimer
 
time_t starttime
 
interface_t iface
 
bridge_t bridge
 
calltype_t type
 
event_t seizure
 
ScriptEnginevm
 
BayonneTranslatortranslator
 Translator in effect for this session. More...
 
char var_date [12]
 
char var_time [12]
 
char var_duration [12]
 
char var_callid [12]
 
char var_tid [14]
 
char var_sid [16]
 
char var_pid [16]
 
char var_recall [16]
 
char var_joined [16]
 
char var_rings [4]
 
char var_timeslot [8]
 
char var_spanid [8]
 
char var_bankid [4]
 
char var_spantsid [12]
 
const char * voicelib
 
char * dtmf_digits
 
unsigned digit_count
 
unsigned ring_count
 
time_t time_joined
 
State state
 
Mutexlock
 
ScriptCommandcmd
 
ScriptImageimage
 
ScriptInterpsession
 
ScriptThreadthread
 
Frame frame [32]
 
char * temps [16]
 
unsigned tempidx
 
unsigned stack
 
bool initialized
 
bool trace
 
bool exiting
 
bool updated
 
unsigned long sequence
 
char logname [32]
 
Symbolindex [KEYDATA_INDEX_SIZE+1]
 

Static Protected Attributes

static BayonneTranslator langNone
 
static ScriptSymbolsglobalSyms
 
static Mutex globalLock
 
static Testtest
 
static Funifun
 
static BayonneSession ** timeslots
 
static ScriptImage ** localimages
 
static char * status
 
static ScriptCommandserver
 
static unsigned ts_trk
 
static unsigned ts_ext
 
static timeslot_t ts_limit
 
static timeslot_t ts_count
 
static timeslot_t ts_used
 
static std::ostream * logging
 
static const char * path_prompts
 
static const char * path_tmpfs
 
static const char * path_tmp
 
static unsigned idle_count
 
static unsigned idle_limit
 
static bool shutdown_flag
 
static char sla [64]
 
static time_t start_time
 
static time_t reload_time
 
static Testtest
 
static Funifun
 

Private Member Functions

 BayonneSession ()
 

Private Attributes

BayonneSessionnextIdle
 
BayonneSessionprevIdle
 
bool isAvail
 

Friends

class __EXPORT ScriptEngine
 
class __EXPORT BayonneMsgport
 
class __EXPORT BayonneTranslator
 
class __EXPORT BayonneDriver
 
class __EXPORT Bayonne
 

Detailed Description

The primary session object representing a server timeslot and active communication endpoint in Bayonne.

Author
David Sugar dyfet.nosp@m.@gnu.nosp@m.telep.nosp@m.hony.nosp@m..org Session timeslot object.

Definition at line 2464 of file bayonne.h.

Member Typedef Documentation

typedef struct ost::Script::_array ost::Script::Array
inherited
typedef struct ost::Script::_array ost::Script::Array
inherited
typedef const char*(ScriptCommand::* ost::Script::Check)(Line *line, ScriptImage *img)
inherited

Definition at line 106 of file script3.h.

typedef const char*(ScriptCommand::* ost::Script::Check)(Line *line, ScriptImage *img)
inherited

Definition at line 106 of file script3.h.

typedef bool(* ost::Script::Cond)(ScriptInterp *interp, const char *v)
inherited

Definition at line 107 of file script3.h.

typedef bool(* ost::Script::Cond)(ScriptInterp *interp, const char *v)
inherited

Definition at line 107 of file script3.h.

typedef long(* ost::Script::Function)(long *args, unsigned prec)
inherited

Definition at line 108 of file script3.h.

typedef long(* ost::Script::Function)(long *args, unsigned prec)
inherited

Definition at line 108 of file script3.h.

typedef bool(BayonneSession::* ost::Bayonne::Handler)(Event *event)
inherited

The current state handler in effect for a given channel to receive events.

This is done by a direct method pointer for fast processing.

Definition at line 909 of file bayonne.h.

typedef void(* ost::Script::Init)(void)
inherited

Definition at line 111 of file script3.h.

typedef void(* ost::Script::Init)(void)
inherited

Definition at line 111 of file script3.h.

typedef const char*(* ost::Script::Meta)(ScriptInterp *interp, const char *token)
inherited

Definition at line 109 of file script3.h.

typedef const char*(* ost::Script::Meta)(ScriptInterp *interp, const char *token)
inherited

Definition at line 109 of file script3.h.

typedef bool(ScriptInterp::* ost::Script::Method)(void)
inherited

Definition at line 105 of file script3.h.

typedef bool(ScriptInterp::* ost::Script::Method)(void)
inherited

Definition at line 105 of file script3.h.

typedef const char*(* ost::Script::Parse)(ScriptCompiler *img, const char *token)
inherited

Definition at line 110 of file script3.h.

typedef const char*(* ost::Script::Parse)(ScriptCompiler *img, const char *token)
inherited

Definition at line 110 of file script3.h.

typedef rpcint_t ost::Bayonne::rpcbool_t
inherited

Definition at line 276 of file bayonne.h.

typedef int32_t ost::Bayonne::rpcint_t
inherited

Definition at line 274 of file bayonne.h.

typedef void(* ost::Bayonne::rpcmethod_t)(BayonneRPC *rpc)
inherited

A rpc method handler.

Definition at line 858 of file bayonne.h.

typedef enum scrAccess ost::Script::scrAccess
inherited

Definition at line 121 of file script3.h.

typedef struct ost::Script::_symbol ost::Script::Symbol
inherited
typedef struct ost::Script::_symbol ost::Script::Symbol
inherited
typedef enum symType ost::Script::symType
inherited

Definition at line 145 of file script3.h.

typedef uint16_t ost::Bayonne::timeslot_t
inherited

Definition at line 273 of file bayonne.h.

Member Enumeration Documentation

enum ost::Bayonne::bridge_t
inherited

Type of bridge used for joining ports.

Enumerator
BR_TDM 
BR_INET 
BR_SOFT 
BR_GATE 
BR_NONE 

Definition at line 344 of file bayonne.h.

enum ost::Bayonne::calltype_t
inherited

Type of call session being processed.

Enumerator
NONE 
INCOMING 
OUTGOING 
PICKUP 
FORWARDED 
RECALL 
DIRECT 
RINGING 
VIRTUAL 

Definition at line 328 of file bayonne.h.

enum ost::Bayonne::event_t
inherited

Primary event identifiers.

These are the events that can be passed into the Bayonne state machine. They are broken into categories.

Enumerator
MSGPORT_WAKEUP 
MSGPORT_SHUTDOWN 
MSGPORT_LOGGING 
MSGPORT_REGISTER 
ENTER_STATE 
EXIT_STATE 
EXIT_THREAD 
EXIT_TIMER 
EXIT_PARTING 
NULL_EVENT 
ERROR_STATE 
ENTER_HUNTING 
EXIT_HUNTING 
ENTER_RECONNECT 
EXIT_RECONNECT 
RECALL_RECONNECT 
EXIT_SCRIPT 
STEP_SCRIPT 
START_DIRECT 
START_INCOMING 
START_OUTGOING 
START_RECALL 
START_FORWARDED 
START_RINGING 
START_HUNTING 
START_REFER 
STOP_SCRIPT 
STOP_DISCONNECT 
STOP_PARENT 
CANCEL_CHILD 
DETACH_CHILD 
CHILD_RUNNING 
CHILD_FAILED 
CHILD_INVALID 
CHILD_EXPIRED 
CHILD_BUSY 
CHILD_FAX 
CHILD_DND 
CHILD_AWAY 
CHILD_NOCODEC 
CHILD_OFFLINE 
START_SCRIPT 
START_SELECTED 
START_TRANSFER 
ENTER_LIBEXEC 
EXIT_LIBEXEC 
HEAD_LIBEXEC 
ARGS_LIBEXEC 
GOT_LIBEXEC 
READ_LIBEXEC 
DROP_LIBEXEC 
STAT_LIBEXEC 
PROMPT_LIBEXEC 
CLEAR_LIBEXEC 
WAIT_LIBEXEC 
RECORD_LIBEXEC 
REPLAY_LIBEXEC 
RESTART_LIBEXEC 
TONE_LIBEXEC 
XFER_LIBEXEC 
POST_LIBEXEC 
ERROR_LIBEXEC 
TIMER_EXPIRED 
LINE_WINK 
LINE_PICKUP 
LINE_HANGUP 
LINE_DISCONNECT 
LINE_ON_HOOK 
LINE_OFF_HOOK 
RING_ON 
RING_OFF 
RING_STOP 
LINE_CALLER_ID 
RINGING_DID 
DEVICE_BLOCKED 
DEVICE_UNBLOCKED 
DEVICE_OPEN 
DEVICE_CLOSE 
DSP_READY 
RING_SYNC 
CALL_DETECT 
CALL_CONNECTED 
CALL_RELEASED 
CALL_ACCEPTED 
CALL_ANSWERED 
CALL_HOLD 
CALL_HOLDING 
CALL_NOHOLD 
CALL_DIGITS 
CALL_OFFERED 
CALL_ANI 
CALL_ACTIVE 
CALL_NOACTIVE 
CALL_BILLING 
CALL_RESTART 
CALL_SETSTATE 
CALL_FAILURE 
CALL_ALERTING 
CALL_INFO 
CALL_BUSY 
CALL_DIVERT 
CALL_FACILITY 
CALL_FRAME 
CALL_NOTIFY 
CALL_NSI 
CALL_RINGING 
CALL_DISCONNECT 
CALL_CLEARED 
CALL_PROCEEDING 
RESTART_FAILED 
RELEASE_FAILED 
START_RING 
STOP_RING 
CLEAR_TIMESLOT 
START_FLASH 
STOP_FLASH 
DIAL_CONNECT 
DIAL_TIMEOUT 
DIAL_FAILED 
DIAL_INVALID 
DIAL_BUSY 
DIAL_FAX 
DIAL_PAM 
DIAL_DND 
DIAL_AWAY 
DIAL_OFFLINE 
DIAL_NOCODEC 
DIAL_MACHINE 
AUDIO_IDLE 
AUDIO_ACTIVE 
AUDIO_EXPIRED 
INPUT_PENDING 
OUTPUT_PENDING 
AUDIO_BUFFER 
TONE_IDLE 
DTMF_KEYDOWN 
DTMF_KEYSYNC 
DTMF_KEYUP 
TONE_START 
TONE_STOP 
AUDIO_START 
AUDIO_STOP 
DTMF_GENDOWN 
DTMF_GENUP 
AUDIO_SYNC 
AUDIO_RECONNECT 
AUDIO_DISCONNECT 
PEER_RECONNECT 
PEER_DISCONNECT 
PEER_REFER 
DTMF_GENTONE 
MAKE_TEST 
MAKE_BUSY 
MAKE_IDLE 
MAKE_DOWN 
MAKE_UP 
MAKE_EXPIRED 
ENABLE_LOGGING 
DISABLE_LOGGING 
PART_EXPIRED 
PART_EXITING 
PART_DISCONNECT 
JOIN_PEER 
PEER_WAITING 
RELOCATE_REQUEST 
RELOCATE_ACCEPT 
RELOCATE_REJECT 
START_RELOCATE 
STREAM_ACTIVE 
STREAM_PASSIVE 
JOIN_RECALL 
DROP_RECALL 
DROP_REFER 
ENTER_RESUME 
ENTER_SUSPEND 
SYSTEM_DOWN 
DRIVER_SPECIFIC 

Definition at line 464 of file bayonne.h.

enum ost::Bayonne::interface_t
inherited

Telephony endpoint interface identifiers.

Enumerator
IF_PSTN 
IF_SPAN 
IF_ISDN 
IF_SS7 
IF_INET 
IF_NONE 
IF_POTS 

Definition at line 314 of file bayonne.h.

enum ost::Bayonne::result_t
inherited
Enumerator
RESULT_SUCCESS 
RESULT_TIMEOUT 
RESULT_INVALID 
RESULT_PENDING 
RESULT_COMPLETE 
RESULT_FAILED 
RESULT_BADPATH 
RESULT_OFFLINE 

Definition at line 683 of file bayonne.h.

enum ost::Script::scrAccess
inherited
Enumerator
scrPUBLIC 
scrPROTECTED 
scrPRIVATE 
scrFUNCTION 
scrLOCAL 

Definition at line 113 of file script3.h.

enum ost::Bayonne::signal_t
inherited

Signaled interpreter events.

These can be masked and accessed through ^xxx handlers in the scripting language.

Enumerator
SIGNAL_EXIT 
SIGNAL_ERROR 
SIGNAL_TIMEOUT 
SIGNAL_DTMF 
SIGNAL_0 
SIGNAL_1 
SIGNAL_2 
SIGNAL_3 
SIGNAL_4 
SIGNAL_5 
SIGNAL_6 
SIGNAL_7 
SIGNAL_8 
SIGNAL_9 
SIGNAL_STAR 
SIGNAL_POUND 
SIGNAL_A 
SIGNAL_OVERRIDE 
SIGNAL_B 
SIGNAL_FLASH 
SIGNAL_C 
SIGNAL_IMMEDIATE 
SIGNAL_D 
SIGNAL_PRIORITY 
SIGNAL_RING 
SIGNAL_TONE 
SIGNAL_EVENT 
SIGNAL_WINK 
SIGNAL_CHILD 
SIGNAL_FAIL 
SIGNAL_PICKUP 
SIGNAL_PART 
SIGNAL_INVALID 
SIGNAL_PARENT 
SIGNAL_WAIT 
SIGNAL_HANGUP 

Definition at line 414 of file bayonne.h.

enum ost::Bayonne::state_t
inherited

Call processing states offered in core library.

This list must be ordered to match the entries in the state table (statetab).

Enumerator
STATE_INITIAL 
STATE_IDLE 
STATE_RESET 
STATE_RELEASE 
STATE_BUSY 
STATE_DOWN 
STATE_RING 
STATE_PICKUP 
STATE_SEIZE 
STATE_ANSWER 
STATE_STEP 
STATE_EXEC 
STATE_THREAD 
STATE_CLEAR 
STATE_INKEY 
STATE_INPUT 
STATE_READ 
STATE_COLLECT 
STATE_DIAL 
STATE_XFER 
STATE_REFER 
STATE_HOLD 
STATE_RECALL 
STATE_TONE 
STATE_DTMF 
STATE_PLAY 
STATE_RECORD 
STATE_JOIN 
STATE_WAIT 
STATE_CALLING 
STATE_CONNECT 
STATE_RECONNECT 
STATE_HUNTING 
STATE_SLEEP 
STATE_START 
STATE_HANGUP 
STATE_LIBRESET 
STATE_WAITKEY 
STATE_LIBWAIT 
STATE_IRESET 
STATE_FINAL 
STATE_SUSPEND 
STATE_STANDBY 
STATE_LIBEXEC 
STATE_RINGING 
STATE_RUNNING 
STATE_THREADING 

Definition at line 358 of file bayonne.h.

enum ost::Script::symType
inherited
Enumerator
symNORMAL 
symCONST 
symDYNAMIC 
symFIFO 
symSEQUENCE 
symSTACK 
symCOUNTER 
symPOINTER 
symREF 
symARRAY 
symASSOC 
symINITIAL 
symNUMBER 
symLOCK 
symPROPERTY 
symORIGINAL 
symMODIFIED 
symTIMER 
symBOOL 

Definition at line 123 of file script3.h.

Constructor & Destructor Documentation

ost::BayonneSession::BayonneSession ( )
inlineprivate

Definition at line 2473 of file bayonne.h.

ost::BayonneSession::BayonneSession ( BayonneDriver driver,
timeslot_t  timeslot,
BayonneSpan span = NULL 
)

Create a new session.

Parameters
driverto bind.
timeslotto bind.
spanto bind, or NULL if no span associated.
virtual ost::BayonneSession::~BayonneSession ( )
virtual

Destroy a session.

Member Function Documentation

static void ost::Script::addConditional ( const char *  name,
Cond  test 
)
staticinherited
static void ost::Script::addConditional ( const char *  name,
Cond  test 
)
staticinherited
static void ost::Bayonne::addConfig ( const char *  cfgfile)
staticinherited

Add config file entry.

static void ost::Script::addFunction ( const char *  name,
unsigned  count,
Function  i 
)
staticinherited
static void ost::Script::addFunction ( const char *  name,
unsigned  count,
Function  i 
)
staticinherited
static bool ost::BayonneSession::addGlobal ( const char *  id,
const char *  value 
)
static
bool ost::BayonneSession::addSymbol ( const char *  id,
const char *  value 
)

Add to an existing symbol.

Parameters
idof symbol.
valueto add.
Returns
false if not exists.
static void ost::Bayonne::addTrap4 ( const char *  addr)
staticinherited
void ost::ScriptInterp::advance ( void  )
protectedinherited

Advance program to the next script statement.

virtual void* MemPager::alloc ( size_t  size)
protectedvirtualinherited

Allocate memory from either the currently active page, or allocate a new page for the object.

Parameters
sizesize of memory to allocate.
Returns
pointer to allocated memory.

Reimplemented in SharedMemPager.

char* MemPager::alloc ( const char *  str)
protectedinherited

Allocate a string from the memory pager pool and copy the string inti it's new memory area.

This checks only the last active page for available space before allocating a new page.

Parameters
strstring to allocate and copy into paged memory pool.
Returns
copy of string from allocated memory.
static void ost::Bayonne::allocate ( timeslot_t  timeslots,
ScriptCommand pointer = NULL,
timeslot_t  overdraft = 0 
)
staticinherited

Allocates the maximum number of timeslots the server will use as a whole and attaches a given server to the library.

Parameters
timeslotsto allocate.
pointerto server shell.
static void ost::Bayonne::allocateLocal ( void  )
staticinherited

Allocate local script engine sessions, if needed.

static bool ost::Script::append ( Symbol sym,
const char *  value 
)
staticinherited
static bool ost::Script::append ( Symbol sym,
const char *  value 
)
staticinherited
void ost::BayonneSession::associate ( BayonneSession s)

Set new call association.

Used by ACD.

Parameters
sessionto associate with.
bool ost::ScriptInterp::attach ( ScriptCommand cmd,
const char *  scrname 
)
inherited
void ost::ScriptInterp::attach ( ScriptCommand cmd,
ScriptImage img,
Name scr 
)
inherited
Name* ost::BayonneSession::attachStart ( Event event)
protected

Start a script from idle or ringing.

This may use the assign statements to find the script name if none is passed.

Parameters
eventpassed to kick off the script.
Returns
script to run or NULL.
virtual const char* ost::BayonneSession::audioEncoding ( void  )
virtual

Get driver default encoding.

virtual const char* ost::BayonneSession::audioExtension ( void  )
virtual

Get driver default extension.

virtual timeout_t ost::BayonneSession::audioFraming ( void  )
virtual

Get driver default framing.

void ost::BayonneSession::branching ( void  )
virtual

ccengine branch event notification.

Used for menudef processing.

Reimplemented from ost::ScriptInterp.

bool ost::ScriptInterp::catSymbol ( const char *  id,
const char *  value,
unsigned short  size = 0 
)
inherited
void ost::BayonneSession::check ( void  )
protected

Check dtmf handling and other nessisities for the interpreter after an event has changed interpreter state.

virtual const char* ost::BayonneSession::checkAudio ( bool  live)
protectedvirtual

Check audio properties for file and channel audio processing based on the driver specific capabilities of this channel through it's virtual.

Returns
error message if audio format unacceptable, NULL if ok.
Parameters
trueif for live audio, false if for file only.
void MemPager::clean ( void  )
protectedinherited

Clean for memory cleanup before exiting.

static void ost::Script::clear ( Symbol sym)
staticinherited
static void ost::Script::clear ( Symbol sym)
staticinherited
static bool ost::BayonneSession::clearGlobal ( const char *  id)
static
void ost::ScriptInterp::clearStack ( void  )
protectedinherited

Clear the stack of local loops or recursion for branching.

bool ost::BayonneSession::clearSymbol ( const char *  id)

Clear an existing symbol.

Parameters
idof symbol.
Returns
false if not exists.
virtual void ost::BayonneSession::clrAudio ( void  )
virtual

Clear/cleanup audio processing for the session.

static bool ost::Script::commit ( Symbol sym,
const char *  value 
)
staticinherited
static bool ost::Script::commit ( Symbol sym,
const char *  value 
)
staticinherited
bool ost::ScriptInterp::conditional ( void  )
inherited
bool ost::ScriptInterp::conditionalExpression ( void  )
inherited
static unsigned ost::Script::count ( Symbol sym)
staticinherited
static unsigned ost::Script::count ( Symbol sym)
staticinherited
const char* ost::ScriptSymbols::cstring ( const char *  str)
inlineinherited

Definition at line 321 of file script3.h.

void ost::BayonneSession::decActiveCalls ( void  )
protected
const char* ost::BayonneSession::defVoicelib ( void  )
inline

Definition at line 2893 of file bayonne.h.

static Symbol* ost::Script::deref ( Symbol sym)
staticinherited
static Symbol* ost::Script::deref ( Symbol sym)
staticinherited
void ost::BayonneSession::detach ( void  )

Detach interpreter.

bool ost::BayonneSession::digitEvent ( const char *  event)

Throw a digit pattern matching event message to the interprer.

Returns
true if throw caught.
Parameters
eventmessage.
virtual void ost::BayonneSession::disableDTMF ( void  )
protectedvirtual

Disable dtmf detection for this channel.

bool ost::ScriptInterp::done ( void  )
inherited
static void ost::Bayonne::down ( void  )
staticinherited

Used to down the server from the library.

virtual bool ost::BayonneSession::enableDTMF ( void  )
protectedvirtual

Enable dtmf detection for this channel.

Returns
true if successful.
static void ost::Bayonne::endImage ( ScriptImage image)
staticinherited

Release a script image in use.

If no active calls are using it and it's no longer the top active image, purge from memory.

Parameters
imageto compiled script from useImage.
void Mutex::enter ( void  )
inlineinherited

Future abi will use enter/leave/test members.

Definition at line 263 of file thread.h.

virtual bool ost::BayonneSession::enterAnswer ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterBusy ( Event event)
protectedvirtual
void ost::BayonneSession::enterCall ( void  )
protected

Enter a co-joined call session; used to notify other services.

Always performed by child node.

virtual bool ost::BayonneSession::enterCommon ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterDial ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterDTMF ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterFinal ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterHangup ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterHold ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterHunting ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterIdle ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterInitial ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterJoin ( Event event)
protectedvirtual
void Mutex::enterMutex ( void  )
inherited

Entering a Mutex locks the mutex for the current thread.

This also can be done using the ENTER_CRITICAL macro or by using the ++ operator on a mutex.

See Also
leaveMutex
virtual bool ost::BayonneSession::enterPickup ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterPlay ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterRecall ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterReconnect ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterRecord ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterRefer ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterRelease ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterReset ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterRinging ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterSeize ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterStandby ( Event event)
protectedvirtual
virtual void ost::BayonneSession::enterThread ( ScriptThread thr)
virtual

ccengine thread handling.

Reimplemented from ost::ScriptInterp.

virtual bool ost::BayonneSession::enterTone ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterWait ( Event event)
protectedvirtual
virtual bool ost::BayonneSession::enterXfer ( Event event)
protectedvirtual
static void ost::Bayonne::errlog ( const char *  level,
const char *  fmt,
  ... 
)
staticinherited
void ost::ScriptInterp::error ( const char *  error)
protectedinherited

Set error variable and advance to either the error handler or next script statement.

Parameters
errormessage.
bool ost::ScriptInterp::eventThread ( const char *  evt,
bool  flag = true 
)
protectedinherited
bool ost::ScriptInterp::execute ( Method  method)
inherited

Runtime execution of script handler.

This can be called in the current or derived class to invoke extensible methods.

Returns
true if immediately ready for next step.
Parameters
methodderived method member to call.
bool ost::BayonneSession::exit ( void  )
protectedvirtual

Exit processing for interpreter.

Returns
true of exiting.

Reimplemented from ost::ScriptInterp.

void ost::BayonneSession::exitCall ( const char *  reason)
protected

Exit a co-joined call session; used to notify other services.

May happen when a child node exits, drops a recall, or is dropped by a parent.

Parameters
reasoncall is terminated.
virtual void ost::BayonneSession::exitThread ( const char *  msg)
virtual

ccengine thread handling.

Reimplemented from ost::ScriptInterp.

static const char* ost::Script::extract ( Symbol sym)
staticinherited
static const char* ost::Script::extract ( Symbol sym)
staticinherited
virtual bool ost::BayonneSession::filterPosting ( Event event)
protectedvirtual

virtual to filter incoming events.

Parameters
eventbeing sent to channel.
Returns
true if accepting event.
void ost::BayonneSession::finalize ( void  )
protected

ccengine.

Symbol* ost::ScriptSymbols::find ( const char *  id,
unsigned short  size = 0 
)
inherited
virtual void* MemPager::first ( size_t  size)
protectedvirtualinherited

Allocate first workspace from paged memory.

This method scans all currently allocated blocks for available space before adding new pages and hence is both slower and more efficient.

Parameters
sizesize of memory to allocate.
Returns
pointer to allocated memory.

Reimplemented in SharedMemPager.

char* MemPager::first ( char *  str)
protectedinherited

Allocate a string from the memory pager pool and copy the string into it's new memory area.

This method allocates memory by first searching for an available page, and then allocating a new page if no space is found.

Parameters
strstring to allocate and copy into paged memory pool.
Returns
copy of string from allocated memory.
unsigned ost::ScriptSymbols::gather ( Symbol **  idx,
unsigned  max,
const char *  prefix,
const char *  suffix 
)
inherited
unsigned ost::ScriptSymbols::gathertype ( Symbol **  idx,
unsigned  max,
const char *  prefix,
symType  group 
)
inherited
const char* ost::BayonneSession::getAudio ( bool  live = true)

Check script keywords for audio processing.

Returns
NULL if ok, else error message.
Parameters
livetrue if for live, else for file processing.
static timeslot_t ost::Bayonne::getAvailTimeslots ( void  )
inlinestaticinherited

Return remaining timeslots available to allocate driver ports into.

Returns
remaining timeslots.

Definition at line 1209 of file bayonne.h.

bridge_t ost::BayonneSession::getBridge ( void  )
inline

Return bridge type for joins.

Returns
bridge type.

Definition at line 3071 of file bayonne.h.

static char ost::Bayonne::getChar ( int  dtmf)
staticinherited

Convert a dtmf digit number into it's ascii code.

Parameters
dtmfdigit number.
Returns
dtmf character code.
const char* ost::ScriptInterp::getContent ( const char *  opt)
inherited
static int ost::Bayonne::getDigit ( char  dtmf)
staticinherited

Convert a dtmf character into a 0-15 number reference.

Parameters
dtmfdigit as ascii
Returns
dtmf digit number.
char ost::BayonneSession::getDigit ( void  )

Get the next pending digit in the DTMF input buffer.

Returns
digit.
const char* ost::BayonneSession::getDigits ( void  )
static double ost::ScriptInterp::getDouble ( long  value,
unsigned  prec 
)
staticinherited
BayonneDriver* ost::BayonneSession::getDriver ( void  )
inline

Return driver associated with this session.

Returns
driver object.

Definition at line 2934 of file bayonne.h.

static BayonneDriver* ost::Bayonne::getDriverTag ( const char *  id)
staticinherited
static Audio::Encoding ost::Bayonne::getEncoding ( const char *  cp)
staticinherited
ScriptEngine* ost::BayonneSession::getEngine ( void  )
inline

Definition at line 2683 of file bayonne.h.

uint16 ost::BayonneSession::getEventSequence ( void  )
inline

Get event sequence id.

Returns
event sequence id.

Definition at line 2716 of file bayonne.h.

const char* ost::BayonneSession::getExitKeyword ( const char *  def)
const char* ost::BayonneSession::getExternal ( const char *  option)
virtual

Process interpreter session symbols.

Parameters
optionsymbol being requested.
Returns
NULL if not external, else value.

Reimplemented from ost::ScriptInterp.

Frame* ost::ScriptInterp::getFrame ( void  )
inlineinherited

Definition at line 1369 of file script3.h.

static const char* ost::BayonneSession::getGlobal ( const char *  id)
static
unsigned ost::BayonneSession::getId ( void  )
protectedvirtual

Used by ccengine.

Reimplemented from ost::ScriptInterp.

ScriptImage* ost::ScriptInterp::getImage ( void  )
inlineinherited

Definition at line 1335 of file script3.h.

static unsigned ost::Script::getIndex ( const char *  id)
staticinherited
static unsigned ost::Script::getIndex ( const char *  id)
staticinherited
unsigned ost::BayonneSession::getInputCount ( const char *  digits,
unsigned  max 
)
static long ost::ScriptInterp::getInteger ( long  value,
unsigned  prec 
)
staticinherited
interface_t ost::BayonneSession::getInterface ( void  )
inline

Return interface type of this session.

Returns
interface type.

Definition at line 3063 of file bayonne.h.

ScriptInterp* ost::BayonneSession::getInterp ( const char *  id)
protectedvirtual

Return session id for interpreter session command.

Parameters
idof session request.
Returns
ccengine object to return for the id.

Reimplemented from ost::ScriptInterp.

long ost::ScriptInterp::getIntValue ( const char *  text,
unsigned  prec,
ScriptProperty property = NULL 
)
inherited
time_t ost::BayonneSession::getJoined ( void  )
inline

Return time this call is joined or 0 if not child node.

Definition at line 2926 of file bayonne.h.

timeout_t ost::BayonneSession::getJoinTimer ( void  )

Return parent answer timer, if joining.

Returns
timeout for joining.
bool ost::BayonneSession::getKeyBool ( const char *  id)
const char* ost::ScriptInterp::getKeyoption ( const char *  kw)
inherited
const char* ost::BayonneSession::getKeyString ( const char *  id)
Symbol* ost::ScriptInterp::getKeysymbol ( const char *  kw,
unsigned  size = 0 
)
inherited
long ost::BayonneSession::getKeyValue ( const char *  id)
const char* ost::ScriptInterp::getKeyword ( const char *  kw)
inherited
libaudio_t* ost::BayonneSession::getLibaudio ( void  )
inlineprotected

Get the libaudio object.

Used by server libexec to prepare a libaudio/phrasebook session.

Returns
libaudio object for this session.

Definition at line 2840 of file bayonne.h.

timeout_t ost::BayonneSession::getLibexecTimeout ( void  )
protected
Line* ost::ScriptInterp::getLine ( void  )
inlineinherited

Definition at line 1372 of file script3.h.

ScriptSymbols* ost::ScriptInterp::getLocal ( void  )
protectedinherited
static ScriptImage** ost::Bayonne::getLocalImage ( timeslot_t  timeslot)
staticinherited

Returns a local image pointer for a server timeslot.

Parameters
timeslotnumber in server.
Returns
pointer to image pointer or NULL if empty/invalid.
virtual const char* ost::ScriptInterp::getLogname ( void  )
inlinevirtualinherited

Definition at line 1328 of file script3.h.

unsigned long ost::ScriptInterp::getMask ( void  )
protectedinherited
const char* ost::ScriptInterp::getMember ( void  )
inherited
const char* ost::BayonneSession::getMenuKeyword ( const char *  def)
timeout_t ost::BayonneSession::getMSecTimeout ( const char *  id)
Name* ost::ScriptInterp::getName ( void  )
inlineinherited

Definition at line 1377 of file script3.h.

const char* ost::ScriptInterp::getOption ( const char *  def = NULL)
inherited
char ost::ScriptInterp::getPackToken ( void  )
inherited
int MemPager::getPages ( void  )
inlineinherited

Return the total number of pages that have been allocated for this memory pool.

Returns
number of pages allocated.

Definition at line 181 of file misc.h.

static long ost::ScriptInterp::getRealValue ( double  val,
unsigned  prec 
)
staticinherited
static const char* ost::Bayonne::getRegistryId ( const char *  id)
staticinherited
virtual timeout_t ost::BayonneSession::getRemaining ( void  )
pure virtual

Return time remaining until timer expires.

Commonly used for msgport scheduling.

Returns
time remaining in milliseconds.
static const char* ost::Bayonne::getRunLevel ( void  )
staticinherited

Get service level.

Parameters
returnservice level
Name* ost::ScriptInterp::getScript ( const char *  name)
inherited
timeout_t ost::BayonneSession::getSecTimeout ( const char *  id)
unsigned long ost::ScriptInterp::getSequence ( void  )
inlineinherited

Definition at line 1325 of file script3.h.

static BayonneSession* ost::Bayonne::getSession ( timeslot_t  timeslot)
staticinherited

Returns a session pointer for a server timeslot.

Each server timeslot can map to a single session object.

Parameters
timeslotnumber in server.
Returns
session object or NULL if timeslot empty/invalid.
const char* ost::BayonneSession::getSessionId ( void  )
inline

Definition at line 2896 of file bayonne.h.

const char* ost::BayonneSession::getSessionJoined ( void  )
inline

Definition at line 2902 of file bayonne.h.

const char* ost::BayonneSession::getSessionParent ( void  )
inline

Definition at line 2899 of file bayonne.h.

time_t ost::BayonneSession::getSessionStart ( void  )
inline

Definition at line 2905 of file bayonne.h.

static BayonneSession* ost::Bayonne::getSid ( const char *  id)
staticinherited

Returns a session pointer for a string identifier.

This can be for a transaction id, a call id, or other unique identifiers which can be mapped into a single timeslot.

Parameters
idsession identifier string.
Returns
session object or NULL if not found.
timeslot_t ost::BayonneSession::getSlot ( void  )
inline

Return server timeslot this session uses.

Returns
server timeslot.

Definition at line 3087 of file bayonne.h.

BayonneSpan* ost::BayonneSession::getSpan ( void  )
inline

Definition at line 2677 of file bayonne.h.

static Handler ost::Bayonne::getState ( const char *  name)
staticinherited

Map a state name into a handler.

Used for logging requests. Uses the statetab.

Parameters
nameof state to lookup.
Returns
handler method for state if found.
Symbol* ost::ScriptInterp::getSymbol ( unsigned short  size = 0)
inherited
bool ost::ScriptInterp::getSymbol ( const char *  id,
char *  buffer,
unsigned short  max 
)
inherited
const char* ost::ScriptInterp::getSymbol ( const char *  id)
inherited
ScriptSymbols* ost::BayonneSession::getSymbols ( const char *  id)
protectedvirtual

Return ccengine symbol page map.

Gives access to globals.

Parameters
idtable of symbols.
Returns
table map to use.

Reimplemented from ost::ScriptInterp.

const char* ost::ScriptInterp::getSymContent ( const char *  opt)
inherited
char* ost::ScriptInterp::getTemp ( void  )
inherited
unsigned ost::ScriptInterp::getTempSize ( void  )
inherited
static long ost::ScriptInterp::getTens ( unsigned  prec)
staticinherited
const char* ost::BayonneSession::getTid ( void  )
inline

Get the current transaction identifier string for the session.

Returns
transaction identifier.

Definition at line 3204 of file bayonne.h.

timeout_t ost::ScriptInterp::getTimeout ( void  )
inherited
timeout_t ost::BayonneSession::getTimeoutKeyword ( const char *  kw)
timeout_t ost::BayonneSession::getTimeoutValue ( const char *  opt = NULL)
timeslot_t ost::BayonneSession::getTimeslot ( void  )
inline

Definition at line 2680 of file bayonne.h.

static timeslot_t ost::Bayonne::getTimeslotCount ( void  )
inlinestaticinherited

Return total timeslots allocated for the server.

Returns
total number of timeslots, max + 1.

Definition at line 1200 of file bayonne.h.

static timeslot_t ost::Bayonne::getTimeslotsUsed ( void  )
inlinestaticinherited

Return total library timeslots used (highest used).

Returns
highest server timeslot in use.

Definition at line 1192 of file bayonne.h.

virtual timeout_t ost::BayonneSession::getToneFraming ( void  )
virtual

Get frame rate used for creating tone generators.

bool ost::ScriptInterp::getTrace ( void  )
inlineinherited

Definition at line 1380 of file script3.h.

BayonneTranslator* ost::BayonneSession::getTranslator ( void  )
inline

Get the current language translator.

Returns
translator.

Definition at line 2824 of file bayonne.h.

calltype_t ost::BayonneSession::getType ( void  )
inline

Return call type on session.

Returns
call type.

Definition at line 3079 of file bayonne.h.

static bool ost::Bayonne::getUserdata ( void  )
staticinherited
const char* ost::ScriptInterp::getValue ( const char *  def = NULL)
inherited
const char* ost::BayonneSession::getWritepath ( char *  buf = NULL,
size_t  len = 0 
)
protected
void ost::ScriptInterp::gotoEvent ( NamedEvent event)
protectedinherited

Branch to a selected event record immediately.

Parameters
eventrecord pointer to access.
const char* ost::ScriptInterp::hasOption ( void  )
inherited
void ost::BayonneSession::incActiveCalls ( void  )
protected
void ost::BayonneSession::incIncomingAttempts ( void  )
protected
void ost::BayonneSession::incIncomingComplete ( void  )
protected
void ost::BayonneSession::incOutgoingAttempts ( void  )
protected
void ost::BayonneSession::incOutgoingComplete ( void  )
protected
void ost::BayonneSession::initialevent ( void  )

Initial kickoff event.

void ost::BayonneSession::initialize ( void  )
virtual

Initialine ccengine script environment.

Reimplemented from ost::ScriptInterp.

void ost::ScriptInterp::initRuntime ( Name name)
protectedinherited

Initialize execution environment for a script.

bool ost::BayonneSession::isAssociated ( void  )

Return state of association with parent in call.

Returns
true if currently associated.
bool ost::BayonneSession::isDisconnecting ( void  )

Return state disconnecting or idle...

bool ost::BayonneSession::isDTMF ( void  )
inline

Definition at line 2671 of file bayonne.h.

bool ost::ScriptInterp::isExiting ( void  )
inlineinherited

Definition at line 1558 of file script3.h.

static bool ost::Script::isFunction ( Name scr)
staticinherited
static bool ost::Script::isFunction ( Name scr)
staticinherited
bool ost::BayonneSession::isHolding ( void  )
inline

Definition at line 3126 of file bayonne.h.

bool ost::BayonneSession::isIdle ( void  )
inline

Return if the session is currently idle.

Returns
true if currently idle.

Definition at line 3095 of file bayonne.h.

bool ost::BayonneSession::isJoined ( void  )

Return state of join.

Returns
true if currently joined.
bool ost::BayonneSession::isLibexec ( const char *  tsid)
protected
virtual bool ost::ScriptInterp::isLocked ( const char *  id)
protectedvirtualinherited
bool ost::BayonneSession::isOffhook ( void  )
inline

Return hook state.

Returns
true if offhook.

Definition at line 3055 of file bayonne.h.

bool ost::BayonneSession::isPeering ( void  )
inline

Definition at line 2674 of file bayonne.h.

static bool ost::Script::isPrivate ( Name scr)
staticinherited
static bool ost::Script::isPrivate ( Name scr)
staticinherited
bool ost::BayonneSession::isRefer ( void  )

Return if currently referring.

Returns
true if referring.
bool ost::ScriptInterp::isRunning ( void  )
inlineinherited

Definition at line 1555 of file script3.h.

static bool ost::Script::isScript ( Name scr)
staticinherited
static bool ost::Script::isScript ( Name scr)
staticinherited
static bool ost::Script::isSymbol ( const char *  id)
staticinherited
static bool ost::Script::isSymbol ( const char *  id)
staticinherited
void Mutex::leave ( void  )
inlineinherited

Future abi will use enter/leave/test members.

Definition at line 269 of file thread.h.

void Mutex::leaveMutex ( void  )
inherited

Leaving a mutex frees that mutex for use by another thread.

If the mutex has been entered (invoked) multiple times (recursivily) by the same thread, then it will need to be exited the same number of instances before it is free for re-use. This operation can also be done using the LEAVE_CRITICAL macro or by the – operator on a mutex.

See Also
enterMutex
void ost::BayonneSession::libClose ( const char *  string)
protected
void ost::BayonneSession::libWrite ( const char *  string)
protected

Write libexec...

Parameters
stringto write.
static bool ost::Bayonne::loadAudio ( const char *  path)
staticinherited

Load a bgm/audio processing module for continues audio.

Parameters
pathid of plugin.
Returns
true if successful.
static bool ost::Bayonne::loadMonitor ( const char *  path)
staticinherited

Load a monitoring/management module.

Parameters
pathid of plugin.
Returns
true if successful.
static bool ost::Bayonne::loadPlugin ( const char *  path)
staticinherited

Load a plugin module.

Parameters
pathid of plugin.
Returns
true if successful.
virtual void ost::ScriptInterp::logerror ( const char *  msg,
const char *  name = NULL 
)
virtualinherited
virtual void ost::ScriptInterp::logmissing ( const char *  id,
const char *  level = "undefined",
const char *  group = "symbol" 
)
virtualinherited
Symbol* ost::ScriptSymbols::make ( const char *  id,
unsigned short  size 
)
inherited
virtual void ost::BayonneSession::makeIdle ( void  )
virtual

Handles driver specific stuff when going idle.

Symbol* ost::ScriptInterp::mapDirect ( const char *  id,
unsigned  short = 0 
)
inherited
Symbol* ost::ScriptInterp::mapSymbol ( const char *  id,
unsigned  short = 0 
)
inherited
static bool ost::Bayonne::matchDigits ( const char *  digits,
const char *  match,
bool  partial = false 
)
staticinherited

A function to support pattern matching and templates for digit strings.

This is used for digit @xxx:... entries and the route command.

Parameters
digitsto use.
matchdigit pattern to match against.
partialaccept match if true.
Returns
true if digits match to pattern.
bool ost::BayonneSession::matchLine ( Line line)
void ost::Bayonne::md5_hash ( char *  out,
const char *  source 
)
inherited

Compute md5 hashes...

Parameters
md5output string
stringto hash
void Mutex::nameMutex ( const char *  name)
inlineinherited

Enable setting of mutex name for deadlock debug.

Parameters
namefor mutex.

Definition at line 248 of file thread.h.

uint32 ost::BayonneSession::newTid ( void  )

Compute a new unique transaction id.

These are like pids and are often used to assure transaction coherence, such as in the libexec system.

Returns
generated integer transaction identifier.
int ost::ScriptInterp::numericExpression ( long *  list,
int  max,
unsigned  prec,
ScriptProperty property = NULL 
)
inherited
void ost::BayonneSession::part ( event_t  reason)

Disconnect notify peer...

Parameters
reasonevent id to pass
virtual bool ost::BayonneSession::peerAudio ( Audio::Encoded  encoded)
virtual

Post a peer audio frame into the driver.

The frame is assumed to either be in the format used for global peering, or, if the driver supports setPeering, perhaps in the session selected format.

Returns
true if peer frame was posted.
Parameters
encodedaudio frame to peer.
virtual bool ost::BayonneSession::peerLinear ( void  )
virtual

Indicate whether session peers audio as linear frames.

Returns
true if peering linear.
virtual bool ost::BayonneSession::postEvent ( Event event)
virtual

Post an event to the session state engine.

Returns
true if event claimed.
Parameters
eventbeing posted.
bool ost::ScriptInterp::pull ( void  )
protectedinherited

Attempt to recall a previous stack level.

Returns
false if stack underflow.
void ost::ScriptSymbols::purge ( void  )
protectedinherited
bool ost::ScriptInterp::push ( void  )
protectedinherited

Attempt to push a value onto the stack.

Returns
false if stack overflow.
bool ost::BayonneSession::putEvent ( Event event)
protected

Direct method to post an event to a channel.

Returns
true if event is claimed by channel.
Parameters
eventbeing posted.
bool ost::ScriptInterp::putSymbol ( const char *  id,
const char *  value,
unsigned short  size = 0 
)
inherited
virtual void ost::BayonneSession::queEvent ( Event event)
virtual

queue an event through the msgport.

Parameters
eventto queue.
bool ost::BayonneSession::recallReconnect ( void  )
protected

Attempt to readjust encoding of active session for recall.

bool ost::ScriptInterp::redirect ( const char *  scr)
protectedinherited
bool ost::ScriptInterp::redirect ( bool  evflag)
protectedinherited
void ost::ScriptInterp::release ( void  )
inherited

Release any acquired lock...

static ScriptCompiler* ost::Bayonne::reload ( void  )
staticinherited

Request active scripts to be recompiled from the library.

Returns
script image that was created, or NULL.
virtual const char* ost::ScriptInterp::remapLocal ( void  )
protectedvirtualinherited
void ost::BayonneSession::renameRecord ( void  )
protected
bool ost::BayonneSession::requiresDTMF ( void  )
protected

Used to indicate commands which require dtmf handling to be enabled.

Returns
true if dtmf was enabled. If false, error processing occured for the interpreter.
void ost::ScriptInterp::ripple ( void  )
protectedinherited
bool ost::ScriptInterp::scriptEvent ( const char *  name,
bool  inhereted = true 
)
protectedinherited

Events reference to named @event handlers which have been attached to a script.

This allows low level applications to invoke an event handler much the way a signal handler occurs.

Returns
true if event handler exists.
Parameters
nameof event handler.
inheretedsearch flag.
static bool ost::Bayonne::service ( const char *  service)
staticinherited

Sets server service level from the library.

Parameters
servicelevel or NULL to clear.
Returns
true if set.
void ost::BayonneSession::setConnecting ( const char *  evname = NULL)
protected

Set the session to the connecting (join) state or run state based on flags and circumstances from seize/pickup.

bool ost::ScriptInterp::setConst ( const char *  id,
const char *  value 
)
inherited
static void Mutex::setDebug ( bool  mode)
inlinestaticinherited

Enable or disable deadlock debugging.

Parameters
modedebug mode.

Definition at line 240 of file thread.h.

void ost::ScriptInterp::setFrame ( void  )
inherited
static bool ost::BayonneSession::setGlobal ( const char *  id,
const char *  value 
)
static
bool ost::BayonneSession::setLibexec ( result_t  result)
protected

Set the result of a libexec initiated process and change state to libexec.

Return false if no libexec support, or if not currently libexecing...

Returns
true if in libexec
Parameters
resultcode to set.
bool ost::BayonneSession::setLibreset ( result_t  result)
protected

Set the result of a libexec initiated process and execute a reset timer interval.

This is used to schedule reset hang time before resuming libexec.

Returns
true if in libexec
Parameters
resultcode to set.
bool ost::ScriptInterp::setNumber ( const char *  id,
const char *  value = NULL,
unsigned  dec = 0 
)
inherited
virtual void ost::BayonneSession::setOffhook ( bool  state)
virtual

Set the port hook state.

Mostly for analog devices.

Parameters
statetrue to set offhook, false onhook.
virtual bool ost::BayonneSession::setPeering ( Audio::Encoding  encoding,
timeout_t  framing 
)
virtual

Set peer audio encoding to the encoding type and framing specified by peer on drivers which can switch encoding.

This can enable audio conversions to be bypassed.

Returns
true if set.
Parameters
encodingformat requested.
framingtimer to use.
bool ost::BayonneSession::setReconnect ( const char *  enc,
timeout_t  framing 
)
protected

Attempt to readjust encoding of active session if supported.

Parameters
encodingto try
timeoutto use
Symbol* ost::ScriptSymbols::setReference ( const char *  id,
Symbol target 
)
inherited
void ost::BayonneSession::setRunning ( void  )
protected

Set the session to the running state, resume interpreter or libexec.

void ost::BayonneSession::setSid ( void  )
protected

Compute a uneque call session id for the current call on the current session object.

Also a great key for cdr records.

void ost::BayonneSession::setState ( state_t  )
protected

Set the session to a new state.

bool ost::ScriptInterp::setSymbol ( const char *  id,
const char *  value = NULL,
unsigned short  size = 0 
)
inherited
bool ost::ScriptInterp::signal ( const char *  name)
inherited

Signals are used during "delayed" execution steps when a signal event has occured aynchronously with the execution of a script controlled state event handler.

This mechanism can be used in place of calling implicit "Step" traps.

Returns
true if signal handler is not blocked.
Parameters
nameof signal identifier.
bool ost::ScriptInterp::signal ( unsigned  id)
inherited

Signals can be referenced by numeric id as well as by symbolic name.

Returns
true if signal handler is not blocked.
Parameters
idnumber of handler.
bool ost::BayonneSession::signalScript ( signal_t  signal)

Signal notification to script.

Parameters
signalto send to script engine.
Returns
true if signal claimed.
static bool ost::BayonneSession::sizeGlobal ( const char *  id,
unsigned  size 
)
static
void ost::ScriptInterp::skip ( void  )
protectedinherited

Skip line without checking or setting updates.

static void ost::Bayonne::snmptrap ( unsigned  id,
const char *  descr = NULL 
)
staticinherited
void ost::BayonneSession::startConnecting ( void  )
inline

Start connecting child...

Definition at line 2830 of file bayonne.h.

static BayonneSession* ost::Bayonne::startDialing ( const char *  dial,
const char *  name,
const char *  caller,
const char *  display,
BayonneSession parent = NULL,
const char *  manager = NULL,
const char *  secret = NULL 
)
staticinherited

Start a dialing session.

WARNING: this function leaves the channel locked so it can be examined by the returning task.

Parameters
dialingstring or uri.
scriptto run or start.
callerid for this call.
displayname for this call.
parentto join to.
virtual void ost::BayonneSession::startThread ( void  )
virtual

ccengine thread handling.

Reimplemented from ost::ScriptInterp.

virtual void ost::BayonneSession::startTimer ( timeout_t  timer)
pure virtual

Start a timer on the session.

Used extensivily in state handler code.

Parameters
timerto start for specified milliseconds.
bool ost::BayonneSession::stateAnswer ( Event event)
protected
bool ost::BayonneSession::stateBusy ( Event event)
protected
bool ost::BayonneSession::stateCalling ( Event event)
protected
bool ost::BayonneSession::stateClear ( Event event)
protected
bool ost::BayonneSession::stateCollect ( Event event)
protected
bool ost::BayonneSession::stateConnect ( Event event)
protected
bool ost::BayonneSession::stateDial ( Event event)
protected
bool ost::BayonneSession::stateDTMF ( Event event)
protected
bool ost::BayonneSession::stateFinal ( Event event)
protected
bool ost::BayonneSession::stateHangup ( Event event)
protected
bool ost::BayonneSession::stateHold ( Event event)
protected
bool ost::BayonneSession::stateHunting ( Event event)
protected
bool ost::BayonneSession::stateIdle ( Event event)
protected
bool ost::BayonneSession::stateIdleReset ( Event event)
protected
bool ost::BayonneSession::stateInitial ( Event event)
protected
bool ost::BayonneSession::stateInkey ( Event event)
protected
bool ost::BayonneSession::stateInput ( Event event)
protected
bool ost::BayonneSession::stateJoin ( Event event)
protected
bool ost::BayonneSession::stateLibexec ( Event event)
protected
bool ost::BayonneSession::stateLibreset ( Event event)
protected
bool ost::BayonneSession::stateLibwait ( Event event)
protected
bool ost::BayonneSession::statePickup ( Event event)
protected
bool ost::BayonneSession::statePlay ( Event event)
protected
bool ost::BayonneSession::stateRead ( Event event)
protected
bool ost::BayonneSession::stateRecall ( Event event)
protected
bool ost::BayonneSession::stateReconnect ( Event event)
protected
bool ost::BayonneSession::stateRecord ( Event event)
protected
bool ost::BayonneSession::stateRefer ( Event event)
protected
bool ost::BayonneSession::stateRelease ( Event event)
protected
bool ost::BayonneSession::stateReset ( Event event)
protected
bool ost::BayonneSession::stateRinging ( Event event)
protected
bool ost::BayonneSession::stateRunning ( Event event)
protected
bool ost::BayonneSession::stateSeize ( Event event)
protected
bool ost::BayonneSession::stateSleep ( Event event)
protected
bool ost::BayonneSession::stateStandby ( Event event)
protected
bool ost::BayonneSession::stateStart ( Event event)
protected
bool ost::BayonneSession::stateThreading ( Event event)
protected
bool ost::BayonneSession::stateTone ( Event event)
protected
bool ost::BayonneSession::stateWait ( Event event)
protected
bool ost::BayonneSession::stateWaitkey ( Event event)
protected
bool ost::BayonneSession::stateXfer ( Event event)
protected
bool ost::ScriptInterp::step ( void  )
inherited
virtual void ost::BayonneSession::stopTimer ( void  )
pure virtual

Stop the timer for the session.

Used extensivily in state handler code.

static unsigned ost::Script::storage ( Symbol sym)
staticinherited
static unsigned ost::Script::storage ( Symbol sym)
staticinherited
bool ost::BayonneSession::stringEvent ( const char *  evt)
inline

Definition at line 3215 of file bayonne.h.

static bool ost::Script::symindex ( Symbol sym,
short  offset 
)
staticinherited
static bool ost::Script::symindex ( Symbol sym,
short  offset 
)
staticinherited
bool Mutex::test ( void  )
inlineinherited

Future abi will use enter/leave/test members.

Returns
true if entered.

Definition at line 277 of file thread.h.

static timeslot_t ost::Bayonne::toTimeslot ( const char *  id)
staticinherited

Returns a server timeslot number for a string identifier.

Returns
timeslot number or invalid value.
Parameters
idfor a session.
See Also
getSid
void ost::ScriptInterp::trap ( unsigned  id)
protectedinherited

Set the execution interpreter to a trap identifier.

If no trap id exists, then advance to next script statement (unless exit trap).

Parameters
idof trap to select numerically.
void ost::ScriptInterp::trap ( const char *  name)
protectedinherited

Select trap by symbolic name and execute if found, else advance to next script step (unless exit trap).

Parameters
nameof trap to select.
bool ost::ScriptInterp::tryCatch ( const char *  id)
protectedinherited

Tries a catch handler...

Returns
true if caught.
Parameters
idof catch handler to try.
bool Mutex::tryEnterMutex ( void  )
inherited

Tries to lock the mutex for the current thread.

Behaves like enterMutex , except that it doesn't block the calling thread if the mutex is already locked by another thread.

Returns
true if locking the mutex was succesful otherwise false
See Also
enterMutex
leaveMutex
static unsigned long ost::Bayonne::uptime ( void  )
staticinherited

Get server uptime.

Returns
uptime in seconds.
static bool ost::Script::use ( const char *  name)
staticinherited
static bool ost::Script::use ( const char *  name)
staticinherited
static ScriptImage* ost::Bayonne::useImage ( void  )
staticinherited

Use the current compiled script image; mark as in use.

Returns
current script image to pass to new calls.
static void ost::Bayonne::waitLoaded ( void  )
staticinherited

Wait for live flag...

virtual void ost::ScriptInterp::waitThread ( void  )
protectedvirtualinherited

Friends And Related Function Documentation

friend class __EXPORT Bayonne
friend

Definition at line 2471 of file bayonne.h.

friend class __EXPORT BayonneDriver
friend

Definition at line 2470 of file bayonne.h.

friend class __EXPORT BayonneMsgport
friend

Definition at line 2468 of file bayonne.h.

friend class __EXPORT BayonneTranslator
friend

Definition at line 2469 of file bayonne.h.

friend class __EXPORT ScriptEngine
friend

Definition at line 2467 of file bayonne.h.

Field Documentation

const char* ost::Script::access_host
staticinherited

Definition at line 285 of file script3.h.

const char* ost::Script::access_host
staticinherited

Definition at line 285 of file script3.h.

const char* ost::Script::access_pass
staticinherited

Definition at line 284 of file script3.h.

const char* ost::Script::access_pass
staticinherited

Definition at line 284 of file script3.h.

const char* ost::Script::access_user
staticinherited

Definition at line 283 of file script3.h.

const char* ost::Script::access_user
staticinherited

Definition at line 283 of file script3.h.

const char* ost::Script::altplugins
staticinherited

Definition at line 282 of file script3.h.

const char* ost::Script::altplugins
staticinherited

Definition at line 282 of file script3.h.

bool ost::BayonneSession::answered
protected

Definition at line 2493 of file bayonne.h.

const char* ost::Script::apps_extensions
staticinherited

Definition at line 291 of file script3.h.

const char* ost::Script::apps_extensions
staticinherited

Definition at line 291 of file script3.h.

const char* ost::Script::apps_prefix
staticinherited

Definition at line 292 of file script3.h.

const char* ost::Script::apps_prefix
staticinherited

Definition at line 292 of file script3.h.

BayonneAudio ost::BayonneSession::audio

Definition at line 3225 of file bayonne.h.

time_t ost::BayonneSession::audiotimer
protected

Definition at line 2494 of file bayonne.h.

unsigned ost::Script::autoStepping
staticinherited

Definition at line 258 of file script3.h.

unsigned ost::Script::autoStepping
staticinherited

Definition at line 258 of file script3.h.

bridge_t ost::BayonneSession::bridge
protected

Definition at line 2496 of file bayonne.h.

Traffic ost::BayonneSession::call_attempts

Definition at line 2669 of file bayonne.h.

Traffic ost::BayonneSession::call_complete

Definition at line 2669 of file bayonne.h.

ScriptCommand* ost::ScriptInterp::cmd
protectedinherited

Definition at line 1310 of file script3.h.

unsigned ost::Bayonne::compile_count
staticinherited

Definition at line 303 of file bayonne.h.

bool ost::BayonneSession::connecting
protected

Definition at line 2493 of file bayonne.h.

char ost::Script::decimal
staticinherited

Definition at line 275 of file script3.h.

char ost::Script::decimal
staticinherited

Definition at line 275 of file script3.h.

unsigned ost::BayonneSession::digit_count
protected

Definition at line 2871 of file bayonne.h.

BayonneDriver* ost::BayonneSession::driver
protected

Definition at line 2485 of file bayonne.h.

bool ost::BayonneSession::dtmf
protected

Definition at line 2493 of file bayonne.h.

char* ost::BayonneSession::dtmf_digits
protected

Definition at line 2870 of file bayonne.h.

char ost::Bayonne::dtmf_keymap[256]
staticinherited

Definition at line 265 of file bayonne.h.

const char* ost::Script::etc_prefix
staticinherited

Definition at line 294 of file script3.h.

const char* ost::Script::etc_prefix
staticinherited

Definition at line 294 of file script3.h.

uint16 ost::BayonneSession::evseq
protected

Definition at line 2491 of file bayonne.h.

const char* ost::Script::exec_extensions
staticinherited

Definition at line 287 of file script3.h.

const char* ost::Script::exec_extensions
staticinherited

Definition at line 287 of file script3.h.

bool ost::Script::exec_funcs
staticinherited

Definition at line 286 of file script3.h.

bool ost::Script::exec_funcs
staticinherited

Definition at line 286 of file script3.h.

const char* ost::Script::exec_prefix
staticinherited

Definition at line 289 of file script3.h.

const char* ost::Script::exec_prefix
staticinherited

Definition at line 289 of file script3.h.

timeout_t ost::Bayonne::exec_timer
staticinherited

Definition at line 302 of file bayonne.h.

const char* ost::Script::exec_token
staticinherited

Definition at line 288 of file script3.h.

const char* ost::Script::exec_token
staticinherited

Definition at line 288 of file script3.h.

const char* ost::Script::exit_token
staticinherited

Definition at line 290 of file script3.h.

const char* ost::Script::exit_token
staticinherited

Definition at line 290 of file script3.h.

bool ost::ScriptInterp::exiting
protectedinherited

Definition at line 1318 of file script3.h.

bool ost::Script::fastStart
staticinherited

Definition at line 255 of file script3.h.

bool ost::Script::fastStart
staticinherited

Definition at line 255 of file script3.h.

unsigned ost::Script::fastStepping
staticinherited

Definition at line 257 of file script3.h.

unsigned ost::Script::fastStepping
staticinherited

Definition at line 257 of file script3.h.

Frame ost::ScriptInterp::frame[32]
protectedinherited

Definition at line 1314 of file script3.h.

Mutex ost::BayonneSession::globalLock
staticprotected

Definition at line 2481 of file bayonne.h.

ScriptSymbols* ost::BayonneSession::globalSyms
staticprotected

Definition at line 2480 of file bayonne.h.

bool ost::BayonneSession::holding
protected

Definition at line 2493 of file bayonne.h.

unsigned ost::Bayonne::idle_count
staticprotectedinherited

Definition at line 292 of file bayonne.h.

unsigned ost::Bayonne::idle_limit
staticprotectedinherited

Definition at line 293 of file bayonne.h.

interface_t ost::BayonneSession::iface
protected

Definition at line 2495 of file bayonne.h.

Fun* ost::Script::ifun
staticprotectedinherited

Definition at line 306 of file script3.h.

Fun* ost::Script::ifun
staticprotectedinherited

Definition at line 306 of file script3.h.

ScriptImage* ost::ScriptInterp::image
protectedinherited

Definition at line 1311 of file script3.h.

volatile bool ost::Bayonne::image_loaded
staticinherited

Definition at line 304 of file bayonne.h.

Symbol* ost::ScriptSymbols::index[KEYDATA_INDEX_SIZE+1]
protectedinherited

Definition at line 313 of file script3.h.

BayonneTranslator* ost::Bayonne::init_translator
staticinherited

Definition at line 306 of file bayonne.h.

const char* ost::Bayonne::init_voicelib
staticinherited

Definition at line 307 of file bayonne.h.

bool ost::ScriptInterp::initialized
protectedinherited

Definition at line 1318 of file script3.h.

bool ost::BayonneSession::isAvail
private

Definition at line 2476 of file bayonne.h.

BayonneTranslator ost::BayonneSession::langNone
staticprotected

Definition at line 2479 of file bayonne.h.

AtomicCounter ost::Bayonne::libexec_count
staticinherited

Definition at line 309 of file bayonne.h.

class __EXPORT ost::Script::Line
inherited

Definition at line 102 of file script3.h.

class __EXPORT ost::Script::Line
inherited

Definition at line 102 of file script3.h.

ScriptImage** ost::Bayonne::localimages
staticprotectedinherited

Definition at line 280 of file bayonne.h.

Mutex* ost::ScriptInterp::lock
protectedinherited

Definition at line 1309 of file script3.h.

const char* ost::Script::log_prefix
staticinherited

Definition at line 296 of file script3.h.

const char* ost::Script::log_prefix
staticinherited

Definition at line 296 of file script3.h.

std::ostream* ost::BayonneSession::logevents
protected

Definition at line 2483 of file bayonne.h.

std::ostream* ost::Bayonne::logging
staticprotectedinherited

Definition at line 288 of file bayonne.h.

char ost::ScriptInterp::logname[32]
protectedinherited

Definition at line 1320 of file script3.h.

std::ostream * ost::BayonneSession::logtrace
protected

Definition at line 2483 of file bayonne.h.

BayonneMsgport* ost::BayonneSession::msgport
protected

Definition at line 2486 of file bayonne.h.

class __EXPORT ost::Script::Name
inherited

Definition at line 103 of file script3.h.

class __EXPORT ost::Script::Name
inherited

Definition at line 103 of file script3.h.

BayonneSession* ost::BayonneSession::nextIdle
private

Definition at line 2473 of file bayonne.h.

bool ost::BayonneSession::offhook
protected

Definition at line 2493 of file bayonne.h.

size_t ost::Script::pagesize
staticinherited

Definition at line 259 of file script3.h.

size_t ost::Script::pagesize
staticinherited

Definition at line 259 of file script3.h.

const char* ost::Bayonne::path_prompts
staticprotectedinherited

Definition at line 289 of file bayonne.h.

const char* ost::Bayonne::path_tmp
staticprotectedinherited

Definition at line 291 of file bayonne.h.

const char* ost::Bayonne::path_tmpfs
staticprotectedinherited

Definition at line 290 of file bayonne.h.

BayonneSession* ost::BayonneSession::peer
protected

Definition at line 2487 of file bayonne.h.

const char* ost::Script::plugins
staticinherited

Definition at line 281 of file script3.h.

const char* ost::Script::plugins
staticinherited

Definition at line 281 of file script3.h.

BayonneSession * ost::BayonneSession::prevIdle
private

Definition at line 2473 of file bayonne.h.

bool ost::BayonneSession::referring
protected

Definition at line 2493 of file bayonne.h.

time_t ost::Bayonne::reload_time
staticprotectedinherited

Definition at line 297 of file bayonne.h.

ThreadLock ost::Bayonne::reloading
staticinherited

A mutex to serialize reload requests.

Definition at line 1054 of file bayonne.h.

timeout_t ost::Bayonne::reset_timer
staticinherited

Definition at line 301 of file bayonne.h.

Ring* ost::BayonneSession::ring
protected

Definition at line 2484 of file bayonne.h.

unsigned ost::BayonneSession::ring_count
protected

Definition at line 2871 of file bayonne.h.

event_t ost::BayonneSession::seizure
protected

Definition at line 2498 of file bayonne.h.

uint8 ost::BayonneSession::seq
protected

Definition at line 2490 of file bayonne.h.

unsigned long ost::ScriptInterp::sequence
protectedinherited

Definition at line 1319 of file script3.h.

Mutex ost::Bayonne::serialize
staticinherited

A mutex to serialize any direct console I/O operations.

Sometimes used to serialize other kinds of time insensitive requests.

Definition at line 1049 of file bayonne.h.

ScriptCommand* ost::Bayonne::server
staticprotectedinherited

Definition at line 282 of file bayonne.h.

ScriptInterp* ost::ScriptInterp::session
protectedinherited

Definition at line 1312 of file script3.h.

bool ost::Bayonne::shutdown_flag
staticprotectedinherited

Definition at line 294 of file bayonne.h.

char ost::Bayonne::sla[64]
staticprotectedinherited

Definition at line 295 of file bayonne.h.

BayonneSpan* ost::BayonneSession::span
protected

Definition at line 2488 of file bayonne.h.

unsigned ost::ScriptInterp::stack
protectedinherited

Definition at line 1317 of file script3.h.

time_t ost::Bayonne::start_time
staticprotectedinherited

Definition at line 296 of file bayonne.h.

bool ost::BayonneSession::starting
protected

Definition at line 2493 of file bayonne.h.

time_t ost::BayonneSession::starttime
protected

Definition at line 2494 of file bayonne.h.

State ost::BayonneSession::state
protected

Definition at line 2874 of file bayonne.h.

statetab ost::Bayonne::states[]
staticinherited

Table of states ordered by id.

Definition at line 1043 of file bayonne.h.

char* ost::Bayonne::status
staticprotectedinherited

Definition at line 281 of file bayonne.h.

timeout_t ost::Bayonne::step_timer
staticinherited

Definition at line 300 of file bayonne.h.

unsigned ost::Script::symlimit
staticinherited

Definition at line 261 of file script3.h.

unsigned ost::Script::symlimit
staticinherited

Definition at line 261 of file script3.h.

unsigned ost::Script::symsize
staticinherited

Definition at line 260 of file script3.h.

unsigned ost::Script::symsize
staticinherited

Definition at line 260 of file script3.h.

unsigned ost::ScriptInterp::tempidx
protectedinherited

Definition at line 1316 of file script3.h.

char* ost::ScriptInterp::temps[16]
protectedinherited

Definition at line 1315 of file script3.h.

Test* ost::Script::test
staticprotectedinherited

Definition at line 305 of file script3.h.

Test* ost::Script::test
staticprotectedinherited

Definition at line 305 of file script3.h.

ScriptThread* ost::ScriptInterp::thread
protectedinherited

Definition at line 1313 of file script3.h.

time_t ost::BayonneSession::time_joined
protected

Definition at line 2872 of file bayonne.h.

timeslot_t ost::BayonneSession::timeslot
protected

Definition at line 2489 of file bayonne.h.

BayonneSession** ost::Bayonne::timeslots
staticprotectedinherited

Definition at line 279 of file bayonne.h.

volatile unsigned short ost::Bayonne::total_active_calls
staticinherited

Definition at line 1061 of file bayonne.h.

Traffic ost::Bayonne::total_call_attempts
staticinherited

master traffic counters for call attempts and call completions.

Definition at line 1059 of file bayonne.h.

Traffic ost::Bayonne::total_call_complete
staticinherited

Definition at line 1060 of file bayonne.h.

bool ost::ScriptInterp::trace
protectedinherited

Definition at line 1318 of file script3.h.

BayonneTranslator* ost::BayonneSession::translator
protected

Translator in effect for this session.

Definition at line 2745 of file bayonne.h.

const char* ost::Bayonne::trap_community
staticinherited

Definition at line 308 of file bayonne.h.

timeslot_t ost::Bayonne::ts_count
staticprotectedinherited

Definition at line 286 of file bayonne.h.

unsigned ost::Bayonne::ts_ext
staticprotectedinherited

Definition at line 284 of file bayonne.h.

timeslot_t ost::Bayonne::ts_limit
staticprotectedinherited

Definition at line 285 of file bayonne.h.

unsigned ost::Bayonne::ts_trk
staticprotectedinherited

Definition at line 283 of file bayonne.h.

timeslot_t ost::Bayonne::ts_used
staticprotectedinherited

Definition at line 287 of file bayonne.h.

uint32 ost::BayonneSession::tseq
protected

Definition at line 2492 of file bayonne.h.

calltype_t ost::BayonneSession::type
protected

Definition at line 2497 of file bayonne.h.

bool ost::ScriptInterp::updated
protectedinherited

Definition at line 1318 of file script3.h.

bool ost::Script::use_definitions
staticinherited

Definition at line 276 of file script3.h.

bool ost::Script::use_definitions
staticinherited

Definition at line 276 of file script3.h.

bool ost::Script::use_funcs
staticinherited

Definition at line 280 of file script3.h.

bool ost::Script::use_funcs
staticinherited

Definition at line 280 of file script3.h.

bool ost::Script::use_macros
staticinherited

Definition at line 277 of file script3.h.

bool ost::Script::use_macros
staticinherited

Definition at line 277 of file script3.h.

bool ost::Script::use_merge
staticinherited

Definition at line 279 of file script3.h.

bool ost::Script::use_merge
staticinherited

Definition at line 279 of file script3.h.

bool ost::Script::use_prefix
staticinherited

Definition at line 278 of file script3.h.

bool ost::Script::use_prefix
staticinherited

Definition at line 278 of file script3.h.

bool ost::Script::useBigmem
staticinherited

Definition at line 256 of file script3.h.

bool ost::Script::useBigmem
staticinherited

Definition at line 256 of file script3.h.

char ost::BayonneSession::var_bankid[4]
protected

Definition at line 2867 of file bayonne.h.

char ost::BayonneSession::var_callid[12]
protected

Definition at line 2858 of file bayonne.h.

char ost::BayonneSession::var_date[12]
protected

Definition at line 2855 of file bayonne.h.

char ost::BayonneSession::var_duration[12]
protected

Definition at line 2857 of file bayonne.h.

char ost::BayonneSession::var_joined[16]
protected

Definition at line 2863 of file bayonne.h.

char ost::BayonneSession::var_pid[16]
protected

Definition at line 2861 of file bayonne.h.

const char* ost::Script::var_prefix
staticinherited

Definition at line 295 of file script3.h.

const char* ost::Script::var_prefix
staticinherited

Definition at line 295 of file script3.h.

char ost::BayonneSession::var_recall[16]
protected

Definition at line 2862 of file bayonne.h.

char ost::BayonneSession::var_rings[4]
protected

Definition at line 2864 of file bayonne.h.

char ost::BayonneSession::var_sid[16]
protected

Definition at line 2860 of file bayonne.h.

char ost::BayonneSession::var_spanid[8]
protected

Definition at line 2866 of file bayonne.h.

char ost::BayonneSession::var_spantsid[12]
protected

Definition at line 2868 of file bayonne.h.

char ost::BayonneSession::var_tid[14]
protected

Definition at line 2859 of file bayonne.h.

char ost::BayonneSession::var_time[12]
protected

Definition at line 2856 of file bayonne.h.

char ost::BayonneSession::var_timeslot[8]
protected

Definition at line 2865 of file bayonne.h.

ScriptEngine* ost::BayonneSession::vm
protected

Definition at line 2499 of file bayonne.h.

const char* ost::BayonneSession::voicelib
protected

Definition at line 2869 of file bayonne.h.


The documentation for this class was generated from the following file: