ost::Bayonne Class Reference

Generic Bayonne master class to reference various useful data types and core static members used for locating resources found in libbayonne. More...

#include <bayonne.h>

Inheritance diagram for ost::Bayonne:
ost::BayonneAudio ost::BayonneBinder ost::BayonneDriver ost::BayonneMsgport ost::BayonneSession ost::BayonneSpan ost::BayonneSysexec ost::BayonneTranslator ost::Libexec

List of all members.

Classes

struct  Event
 The event data structure includes the event identifier and any paramaters. More...
struct  libaudio_t
struct  regauth_t
struct  State
 The primary state data structure. More...
struct  statetab
 A list of each state and a description. More...
class  Traffic
 This is a class used for collecting statistics for call traffic measurement, such as might be used by MRTG. More...

Public Types

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_STEP, STATE_EXEC, STATE_THREAD,
  STATE_CLEAR, STATE_INKEY, STATE_INPUT, STATE_READ,
  STATE_COLLECT, STATE_DIAL, STATE_XFER, STATE_HOLD,
  STATE_RECALL, STATE_TONE, STATE_DTMF, STATE_PLAY,
  STATE_RECORD, STATE_JOIN, STATE_WAIT, STATE_CONNECT,
  STATE_HUNTING, STATE_SLEEP, STATE_START, STATE_HANGUP,
  STATE_LIBRESET, STATE_WAITKEY, STATE_LIBWAIT, STATE_IRESET,
  STATE_FINAL, 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, START_DIRECT = 200, START_INCOMING, START_OUTGOING,
  START_RECALL, START_FORWARDED, START_RINGING, START_HUNTING,
  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, 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,
  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, 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, 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 bool(BayonneSession::* Handler )(Event *event)
 The current state handler in effect for a given channel to receive events.

Public Member Functions

void md5_hash (char *out, const char *source)
 Compute md5 hashes.

Static Public Member Functions

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.
static void allocateLocal (void)
 Allocate local script engine sessions, if needed.
static void waitLoaded (void)
 Wait for live flag.
static unsigned long uptime (void)
 Get server uptime.
static ScriptCompiler * reload (void)
 Request active scripts to be recompiled from the library.
static void down (void)
 Used to down the server from the library.
static bool service (const char *service)
 Sets server service level from the library.
static BayonneSessiongetSession (timeslot_t timeslot)
 Returns a session pointer for a server timeslot.
static ScriptImage ** getLocalImage (timeslot_t timeslot)
 Returns a local image pointer for a server timeslot.
static BayonneSessionstartDialing (const char *dial, const char *name, const char *caller, const char *display, BayonneSession *parent=NULL)
 Start a dialing session.
static BayonneSessiongetSid (const char *id)
 Returns a session pointer for a string identifier.
static timeslot_t toTimeslot (const char *id)
 Returns a server timeslot number for a string identifier.
static timeslot_t getTimeslotsUsed (void)
 Return total library timeslots used (highest used).
static timeslot_t getTimeslotCount (void)
 Return total timeslots allocated for the server.
static timeslot_t getAvailTimeslots (void)
 Return remaining timeslots available to allocate driver ports into.
static Handler getState (const char *name)
 Map a state name into a handler.
static int getDigit (char dtmf)
 Convert a dtmf character into a 0-15 number reference.
static char getChar (int dtmf)
 Convert a dtmf digit number into it's ascii code.
static bool matchDigits (const char *digits, const char *match, bool partial=false)
 A function to support pattern matching and templates for digit strings.
static ScriptImage * useImage (void)
 Use the current compiled script image; mark as in use.
static void endImage (ScriptImage *image)
 Release a script image in use.
static bool loadPlugin (const char *path)
 Load a plugin module.
static bool loadMonitor (const char *path)
 Load a monitoring/management module.
static bool loadAudio (const char *path)
 Load a bgm/audio processing module for continues audio.
static void errlog (const char *level, const char *fmt,...)
static bool getUserdata (void)

Static Public Attributes

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 AtomicCounter libexec_count
static statetab states []
 Table of states ordered by id.
static Mutex serialize
 A mutex to serialize any direct console I/O operations.
static ThreadLock reloading
 A mutex to serialize reload requests.
static Traffic total_call_attempts
 master traffic counters for call attempts and call completions.
static Traffic total_call_complete
static volatile unsigned short total_active_calls

Static Protected Attributes

static BayonneSession ** timeslots
static ScriptImage ** localimages
static char * status
static ScriptCommand * server
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 []
static time_t start_time

Detailed Description

Generic Bayonne master class to reference various useful data types and core static members used for locating resources found in libbayonne.

Author:
David Sugar <dyfet@gnutelephony.org> Master bayonne library class.

Member Typedef Documentation

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

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

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

typedef uint16_t ost::Bayonne::timeslot_t

Member Enumeration Documentation

Type of bridge used for joining ports.

Enumerator:
BR_TDM 
BR_INET 
BR_SOFT 
BR_GATE 
BR_NONE 

Type of call session being processed.

Enumerator:
NONE 
INCOMING 
OUTGOING 
PICKUP 
FORWARDED 
RECALL 
DIRECT 
RINGING 
VIRTUAL 

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 
START_DIRECT 
START_INCOMING 
START_OUTGOING 
START_RECALL 
START_FORWARDED 
START_RINGING 
START_HUNTING 
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 
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 
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 
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 
SYSTEM_DOWN 
DRIVER_SPECIFIC 

Telephony endpoint interface identifiers.

Enumerator:
IF_PSTN 
IF_SPAN 
IF_ISDN 
IF_SS7 
IF_INET 
IF_NONE 
IF_POTS 
Enumerator:
RESULT_SUCCESS 
RESULT_TIMEOUT 
RESULT_INVALID 
RESULT_PENDING 
RESULT_COMPLETE 
RESULT_FAILED 
RESULT_BADPATH 
RESULT_OFFLINE 

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 

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_STEP 
STATE_EXEC 
STATE_THREAD 
STATE_CLEAR 
STATE_INKEY 
STATE_INPUT 
STATE_READ 
STATE_COLLECT 
STATE_DIAL 
STATE_XFER 
STATE_HOLD 
STATE_RECALL 
STATE_TONE 
STATE_DTMF 
STATE_PLAY 
STATE_RECORD 
STATE_JOIN 
STATE_WAIT 
STATE_CONNECT 
STATE_HUNTING 
STATE_SLEEP 
STATE_START 
STATE_HANGUP 
STATE_LIBRESET 
STATE_WAITKEY 
STATE_LIBWAIT 
STATE_IRESET 
STATE_FINAL 
STATE_STANDBY 
STATE_LIBEXEC 
STATE_RINGING 
STATE_RUNNING 
STATE_THREADING 

Member Function Documentation

static void ost::Bayonne::allocate ( timeslot_t  timeslots,
ScriptCommand *  pointer = NULL,
timeslot_t  overdraft = 0 
) [static]

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

Parameters:
timeslots to allocate.
pointer to server shell.
static void ost::Bayonne::allocateLocal ( void   )  [static]

Allocate local script engine sessions, if needed.

static void ost::Bayonne::down ( void   )  [static]

Used to down the server from the library.

static void ost::Bayonne::endImage ( ScriptImage *  image  )  [static]

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:
image to compiled script from useImage.
static void ost::Bayonne::errlog ( const char *  level,
const char *  fmt,
  ... 
) [static]
static timeslot_t ost::Bayonne::getAvailTimeslots ( void   )  [inline, static]

Return remaining timeslots available to allocate driver ports into.

Returns:
remaining timeslots.
static char ost::Bayonne::getChar ( int  dtmf  )  [static]

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

Parameters:
dtmf digit number.
Returns:
dtmf character code.
static int ost::Bayonne::getDigit ( char  dtmf  )  [static]

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

Parameters:
dtmf digit as ascii
Returns:
dtmf digit number.
static ScriptImage** ost::Bayonne::getLocalImage ( timeslot_t  timeslot  )  [static]

Returns a local image pointer for a server timeslot.

Parameters:
timeslot number in server.
Returns:
pointer to image pointer or NULL if empty/invalid.
static BayonneSession* ost::Bayonne::getSession ( timeslot_t  timeslot  )  [static]

Returns a session pointer for a server timeslot.

Each server timeslot can map to a single session object.

Parameters:
timeslot number in server.
Returns:
session object or NULL if timeslot empty/invalid.
static BayonneSession* ost::Bayonne::getSid ( const char *  id  )  [static]

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:
id session identifier string.
Returns:
session object or NULL if not found.
static Handler ost::Bayonne::getState ( const char *  name  )  [static]

Map a state name into a handler.

Used for logging requests. Uses the statetab.

Parameters:
name of state to lookup.
Returns:
handler method for state if found.
static timeslot_t ost::Bayonne::getTimeslotCount ( void   )  [inline, static]

Return total timeslots allocated for the server.

Returns:
total number of timeslots, max + 1.
static timeslot_t ost::Bayonne::getTimeslotsUsed ( void   )  [inline, static]

Return total library timeslots used (highest used).

Returns:
highest server timeslot in use.
static bool ost::Bayonne::getUserdata ( void   )  [static]
static bool ost::Bayonne::loadAudio ( const char *  path  )  [static]

Load a bgm/audio processing module for continues audio.

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

Load a monitoring/management module.

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

Load a plugin module.

Parameters:
path id of plugin.
Returns:
true if successful.
static bool ost::Bayonne::matchDigits ( const char *  digits,
const char *  match,
bool  partial = false 
) [static]

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

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

Parameters:
digits to use.
match digit pattern to match against.
partial accept match if true.
Returns:
true if digits match to pattern.
void ost::Bayonne::md5_hash ( char *  out,
const char *  source 
)

Compute md5 hashes.

..

Parameters:
md5 output string
string to hash
static ScriptCompiler* ost::Bayonne::reload ( void   )  [static]

Request active scripts to be recompiled from the library.

Returns:
script image that was created, or NULL.

Reimplemented in ost::BayonneDriver.

static bool ost::Bayonne::service ( const char *  service  )  [static]

Sets server service level from the library.

Parameters:
service level or NULL to clear.
Returns:
true if set.
static BayonneSession* ost::Bayonne::startDialing ( const char *  dial,
const char *  name,
const char *  caller,
const char *  display,
BayonneSession parent = NULL 
) [static]

Start a dialing session.

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

Parameters:
dialing string or uri.
script to run or start.
caller id for this call.
display name for this call.
parent to join to.
static timeslot_t ost::Bayonne::toTimeslot ( const char *  id  )  [static]

Returns a server timeslot number for a string identifier.

Returns:
timeslot number or invalid value.
Parameters:
id for a session.
See also:
getSid
static unsigned long ost::Bayonne::uptime ( void   )  [static]

Get server uptime.

Returns:
uptime in seconds.
static ScriptImage* ost::Bayonne::useImage ( void   )  [static]

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   )  [static]

Wait for live flag.

..


Member Data Documentation

unsigned ost::Bayonne::compile_count [static]
timeout_t ost::Bayonne::exec_timer [static]
unsigned ost::Bayonne::idle_count [static, protected]
unsigned ost::Bayonne::idle_limit [static, protected]
volatile bool ost::Bayonne::image_loaded [static]
const char* ost::Bayonne::init_voicelib [static]
AtomicCounter ost::Bayonne::libexec_count [static]
ScriptImage** ost::Bayonne::localimages [static, protected]
std::ostream* ost::Bayonne::logging [static, protected]
const char* ost::Bayonne::path_prompts [static, protected]
const char* ost::Bayonne::path_tmp [static, protected]
const char* ost::Bayonne::path_tmpfs [static, protected]
ThreadLock ost::Bayonne::reloading [static]

A mutex to serialize reload requests.

timeout_t ost::Bayonne::reset_timer [static]

Reimplemented in ost::BayonneDriver.

Mutex ost::Bayonne::serialize [static]

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

Sometimes used to serialize other kinds of time insensitive requests.

ScriptCommand* ost::Bayonne::server [static, protected]
bool ost::Bayonne::shutdown_flag [static, protected]
char ost::Bayonne::sla[] [static, protected]
time_t ost::Bayonne::start_time [static, protected]

Table of states ordered by id.

char* ost::Bayonne::status [static, protected]
timeout_t ost::Bayonne::step_timer [static]
BayonneSession** ost::Bayonne::timeslots [static, protected]
volatile unsigned short ost::Bayonne::total_active_calls [static]

master traffic counters for call attempts and call completions.

timeslot_t ost::Bayonne::ts_count [static, protected]
timeslot_t ost::Bayonne::ts_limit [static, protected]
timeslot_t ost::Bayonne::ts_used [static, protected]

The documentation for this class was generated from the following file:
Generated on Mon Jul 5 22:14:01 2010 for Bayonne by  doxygen 1.6.3