OpalIVRConnection Class Reference

#include <ivr.h>

Inheritance diagram for OpalIVRConnection:

OpalLocalConnection OpalConnection

Public Member Functions

virtual void OnEndDialog ()
const PString & GetVXML () const
PTextToSpeech * GetTextToSpeech () const
PTextToSpeech * SetTextToSpeech (const PString &ttsName)
PTextToSpeech * SetTextToSpeech (PTextToSpeech *tts, PBoolean autoDelete=false)
Construction
 OpalIVRConnection (OpalCall &call, OpalIVREndPoint &endpoint, void *userData, const PString &vxml, unsigned int options, OpalConnection::StringOptions *stringOptions=NULL)
 ~OpalIVRConnection ()
Overrides from OpalConnection
virtual bool IsNetworkConnection () const
virtual PString GetLocalPartyURL () const
void OnEstablished ()
virtual bool TransferConnection (const PString &remoteParty)
virtual OpalMediaFormatList GetMediaFormats () const
virtual OpalMediaStreamCreateMediaStream (const OpalMediaFormat &mediaFormat, unsigned sessionID, PBoolean isSource)
virtual PBoolean SendUserInputString (const PString &value)

Protected Member Functions

virtual bool StartVXML (const PString &vxml)
virtual bool StartScript (const PString &script)

Protected Attributes

OpalIVREndPointendpoint
PString m_vxmlScript
OpalMediaFormatList m_vxmlMediaFormats
OpalVXMLSession m_vxmlSession

Detailed Description

Interactive Voice Response connection.


Constructor & Destructor Documentation

OpalIVRConnection::OpalIVRConnection ( OpalCall call,
OpalIVREndPoint endpoint,
void *  userData,
const PString &  vxml,
unsigned int  options,
OpalConnection::StringOptions stringOptions = NULL 
)

Create a new endpoint.

Parameters:
call  Owner calll for connection
endpoint  Owner endpoint for connection
userData  Arbitrary data to pass to connection
vxml  vxml to execute

OpalIVRConnection::~OpalIVRConnection (  ) 

Destroy endpoint.


Member Function Documentation

virtual OpalMediaStream* OpalIVRConnection::CreateMediaStream ( const OpalMediaFormat mediaFormat,
unsigned  sessionID,
PBoolean  isSource 
) [virtual]

Open a new media stream. This will create a media stream of an appropriate subclass as required by the underlying connection protocol. For instance H.323 would create an OpalRTPStream.

The sessionID parameter may not be needed by a particular media stream and may be ignored. In the case of an OpalRTPStream it us used.

Note that media streams may be created internally to the underlying protocol. This function is not the only way a stream can come into existance.

The default behaviour is pure.

Parameters:
mediaFormat  Media format for stream
sessionID  Session number for stream
isSource  Is a source stream

Reimplemented from OpalLocalConnection.

virtual PString OpalIVRConnection::GetLocalPartyURL (  )  const [virtual]

Get the local name/alias.

Reimplemented from OpalConnection.

virtual OpalMediaFormatList OpalIVRConnection::GetMediaFormats (  )  const [virtual]

Get the data formats this connection is capable of operating. This provides a list of media data format names that an OpalMediaStream may be created in within this connection.

The default behaviour returns the formats the PSoundChannel can do, typically only PCM-16.

Reimplemented from OpalConnection.

PTextToSpeech* OpalIVRConnection::GetTextToSpeech (  )  const [inline]

const PString& OpalIVRConnection::GetVXML (  )  const [inline]

virtual bool OpalIVRConnection::IsNetworkConnection (  )  const [inline, virtual]

Get indication of connection being to a "network". This indicates the if the connection may be regarded as a "network" connection. The distinction is about if there is a concept of a "remote" party being connected to and is best described by example: sip, h323, iax and pstn are all "network" connections as they connect to something "remote". While pc, pots and ivr are not as the entity being connected to is intrinsically local.

Reimplemented from OpalLocalConnection.

virtual void OpalIVRConnection::OnEndDialog (  )  [virtual]

Called when VXML ends. Default action calls equivalent function in OpalIVREndPoint.

void OpalIVRConnection::OnEstablished (  )  [virtual]

A call back function whenever a connection is "established". This indicates that a connection to an endpoint was established. This usually occurs after OnConnected() and indicates that the connection is both connected and has media flowing.

Reimplemented from OpalConnection.

virtual PBoolean OpalIVRConnection::SendUserInputString ( const PString &  value  )  [virtual]

Send a user input indication to the remote endpoint. This sends an arbitrary string as a user indication. If DTMF tones in particular are required to be sent then the SendIndicationTone() function should be used.

The default behaviour plays the DTMF tones on the line.

Parameters:
value  String value of indication

Reimplemented from OpalLocalConnection.

PTextToSpeech* OpalIVRConnection::SetTextToSpeech ( PTextToSpeech *  tts,
PBoolean  autoDelete = false 
) [inline]

PTextToSpeech* OpalIVRConnection::SetTextToSpeech ( const PString &  ttsName  )  [inline]

virtual bool OpalIVRConnection::StartScript ( const PString &  script  )  [protected, virtual]

virtual bool OpalIVRConnection::StartVXML ( const PString &  vxml  )  [protected, virtual]

virtual bool OpalIVRConnection::TransferConnection ( const PString &  remoteParty  )  [virtual]

Initiate the transfer of an existing call (connection) to a new remote party.

If remoteParty is a valid call token, then the remote party is transferred to that party (consultation transfer) and both calls are cleared.

Parameters:
remoteParty  Remote party to transfer the existing call to

Reimplemented from OpalConnection.


Field Documentation

OpalIVREndPoint& OpalIVRConnection::endpoint [protected]

Reimplemented from OpalLocalConnection.

OpalMediaFormatList OpalIVRConnection::m_vxmlMediaFormats [protected]

PString OpalIVRConnection::m_vxmlScript [protected]

OpalVXMLSession OpalIVRConnection::m_vxmlSession [protected]


The documentation for this class was generated from the following file:
Generated on Sun Nov 21 20:20:53 2010 for OPAL by  doxygen 1.4.7