Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members

VXItelInterface Struct Reference
[Telephony interface]

#include <VXItel.h>

List of all members.


Detailed Description

Abstract interface for telephony functionality.

VXItel provides the telephony functions for the VXI. The transfer type is split into the bridge and blind transfers. These platform functions are very platform and generally location dependant.

There is one telephony interface per thread/line.


Public Attributes

VXIint32(* GetVersion )(void)
 Get the VXI interface version implemented.
const VXIchar *(* GetImplementationName )(void)
 Get the name of the implementation.
VXItelResult(* BeginSession )(struct VXItelInterface *pThis, VXIMap *args)
 Reset for a new session.
VXItelResult(* EndSession )(struct VXItelInterface *pThis, VXIMap *args)
 Performs cleanup at the end of a call session.
VXItelResult(* GetStatus )(struct VXItelInterface *pThis, VXItelStatus *status)
 Queries the status of the line.
VXItelResult(* Disconnect )(struct VXItelInterface *pThis, const VXIMap *namelist)
 Immediately disconnects the caller on this line.
VXItelResult(* TransferBlind )(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 Performs a blind transfer.
VXItelResult(* TransferBridge )(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 Performs a bridge transfer.
VXItelResult(* TransferConsultation )(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 Performs a consultation transfer.


Member Data Documentation

VXItelResult(* VXItelInterface::BeginSession)(struct VXItelInterface *pThis, VXIMap *args)
 

Reset for a new session.

This must be called for each new session, allowing for call specific handling to occur. For some implementations, this can be a no-op. For others runtime binding of resources or other call start specific handling may be done on this call.

Parameters:
pThis [IN] the VXItel object for which the session is starting.
args [IN] Implementation defined input and output arguments for the new session
Returns:
VXItel_RESULT_SUCCESS on success

VXItelResult(* VXItelInterface::Disconnect)(struct VXItelInterface *pThis, const VXIMap *namelist)
 

Immediately disconnects the caller on this line.

Disconnect the line. This sends the hardware into the out-of-service state where it will no longer generate events.

Parameters:
pThis [IN] the VXItel object for which the call is to be rejected.
namelist [IN] a map of namelist values (or NULL if namelist wasn't specified).
Returns:
VXItel_SUCCESS if operation succeeds

VXItelResult(* VXItelInterface::EndSession)(struct VXItelInterface *pThis, VXIMap *args)
 

Performs cleanup at the end of a call session.

This must be called at the termination of a call, allowing for call specific termination to occur. For some implementations, this can be a no-op. For others runtime resources may be released or other adaptation may be completed.

Parameters:
pThis [IN] the VXItel object for which the session is ending.
args [IN] Implementation defined input and output arguments for ending the session.
Returns:
VXItel_RESULT_SUCCESS on success

const VXIchar*(* VXItelInterface::GetImplementationName)(void)
 

Get the name of the implementation.

Returns:
Implementation defined string that must be different from all other implementations. The recommended name is one where the interface name is prefixed by the implementator's Internet address in reverse order, such as com.xyz.rec for VXIrec from xyz.com. This is similar to how VoiceXML 1.0 recommends defining application specific error types.

VXItelResult(* VXItelInterface::GetStatus)(struct VXItelInterface *pThis, VXItelStatus *status)
 

Queries the status of the line.

Returns information about the line during an execution. Use to determine if the line is up or down.

Parameters:
pThis [IN] the VXItel object for which the status is queried.
status [OUT] A pointer to a pre-allocated holder for the status.
Returns:
VXItel_RESULT_SUCCESS if the status is queried successfully. VXItel_RESULT_INVALID_ARGUMENT if pThis is NULL or status is NULL.

VXIint32(* VXItelInterface::GetVersion)(void)
 

Get the VXI interface version implemented.

Returns:
VXIint32 for the version number. The high high word is the major version number, the low word is the minor version number, using the native CPU/OS byte order. The current version is VXI_CURRENT_VERSION as defined in VXItypes.h.

VXItelResult(* VXItelInterface::TransferBlind)(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 

Performs a blind transfer.

Perform a blind transfer into the network. The implementation will be platform dependant. This call blocks for only as long as it takes to initate the transfer. It does not wait for a connection result.

Parameters:
pThis [IN] the VXItel object for which the transfer is to be performed.
properties [IN] termination character, length, timeouts... TEL_TRANSFER_DATA = aai info
transferDestination [IN] identifier of transfer location (e.g. a phone number to dial or a SIP URL).
resp [OUT] Key/value containing the result. Basic keys:
TEL_TRANSFER_STATUS - The only valid status values are VXItel_TRANSFER_CALLER_HANGUP and VXItel_TRANSFER_UNKNOWN
Returns:
VXItel_SUCCESS if operation succeeds,
VXItel_RESULT_CONNECTION_NO_AUTHORIZATION,
VXItel_RESULT_CONNECTION_BAD_DESTINATION,
VXItel_RESULT_CONNECTION_NO_ROUTE,
VXItel_RESULT_CONNECTION_NO_RESOURCE,
VXItel_RESULT_UNSUPPORTED,
VXItel_RESULT_OUT_OF_MEMORY,
VXItel_RESULT_FAILURE

VXItelResult(* VXItelInterface::TransferBridge)(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 

Performs a bridge transfer.

Perform a bridge transfer into the network. The implementation will be platform dependant. This call should block while the connection is active.

The platform is responsible for stopping any audio that is still playing. This would be done either when the callee answers, or, if the platform allows the caller to hear the network audio, when the transfer is started.

NOTE: This is called only if VXIrecInterface::HotwordTransfer returns VXItel_RESULT_UNSUPPORTED.

Parameters:
pThis [IN] the VXItel object for which the transfer is to be performed.
properties [IN] termination character, length, timeouts...
TEL_TRANSFER_DATA = aai info
TEL_MAX_CALL_TIME = VXIInteger
TEL_CONNECTTIMEOUT = VXIInteger
transferDestination [IN] identifier of transfer location (e.g. a phone number to dial or a SIP URL).
resp [OUT] Key/value containing the result. Basic keys:
TEL_TRANSFER_DURATION - length of the call in ms
TEL_TRANSFER_STATUS - see VXItelTransferStatus
Returns:
VXItel_SUCCESS if operation succeeds,
VXItel_RESULT_CONNECTION_NO_AUTHORIZATION,
VXItel_RESULT_CONNECTION_BAD_DESTINATION,
VXItel_RESULT_CONNECTION_NO_ROUTE,
VXItel_RESULT_CONNECTION_NO_RESOURCE,
VXItel_RESULT_UNSUPPORTED,
VXItel_RESULT_OUT_OF_MEMORY,
VXItel_RESULT_FAILURE

VXItelResult(* VXItelInterface::TransferConsultation)(struct VXItelInterface *pThis, const VXIMap *properties, const VXIchar *transferDestination, VXIMap **resp)
 

Performs a consultation transfer.

Perform a consultation transfer into the network. The implementation will be platform dependant. This call should block until the connection is completed (the callee answers, or otherwise ends in no answer, busy, etc...).

The platform is responsible for stopping any audio that is still playing. This would be done either when the callee answers, or, if the platform allows the caller to hear the network audio, when the transfer is started.

NOTE: This is called only if VXIrecInterface::HotwordTransfer returns VXItel_RESULT_UNSUPPORTED.

Parameters:
pThis [IN] the VXItel object for which the transfer is to be performed.
properties [IN] termination character, length, timeouts...
TEL_TRANSFER_DATA = aai info
TEL_MAX_CALL_TIME = VXIInteger
TEL_CONNECTTIMEOUT = VXIInteger
transferDestination [IN] identifier of transfer location (e.g. a phone number to dial or a SIP URL).
resp [OUT] Key/value containing the result. Basic keys:
TEL_TRANSFER_DURATION - length of the call in ms
TEL_TRANSFER_STATUS - see VXItelTransferStatus
Returns:
VXItel_SUCCESS if operation succeeds,
VXItel_RESULT_CONNECTION_NO_AUTHORIZATION,
VXItel_RESULT_CONNECTION_BAD_DESTINATION,
VXItel_RESULT_CONNECTION_NO_ROUTE,
VXItel_RESULT_CONNECTION_NO_RESOURCE,
VXItel_RESULT_UNSUPPORTED,
VXItel_RESULT_OUT_OF_MEMORY,
VXItel_RESULT_FAILURE


The documentation for this struct was generated from the following file:
Generated on Wed Jun 1 12:50:19 2005 for OpenVXI by  doxygen 1.4.2