#include <bayonne.h>
Inheritance diagram for ost::BayonneSession:

Public Member Functions | |
| const char * | getExternal (const char *opt) |
| Process interpreter session symbols. | |
| uint16 | getEventSequence (void) |
| Get event sequence id. | |
| BayonneTranslator * | getTranslator (void) |
| Get the current language translator. | |
| BayonneSession (BayonneDriver *d, timeslot_t timeslot, BayonneSpan *span=NULL) | |
| Create a new session. | |
| virtual | ~BayonneSession () |
| Destroy a session. | |
| const char * | defVoicelib (void) |
| void | initialevent (void) |
| Initial kickoff event. | |
| void | initialize (void) |
| Initialine ccengine script environment. | |
| void | detach (void) |
| Detach interpreter. | |
| BayonneDriver * | getDriver (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. | |
| 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 | isJoined (void) |
| Return state of join. | |
| timeout_t | getJoinTimer (void) |
| Return parent answer timer, if joining. | |
| bool | signalScript (signal_t sig) |
| Signal notification to script. | |
| 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 *evt) |
| 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. | |
Public Attributes | |
| BayonneAudio | audio |
Protected Member Functions | |
| bool | requiresDTMF (void) |
| Used to indicate commands which require dtmf handling to be enabled. | |
| 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 | enterSeize (Event *event) |
| virtual bool | enterHangup (Event *event) |
| virtual bool | enterTone (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 | 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. | |
| 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 | stateSeize (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 | 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 | putEvent (Event *event) |
| Direct method to post an event to a channel. | |
| void | libWrite (const char *str) |
| Write libexec. | |
| void | libClose (const char *str) |
| bool | isLibexec (const char *tsid) |
| timeout_t | getLibexecTimeout (void) |
| const char * | getWritepath (char *buf=NULL, size_t len=0) |
| 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 | 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_t * | getLibaudio (void) |
| Get the libaudio object. | |
| void | finalize (void) |
| ccengine. | |
| bool | exit (void) |
| Exit processing for interpreter. | |
Protected Attributes | |
| std::ostream * | logevents |
| std::ostream * | logtrace |
| BayonneDriver * | driver |
| BayonneMsgport * | msgport |
| BayonneSession * | peer |
| BayonneSpan * | span |
| timeslot_t | timeslot |
| uint8 | seq |
| uint16 | evseq |
| uint32 | tseq |
| volatile unsigned | children |
| bool | offhook |
| bool | dtmf |
| bool | answered |
| bool | starting |
| bool | holding |
| time_t | exittimer |
| time_t | starttime |
| interface_t | iface |
| bridge_t | bridge |
| calltype_t | type |
| event_t | seizure |
| BayonneTranslator * | translator |
| 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_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 |
| State | state |
Static Protected Attributes | |
| static BayonneTranslator | langNone |
| static ScriptSymbols * | globalSyms |
| static Mutex | globalLock |
Friends | |
| class __EXPORT | BayonneMsgport |
| class __EXPORT | BayonneTranslator |
| class __EXPORT | BayonneDriver |
| class __EXPORT | Bayonne |
|
||||||||||||||||
|
Create a new session.
|
|
|
Destroy a session.
|
|
|
Start a script from idle or ringing. This may use the assign statements to find the script name if none is passed.
|
|
|
ccengine branch event notification. Used for menudef processing. |
|
|
Check dtmf handling and other nessisities for the interpreter after an event has changed interpreter state.
|
|
|
Check audio properties for file and channel audio processing based on the driver specific capabilities of this channel through it's virtual.
|
|
|
Clear/cleanup audio processing for the session.
|
|
|
|
|
|
Detach interpreter.
|
|
|
Throw a digit pattern matching event message to the interprer.
|
|
|
Disable dtmf detection for this channel.
|
|
|
Enable dtmf detection for this channel.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ccengine thread handling.
|
|
|
|
|
|
|
|
|
|
|
|
Exit processing for interpreter.
|
|
|
ccengine thread handling.
|
|
|
virtual to filter incoming events.
|
|
|
ccengine.
|
|
|
Check script keywords for audio processing.
|
|
|
Return bridge type for joins.
|
|
|
Get the next pending digit in the DTMF input buffer.
|
|
|
Return driver associated with this session.
|
|
|
Get event sequence id.
|
|
|
|
|
|
Process interpreter session symbols.
|
|
|
Used by ccengine.
|
|
||||||||||||
|
|
|
|
Return interface type of this session.
|
|
|
Return session id for interpreter session command.
|
|
|
Return parent answer timer, if joining.
|
|
|
|
|
|
|
|
|
|
|
|
Get the libaudio object. Used by server libexec to prepare a libaudio/phrasebook session.
|
|
|
|
|
|
|
|
|
|
|
|
Return time remaining until timer expires. Commonly used for msgport scheduling.
|
|
|
|
|
|
Return server timeslot this session uses.
|
|
|
Return ccengine symbol page map. Gives access to globals.
|
|
|
Get the current transaction identifier string for the session.
|
|
|
|
|
|
|
|
|
Get frame rate used for creating tone generators.
|
|
|
Get the current language translator.
|
|
|
Return call type on session.
|
|
||||||||||||
|
|
|
|
Initial kickoff event.
|
|
|
Initialine ccengine script environment.
|
|
|
Return if the session is currently idle.
|
|
|
Return state of join.
|
|
|
|
|
|
Return hook state.
|
|
|
|
|
|
Write libexec. ..
|
|
|
Handles driver specific stuff when going idle.
|
|
|
|
|
|
Compute a new unique transaction id. These are like pids and are often used to assure transaction coherence, such as in the libexec system.
|
|
|
Disconnect notify peer. ..
|
|
|
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.
|
|
|
Post an event to the session state engine.
|
|
|
Direct method to post an event to a channel.
|
|
|
queue an event through the msgport.
|
|
|
Used to indicate commands which require dtmf handling to be enabled.
|
|
|
Set the result of a libexec initiated process and change state to libexec. Return false if no libexec support, or if not currently libexecing...
|
|
|
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.
|
|
|
Set the port hook state. Mostly for analog devices.
|
|
||||||||||||
|
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.
|
|
|
Set the session to the running state, resume interpreter or libexec.
|
|
|
Compute a uneque call session id for the current call on the current session object. Also a great key for cdr records. |
|
|
Set the session to a new state.
|
|
|
Signal notification to script.
|
|
|
ccengine thread handling.
|
|
|
Start a timer on the session. Used extensivily in state handler code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Stop the timer for the session. Used extensivily in state handler code. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Translator in effect for this session.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1.4.6