diff options
Diffstat (limited to 'addons/ooh323c/src/ooCapability.h')
-rw-r--r-- | addons/ooh323c/src/ooCapability.h | 726 |
1 files changed, 726 insertions, 0 deletions
diff --git a/addons/ooh323c/src/ooCapability.h b/addons/ooh323c/src/ooCapability.h new file mode 100644 index 000000000..75d0d563a --- /dev/null +++ b/addons/ooh323c/src/ooCapability.h @@ -0,0 +1,726 @@ +/* + * Copyright (C) 2004-2005 by Objective Systems, Inc. + * + * This software is furnished under an open source license and may be + * used and copied only in accordance with the terms of this license. + * The text of the license may generally be found in the root + * directory of this installation in the COPYING file. It + * can also be viewed online at the following URL: + * + * http://www.obj-sys.com/open/license.html + * + * Any redistributions of this file including modified versions must + * maintain this copyright notice. + * + *****************************************************************************/ +/** + * @file ooCapability.h + * This file contains Capability management functions. + */ +#ifndef OO_CAPABILITY_H_ +#define OO_CAPABILITY_H_ +#include "ootypes.h" +#include "ooasn1.h" + + +#define OO_GSMFRAMESIZE 33 /* standard frame size for gsm is 33 bytes */ + +#define OORX (1<<0) +#define OOTX (1<<1) +#define OORXANDTX (1<<2) +#define OORXTX (1<<3) /* For symmetric capabilities */ +/* Various types of caps. Note that not all + supported */ +typedef enum OOCapabilities{ + OO_CAP_AUDIO_BASE = 0, + OO_G711ALAW64K = 2, + OO_G711ALAW56K = 3, + OO_G711ULAW64K = 4, + OO_G711ULAW56K = 5, + OO_G722_64k = 6, + OO_G722_56k = 7, + OO_G722_48k = 8, + OO_G7231 = 9, + OO_G728 = 10, + OO_G729 = 11, + OO_G729A = 12, + OO_IS11172_AUDIO = 13, + OO_IS13818_AUDIO = 14, + OO_G729B = 15, + OO_G729AB = 16, + OO_G7231C = 17, + OO_GSMFULLRATE = 18, + OO_GSMHALFRATE = 19, + OO_GSMENHANCEDFULLRATE = 20, + OO_GENERICAUDIO = 21, + OO_G729EXT = 22, + OO_AUDIO_VBD = 23, + OO_AUDIOTELEPHONYEVENT = 24, + OO_AUDIO_TONE = 25, + OO_EXTELEM1 = 26, + OO_CAP_VIDEO_BASE = 27, + OO_NONSTDVIDEO = 28, + OO_H261VIDEO = 29, + OO_H262VIDEO = 30, + OO_H263VIDEO = 31, + OO_IS11172VIDEO = 32, /* mpeg */ + OO_GENERICVIDEO = 33, + OO_EXTELEMVIDEO = 34 +} OOCapabilities; + + +/*DTMF capabilities*/ +#define OO_CAP_DTMF_RFC2833 (1<<0) +#define OO_CAP_DTMF_Q931 (1<<1) +#define OO_CAP_DTMF_H245_alphanumeric (1<<2) +#define OO_CAP_DTMF_H245_signal (1<<3) + +/** + * This structure defines the preference order for capabilities. + * + */ +typedef struct OOCapPrefs { + int order[20]; + int index; +}OOCapPrefs; + +typedef struct OOCapParams { + int txframes; /*!< Number of frames per packet for transmission */ + int rxframes; /*!< Number of frames per packet for reception */ + OOBOOL silenceSuppression; +} OOCapParams; + +typedef struct OOGSMCapParams { + unsigned txframes; + unsigned rxframes; + OOBOOL scrambled; + OOBOOL comfortNoise; +} OOGSMCapParams; + +typedef enum OOPictureFormat{ + OO_PICFORMAT_SQCIF, + OO_PICFORMAT_QCIF, + OO_PICFORMAT_CIF, + OO_PICFORMAT_CIF4, + OO_PICFORMAT_CIF16 +}OOPictureFormat; + +typedef struct OOH263CapParams { + enum OOPictureFormat picFormat; /* !< One of sqcif, qcif, cif, cif4, cif16*/ + unsigned MPI; /* !< Minimum Picture Interval */ + unsigned maxBitRate; /* !< Maximum bit rate for transmission/reception in units of 100 bits/sec */ +} OOH263CapParams; + +struct OOH323CallData; +struct OOLogicalChannel; + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * This callback is used for starting media receive channel. This callback + * function is triggered when receive media channel has to be started. + * @param call Call for which receive media channel has to be started. + * @param pChannel Channel details. This structure has important information + * such as rtp ip:port and capability describing media type + * to be received. + * @return OO_OK, on success. OO_FAILED, on failure + */ +typedef int (*cb_StartReceiveChannel) + (struct OOH323CallData *call, struct OOLogicalChannel *pChannel); + + +/** + * This callback is used for starting media transmit channel. This callback + * function is triggered when transmit media channel has to be started. + * @param call Call for which transmit media channel has to be started. + * @param pChannel Channel details. This structure has important information + * such as rtp ip:port and capability describing media type + * to be transmitted. + * @return OO_OK, on success. OO_FAILED, on failure + */ +typedef int (*cb_StartTransmitChannel) + (struct OOH323CallData *call, struct OOLogicalChannel *pChannel); + +/** + * This callback is used for stopping media receive channel. This callback + * function is triggered when receive media channel has to be stopped. + * @param call Call for which receive media channel has to be stopped. + * @param pChannel Channel details. This structure has important information + * such as rtp ip:port and capability describing media type + * being received. + * @return OO_OK, on success. OO_FAILED, on failure + */ +typedef int (*cb_StopReceiveChannel) + (struct OOH323CallData *call, struct OOLogicalChannel *pChannel); + +/** + * This callback is used for stopping media transmit channel. This callback + * function is triggered when transmit media channel has to be stopped. + * @param call Call for which transmit media channel has to be stopped. + * @param pChannel Channel details. This structure has important information + * such as rtp ip:port and capability describing media type + * being transmitted. + * @return OO_OK, on success. OO_FAILED, on failure + */ +typedef int (*cb_StopTransmitChannel) + (struct OOH323CallData *call, struct OOLogicalChannel *pChannel); + +typedef enum OOCapType { + OO_CAP_TYPE_AUDIO, + OO_CAP_TYPE_VIDEO, + OO_CAP_TYPE_DATA +} OOCapType; + +/** + * Structure to store information related to end point + * capability + */ +typedef struct ooH323EpCapability { + int dir; + int cap; + OOCapType capType; + void *params; + cb_StartReceiveChannel startReceiveChannel; + cb_StartTransmitChannel startTransmitChannel; + cb_StopReceiveChannel stopReceiveChannel; + cb_StopTransmitChannel stopTransmitChannel; + struct ooH323EpCapability *next; +} ooH323EpCapability; + + + + +#ifndef EXTERN +#if defined (MAKE_DLL) +#define EXTERN __declspec(dllexport) +#else +#define EXTERN +#endif /* MAKE_DLL */ +#endif /* EXTERN */ + +/** + * @defgroup capmgmt Capability Management + * @{ + */ + +/** + * This function is used to add rfc2833 based dtmf detection capability + * @param call Call if enabling for call, else null for + * endpoint. + * @param dynamicRTPPayloadType dynamicRTPPayloadType to be used. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityEnableDTMFRFC2833 + (struct OOH323CallData *call, int dynamicRTPPayloadType); + +/** + * This function is used to remove rfc2833 dtmf detection capability. + * @param call Handle to call, if disabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityDisableDTMFRFC2833(struct OOH323CallData *call); + + +/** + * This function is used to enable support for H.245 based alphanumeric dtmf + * capability. + * @param call Handle to call, if enabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityEnableDTMFH245Alphanumeric(struct OOH323CallData *call); + +/** + * This function is used to disable support for H.245 based alphanumeric dtmf + * capability. + * @param call Handle to call, if disabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityDisableDTMFH245Alphanumeric + (struct OOH323CallData *call); + +/** + * This function is used to enable support for H.245 based signal dtmf + * capability. + * @param call Handle to call, if enabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityEnableDTMFH245Signal(struct OOH323CallData *call); + +/** + * This function is used to disable support for H.245 based signal dtmf + * capability. + * @param call Handle to call, if disabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityDisableDTMFH245Signal(struct OOH323CallData *call); + +/** + * This function is used to enable support for dtmf using Q.931 Keypad IE. + * @param call Handle to call, if enabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityEnableDTMFQ931Keypad(struct OOH323CallData *call); + +/** + * This function is used to disable support for dtmf using Q.931 Keypad IE. + * @param call Handle to call, if disabling for the call, else NULL + * for end-point. + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityDisableDTMFQ931Keypad(struct OOH323CallData *call); + +/** + * This function is used to add simple capabilities which have only rxframes + * and txframes parameters to the endpoint or call.(ex. G711, G728, G723.1, + * G729) + * @param call Handle to a call. If this is not Null, then + * capability is added to call's remote enpoint + * capability list, else it is added to local H323 + * endpoint list. + * @param cap Type of G711 capability to be added. + * @param txframes Number of frames per packet for transmission. + * @param rxframes Number of frames per packet for reception. + * @param silenceSuppression Indicates support for silence suppression. + * Used only in case of g7231, otherwise ignored. + * @param dir Direction of capability.OORX, OOTX, OORXANDTX + * @param startReceiveChannel Callback function to start receive channel. + * @param startTransmitChannel Callback function to start transmit channel. + * @param stopReceiveChannel Callback function to stop receive channel. + * @param stopTransmitChannel Callback function to stop transmit channel. + * @param remote TRUE, if adding call's remote capability. + * + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityAddSimpleCapability + (struct OOH323CallData *call, int cap, int txframes, int rxframes, + OOBOOL silenceSuppression, int dir, + cb_StartReceiveChannel startReceiveChannel, + cb_StartTransmitChannel startTransmitChannel, + cb_StopReceiveChannel stopReceiveChannel, + cb_StopTransmitChannel stopTransmitChannel, + OOBOOL remote); + + +/** + * This is an internal helper function which is used to add a GSM capability + * to local endpoints capability list or to remote endpoints capability list or + * to a call's capability list. + * @param call Handle to a call. If this is not Null, then + * capability is added to call's remote enpoint + * capability list, else it is added to local H323 + * endpoint list. + * @param cap Type of GSM capability to be added. + * @param framesPerPkt Number of GSM frames per packet. + * @param comfortNoise Comfort noise spec for the capability. + * @param scrambled Scrambled enabled/disabled for the capability. + * @param dir Direction of capability.OORX, OOTX, OORXANDTX + * @param startReceiveChannel Callback function to start receive channel. + * @param startTransmitChannel Callback function to start transmit channel. + * @param stopReceiveChannel Callback function to stop receive channel. + * @param stopTransmitChannel Callback function to stop transmit channel. + * @param remote TRUE, if adding call's remote capabilities. + * + * @return OO_OK, on success. OO_FAILED, on failure. + */ +int ooCapabilityAddGSMCapability(struct OOH323CallData *call, int cap, + unsigned framesPerPkt, OOBOOL comfortNoise, + OOBOOL scrambled, int dir, + cb_StartReceiveChannel startReceiveChannel, + cb_StartTransmitChannel startTransmitChannel, + cb_StopReceiveChannel stopReceiveChannel, + cb_StopTransmitChannel stopTransmitChannel, + OOBOOL remote); + + +/** + * This function is used to add H263 video capability to local endpoints + * capability list or to remote endpoints capability list or to a call's + * capability list. + * @param call Handle to a call. If this is not Null, then + * capability is added to call's remote enpoint + * capability list, else it is added to local H323 + * endpoint list. + * @param sqcifMPI Minimum picture interval for encoding/decoding + * of SQCIF pictures. + * @param qcifMPI Minimum picture interval for encoding/decoding + * of QCIF pictures. + * @param cifMPI Minimum picture interval for encoding/decoding + * of CIF pictures. + * @param cif4MPI Minimum picture interval for encoding/decoding + * of CIF4 pictures. + * @param cif16MPI Minimum picture interval for encoding/decoding + * of CIF16 pictures. + * @param maxBitRate Maximum bit rate in units of 100 bits/s at + * which a transmitter can transmit video or a + * receiver can receive video. + * @param dir Direction of capability.OORX, OOTX, OORXANDTX + * @param startReceiveChannel Callback function to start receive channel. + * @param startTransmitChannel Callback function to start transmit channel. + * @param stopReceiveChannel Callback function to stop receive channel. + * @param stopTransmitChannel Callback function to stop transmit channel. + * @param remote TRUE, if adding call's remote capabilities. + * + * @return OO_OK, on success. OO_FAILED, on failure. + */ +EXTERN int ooCapabilityAddH263VideoCapability(struct OOH323CallData *call, + unsigned sqcifMPI, unsigned qcifMPI, + unsigned cifMPI, unsigned cif4MPI, + unsigned cif16MPI, unsigned maxBitRate, int dir, + cb_StartReceiveChannel startReceiveChannel, + cb_StartTransmitChannel startTransmitChannel, + cb_StopReceiveChannel stopReceiveChannel, + cb_StopTransmitChannel stopTransmitChannel, + OOBOOL remote); + + +/** + * This function is an helper function to ooCapabilityAddH263VideoCapability. + * @param call Handle to a call. If this is not Null, then + * capability is added to call's remote enpoint + * capability list, else it is added to local H323 + * endpoint list. + * @param sqcifMPI Minimum picture interval for encoding/decoding + * of SQCIF pictures. + * @param qcifMPI Minimum picture interval for encoding/decoding + * of QCIF pictures. + * @param cifMPI Minimum picture interval for encoding/decoding + * of CIF pictures. + * @param cif4MPI Minimum picture interval for encoding/decoding + * of CIF4 pictures. + * @param cif16MPI Minimum picture interval for encoding/decoding + * of CIF16 pictures. + * @param maxBitRate Maximum bit rate in units of 100 bits/s at + * which a transmitter can transmit video or a + * receiver can receive video. + * @param dir Direction of capability.OORX, OOTX, OORXANDTX + * @param startReceiveChannel Callback function to start receive channel. + * @param startTransmitChannel Callback function to start transmit channel. + * @param stopReceiveChannel Callback function to stop receive channel. + * @param stopTransmitChannel Callback function to stop transmit channel. + * @param remote TRUE, if adding call's remote capabilities. + * + * @return OO_OK, on success. OO_FAILED, on failure. + */ +int ooCapabilityAddH263VideoCapability_helper(struct OOH323CallData *call, + unsigned sqcifMPI, unsigned qcifMPI, + unsigned cifMPI, unsigned cif4MPI, + unsigned cif16MPI, unsigned maxBitRate, int dir, + cb_StartReceiveChannel startReceiveChannel, + cb_StartTransmitChannel startTransmitChannel, + cb_StopReceiveChannel stopReceiveChannel, + cb_StopTransmitChannel stopTransmitChannel, + OOBOOL remote); + +/** + * This function is used to add a audio capability to calls remote + * capability list. + * @param call Handle to the call. + * @param audioCap Handle to the remote endpoint's audio capability. + * @param dir Direction in which capability is supported by + * remote endpoint. + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +int ooAddRemoteAudioCapability(struct OOH323CallData *call, + H245AudioCapability *audioCap, int dir); + + +/** + * This function is used to add a capability to call's remote capability list. + * The capabilities to be added are extracted from received TCS message. + * @param call Handle to the call. + * @param cap Handle to the remote endpoint's H245 capability. + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +int ooAddRemoteCapability(struct OOH323CallData *call, H245Capability *cap); + +/** + * This function is used to update joint capabilities for call. It checks + * whether remote capability can be supported by local capabilities for the + * call and if supported makes entry into the joint capability list for the + * call. + * @param call Handle to the call + * @param cap Remote cap which will be tested for compatibility. + * + * @return returns OO_OK, if updated else OO_FAILED; + */ +EXTERN int ooCapabilityUpdateJointCapabilities + (struct OOH323CallData* call, H245Capability *cap); + + +/** + * This function is used to update joint video capabilities for call. It checks + * whether remote capability can be supported by local capabilities for the + * call and if supported makes entry into the joint capability list for the + * call. + * @param call Handle to the call + * @param videoCap Remote video capability which will be tested for + * compatibility. + * @param dir Direction of the capability + * + * @return returns OO_OK, if updated else OO_FAILED; + */ +EXTERN int ooCapabilityUpdateJointCapabilitiesVideo + (struct OOH323CallData *call, H245VideoCapability *videoCap, int dir); + + +/** + * This function is used to update joint video H263 capabilities for call. It + * checks whether remote capability can be supported by local capabilities for + * the call and if supported makes entry into the joint capability list for the + * call. + * @param call Handle to the call + * @param pH263Cap Remote H263 video capability which will be tested for + * compatibility. + * @param dir Direction of the H263 capability + * + * @return returns OO_OK, if updated else OO_FAILED; + */ +EXTERN int ooCapabilityUpdateJointCapabilitiesVideoH263 + (struct OOH323CallData *call, H245H263VideoCapability *pH263Cap, int dir); + + +/** + * This function is used to test whether the endpoint capability in the + * specified direction can be supported by the audio capability. + * @param call Handle to the call. + * @param epCap Endpoint capability. + * @param dataType Data type with which compatibility has to + * be tested. + * @param dir Direction indicating whether endpoint capability + * will be used for transmission or reception. + * + * @return TRUE, if compatible. FALSE, otherwise. + */ + +ASN1BOOL ooCapabilityCheckCompatibility(struct OOH323CallData *call, + ooH323EpCapability *epCap, + H245DataType *dataType, int dir); + + +/** + * This function is used to create a audio capability structure using the + * capability type. + * @param epCap Capability. + * @param pctxt Handle to OOCTXT which will be used to allocate memory + * for new audio capability. + * @param dir Direction in which the newly created capability will be + * used. + * + * @return Newly created audio capability on success, NULL on + * failure. + */ +struct H245AudioCapability* ooCapabilityCreateAudioCapability +(ooH323EpCapability* epCap, OOCTXT *pctxt, int dir); + +/** + * This function is used to create a video capability structure using the + * capability type. + * @param epCap Capability. + * @param pctxt Handle to OOCTXT which will be used to allocate memory + * for new video capability. + * @param dir Direction in which the newly created capability will be + * used. + * + * @return Newly created video capability on success, NULL on + * failure. + */ +struct H245VideoCapability* ooCapabilityCreateVideoCapability + (ooH323EpCapability *epCap, OOCTXT *pctxt, int dir); + + +/** + * This function is used to create a dtmf capability which can be added to + * a TCS message. + * @param cap Type of dtmf capability to be created. + * @param pctxt Pointer to OOCTXT structure to be used for memory + * allocation. + * + * @return Pointer to the created DTMF capability, NULL in case of + * failure. + */ +void * ooCapabilityCreateDTMFCapability(int cap, OOCTXT *pctxt); + + +/** + * This function is used to create a GSM Full Rate capability structure. + * @param epCap Handle to the endpoint capability. + * @param pctxt Handle to OOCTXT which will be used to allocate memory + * for new audio capability. + * @param dir Direction for the newly created capability. + * + * @return Newly created audio capability on success, NULL on + * failure. + */ +struct H245AudioCapability* ooCapabilityCreateGSMFullRateCapability + (ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); + +/** + * This function is used to create a simple(g711, g728, g723.1, g729) audio + * capability structure. + * + * @param epCap Handle to the endpoint capability + * @param pctxt Handle to OOCTXT which will be used to allocate memory + * for new audio capability. + * @param dir Direction in which the newly created capability will be + * used. + * + * @return Newly created audio capability on success, NULL on + * failure. + */ +struct H245AudioCapability* ooCapabilityCreateSimpleCapability + (ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); + + +/** + * This function is used to create a H263 video capability + * structure. + * @param epCap Handle to the endpoint capability + * @param pctxt Handle to OOCTXT which will be used to allocate memory + * for new video capability. + * @param dir Direction in which the newly created capability will be + * used. + * + * @return Newly created video capability on success, NULL on + * failure. + */ +struct H245VideoCapability* ooCapabilityCreateH263VideoCapability +(ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); + + +/** + * This function is used to determine whether a particular capability + * can be supported by the endpoint. + * @param call Handle to the call. + * @param audioCap Handle to the audio capability. + * @param dir Direction in which support is desired. + * + * @return Handle to the copyof capability which supports audioCap, + * Null if none found + */ +ooH323EpCapability* ooIsAudioDataTypeSupported +(struct OOH323CallData *call, H245AudioCapability* audioCap, int dir); + +/** + * This function is used to determine whether a particular video capability + * can be supported by the endpoint. + * @param call Handle to the call. + * @param pVideoCap Handle to the video capability. + * @param dir Direction in which support is desired. + * + * @return Handle to the copy of capability which supports video + * capability, Null if none found + */ +ooH323EpCapability* ooIsVideoDataTypeSupported + (struct OOH323CallData *call, H245VideoCapability* pVideoCap, int dir); + +/** + * This function is used to determine whether a particular H263 capability + * can be supported by the endpoint. + * @param call Handle to the call. + * @param pH263Cap Handle to the H263 video capability. + * @param dir Direction in which support is desired. + * @param picFormat Picture type(cif, qcif etc.) + * + * @return Handle to the copy of capability which supports H263 + * capability, Null if none found + */ +ooH323EpCapability* ooIsVideoDataTypeH263Supported + (struct OOH323CallData *call, H245H263VideoCapability* pH263Cap, int dir, + OOPictureFormat picFormat); + +/** + * This function is used to determine whether a particular capability type + * can be supported by the endpoint. + * @param call Handle to the call. + * @param data Handle to the capability type. + * @param dir Direction in which support is desired. + * + * @return Handle to the copy of capability which supports specified + * capability type, Null if none found + */ +ooH323EpCapability* ooIsDataTypeSupported +(struct OOH323CallData *call, H245DataType *data, int dir); + +/** + * This function is used to clear the capability preference order. + * @param call Handle to call, if capability preference order for call + * has to be cleared, NULL for endpoint. + * + * @return OO_OK, on success. OO_FAILED, on failure + */ +EXTERN int ooResetCapPrefs(struct OOH323CallData *call); + +/** + * This function is used to remove a particular capability from preference + * list. + * @param call Handle to call, if call's preference list has to be modified + * else NULL, to modify endpoint's preference list. + * @param cap Capability to be removed + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +EXTERN int ooRemoveCapFromCapPrefs(struct OOH323CallData *call, int cap); + +/** + * This function is used to append a particular capability to preference + * list. + * @param call Handle to call, if call's preference list has to be modified + * else NULL, to modify endpoint's preference list. + * @param cap Capability to be appended. + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +EXTERN int ooAppendCapToCapPrefs(struct OOH323CallData *call, int cap); + +/** + * This function is used to change preference order of a particular capability + * in the preference list. + * @param call Handle to call, if call's preference list has to be modified + * else NULL, to modify endpoint's preference list. + * @param cap Capability concerned + * @param pos New position in the preference order + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +EXTERN int ooChangeCapPrefOrder(struct OOH323CallData *call, int cap, int pos); + +/** + * This function is used to preppend a particular capability to preference + * list. + * @param call Handle to call, if call's preference list has to be modified + * else NULL, to modify endpoint's preference list. + * @param cap Capability to be preppended. + * + * @return OO_OK, on success. OO_FAILED, otherwise. + */ +EXTERN int ooPreppendCapToCapPrefs(struct OOH323CallData *call, int cap); + +/** + * This function is used to retrieve the text description for a capability + * type. + * @param cap Capability + * @return The text description string. + */ +EXTERN const char* ooGetCapTypeText (OOCapabilities cap); + + +/** + * @} + */ +#ifdef __cplusplus +} +#endif + +#endif + + |