Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

bayonne.h File Reference

#include <cc++/script.h>
#include <cc++/xml.h>
#include <cc++/url.h>
#include <cc++/slog.h>
#include <cc++/file.h>
#include <cc++/socket.h>
#include <cc++/audio.h>
#include <iostream>
#include <fstream>
#include <cstdlib>

Go to the source code of this file.

Compounds

struct  aaScript::_functions
struct  Map::_sym
class  aaImage
 We derive a Bayonne compiler and script image container, aaImage, to hold active script sets for the trunk class script engine. Bayonne script image. More...

class  aaScript
 We derive a Bayonne server version of ScriptCommand, aaScript, which holds most common elements of the script engine for Bayonne use. Bayonne script dialect. More...

class  AudioFeed
 Audio feeds provide a means for buffering audio for distribution thru one or more telephony ports. feed audio to multiple ports. More...

class  AudioService
 AudioService holds the logic for processing audio channels. audio service processing. More...

class  Audit
 The audit class is associated with the "audit" dso object which is used to distribute audit reports. Bayonne audit logging interface. More...

class  Auditdata
 This keydata object holds audit related configuration data such as the logpath to use for audit logs, address of servers, etc. Audit module configuration data. More...

class  CallStat
 A call statistic class is used to manipulate call stats with a mutex lock to prevent errors during "adjustment" periods. call statistic collection object. More...

struct  TrunkImage::compile_t
class  Conference
 The conference object references a conference generic resource. Bayonne conference resource. More...

class  Debug
 New DSO class for installing a "debugging"/regression test plugin. Regression test/debug DSO interface. More...

union  digitsymbol_t
class  Driver
 The driver class represents an abstract means of accessing the internals of a Bayonne driver plug-in module. Bayonne driver interface class. More...

struct  execdata_t
class  Fifo
 The system fifo is a class that both handles a fifo "control interface" and that can process string commands as events through the Bayonne driver. Bayonne fifo command executive. More...

class  Functions
 A derived instance of this class is used to load "function" modules into Bayonne. bind generic functions from DSO. More...

struct  FUNCTIONS
class  KeyFeed
 Load /etc/bayonne [audiofeed] key value pairs. Audio feed related options. More...

class  KeyHandlers
 Load /etc/bayonne [handlers] for special gateway support applications. Load handlers configuration data. More...

class  KeyImports
 Load /etc/bayonne [imports] to provide interpreter pre-loading of external modules. Load interpreter imports to use. More...

class  KeyLocal
 Load localization rules from [localize]. Load localization rules. More...

class  KeyMailbox
 Load /etc/bayonne [mailbox] key value pairs. Load mailbox definitions. More...

class  KeyMemory
 Load /etc/bayonne [memory] key value pairs. Load memory related options. More...

class  KeyNetwork
 Load /etc/bayonne [network] key value pairs. Load database access bindings. More...

class  KeyPaths
 Load /etc/bayoone [paths] key value pairs. Load keypaths path location configuration data. More...

class  KeyProxy
 Load proxy settings and provide access to proxy info. Load proxy info. More...

class  KeyServer
 This class is a cache for server specific configuration information which may be configured from /etc/bayonne.conf [server]. load server configuration data. More...

class  KeyThreads
 Load /etc/bayonne [thread] key value pairs. Load keythreads priority and session count configuration. More...

class  KeyTones
 Load /etc/bayonne [tones] key values for user defined tone sets. Load and build user defined tones. More...

class  Map
 Maps are used to load translation tables for call routing and selection based on digits set. map digit translation tables. More...

struct  Map::mapkey_t
class  Mixer
 The mixer object is a resource for conferences. Bayonne conference mixer. More...

class  Module
 Modules are used for protocol modules and detached threads used to service key Bayonne protocols and interfaces. Module interface class. More...

union  numbersymbol_t
class  phTone
 The tone class is used to build sampled single and dual frequency tones that may be fed to the telephony device. generated sample tone. More...

class  Plugins
 This class is used to load and manage "plugin" modules as called for in /etc/bayonne.conf [plugins]. Load and manage plugins support. More...

class  Policy
 A base class for plugins that are used to modify policies. Policy expansion class. More...

class  PortManager
 A port manager is able to process calls in place of ccscript. Channel port control manager. More...

class  Protocol
 Protocols are used for processing transactional requests such as those performed thru modules, but thru a TCP protocol. resolved network protocol session interface. More...

class  Request
 Requests are used to queue service requests to a trunk group. Request service. More...

class  Server
 Server classes are used for threaded entities such as network management interfaces, which may be started and stopped under server control. threaded server service. More...

class  Service
 Services are threads used to support a trunk class, such as audio services used for audio, etc. service thread support. More...

class  Session
 Sessions are used for "garbage collected" entities which may be detached and removed after an expiration time rather than falling out of scope immediately. Garbage collectable objects. More...

struct  statnode_t
class  Sync
 The Sync class is used to create dso objects which have entites that are repetitivly called through the scheduler thread. More...

class  TGI
 This class is used for interfacing to DSO loaded TGI interpreters. TGI interpreter module. More...

class  Translator
 Phrasebook modules are used to convert things like numbers into sets of prompts that form spoken words. phrase translations dso base for tts. More...

class  Trunk
 We derive a Bayonne server version of ScriptInterp, "Trunk", which holds most common elements of the script engine for Bayonne use. Bayonne channel port script engine. More...

union  trunkdata_t
struct  TrunkEvent
class  TrunkGroup
 Trunk "groups" provide keydata configuration information that apply to a group of trunk ports represented under a common "group" identity. Trunk group configuration. More...

class  TrunkImage
 This class is used to hold user loaded XML script files as returned for an XML parser stage. script images per trunk. More...

class  XMLService
 XML server class to perform execution of a plugin xml parser on behalf of an existing trunk class. threaded XML plugin executive. More...


Defines

#define TRUNK_CAP_VOICE   0x00000001
#define TRUNK_CAP_DIAL   0x00000002
#define TRUNK_CAP_SENDFAX   0x00000004
#define TRUNK_CAP_RECVFAX   0x00000008
#define TRUNK_CAP_DATA   0x00000010
#define TRUNK_CAP_TTS   0x00000020
#define TRUNK_CAP_ASR   0x00000040

Typedefs

typedef char *(* functioncall_t )(scriptsymbol_t *sym, char **args)

Enumerations

enum  seltype_t { SELECT_FIRST, SELECT_LAST }
enum  mapmode_t { MAP_PREFIX, MAP_SUFFIX, MAP_ABSOLUTE }
enum  modtype_t {
  MODULE_GENERIC, MODULE_DELIVERY, MODULE_SENDFILE, MODULE_SENDFAX,
  MODULE_NOTIFY, MODULE_FIFO, MODULE_TGI, MODULE_URL,
  MODULE_NET, MODULE_REPLY, MODULE_ASR, MODULE_TTS,
  MODULE_XML, MODULE_ANY
}
enum  trunkstep_t {
  TRUNK_STEP_HANGUP = 0, TRUNK_STEP_SLEEP, TRUNK_STEP_ANSWER, TRUNK_STEP_COLLECT,
  TRUNK_STEP_PLAY, TRUNK_STEP_PLAYWAIT, TRUNK_STEP_RECORD, TRUNK_STEP_TONE,
  TRUNK_STEP_DIALXFER, TRUNK_STEP_FLASH, TRUNK_STEP_JOIN, TRUNK_STEP_RTP,
  TRUNK_STEP_DUPLEX, TRUNK_STEP_DETECT, TRUNK_STEP_REQUIRES, TRUNK_STEP_LOADER,
  TRUNK_STEP_EXIT = TRUNK_STEP_HANGUP, TRUNK_STEP_DRIVER
}
enum  trunksignal_t {
  TRUNK_SIGNAL_STEP = 0, TRUNK_SIGNAL_EXIT, TRUNK_SIGNAL_HANGUP = TRUNK_SIGNAL_EXIT, TRUNK_SIGNAL_ERROR,
  TRUNK_SIGNAL_TIMEOUT, TRUNK_SIGNAL_DTMF, TRUNK_SIGNAL_0, TRUNK_SIGNAL_1,
  TRUNK_SIGNAL_2, TRUNK_SIGNAL_3, TRUNK_SIGNAL_4, TRUNK_SIGNAL_5,
  TRUNK_SIGNAL_6, TRUNK_SIGNAL_7, TRUNK_SIGNAL_8, TRUNK_SIGNAL_9,
  TRUNK_SIGNAL_STAR, TRUNK_SIGNAL_POUND, TRUNK_SIGNAL_A, TRUNK_SIGNAL_B,
  TRUNK_SIGNAL_C, TRUNK_SIGNAL_D, TRUNK_SIGNAL_DIALTONE, TRUNK_SIGNAL_BUSY,
  TRUNK_SIGNAL_CANCEL, TRUNK_SIGNAL_SIGNAL, TRUNK_SIGNAL_NOANSWER, TRUNK_SIGNAL_DRIVER
}
enum  trunkevent_t {
  TRUNK_ENTER_STATE = 100, TRUNK_EXIT_STATE, TRUNK_STOP_STATE, TRUNK_NOTIFICATION,
  TRUNK_SERVICE_SUCCESS, TRUNK_SERVICE_FAILURE, TRUNK_SERVICE_LOOKUP, TRUNK_SERVICE_LOGIN,
  TRUNK_SIGNAL_NOTIFY, TRUNK_JOIN_TRUNKS, TRUNK_PART_TRUNKS, TRUNK_NULL_EVENT,
  TRUNK_EXIT_SHELL = 200, TRUNK_START_SCRIPT, TRUNK_RING_START, TRUNK_RING_REDIRECT,
  TRUNK_STOP_DISCONNECT, TRUNK_START_INCOMING = TRUNK_RING_START, TRUNK_START_OUTGOING = TRUNK_START_SCRIPT, TRUNK_MAKE_TEST = 300,
  TRUNK_MAKE_BUSY, TRUNK_MAKE_IDLE, TRUNK_MAKE_STEP, TRUNK_LINE_WINK = 400,
  TRUNK_TIMER_EXPIRED, TRUNK_RINGING_ON, TRUNK_RINGING_OFF, TRUNK_TEST_IDLE,
  TRUNK_TEST_FAILURE, TRUNK_ON_HOOK, TRUNK_OFF_HOOK, TRUNK_CALLER_ID,
  TRUNK_RINGING_DID, TRUNK_CALL_DETECT, TRUNK_CALL_CONNECT, TRUNK_CALL_RELEASE,
  TRUNK_CALL_ACCEPT, TRUNK_CALL_ANSWERED, TRUNK_CALL_HOLD, TRUNK_CALL_NOHOLD,
  TRUNK_CALL_DIGITS, TRUNK_CALL_OFFER, TRUNK_CALL_ANI, TRUNK_CALL_ACTIVE,
  TRUNK_CALL_NOACTIVE, TRUNK_CALL_BILLING, TRUNK_CALL_RESTART, TRUNK_CALL_SETSTATE,
  TRUNK_CALL_FAILURE, TRUNK_CALL_ALERTING, TRUNK_CALL_INFO, TRUNK_CALL_BUSY,
  TRUNK_CALL_DIVERT, TRUNK_CALL_FACILITY, TRUNK_CALL_FRAME, TRUNK_CALL_NOTIFY,
  TRUNK_CALL_NSI, TRUNK_CALL_RINGING, TRUNK_CALL_DISCONNECT, TRUNK_AUDIO_IDLE = 500,
  TRUNK_INPUT_PENDING, TRUNK_OUTPUT_PENDING, TRUNK_AUDIO_BUFFER, TRUNK_TONE_IDLE,
  TRUNK_DTMF_KEYDOWN, TRUNK_DTMF_KEYUP, TRUNK_TONE_START, TRUNK_TONE_STOP,
  TRUNK_FSK_DETECT, TRUNK_FAX_DETECT, TRUNK_VOX_DETECT, TRUNK_AUDIO_START,
  TRUNK_AUDIO_STOP, TRUNK_CPA_DIALTONE, TRUNK_CPA_BUSYTONE, TRUNK_CPA_RINGING,
  TRUNK_CPA_RINGBACK = TRUNK_CPA_RINGING, TRUNK_CPA_INTERCEPT, TRUNK_CPA_NODIALTONE, TRUNK_CPA_NORINGBACK,
  TRUNK_CPA_NOANSWER, TRUNK_CPA_CONNECT, TRUNK_CPA_FAILURE, TRUNK_DSP_READY,
  TRUNK_DRIVER_SPECIFIC
}
enum  dspmode_t {
  DSP_MODE_INACTIVE = 0, DSP_MODE_VOICE, DSP_MODE_CALLERID, DSP_MODE_DATA,
  DSP_MODE_FAX, DSP_MODE_TDM, DSP_MODE_RTP, DSP_MODE_DUPLEX,
  DSP_MODE_JOIN, DSP_MODE_CONF, DSP_MODE_TONE
}
enum  trunkmode_t { TRUNK_MODE_INCOMING = 0, TRUNK_MODE_OUTGOING, TRUNK_MODE_INACTIVE, TRUNK_MODE_UNAVAILABLE }
enum  statitem_t {
  STAT_MAX_INCOMING, STAT_MAX_OUTGOING, STAT_TOT_INCOMING, STAT_TOT_OUTGOING,
  STAT_ACTIVE_CALLS
}
enum  playmode_t { PLAY_MODE_NORMAL, PLAY_MODE_ONE, PLAY_MODE_ANY, PLAY_MODE_TEMP }
enum  ttsmode_t { TTS_GATEWAY_TEXT, TTS_GATEWAY_FILE }

Functions

bool getLogical (const char *string)
statnode_tgetNodes (const char *name)
timeout_t getTimeout (const char *string)

Variables

Moduletts
Moduleasr
bool aliases
bool running
Keydata application
KeyServer keyserver
KeyThreads keythreads
KeyMemory keymemory
KeyPaths keypaths
KeyImports keyimports
KeyLocal keylocal
KeyNetwork keynetwork
KeyMailbox keymailbox
KeyProxy keyproxy
KeyTones keytones
KeyFeed keyfeed
KeyHandlers keyhandlers
Plugins plugins
Driverdriver
Debugdebug
Fifo fifo


Define Documentation

#define TRUNK_CAP_ASR   0x00000040
 

#define TRUNK_CAP_DATA   0x00000010
 

#define TRUNK_CAP_DIAL   0x00000002
 

#define TRUNK_CAP_RECVFAX   0x00000008
 

#define TRUNK_CAP_SENDFAX   0x00000004
 

#define TRUNK_CAP_TTS   0x00000020
 

#define TRUNK_CAP_VOICE   0x00000001
 


Typedef Documentation

typedef char* (* functioncall_t)(scriptsymbol_t *sym, char **args)
 


Enumeration Type Documentation

enum dspmode_t
 

Enumeration values:
DSP_MODE_INACTIVE  
DSP_MODE_VOICE  
DSP_MODE_CALLERID  
DSP_MODE_DATA  
DSP_MODE_FAX  
DSP_MODE_TDM  
DSP_MODE_RTP  
DSP_MODE_DUPLEX  
DSP_MODE_JOIN  
DSP_MODE_CONF  
DSP_MODE_TONE  

enum mapmode_t
 

Enumeration values:
MAP_PREFIX  
MAP_SUFFIX  
MAP_ABSOLUTE  

enum modtype_t
 

Enumeration values:
MODULE_GENERIC  
MODULE_DELIVERY  
MODULE_SENDFILE  
MODULE_SENDFAX  
MODULE_NOTIFY  
MODULE_FIFO  
MODULE_TGI  
MODULE_URL  
MODULE_NET  
MODULE_REPLY  
MODULE_ASR  
MODULE_TTS  
MODULE_XML  
MODULE_ANY  

enum playmode_t
 

Enumeration values:
PLAY_MODE_NORMAL  
PLAY_MODE_ONE  
PLAY_MODE_ANY  
PLAY_MODE_TEMP  

enum seltype_t
 

Enumeration values:
SELECT_FIRST  
SELECT_LAST  

enum statitem_t
 

Enumeration values:
STAT_MAX_INCOMING  
STAT_MAX_OUTGOING  
STAT_TOT_INCOMING  
STAT_TOT_OUTGOING  
STAT_ACTIVE_CALLS  

enum trunkevent_t
 

Enumeration values:
TRUNK_ENTER_STATE  
TRUNK_EXIT_STATE  
TRUNK_STOP_STATE  
TRUNK_NOTIFICATION  
TRUNK_SERVICE_SUCCESS  
TRUNK_SERVICE_FAILURE  
TRUNK_SERVICE_LOOKUP  
TRUNK_SERVICE_LOGIN  
TRUNK_SIGNAL_NOTIFY  
TRUNK_JOIN_TRUNKS  
TRUNK_PART_TRUNKS  
TRUNK_NULL_EVENT  
TRUNK_EXIT_SHELL  
TRUNK_START_SCRIPT  
TRUNK_RING_START  
TRUNK_RING_REDIRECT  
TRUNK_STOP_DISCONNECT  
TRUNK_START_INCOMING  
TRUNK_START_OUTGOING  
TRUNK_MAKE_TEST  
TRUNK_MAKE_BUSY  
TRUNK_MAKE_IDLE  
TRUNK_MAKE_STEP  
TRUNK_LINE_WINK  
TRUNK_TIMER_EXPIRED  
TRUNK_RINGING_ON  
TRUNK_RINGING_OFF  
TRUNK_TEST_IDLE  
TRUNK_TEST_FAILURE  
TRUNK_ON_HOOK  
TRUNK_OFF_HOOK  
TRUNK_CALLER_ID  
TRUNK_RINGING_DID  
TRUNK_CALL_DETECT  
TRUNK_CALL_CONNECT  
TRUNK_CALL_RELEASE  
TRUNK_CALL_ACCEPT  
TRUNK_CALL_ANSWERED  
TRUNK_CALL_HOLD  
TRUNK_CALL_NOHOLD  
TRUNK_CALL_DIGITS  
TRUNK_CALL_OFFER  
TRUNK_CALL_ANI  
TRUNK_CALL_ACTIVE  
TRUNK_CALL_NOACTIVE  
TRUNK_CALL_BILLING  
TRUNK_CALL_RESTART  
TRUNK_CALL_SETSTATE  
TRUNK_CALL_FAILURE  
TRUNK_CALL_ALERTING  
TRUNK_CALL_INFO  
TRUNK_CALL_BUSY  
TRUNK_CALL_DIVERT  
TRUNK_CALL_FACILITY  
TRUNK_CALL_FRAME  
TRUNK_CALL_NOTIFY  
TRUNK_CALL_NSI  
TRUNK_CALL_RINGING  
TRUNK_CALL_DISCONNECT  
TRUNK_AUDIO_IDLE  
TRUNK_INPUT_PENDING  
TRUNK_OUTPUT_PENDING  
TRUNK_AUDIO_BUFFER  
TRUNK_TONE_IDLE  
TRUNK_DTMF_KEYDOWN  
TRUNK_DTMF_KEYUP  
TRUNK_TONE_START  
TRUNK_TONE_STOP  
TRUNK_FSK_DETECT  
TRUNK_FAX_DETECT  
TRUNK_VOX_DETECT  
TRUNK_AUDIO_START  
TRUNK_AUDIO_STOP  
TRUNK_CPA_DIALTONE  
TRUNK_CPA_BUSYTONE  
TRUNK_CPA_RINGING  
TRUNK_CPA_RINGBACK  
TRUNK_CPA_INTERCEPT  
TRUNK_CPA_NODIALTONE  
TRUNK_CPA_NORINGBACK  
TRUNK_CPA_NOANSWER  
TRUNK_CPA_CONNECT  
TRUNK_CPA_FAILURE  
TRUNK_DSP_READY  
TRUNK_DRIVER_SPECIFIC  

enum trunkmode_t
 

Enumeration values:
TRUNK_MODE_INCOMING  
TRUNK_MODE_OUTGOING  
TRUNK_MODE_INACTIVE  
TRUNK_MODE_UNAVAILABLE  

enum trunksignal_t
 

Enumeration values:
TRUNK_SIGNAL_STEP  
TRUNK_SIGNAL_EXIT  
TRUNK_SIGNAL_HANGUP  
TRUNK_SIGNAL_ERROR  
TRUNK_SIGNAL_TIMEOUT  
TRUNK_SIGNAL_DTMF  
TRUNK_SIGNAL_0  
TRUNK_SIGNAL_1  
TRUNK_SIGNAL_2  
TRUNK_SIGNAL_3  
TRUNK_SIGNAL_4  
TRUNK_SIGNAL_5  
TRUNK_SIGNAL_6  
TRUNK_SIGNAL_7  
TRUNK_SIGNAL_8  
TRUNK_SIGNAL_9  
TRUNK_SIGNAL_STAR  
TRUNK_SIGNAL_POUND  
TRUNK_SIGNAL_A  
TRUNK_SIGNAL_B  
TRUNK_SIGNAL_C  
TRUNK_SIGNAL_D  
TRUNK_SIGNAL_DIALTONE  
TRUNK_SIGNAL_BUSY  
TRUNK_SIGNAL_CANCEL  
TRUNK_SIGNAL_SIGNAL  
TRUNK_SIGNAL_NOANSWER  
TRUNK_SIGNAL_DRIVER  

enum trunkstep_t
 

Enumeration values:
TRUNK_STEP_HANGUP  
TRUNK_STEP_SLEEP  
TRUNK_STEP_ANSWER  
TRUNK_STEP_COLLECT  
TRUNK_STEP_PLAY  
TRUNK_STEP_PLAYWAIT  
TRUNK_STEP_RECORD  
TRUNK_STEP_TONE  
TRUNK_STEP_DIALXFER  
TRUNK_STEP_FLASH  
TRUNK_STEP_JOIN  
TRUNK_STEP_RTP  
TRUNK_STEP_DUPLEX  
TRUNK_STEP_DETECT  
TRUNK_STEP_REQUIRES  
TRUNK_STEP_LOADER  
TRUNK_STEP_EXIT  
TRUNK_STEP_DRIVER  

enum ttsmode_t
 

Enumeration values:
TTS_GATEWAY_TEXT  
TTS_GATEWAY_FILE  


Function Documentation

bool getLogical const char *   string
 

statnode_t* getNodes const char *   name
 

timeout_t getTimeout const char *   string
 


Variable Documentation

bool aliases
 

Keydata application
 

Module * asr
 

Debug* debug
 

Driver* driver
 

Fifo fifo
 

KeyFeed keyfeed
 

KeyHandlers keyhandlers
 

KeyImports keyimports
 

KeyLocal keylocal
 

KeyMailbox keymailbox
 

KeyMemory keymemory
 

KeyNetwork keynetwork
 

KeyPaths keypaths
 

KeyProxy keyproxy
 

KeyServer keyserver
 

KeyThreads keythreads
 

KeyTones keytones
 

Plugins plugins
 

bool running
 

Module * tts
 


Generated at Wed Nov 21 12:17:03 2001 for Bayonne by doxygen1.2.10 written by Dimitri van Heesch, © 1997-2001