Hi all.
Here is diff output of changed files for G.726 (and G.728) support
in ooh323c-v0.8 stack. It was working in my test environment with
gatekeeper running. I didn't yet test it with other VoIP clients (i.e.
GnomeMeeting). So, maintainers should test these changes formally in
their testbenches.
Best regards,
Aleksandar
*** h323/MULTIMEDIA-SYSTEM-CONTROL.h Fri Feb 17 10:49:33 2006
--- /home/Sasa/ooh323c-0.8/src/h323/MULTIMEDIA-SYSTEM-CONTROL.h Tue Oct 25
20:42:08 2005
***************
*** 2790,2801 ****
#define T_H245AudioCapability_vbd 23
#define T_H245AudioCapability_audioTelephonyEvent 24
#define T_H245AudioCapability_audioTone 25
! #define T_H245AudioCapability_g726_40k 26
! #define T_H245AudioCapability_g726_32k 27
! #define T_H245AudioCapability_g726_24k 28
! #define T_H245AudioCapability_g726_16k 29
! #define T_H245AudioCapability_extElem1 30
!
typedef struct EXTERN H245AudioCapability {
int t;
--- 2790,2796 ----
#define T_H245AudioCapability_vbd 23
#define T_H245AudioCapability_audioTelephonyEvent 24
#define T_H245AudioCapability_audioTone 25
! #define T_H245AudioCapability_extElem1 26
typedef struct EXTERN H245AudioCapability {
int t;
***************
*** 2851,2864 ****
/* t = 25 */
H245NoPTAudioToneCapability *audioTone;
/* t = 26 */
- ASN1USINT g726_40k;
- /* t = 27 */
- ASN1USINT g726_32k;
- /* t = 28 */
- ASN1USINT g726_24k;
- /* t = 29 */
- ASN1USINT g726_16k;
- /* t = 30 */
} u;
} H245AudioCapability;
--- 2846,2851 ----
***************
*** 5992,6002 ****
#define T_H245AudioMode_genericAudioMode 21
#define T_H245AudioMode_g729Extensions 22
#define T_H245AudioMode_vbd 23
! #define T_H245AudioMode_g726_40k 24
! #define T_H245AudioMode_g726_32k 25
! #define T_H245AudioMode_g726_24k 26
! #define T_H245AudioMode_g726_16k 27
! #define T_H245AudioMode_extElem1 28
typedef struct EXTERN H245AudioMode {
int t;
--- 5979,5985 ----
#define T_H245AudioMode_genericAudioMode 21
#define T_H245AudioMode_g729Extensions 22
#define T_H245AudioMode_vbd 23
! #define T_H245AudioMode_extElem1 24
typedef struct EXTERN H245AudioMode {
int t;
***************
*** 6038,6051 ****
/* t = 23 */
H245VBDMode *vbd;
/* t = 24 */
- ASN1USINT g726_40k;
- /* t = 25 */
- ASN1USINT g726_32k;
- /* t = 26 */
- ASN1USINT g726_24k;
- /* t = 27 */
- ASN1USINT g726_16k;
- /* t = 28 */
} u;
} H245AudioMode;
--- 6021,6026 ----
*** h323/MULTIMEDIA-SYSTEM-CONTROLDec.c Fri Feb 17 09:20:17 2006
--- /home/Sasa/ooh323c-0.8/src/h323/MULTIMEDIA-SYSTEM-CONTROLDec.c Tue Oct
25 20:42:08 2005
***************
*** 12312,12368 ****
invokeEndElement (pctxt, "audioTone", -1);
break;
-
- /* g726_40k */
- case 26:
- invokeStartElement (pctxt, "g726_40k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_40k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_40k);
-
- invokeEndElement (pctxt, "g726_40k", -1);
-
- break;
-
- /* g726_32k */
- case 27:
- invokeStartElement (pctxt, "g726_32k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_32k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_32k);
-
- invokeEndElement (pctxt, "g726_32k", -1);
-
- break;
-
- /* g726_24k */
- case 28:
- invokeStartElement (pctxt, "g726_24k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_24k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_24k);
-
- invokeEndElement (pctxt, "g726_24k", -1);
-
- break;
-
- /* g726_16k */
- case 29:
- invokeStartElement (pctxt, "g726_16k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_16k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_16k);
! invokeEndElement (pctxt, "g726_16k", -1);
!
! break;
!
! default:
! break;
}
copyContext (pctxt, &lctxt);
--- 12312,12319 ----
invokeEndElement (pctxt, "audioTone", -1);
break;
! default:;
}
copyContext (pctxt, &lctxt);
***************
*** 24090,24146 ****
invokeEndElement (pctxt, "vbd", -1);
break;
-
- /* g726_40k */
- case 24:
- invokeStartElement (pctxt, "g726_40k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_40k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_40k);
-
- invokeEndElement (pctxt, "g726_40k", -1);
-
- break;
-
- /* g726_32k */
- case 25:
- invokeStartElement (pctxt, "g726_32k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_32k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_32k);
-
- invokeEndElement (pctxt, "g726_32k", -1);
-
- break;
-
- /* g726_24k */
- case 26:
- invokeStartElement (pctxt, "g726_24k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_24k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_24k);
-
- invokeEndElement (pctxt, "g726_24k", -1);
-
- break;
-
- /* g726_16k */
- case 27:
- invokeStartElement (pctxt, "g726_16k", -1);
-
- stat = decodeConsUInt16 (pctxt, &pvalue->u.g726_16k, 1U, 256U);
- if (stat != ASN_OK) return stat;
- invokeUIntValue (pctxt, pvalue->u.g726_16k);
-
- invokeEndElement (pctxt, "g726_16k", -1);
-
- break;
! default:
! break;
}
copyContext (pctxt, &lctxt);
--- 24041,24048 ----
invokeEndElement (pctxt, "vbd", -1);
break;
! default:;
}
copyContext (pctxt, &lctxt);
*** h323/MULTIMEDIA-SYSTEM-CONTROLEnc.c Fri Feb 17 09:28:51 2006
--- /home/Sasa/ooh323c-0.8/src/h323/MULTIMEDIA-SYSTEM-CONTROLEnc.c Tue Oct
25 20:42:08 2005
***************
*** 7575,7615 ****
if (stat != ASN_OK) return freeContext (&lctxt), stat;
openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
break;
-
- /* g726_40k */
- case 26:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_40k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_32k */
- case 27:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_32k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_24k */
- case 28:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_24k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_16k */
- case 29:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_16k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
default:
! break;
}
stat = encodeByteAlign (pctxt);
--- 7575,7583 ----
if (stat != ASN_OK) return freeContext (&lctxt), stat;
openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
break;
default:
! ;
}
stat = encodeByteAlign (pctxt);
***************
*** 15319,15359 ****
if (stat != ASN_OK) return freeContext (&lctxt), stat;
openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
break;
-
- /* g726_40k */
- case 24:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_40k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_32k */
- case 25:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_32k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_24k */
- case 26:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_24k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
-
- /* g726_16k */
- case 27:
- stat = encodeConsUnsigned (&lctxt, pvalue->u.g726_16k, 1U, 256U);
- if (stat != ASN_OK) return freeContext (&lctxt), stat;
-
- openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
- break;
default:
! break;
}
stat = encodeByteAlign (pctxt);
--- 15287,15295 ----
if (stat != ASN_OK) return freeContext (&lctxt), stat;
openType.data = encodeGetMsgPtr (&lctxt, (int*)&openType.numocts);
break;
default:
! ;
}
stat = encodeByteAlign (pctxt);
*** ooCalls.c Fri Feb 17 09:55:09 2006
--- /home/Sasa/ooh323c-0.8/src/ooCalls.c Tue Oct 25 20:42:08 2005
***************
*** 503,520 ****
stopReceiveChannel, stopTransmitChannel, FALSE);
}
- int ooCallAddG728Capability(OOH323CallData *call, int cap, int txframes,
- int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel)
- {
- return ooCapabilityAddSimpleCapability(call, cap, txframes, rxframes,
FALSE,
- dir, startReceiveChannel, startTransmitChannel,
- stopReceiveChannel, stopTransmitChannel, FALSE);
- }
-
int ooCallAddG711Capability(OOH323CallData *call, int cap, int txframes,
int rxframes, int dir,
cb_StartReceiveChannel startReceiveChannel,
--- 503,508 ----
***************
*** 527,544 ****
stopReceiveChannel, stopTransmitChannel, FALSE);
}
- int ooCallAddG726Capability(OOH323CallData *call, int cap, int txframes,
- int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel)
- {
- return ooCapabilityAddSimpleCapability(call, cap, txframes, rxframes,
FALSE,
- dir, startReceiveChannel, startTransmitChannel,
- stopReceiveChannel, stopTransmitChannel, FALSE);
- }
-
int ooCallAddGSMCapability
(OOH323CallData* call, int cap, ASN1USINT framesPerPkt,
OOBOOL comfortNoise, OOBOOL scrambled, int dir,
--- 515,520 ----
*** ooCalls.h Fri Feb 17 09:54:09 2006
--- /home/Sasa/ooh323c-0.8/src/ooCalls.h Tue Oct 25 20:42:08 2005
***************
*** 506,556 ****
cb_StopReceiveChannel stopReceiveChannel,
cb_StopTransmitChannel stopTransmitChannel);
- /**
- * This function is used to add G728 capability for the call. The
- * "ooCallAdd...Capability" functions allow to override the global endpoint
- * capabilities and use specific capabilities for specific calls.
- * @param call Call for which capability has to be added.
- * @param cap Capability to be added.
- * @param txframes Number of frames per packet for transmission.
- * @param rxframes Number of frames per packet for reception.
- * @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.
- *
- * @return OO_OK, on success. OO_FAILED, on failure.
- */
- EXTERN int ooCallAddG728Capability(OOH323CallData *call, int cap, int
txframes,
- int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel);
-
- /**
- * This function is used to add G726 capability for the call. The
- * "ooCallAdd...Capability" functions allow to override the global endpoint
- * capabilities and use specific capabilities for specific calls.
- * @param call Call for which capability has to be added.
- * @param cap Capability to be added.
- * @param txframes Number of frames per packet for transmission.
- * @param rxframes Number of frames per packet for reception.
- * @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.
- *
- * @return OO_OK, on success. OO_FAILED, on failure.
- */
- EXTERN int ooCallAddG726Capability(OOH323CallData *call, int cap, int
txframes,
- int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel);
/**
* This function is used to add GSM capability for the call. The
--- 506,511 ----
*** ooCapability.c Fri Feb 17 10:35:39 2006
--- /home/Sasa/ooh323c-0.8/src/ooCapability.c Tue Oct 25 20:42:08 2005
***************
*** 337,343 ****
return OO_OK;
}
! /* Used for g711 ulaw/alaw, g729, g728, g726, and g7231 codecs (variants too)
*/
int ooCapabilityAddSimpleCapability
(OOH323CallData *call, int cap, int txframes,
int rxframes, OOBOOL silenceSuppression, int dir,
--- 337,343 ----
return OO_OK;
}
! /* Used for g711 ulaw/alaw, g729 and g7231 */
int ooCapabilityAddSimpleCapability
(OOH323CallData *call, int cap, int txframes,
int rxframes, OOBOOL silenceSuppression, int dir,
***************
*** 369,375 ****
if(cap == OO_G7231)
params->silenceSuppression = silenceSuppression;
else
! params->silenceSuppression = FALSE; /* Set to false for g711, g726,
g728 and g729*/
if(dir & OORXANDTX)
{
--- 369,375 ----
if(cap == OO_G7231)
params->silenceSuppression = silenceSuppression;
else
! params->silenceSuppression = FALSE; /* Set to false for g711 and g729*/
if(dir & OORXANDTX)
{
***************
*** 589,602 ****
case OO_G711ALAW56K:
case OO_G711ULAW64K:
case OO_G711ULAW56K:
- case OO_G728:
case OO_G729:
case OO_G729A:
case OO_G7231:
- case OO_G726_40K:
- case OO_G726_32K:
- case OO_G726_24K:
- case OO_G726_16K:
return ooCapabilityCreateSimpleCapability(epCap, pctxt, dir);
case OO_GSMFULLRATE:
return ooCapabilityCreateGSMFullRateCapability(epCap, pctxt, dir);
--- 589,597 ----
***************
*** 772,778 ****
return pAudio;
}
! /* This is used for g711 ulaw/alaw, g729, g729A, g726, g728, and g7231*/
struct H245AudioCapability* ooCapabilityCreateSimpleCapability
(ooH323EpCapability *epCap, OOCTXT* pctxt, int dir)
{
--- 767,773 ----
return pAudio;
}
! /* This is used for g711 ulaw/alaw, g729, g729A, g7231*/
struct H245AudioCapability* ooCapabilityCreateSimpleCapability
(ooH323EpCapability *epCap, OOCTXT* pctxt, int dir)
{
***************
*** 824,836 ****
else
pAudio->u.g711Ulaw64k = params->txframes;
return pAudio;
- case OO_G728:
- pAudio->t = T_H245AudioCapability_g728;
- if(dir & OORX)
- pAudio->u.g728 = params->rxframes;
- else
- pAudio->u.g728 = params->txframes;
- return pAudio;
case OO_G729:
pAudio->t = T_H245AudioCapability_g729;
if(dir & OORX)
--- 819,824 ----
***************
*** 861,894 ****
else
pAudio->u.g7231->maxAl_sduAudioFrames = params->txframes;
return pAudio;
! case OO_G726_40K:
! pAudio->t = T_H245AudioCapability_g726_40k;
! if(dir & OORX)
! pAudio->u.g726_40k = params->rxframes;
! else
! pAudio->u.g726_40k = params->txframes;
! return pAudio;
! case OO_G726_32K:
! pAudio->t = T_H245AudioCapability_g726_32k;
! if(dir & OORX)
! pAudio->u.g726_32k = params->rxframes;
! else
! pAudio->u.g726_32k = params->txframes;
! return pAudio;
! case OO_G726_24K:
! pAudio->t = T_H245AudioCapability_g726_24k;
! if(dir & OORX)
! pAudio->u.g726_24k = params->rxframes;
! else
! pAudio->u.g726_24k = params->txframes;
! return pAudio;
! case OO_G726_16K:
! pAudio->t = T_H245AudioCapability_g726_16k;
! if(dir & OORX)
! pAudio->u.g726_16k = params->rxframes;
! else
! pAudio->u.g726_16k = params->txframes;
! return pAudio;
default:
OOTRACEERR2("ERROR: Don't know how to create audio capability %d\n",
epCap->cap);
--- 849,855 ----
else
pAudio->u.g7231->maxAl_sduAudioFrames = params->txframes;
return pAudio;
!
default:
OOTRACEERR2("ERROR: Don't know how to create audio capability %d\n",
epCap->cap);
***************
*** 896,902 ****
return NULL;
}
! /*Used for g711 ulaw/alaw, g729, g729a, g726, g728, and g7231 */
ASN1BOOL ooCapabilityCheckCompatibility_Simple
(OOH323CallData *call, ooH323EpCapability* epCap,
H245AudioCapability* audioCap, int dir)
--- 857,863 ----
return NULL;
}
! /*Used for g711 ulaw/alaw, g729, g729a, g7231 */
ASN1BOOL ooCapabilityCheckCompatibility_Simple
(OOH323CallData *call, ooH323EpCapability* epCap,
H245AudioCapability* audioCap, int dir)
***************
*** 920,929 ****
cap = OO_G711ALAW56K;
noofframes = audioCap->u.g711Alaw56k;
break;
- case T_H245AudioCapability_g728:
- cap = OO_G728;
- noofframes = audioCap->u.g728;
- break;
case T_H245AudioCapability_g729:
cap = OO_G729;
noofframes = audioCap->u.g729;
--- 881,886 ----
***************
*** 936,957 ****
cap = OO_G7231;
noofframes = audioCap->u.g7231->maxAl_sduAudioFrames;
break;
- case T_H245AudioCapability_g726_40k:
- cap = OO_G726_40K;
- noofframes = audioCap->u.g726_40k;
- break;
- case T_H245AudioCapability_g726_32k:
- cap = OO_G726_32K;
- noofframes = audioCap->u.g726_32k;
- break;
- case T_H245AudioCapability_g726_24k:
- cap = OO_G726_24K;
- noofframes = audioCap->u.g726_24k;
- break;
- case T_H245AudioCapability_g726_16k:
- cap = OO_G726_16K;
- noofframes = audioCap->u.g726_16k;
- break;
default:
return FALSE;
}
--- 893,898 ----
***************
*** 1182,1195 ****
case T_H245AudioCapability_g711Ulaw64k:
case T_H245AudioCapability_g711Alaw64k:
case T_H245AudioCapability_g711Alaw56k:
- case T_H245AudioCapability_g728:
case T_H245AudioCapability_g729:
case T_H245AudioCapability_g729AnnexA:
case T_H245AudioCapability_g7231:
- case T_H245AudioCapability_g726_40k:
- case T_H245AudioCapability_g726_32k:
- case T_H245AudioCapability_g726_24k:
- case T_H245AudioCapability_g726_16k:
return ooCapabilityCheckCompatibility_Simple(call, epCap, audioCap,
dir);
case T_H245AudioCapability_gsmFullRate:
return ooCapabilityCheckCompatibility_GSM(call, epCap, audioCap, dir);
--- 1123,1131 ----
***************
*** 1267,1280 ****
case OO_G711ALAW56K:
case OO_G711ULAW64K:
case OO_G711ULAW56K:
- case OO_G728:
case OO_G729:
case OO_G729A:
case OO_G7231:
- case OO_G726_40K:
- case OO_G726_32K:
- case OO_G726_24K:
- case OO_G726_16K:
if(((OOCapParams*)txCap->params)->txframes <=
((OOCapParams*)rxCap->params)->rxframes)
return TRUE;
--- 1203,1211 ----
***************
*** 1429,1435 ****
}
! /* used for g711 ulaw/alaw, g729, g729a, g726, g728, and g7231 */
ooH323EpCapability* ooIsAudioDataTypeSimpleSupported
(OOH323CallData *call, H245AudioCapability* audioCap, int dir)
{
--- 1360,1366 ----
}
! /* used for g711 ulaw/alaw, g729, g729a, g7231 */
ooH323EpCapability* ooIsAudioDataTypeSimpleSupported
(OOH323CallData *call, H245AudioCapability* audioCap, int dir)
{
***************
*** 1456,1465 ****
framesPerPkt = audioCap->u.g711Ulaw64k;
cap = OO_G711ULAW64K;
break;
- case T_H245AudioCapability_g728:
- framesPerPkt = audioCap->u.g728;
- cap = OO_G728;
- break;
case T_H245AudioCapability_g729:
framesPerPkt = audioCap->u.g729;
cap = OO_G729;
--- 1387,1392 ----
***************
*** 1472,1495 ****
framesPerPkt = audioCap->u.g7231->maxAl_sduAudioFrames;
cap = OO_G7231;
break;
- case T_H245AudioCapability_g726_40k:
- framesPerPkt = audioCap->u.g726_40k;
- cap = OO_G726_40K;
- break;
- case T_H245AudioCapability_g726_32k:
- framesPerPkt = audioCap->u.g726_32k;
- cap = OO_G726_32K;
- break;
- case T_H245AudioCapability_g726_24k:
- framesPerPkt = audioCap->u.g726_24k;
- cap = OO_G726_24K;
- break;
- case T_H245AudioCapability_g726_16k:
- framesPerPkt = audioCap->u.g726_16k;
- cap = OO_G726_16K;
- break;
default:
- break;
return NULL;
}
--- 1399,1405 ----
***************
*** 1613,1626 ****
case T_H245AudioCapability_g711Alaw56k:
case T_H245AudioCapability_g711Ulaw56k:
case T_H245AudioCapability_g711Ulaw64k:
- case T_H245AudioCapability_g728:
case T_H245AudioCapability_g729:
case T_H245AudioCapability_g729AnnexA:
case T_H245AudioCapability_g7231:
- case T_H245AudioCapability_g726_40k:
- case T_H245AudioCapability_g726_32k:
- case T_H245AudioCapability_g726_24k:
- case T_H245AudioCapability_g726_16k:
return ooIsAudioDataTypeSimpleSupported(call, audioCap, dir);
case T_H245AudioCapability_gsmFullRate:
case T_H245AudioCapability_gsmHalfRate:
--- 1523,1531 ----
***************
*** 2026,2040 ****
}
return ooCapabilityAddSimpleCapability(call, OO_G711ULAW56K, txframes,
rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
- case T_H245AudioCapability_g728:
- if(dir&OOTX) txframes = audioCap->u.g728;
- else if(dir&OORX) rxframes = audioCap->u.g728;
- else{
- txframes = audioCap->u.g728;
- rxframes = audioCap->u.g728;
- }
- return ooCapabilityAddSimpleCapability(call, OO_G728, txframes,
- rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
case T_H245AudioCapability_g729:
if(dir&OOTX) txframes = audioCap->u.g729;
else if(dir&OORX) rxframes = audioCap->u.g729;
--- 1931,1936 ----
***************
*** 2083,2124 ****
audioCap->u.gsmEnhancedFullRate->comfortNoise,
audioCap->u.gsmEnhancedFullRate->scrambled,
dir, NULL, NULL, NULL, NULL, TRUE);
! case T_H245AudioCapability_g726_40k:
! if(dir&OOTX) txframes = audioCap->u.g726_40k;
! else if(dir&OORX) rxframes = audioCap->u.g726_40k;
! else{
! txframes = audioCap->u.g726_40k;
! rxframes = audioCap->u.g726_40k;
! }
! return ooCapabilityAddSimpleCapability(call, OO_G726_40K, txframes,
! rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
! case T_H245AudioCapability_g726_32k:
! if(dir&OOTX) txframes = audioCap->u.g726_32k;
! else if(dir&OORX) rxframes = audioCap->u.g726_32k;
! else{
! txframes = audioCap->u.g726_32k;
! rxframes = audioCap->u.g726_32k;
! }
! return ooCapabilityAddSimpleCapability(call, OO_G726_32K, txframes,
! rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
! case T_H245AudioCapability_g726_24k:
! if(dir&OOTX) txframes = audioCap->u.g726_24k;
! else if(dir&OORX) rxframes = audioCap->u.g726_24k;
! else{
! txframes = audioCap->u.g726_24k;
! rxframes = audioCap->u.g726_24k;
! }
! return ooCapabilityAddSimpleCapability(call, OO_G726_24K, txframes,
! rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
! case T_H245AudioCapability_g726_16k:
! if(dir&OOTX) txframes = audioCap->u.g726_16k;
! else if(dir&OORX) rxframes = audioCap->u.g726_16k;
! else{
! txframes = audioCap->u.g726_16k;
! rxframes = audioCap->u.g726_16k;
! }
! return ooCapabilityAddSimpleCapability(call, OO_G726_16K, txframes,
! rxframes, FALSE, dir, NULL, NULL, NULL, NULL,
TRUE);
default:
OOTRACEDBGA1("Unsupported audio capability type\n");
--- 1979,1985 ----
audioCap->u.gsmEnhancedFullRate->comfortNoise,
audioCap->u.gsmEnhancedFullRate->scrambled,
dir, NULL, NULL, NULL, NULL, TRUE);
!
default:
OOTRACEDBGA1("Unsupported audio capability type\n");
***************
*** 2360,2369 ****
"OO_VBD",
"OO_AUDIOTELEPHONYEVENT",
"OO_AUDIOTONE",
- "OO_G726_40K",
- "OO_G726_32K",
- "OO_G726_24K",
- "OO_G726_16K",
"OO_EXTELEM1",
"OO_VIDEO_BASE",
"OO_NONSTDVIDEO",
--- 2221,2226 ----
*** ooCapability.h Fri Feb 17 09:49:59 2006
--- /home/Sasa/ooh323c-0.8/src/ooCapability.h Tue Oct 25 20:42:08 2005
***************
*** 38,61 ****
OO_G711ULAW64K = 4,
OO_G711ULAW56K = 5,
OO_G7231 = 9,
- OO_G728 = 10,
OO_G729 = 11,
OO_G729A = 12,
OO_GSMFULLRATE = 18,
OO_GSMHALFRATE = 19,
OO_GSMENHANCEDFULLRATE = 20,
! OO_G726_40K = 26,
! OO_G726_32K = 27,
! OO_G726_24K = 28,
! OO_G726_16K = 29,
! OO_CAP_VIDEO_BASE = 31,
! OO_NONSTDVIDEO = 32,
! OO_H261VIDEO = 33,
! OO_H262VIDEO = 34,
! OO_H263VIDEO = 35,
! OO_IS11172VIDEO = 36, /* mpeg */
! OO_GENERICVIDEO = 37,
! OO_EXTELEMVIDEO = 38
} OOCapabilities;
--- 38,56 ----
OO_G711ULAW64K = 4,
OO_G711ULAW56K = 5,
OO_G7231 = 9,
OO_G729 = 11,
OO_G729A = 12,
OO_GSMFULLRATE = 18,
OO_GSMHALFRATE = 19,
OO_GSMENHANCEDFULLRATE = 20,
! 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;
*** ooh245.c Fri Feb 17 09:57:02 2006
--- /home/Sasa/ooh323c-0.8/src/ooh245.c Tue Oct 25 20:42:08 2005
***************
*** 2904,2917 ****
case OO_G711ALAW56K:
case OO_G711ULAW64K:
case OO_G711ULAW56K:
- case OO_G728:
- case OO_G729:
case OO_G729A:
case OO_G7231:
- case OO_G726_40K:
- case OO_G726_32K:
- case OO_G726_24K:
- case OO_G726_16K:
case OO_GSMFULLRATE:
case OO_H263VIDEO:
ooOpenChannel(call, epCap);
--- 2904,2911 ----
*** ooh323ep.c Fri Feb 17 09:57:52 2006
--- /home/Sasa/ooh323c-0.8/src/ooh323ep.c Tue Oct 25 20:42:08 2005
***************
*** 372,383 ****
gH323ep.listener = NULL;
}
- if(gH323ep.cmdListener != 0)
- {
- ooSocketClose(gH323ep.cmdListener);
- gH323ep.cmdListener = 0;
- }
-
ooGkClientDestroy();
if(gH323ep.fptraceFile)
--- 372,377 ----
***************
*** 604,630 ****
stopReceiveChannel, stopTransmitChannel,
FALSE);
}
- int ooH323EpAddG728Capability(int cap, int txframes, int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel)
- {
- return ooCapabilityAddSimpleCapability(NULL, cap, txframes, rxframes,
FALSE,
- dir, startReceiveChannel,
startTransmitChannel,
- stopReceiveChannel, stopTransmitChannel,
FALSE);
- }
-
- int ooH323EpAddG726Capability(int cap, int txframes, int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel)
- {
- return ooCapabilityAddSimpleCapability(NULL, cap, txframes, rxframes,
FALSE,
- dir, startReceiveChannel,
startTransmitChannel,
- stopReceiveChannel, stopTransmitChannel,
FALSE);
- }
int ooH323EpAddG7231Capability(int cap, int txframes, int rxframes,
OOBOOL silenceSuppression, int dir,
--- 598,603 ----
*** ooh323ep.h Fri Feb 17 10:07:48 2006
--- /home/Sasa/ooh323c-0.8/src/ooh323ep.h Tue Oct 25 20:42:08 2005
***************
*** 496,541 ****
cb_StartTransmitChannel startTransmitChannel,
cb_StopReceiveChannel stopReceiveChannel,
cb_StopTransmitChannel stopTransmitChannel);
-
- /**
- * This function is used to add G728 capability to the H323 endpoint.
- * @param cap Type of G728 capability to be added.
- * @param txframes Number of frames per packet for transmission.
- * @param rxframes Number of frames per packet for reception.
- * @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.
- *
- * @return OO_OK, on success. OO_FAILED, on failure.
- */
- EXTERN int ooH323EpAddG728Capability
- (int cap, int txframes, int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel);
-
- /**
- * This function is used to add G726 capability to the H323 endpoint.
- * @param cap Type of G726 capability to be added.
- * @param txframes Number of frames per packet for transmission.
- * @param rxframes Number of frames per packet for reception.
- * @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.
- *
- * @return OO_OK, on success. OO_FAILED, on failure.
- */
- EXTERN int ooH323EpAddG726Capability
- (int cap, int txframes, int rxframes, int dir,
- cb_StartReceiveChannel startReceiveChannel,
- cb_StartTransmitChannel startTransmitChannel,
- cb_StopReceiveChannel stopReceiveChannel,
- cb_StopTransmitChannel stopTransmitChannel);
/**
--- 496,501 ----