ost::BayonneSession Class Reference

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

#include <bayonne.h>

Inheritance diagram for ost::BayonneSession:

ost::Bayonne ost::BayonneTSession

List of all members.

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.
bool addSymbol (const char *id, const char *value)
 Add to an existing symbol.
bool clearSymbol (const char *id)
 Clear an existing symbol.
uint16 getEventSequence (void)
 Get event sequence id.
BayonneTranslatorgetTranslator (void)
 Get the current language translator.
void startConnecting (void)
 Start connecting child.
 BayonneSession (BayonneDriver *driver, timeslot_t timeslot, BayonneSpan *span=NULL)
 Create a new session.
virtual ~BayonneSession ()
 Destroy a session.
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.
void initialize (void)
 Initialine ccengine script environment.
void detach (void)
 Detach interpreter.
time_t getJoined (void)
 Return time this call is joined or 0 if not child node.
BayonneDrivergetDriver (void)
 Return driver associated with this session.
virtual timeout_t getRemaining (void)=0
 Return time remaining until timer expires.
virtual void startTimer (timeout_t timer)=0
 Start a timer on the session.
virtual void stopTimer (void)=0
 Stop the timer for the session.
virtual void setOffhook (bool state)
 Set the port hook state.
virtual void makeIdle (void)
 Handles driver specific stuff when going idle.
void part (event_t reason)
 Disconnect notify peer.
virtual bool postEvent (Event *event)
 Post an event to the session state engine.
bool matchLine (Line *line)
virtual void queEvent (Event *event)
 queue an event through the msgport.
virtual void startThread (void)
 ccengine thread handling.
virtual void enterThread (ScriptThread *thr)
 ccengine thread handling.
virtual void exitThread (const char *msg)
 ccengine thread handling.
virtual void clrAudio (void)
 Clear/cleanup audio processing for the session.
virtual timeout_t getToneFraming (void)
 Get frame rate used for creating tone generators.
virtual const char * audioEncoding (void)
 Get driver default encoding.
virtual const char * audioExtension (void)
 Get driver default extension.
virtual timeout_t audioFraming (void)
 Get driver default framing.
const char * getAudio (bool live=true)
 Check script keywords for audio processing.
void branching (void)
 ccengine branch event notification.
bool isOffhook (void)
 Return hook state.
interface_t getInterface (void)
 Return interface type of this session.
bridge_t getBridge (void)
 Return bridge type for joins.
calltype_t getType (void)
 Return call type on session.
timeslot_t getSlot (void)
 Return server timeslot this session uses.
bool isIdle (void)
 Return if the session is currently idle.
bool isRefer (void)
 Return if currently referring.
bool isJoined (void)
 Return state of join.
bool isAssociated (void)
 Return state of association with parent in call.
void associate (BayonneSession *s)
 Set new call association.
bool isHolding (void)
bool isDisconnecting (void)
 Return state disconnecting or idle.
timeout_t getJoinTimer (void)
 Return parent answer timer, if joining.
bool signalScript (signal_t signal)
 Signal notification to script.
virtual bool peerLinear (void)
 Indicate whether session peers audio as linear frames.
virtual bool peerAudio (Audio::Encoded encoded)
 Post a peer audio frame into the driver.
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.
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.
const char * getTid (void)
 Get the current transaction identifier string for the session.
bool digitEvent (const char *event)
 Throw a digit pattern matching event message to the interprer.
bool stringEvent (const char *evt)
char getDigit (void)
 Get the next pending digit in the DTMF input buffer.

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)

Public Attributes

Traffic call_attempts
Traffic call_complete
BayonneAudio audio

Protected Member Functions

bool requiresDTMF (void)
 Used to indicate commands which require dtmf handling to be enabled.
void enterCall (void)
 Enter a co-joined call session; used to notify other services.
void exitCall (const char *reason)
 Exit a co-joined call session; used to notify other services.
virtual bool enableDTMF (void)
 Enable dtmf detection for this channel.
virtual void disableDTMF (void)
 Disable dtmf detection for this channel.
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.
virtual bool filterPosting (Event *event)
 virtual to filter incoming events.
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.
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.
void libWrite (const char *string)
 Write libexec.
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)
ScriptInterp * getInterp (const char *id)
 Return session id for interpreter session command.
ScriptSymbols * getSymbols (const char *id)
 Return ccengine symbol page map.
Name * attachStart (Event *event)
 Start a script from idle or ringing.
unsigned getId (void)
 Used by ccengine.
void setSid (void)
 Compute a uneque call session id for the current call on the current session object.
void setState (state_t)
 Set the session to a new state.
void setRunning (void)
 Set the session to the running state, resume interpreter or libexec.
bool setReconnect (const char *enc, timeout_t framing)
 Attempt to readjust encoding of active session if supported.
bool recallReconnect (void)
 Attempt to readjust encoding of active session for recall.
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.
bool setLibexec (result_t result)
 Set the result of a libexec initiated process and change state to libexec.
bool setLibreset (result_t result)
 Set the result of a libexec initiated process and execute a reset timer interval.
libaudio_tgetLibaudio (void)
 Get the libaudio object.
void finalize (void)
 ccengine.
bool exit (void)
 Exit processing for interpreter.

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

Static Protected Attributes

static BayonneTranslator langNone
static ScriptSymbols * globalSyms
static Mutex globalLock

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@gnutelephony.org> Session timeslot object.

Constructor & Destructor Documentation

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

Create a new session.

Parameters:
driver to bind.
timeslot to bind.
span to bind, or NULL if no span associated.

virtual ost::BayonneSession::~BayonneSession (  )  [virtual]

Destroy a session.


Member Function Documentation

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::BayonneSession::enterCall ( void   )  [protected]

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

Always performed by child node.

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:
reason call is terminated.

virtual bool ost::BayonneSession::enableDTMF ( void   )  [protected, virtual]

Enable dtmf detection for this channel.

Returns:
true if successful.

virtual void ost::BayonneSession::disableDTMF ( void   )  [protected, virtual]

Disable dtmf detection for this channel.

virtual const char* ost::BayonneSession::checkAudio ( bool  live  )  [protected, virtual]

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:
true if for live audio, false if for file only.

virtual bool ost::BayonneSession::filterPosting ( Event event  )  [protected, virtual]

virtual to filter incoming events.

Parameters:
event being sent to channel.
Returns:
true if accepting event.

virtual bool ost::BayonneSession::enterCommon ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterInitial ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterFinal ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterIdle ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterReset ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterRelease ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterRinging ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterPickup ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterAnswer ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterSeize ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterHunting ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterHangup ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterTone ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterReconnect ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterDTMF ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterPlay ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterRecord ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterJoin ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterWait ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterDial ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterBusy ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterStandby ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterXfer ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterRefer ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterHold ( Event event  )  [protected, virtual]

virtual bool ost::BayonneSession::enterRecall ( Event event  )  [protected, virtual]

void ost::BayonneSession::check ( void   )  [protected]

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

void ost::BayonneSession::renameRecord ( void   )  [protected]

bool ost::BayonneSession::stateInitial ( Event event  )  [protected]

bool ost::BayonneSession::stateFinal ( Event event  )  [protected]

bool ost::BayonneSession::stateIdle ( Event event  )  [protected]

bool ost::BayonneSession::stateIdleReset ( Event event  )  [protected]

bool ost::BayonneSession::stateReset ( Event event  )  [protected]

bool ost::BayonneSession::stateRelease ( Event event  )  [protected]

bool ost::BayonneSession::stateBusy ( Event event  )  [protected]

bool ost::BayonneSession::stateStandby ( Event event  )  [protected]

bool ost::BayonneSession::stateRinging ( Event event  )  [protected]

bool ost::BayonneSession::statePickup ( Event event  )  [protected]

bool ost::BayonneSession::stateAnswer ( Event event  )  [protected]

bool ost::BayonneSession::stateSeize ( Event event  )  [protected]

bool ost::BayonneSession::stateHunting ( Event event  )  [protected]

bool ost::BayonneSession::stateRunning ( 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::stateWaitkey ( Event event  )  [protected]

bool ost::BayonneSession::stateThreading ( Event event  )  [protected]

bool ost::BayonneSession::stateHangup ( Event event  )  [protected]

bool ost::BayonneSession::stateCollect ( Event event  )  [protected]

bool ost::BayonneSession::stateSleep ( Event event  )  [protected]

bool ost::BayonneSession::stateStart ( Event event  )  [protected]

bool ost::BayonneSession::stateClear ( Event event  )  [protected]

bool ost::BayonneSession::stateInkey ( Event event  )  [protected]

bool ost::BayonneSession::stateInput ( Event event  )  [protected]

bool ost::BayonneSession::stateRead ( Event event  )  [protected]

bool ost::BayonneSession::stateDial ( Event event  )  [protected]

bool ost::BayonneSession::stateXfer ( Event event  )  [protected]

bool ost::BayonneSession::stateRefer ( Event event  )  [protected]

bool ost::BayonneSession::stateHold ( Event event  )  [protected]

bool ost::BayonneSession::stateRecall ( Event event  )  [protected]

bool ost::BayonneSession::stateTone ( Event event  )  [protected]

bool ost::BayonneSession::stateDTMF ( Event event  )  [protected]

bool ost::BayonneSession::statePlay ( Event event  )  [protected]

bool ost::BayonneSession::stateRecord ( Event event  )  [protected]

bool ost::BayonneSession::stateJoin ( Event event  )  [protected]

bool ost::BayonneSession::stateWait ( Event event  )  [protected]

bool ost::BayonneSession::stateConnect ( Event event  )  [protected]

bool ost::BayonneSession::stateReconnect ( Event event  )  [protected]

bool ost::BayonneSession::stateCalling ( Event event  )  [protected]

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:
event being posted.

void ost::BayonneSession::libWrite ( const char *  string  )  [protected]

Write libexec.

..

Parameters:
string to write.

void ost::BayonneSession::libClose ( const char *  string  )  [protected]

bool ost::BayonneSession::isLibexec ( const char *  tsid  )  [protected]

timeout_t ost::BayonneSession::getLibexecTimeout ( void   )  [protected]

const char* ost::BayonneSession::getWritepath ( char *  buf = NULL,
size_t  len = 0 
) [protected]

void ost::BayonneSession::incIncomingAttempts ( void   )  [protected]

void ost::BayonneSession::incOutgoingAttempts ( void   )  [protected]

void ost::BayonneSession::incIncomingComplete ( void   )  [protected]

void ost::BayonneSession::incOutgoingComplete ( void   )  [protected]

void ost::BayonneSession::incActiveCalls ( void   )  [protected]

void ost::BayonneSession::decActiveCalls ( void   )  [protected]

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

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

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

timeslot_t ost::BayonneSession::getTimeslot ( void   )  [inline]

ScriptEngine* ost::BayonneSession::getEngine ( void   )  [inline]

const char* ost::BayonneSession::getExternal ( const char *  option  ) 

Process interpreter session symbols.

Parameters:
option symbol being requested.
Returns:
NULL if not external, else value.

bool ost::BayonneSession::addSymbol ( const char *  id,
const char *  value 
)

Add to an existing symbol.

Parameters:
id of symbol.
value to add.
Returns:
false if not exists.

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

Clear an existing symbol.

Parameters:
id of symbol.
Returns:
false if not exists.

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

Get event sequence id.

Returns:
event sequence id.

static const char* ost::BayonneSession::getGlobal ( const char *  id  )  [static]

static bool ost::BayonneSession::setGlobal ( const char *  id,
const char *  value 
) [static]

static bool ost::BayonneSession::sizeGlobal ( const char *  id,
unsigned  size 
) [static]

static bool ost::BayonneSession::addGlobal ( const char *  id,
const char *  value 
) [static]

static bool ost::BayonneSession::clearGlobal ( const char *  id  )  [static]

ScriptInterp* ost::BayonneSession::getInterp ( const char *  id  )  [protected]

Return session id for interpreter session command.

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

ScriptSymbols* ost::BayonneSession::getSymbols ( const char *  id  )  [protected]

Return ccengine symbol page map.

Gives access to globals.

Parameters:
id table of symbols.
Returns:
table map to use.

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:
event passed to kick off the script.
Returns:
script to run or NULL.

unsigned ost::BayonneSession::getId ( void   )  [protected]

Used by ccengine.

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.

void ost::BayonneSession::setRunning ( void   )  [protected]

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

bool ost::BayonneSession::setReconnect ( const char *  enc,
timeout_t  framing 
) [protected]

Attempt to readjust encoding of active session if supported.

Parameters:
encoding to try
timeout to use

bool ost::BayonneSession::recallReconnect ( void   )  [protected]

Attempt to readjust encoding of active session for recall.

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::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:
result code 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:
result code to set.

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

Get the current language translator.

Returns:
translator.

void ost::BayonneSession::startConnecting ( void   )  [inline]

Start connecting child.

..

libaudio_t* ost::BayonneSession::getLibaudio ( void   )  [inline, protected]

Get the libaudio object.

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

Returns:
libaudio object for this session.

void ost::BayonneSession::finalize ( void   )  [protected]

ccengine.

bool ost::BayonneSession::exit ( void   )  [protected]

Exit processing for interpreter.

Returns:
true of exiting.

const char* ost::BayonneSession::getDigits ( void   ) 

const char* ost::BayonneSession::defVoicelib ( void   )  [inline]

const char* ost::BayonneSession::getSessionId ( void   )  [inline]

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

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

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

void ost::BayonneSession::initialevent ( void   ) 

Initial kickoff event.

void ost::BayonneSession::initialize ( void   ) 

Initialine ccengine script environment.

void ost::BayonneSession::detach ( void   ) 

Detach interpreter.

time_t ost::BayonneSession::getJoined ( void   )  [inline]

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

BayonneDriver* ost::BayonneSession::getDriver ( void   )  [inline]

Return driver associated with this session.

Returns:
driver object.

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.

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

Start a timer on the session.

Used extensivily in state handler code.

Parameters:
timer to start for specified milliseconds.

virtual void ost::BayonneSession::stopTimer ( void   )  [pure virtual]

Stop the timer for the session.

Used extensivily in state handler code.

virtual void ost::BayonneSession::setOffhook ( bool  state  )  [virtual]

Set the port hook state.

Mostly for analog devices.

Parameters:
state true to set offhook, false onhook.

virtual void ost::BayonneSession::makeIdle ( void   )  [virtual]

Handles driver specific stuff when going idle.

void ost::BayonneSession::part ( event_t  reason  ) 

Disconnect notify peer.

..

Parameters:
reason event id to pass

virtual bool ost::BayonneSession::postEvent ( Event event  )  [virtual]

Post an event to the session state engine.

Returns:
true if event claimed.
Parameters:
event being posted.

bool ost::BayonneSession::matchLine ( Line *  line  ) 

virtual void ost::BayonneSession::queEvent ( Event event  )  [virtual]

queue an event through the msgport.

Parameters:
event to queue.

virtual void ost::BayonneSession::startThread ( void   )  [virtual]

ccengine thread handling.

virtual void ost::BayonneSession::enterThread ( ScriptThread *  thr  )  [virtual]

ccengine thread handling.

virtual void ost::BayonneSession::exitThread ( const char *  msg  )  [virtual]

ccengine thread handling.

virtual void ost::BayonneSession::clrAudio ( void   )  [virtual]

Clear/cleanup audio processing for the session.

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

Get frame rate used for creating tone generators.

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.

const char* ost::BayonneSession::getAudio ( bool  live = true  ) 

Check script keywords for audio processing.

Returns:
NULL if ok, else error message.
Parameters:
live true if for live, else for file processing.

void ost::BayonneSession::branching ( void   ) 

ccengine branch event notification.

Used for menudef processing.

bool ost::BayonneSession::isOffhook ( void   )  [inline]

Return hook state.

Returns:
true if offhook.

interface_t ost::BayonneSession::getInterface ( void   )  [inline]

Return interface type of this session.

Returns:
interface type.

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

Return bridge type for joins.

Returns:
bridge type.

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

Return call type on session.

Returns:
call type.

timeslot_t ost::BayonneSession::getSlot ( void   )  [inline]

Return server timeslot this session uses.

Returns:
server timeslot.

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

Return if the session is currently idle.

Returns:
true if currently idle.

bool ost::BayonneSession::isRefer ( void   ) 

Return if currently referring.

Returns:
true if referring.

bool ost::BayonneSession::isJoined ( void   ) 

Return state of join.

Returns:
true if currently joined.

bool ost::BayonneSession::isAssociated ( void   ) 

Return state of association with parent in call.

Returns:
true if currently associated.

void ost::BayonneSession::associate ( BayonneSession s  ) 

Set new call association.

Used by ACD.

Parameters:
session to associate with.

bool ost::BayonneSession::isHolding ( void   )  [inline]

bool ost::BayonneSession::isDisconnecting ( void   ) 

Return state disconnecting or idle.

..

timeout_t ost::BayonneSession::getJoinTimer ( void   ) 

Return parent answer timer, if joining.

Returns:
timeout for joining.

bool ost::BayonneSession::signalScript ( signal_t  signal  ) 

Signal notification to script.

Parameters:
signal to send to script engine.
Returns:
true if signal claimed.

virtual bool ost::BayonneSession::peerLinear ( void   )  [virtual]

Indicate whether session peers audio as linear frames.

Returns:
true if peering linear.

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:
encoded audio frame to peer.

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:
encoding format requested.
framing timer to use.

const char* ost::BayonneSession::getKeyString ( const char *  id  ) 

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

long ost::BayonneSession::getKeyValue ( const char *  id  ) 

timeout_t ost::BayonneSession::getSecTimeout ( const char *  id  ) 

timeout_t ost::BayonneSession::getMSecTimeout ( const char *  id  ) 

timeout_t ost::BayonneSession::getTimeoutValue ( const char *  opt = NULL  ) 

timeout_t ost::BayonneSession::getTimeoutKeyword ( const char *  kw  ) 

const char* ost::BayonneSession::getExitKeyword ( const char *  def  ) 

const char* ost::BayonneSession::getMenuKeyword ( const char *  def  ) 

unsigned ost::BayonneSession::getInputCount ( const char *  digits,
unsigned  max 
)

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.

const char* ost::BayonneSession::getTid ( void   )  [inline]

Get the current transaction identifier string for the session.

Returns:
transaction identifier.

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

Throw a digit pattern matching event message to the interprer.

Returns:
true if throw caught.
Parameters:
event message.

bool ost::BayonneSession::stringEvent ( const char *  evt  )  [inline]

char ost::BayonneSession::getDigit ( void   ) 

Get the next pending digit in the DTMF input buffer.

Returns:
digit.


Friends And Related Function Documentation

friend class __EXPORT ScriptEngine [friend]

friend class __EXPORT BayonneMsgport [friend]

friend class __EXPORT BayonneTranslator [friend]

friend class __EXPORT BayonneDriver [friend]

friend class __EXPORT Bayonne [friend]


Member Data Documentation

ScriptSymbols* ost::BayonneSession::globalSyms [static, protected]

Mutex ost::BayonneSession::globalLock [static, protected]

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

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

Ring* ost::BayonneSession::ring [protected]

uint8 ost::BayonneSession::seq [protected]

uint16 ost::BayonneSession::evseq [protected]

uint32 ost::BayonneSession::tseq [protected]

bool ost::BayonneSession::offhook [protected]

bool ost::BayonneSession::dtmf [protected]

bool ost::BayonneSession::holding [protected]

time_t ost::BayonneSession::audiotimer [protected]

time_t ost::BayonneSession::starttime [protected]

Translator in effect for this session.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

const char* ost::BayonneSession::voicelib [protected]

unsigned ost::BayonneSession::digit_count [protected]

unsigned ost::BayonneSession::ring_count [protected]

State ost::BayonneSession::state [protected]


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

Generated on Wed Nov 5 15:36:21 2008 for Bayonne by  doxygen 1.5.6