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 ----

Reply via email to