sipXcallLib home page


Public Types | Public Member Functions | Private Member Functions | List of all members
PtGatewayInterface Class Referenceabstract

#include <PtGatewayInterface.h>

Public Types

enum  PtGatewayAvailability { UNKNOWN, LINE_AVAILABLE, ADDRESS_BUSY, GATEWAY_BUSY }
 

Public Member Functions

enum PtGatewayInterface::PtGatewayAvailability PtGatewayInterface ()
 enumcode: UNKNOWN - error state enumcode: LINE_AVAILABLE - a line is available on this gateway on which to setup a call. enumcode: ADDRESS_BUSY - a line is available on this gateway, but the destination address to be called via this gateway is busy. enumcode: GATEWAY_BUSY - all lines are currently busy on this gateway. More...
 
virtual ~PtGatewayInterface ()
 
virtual PtStatus reserveLine (PtTerminalConnection &rGatewayTerminalConnection, const char *destinationAddress, PtGatewayAvailability &rAvailablity, void *&rReservationHandle)=0
 
virtual PtStatus getLineCapabilities (void *reservationHandle, PtMediaCapabilities &rCapabilities, char rtpReceiveIpAddress[], int maxAddressLength, int &rRtpReceivePort)=0
 param: (in) rGatewayTerminalConnection - the terminal connection on this gateway for the call. param: (in) destinationAddress - (presently not used) param: (out) rAvailablity - GATEWAY_BUSY|ADDRESS_BUSY|AVAILABLE param: (out) rReservationHandle - reservation handle generated by the gateway. This is used in subsequent method invocations on the gateway to identify which reservation/terminalConnection/line the operation pertains to. For example the gateway may use the line number if there are a fixed number of lines that the gateway supports. This value is merely passed back to the gateway. It is not used outside the methods defined in this class. More...
 
virtual PtStatus startLineRtpSend (void *reservationHandle, const PtAudioCodec &rSendCodec, const char *sendAddress, int sendPort)=0
 param: (in) reservationHandle - handle indicating the line on which to obtain capabilities param: (out) rCapabilities - reference to capabilities object defining the send and receive encodings allowed on this line param: (out) rtpReceiveIpAddress - null terminated ip address or DNS name string of the host that the gateway wishes to receive RTP packets for this line. param: (in) maxAddressLength - the maximum length that rtpReceiveIpAddress may be. param: (out) rRtpReceivePort - the port that the gateway wishes to receive RTP packets on the host specified in rtpReceiveIpAddress. More...
 
virtual PtStatus startLineRtpReceive (void *reservationHandle, const PtAudioCodec &rReceiveCodec)=0
 param: (in) reservationHandle - handle indicating the line on which to start sending RTP and RTCP param: (in) rSendCodec - RTP encoding method to be used when sending RTP param: (in) sendAddress - the IP address or DNS name of the destination host for the RTP and RTCP packets param: (in) sendPort - the port on which the destination host expects to receive RTP packets. The host expects to receive RTCP packets on the port: sendPort + 1. More...
 
virtual PtStatus stopLineRtpSend (void *reservationHandle)=0
 param: (in) reservationHandle - handle indicating the line on which to start receiving RTP and RTCP param: (in) rReceiveCodec - RTP encoding method to be used when receiving RTP More...
 
virtual PtStatus stopLineRtpReceive (void *reservationHandle)=0
 param: (in) reservationHandle - handle indicating the line on which to stop sending RTP and RTCP More...
 
virtual PtStatus releaseLine (void *reservationHandle)=0
 param: (in) reservationHandle - handle indicating the line on which to stop receiving RTP and RTCP More...
 

Private Member Functions

 PtGatewayInterface (const PtGatewayInterface &rPtGatewayInterface)
 param: (in) reservationHandle - handle indicating the line which is no longer used. More...
 
PtGatewayInterfaceoperator= (const PtGatewayInterface &rhs)
 

Member Enumeration Documentation

Enumerator
UNKNOWN 
LINE_AVAILABLE 
ADDRESS_BUSY 
GATEWAY_BUSY 

Constructor & Destructor Documentation

enumcode: UNKNOWN - error state enumcode: LINE_AVAILABLE - a line is available on this gateway on which to setup a call. enumcode: ADDRESS_BUSY - a line is available on this gateway, but the destination address to be called via this gateway is busy. enumcode: GATEWAY_BUSY - all lines are currently busy on this gateway.

virtual ~PtGatewayInterface ( )
virtual
PtGatewayInterface ( const PtGatewayInterface rPtGatewayInterface)
private

param: (in) reservationHandle - handle indicating the line which is no longer used.

Member Function Documentation

virtual PtStatus getLineCapabilities ( void *  reservationHandle,
PtMediaCapabilities rCapabilities,
char  rtpReceiveIpAddress[],
int  maxAddressLength,
int &  rRtpReceivePort 
)
pure virtual

param: (in) rGatewayTerminalConnection - the terminal connection on this gateway for the call. param: (in) destinationAddress - (presently not used) param: (out) rAvailablity - GATEWAY_BUSY|ADDRESS_BUSY|AVAILABLE param: (out) rReservationHandle - reservation handle generated by the gateway. This is used in subsequent method invocations on the gateway to identify which reservation/terminalConnection/line the operation pertains to. For example the gateway may use the line number if there are a fixed number of lines that the gateway supports. This value is merely passed back to the gateway. It is not used outside the methods defined in this class.

PtGatewayInterface& operator= ( const PtGatewayInterface rhs)
private
virtual PtStatus releaseLine ( void *  reservationHandle)
pure virtual

param: (in) reservationHandle - handle indicating the line on which to stop receiving RTP and RTCP

virtual PtStatus reserveLine ( PtTerminalConnection rGatewayTerminalConnection,
const char *  destinationAddress,
PtGatewayAvailability rAvailablity,
void *&  rReservationHandle 
)
pure virtual
virtual PtStatus startLineRtpReceive ( void *  reservationHandle,
const PtAudioCodec rReceiveCodec 
)
pure virtual

param: (in) reservationHandle - handle indicating the line on which to start sending RTP and RTCP param: (in) rSendCodec - RTP encoding method to be used when sending RTP param: (in) sendAddress - the IP address or DNS name of the destination host for the RTP and RTCP packets param: (in) sendPort - the port on which the destination host expects to receive RTP packets. The host expects to receive RTCP packets on the port: sendPort + 1.

virtual PtStatus startLineRtpSend ( void *  reservationHandle,
const PtAudioCodec rSendCodec,
const char *  sendAddress,
int  sendPort 
)
pure virtual

param: (in) reservationHandle - handle indicating the line on which to obtain capabilities param: (out) rCapabilities - reference to capabilities object defining the send and receive encodings allowed on this line param: (out) rtpReceiveIpAddress - null terminated ip address or DNS name string of the host that the gateway wishes to receive RTP packets for this line. param: (in) maxAddressLength - the maximum length that rtpReceiveIpAddress may be. param: (out) rRtpReceivePort - the port that the gateway wishes to receive RTP packets on the host specified in rtpReceiveIpAddress.

virtual PtStatus stopLineRtpReceive ( void *  reservationHandle)
pure virtual

param: (in) reservationHandle - handle indicating the line on which to stop sending RTP and RTCP

virtual PtStatus stopLineRtpSend ( void *  reservationHandle)
pure virtual

param: (in) reservationHandle - handle indicating the line on which to start receiving RTP and RTCP param: (in) rReceiveCodec - RTP encoding method to be used when receiving RTP