diff options
Diffstat (limited to 'addons/ooh323c/src/ooCapability.h')
-rw-r--r-- | addons/ooh323c/src/ooCapability.h | 76 |
1 files changed, 74 insertions, 2 deletions
diff --git a/addons/ooh323c/src/ooCapability.h b/addons/ooh323c/src/ooCapability.h index 75d0d563a..4e108cfd8 100644 --- a/addons/ooh323c/src/ooCapability.h +++ b/addons/ooh323c/src/ooCapability.h @@ -33,6 +33,7 @@ supported */ typedef enum OOCapabilities{ OO_CAP_AUDIO_BASE = 0, + OO_G726 = 1, OO_G711ALAW64K = 2, OO_G711ALAW56K = 3, OO_G711ULAW64K = 4, @@ -44,8 +45,13 @@ typedef enum OOCapabilities{ OO_G728 = 10, OO_G729 = 11, OO_G729A = 12, +#if 0 OO_IS11172_AUDIO = 13, OO_IS13818_AUDIO = 14, +#else + OO_AMRNB = 13, + OO_G726AAL2 = 14, +#endif OO_G729B = 15, OO_G729AB = 16, OO_G7231C = 17, @@ -54,7 +60,11 @@ typedef enum OOCapabilities{ OO_GSMENHANCEDFULLRATE = 20, OO_GENERICAUDIO = 21, OO_G729EXT = 22, +#if 0 OO_AUDIO_VBD = 23, +#else + OO_SPEEX = 23, +#endif OO_AUDIOTELEPHONYEVENT = 24, OO_AUDIO_TONE = 25, OO_EXTELEM1 = 26, @@ -65,7 +75,8 @@ typedef enum OOCapabilities{ OO_H263VIDEO = 31, OO_IS11172VIDEO = 32, /* mpeg */ OO_GENERICVIDEO = 33, - OO_EXTELEMVIDEO = 34 + OO_EXTELEMVIDEO = 34, + OO_T38 = 35 } OOCapabilities; @@ -74,6 +85,7 @@ typedef enum OOCapabilities{ #define OO_CAP_DTMF_Q931 (1<<1) #define OO_CAP_DTMF_H245_alphanumeric (1<<2) #define OO_CAP_DTMF_H245_signal (1<<3) +#define OO_CAP_DTMF_CISCO (1<<4) /** * This structure defines the preference order for capabilities. @@ -548,7 +560,7 @@ struct H245VideoCapability* ooCapabilityCreateVideoCapability * @return Pointer to the created DTMF capability, NULL in case of * failure. */ -void * ooCapabilityCreateDTMFCapability(int cap, OOCTXT *pctxt); +void * ooCapabilityCreateDTMFCapability(int cap, int dtmfcodec, OOCTXT *pctxt); /** @@ -579,6 +591,8 @@ struct H245AudioCapability* ooCapabilityCreateGSMFullRateCapability */ struct H245AudioCapability* ooCapabilityCreateSimpleCapability (ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); +struct H245AudioCapability* ooCapabilityCreateNonStandardCapability + (ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); /** @@ -651,6 +665,14 @@ ooH323EpCapability* ooIsVideoDataTypeH263Supported ooH323EpCapability* ooIsDataTypeSupported (struct OOH323CallData *call, H245DataType *data, int dir); +/* fill t.38 application data */ +H245DataMode_application* ooCreateT38ApplicationData + (OOCTXT* pctxt, H245DataMode_application *app); + +H245DataApplicationCapability* ooCapabilityCreateT38Capability + (ooH323EpCapability *epCap, OOCTXT* pctxt, int dir); + + /** * This function is used to clear the capability preference order. * @param call Handle to call, if capability preference order for call @@ -714,6 +736,56 @@ EXTERN int ooPreppendCapToCapPrefs(struct OOH323CallData *call, int cap); EXTERN const char* ooGetCapTypeText (OOCapabilities cap); +EXTERN int epCapIsPreferred(struct OOH323CallData *call, ooH323EpCapability *epCap); + +/**/ +ASN1BOOL ooCapabilityCheckCompatibility_Simple + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245AudioCapability* audioCap, int dir); +ASN1BOOL ooCapabilityCheckCompatibility_NonStandard + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245AudioCapability* audioCap, int dir); +OOBOOL ooCapabilityCheckCompatibility_GSM + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245AudioCapability* audioCap, int dir); +OOBOOL ooCapabilityCheckCompatibility_T38 + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245DataApplicationCapability* t38Cap, int dir); +OOBOOL ooCapabilityCheckCompatibility_H263Video + (struct OOH323CallData *call, ooH323EpCapability *epCap, + H245VideoCapability *pVideoCap, int dir); +OOBOOL ooCapabilityCheckCompatibility_Audio + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245AudioCapability* audioCap, int dir); +OOBOOL ooCapabilityCheckCompatibility_Video + (struct OOH323CallData *call, ooH323EpCapability* epCap, + H245VideoCapability* videoCap, int dir); +ooH323EpCapability* ooIsAudioDataTypeGSMSupported + (struct OOH323CallData *call, H245AudioCapability* audioCap, int dir); +ooH323EpCapability* ooIsAudioDataTypeSimpleSupported + (struct OOH323CallData *call, H245AudioCapability* audioCap, int dir); +ooH323EpCapability* ooIsT38Supported + (struct OOH323CallData *call, H245DataApplicationCapability* t38Cap, int dir); +ooH323EpCapability* ooIsAudioDataTypeNonStandardSupported + (struct OOH323CallData *call, H245AudioCapability* audioCap, int dir); +int ooAddRemoteDataApplicationCapability(struct OOH323CallData *call, + H245DataApplicationCapability *dataCap, + int dir); +int ooCapabilityEnableDTMFCISCO + (struct OOH323CallData *call, int dynamicRTPPayloadType); +int ooCapabilityDisableDTMFCISCO(struct OOH323CallData *call); +int ooCapabilityAddT38Capability + (struct OOH323CallData *call, int cap, int dir, + cb_StartReceiveChannel startReceiveChannel, + cb_StartTransmitChannel startTransmitChannel, + cb_StopReceiveChannel stopReceiveChannel, + cb_StopTransmitChannel stopTransmitChannel, + OOBOOL remote); + + +/**/ + + /** * @} */ |