view src/g23m-aci/aci/cmh_phb.h @ 301:4bb5772a05a3

AT%SPVER: new command for setting custom speech version lists The speech version list in the Bearer Capability IE tells the network which speech codecs are supported by the MS, and in which order of preference. The standard behaviour is to list all codecs that are supported by the hw+fw platform, and the standard preference order is newer over older, FR over HR. But sometimes it is desirable (for network testing) to artificially restrict which codecs the test MS will declare as supported, and/or to list them in some peculiar non-standard order of preference. Add a new private AT command, AT%SPVER, allowing the user to set and clear custom speech version lists for the Bearer Capability IE composer in CC.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 May 2023 21:43:10 +0000
parents fa8dc04885d8
children
line wrap: on
line source

/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-PS (6147)
|  Modul   :  CMH_PHB
+----------------------------------------------------------------------------- 
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  Definitions for the command handler of the 
|             phonebook management.
+----------------------------------------------------------------------------- 
*/ 

#ifndef CMH_PHB_H
#define CMH_PHB_H

/*==== CONSTANTS ==================================================*/
  
#define PHB_CMH_IDX_MAX     (255) /* index maximum value          */
#define PHB_CMH_IDX_MIN     (1)   /* index minimum value          */

#define PHB_TONPI_NO_DIAL   0xFF  /* SSC String contains no       */
                                  /* dialling number              */
#define PHB_DIAL_WAIT       ('W') /* Dial str. wait for confirm   */
#define PHB_DIAL_PAUSE      ('P') /* DTMF 3 sec pause character   */
#define PHB_DTMF_SEP        ('P') /* DTMF separator character     */
#define PHB_WILD_CRD        ('?') /* PHB wild card character      */
#define PHB_EXP_DIGIT       ('E') /* 11.11 Expansion digit (n.a.) */

/*==== TYPES ======================================================*/

/*==== PROTOTYPES =================================================*/

GLOBAL BOOL  cmhPHB_rplcIntnl  ( CHAR*          inNumber, 
                                 CHAR*          outNumber,
                                 UBYTE          inCnt      );
GLOBAL BOOL  cmhPHB_cvtPhbType ( T_ACI_PB_STOR  inMem,
                                 T_PHB_TYPE*    outMem     );

GLOBAL void  cmhPHB_toaMrg     ( T_ACI_TOA*     type,
                                 UBYTE*         octet      );
GLOBAL void  cmhPHB_toaDmrg    ( UBYTE          octet,
                                 T_ACI_TOA*     type       );
GLOBAL void  cmhPHB_getAdrBcd  ( UBYTE*         pBcd,
                                 UBYTE*         pNumDigits,
                                 UBYTE          maxDigits,
                                 CHAR*          pStr       );
GLOBAL UBYTE cmhPHB_getAdrStr  ( CHAR*          pStr,
                                 UBYTE          maxIdx,
                           const UBYTE*         pBcd,
                                 UBYTE          numDigits  );
GLOBAL void cmhPHB_cpyRecEntr  ( T_ACI_PB_ENTR* entry, 
#ifdef TI_PS_FFS_PHB
                                 T_PHB_TYPE     book,
#endif
                           const T_PHB_RECORD*  record     );
GLOBAL void cmhPHB_invldEntr   ( T_ACI_PB_ENTR* entry      );

GLOBAL T_ACI_RETURN cmhPHB_PlusCPBF  ( T_ACI_CMD_SRC  srcId,
                                       T_ACI_PB_TEXT  *findtext,
                                       T_ACI_SR_TYP   type,
                                       T_ACI_CPBF_MOD mode,
                                       SHORT*         firstIdx,
                                       SHORT*         found,
                                       T_ACI_PB_ENTR* pbLst     );
GLOBAL T_ACI_RETURN cmhPHB_PlusCPBR  ( T_ACI_CMD_SRC  srcId,
                                       T_ACI_SR_TYP   type,
                                       SHORT          startIdx,
                                       SHORT          stopIdx,
                                       SHORT*         lastIdx,
                                       T_ACI_PB_ENTR* pbLst     );
GLOBAL void         cmhPHB_getTagNt  ( UBYTE*         inTag,
                                       UBYTE          maxInLen,
                                       CHAR*          outTag, 
                                       UBYTE          maxOutLen );
GLOBAL void         cmhPHB_getTagSim ( T_ACI_PB_TEXT  *inTag,
                                       UBYTE*         outTag, 
                                       UBYTE          maxOutLen );
GLOBAL void         cmhPHB_invldPhbDateTime
                                     ( T_PHB_RECORD*  record    );
GLOBAL void         cmhPHB_invldCmhDateTime
                                     ( T_ACI_VP_ABS*  dateTime  );
GLOBAL void         cmhPHB_cpyCmhDateTime
                                     ( const T_ACI_VP_ABS*  dateTime,
                                       T_PHB_RECORD*  record    );
GLOBAL void         cmhPHB_cpyPhbDateTime 
                                     ( const T_PHB_RECORD*  record,
                                       T_ACI_VP_ABS*  dateTime  );
GLOBAL void         cmhPHB_StatIndication 
                                     ( T_PHB_STAT     psaStatus,
                                       SHORT          cmeError, 
                                       BOOL           indicate  );

GLOBAL void cmhPHB_getMfwTagSim      ( T_ACI_PB_TEXT*  inTag,
                                       UBYTE*          outTag, 
                                       UBYTE*          outTagLen, 
                                       UBYTE           maxOutLen );
GLOBAL void cmhPHB_getMfwTagNt       ( const UBYTE*    inTag,
                                       UBYTE           maxInLen,
                                       UBYTE*          outTag, 
                                       UBYTE*          maxOutLen );

GLOBAL CHAR cmhPHB_convertBCD2char   ( UBYTE bcd );

GLOBAL void cmhPHB_ksdDecodeToa      (CHAR*         number, 
                                      CHAR**        pNumber, 
                                      T_PHB_RECORD* entry);

/*==== EXPORT =====================================================*/

#ifdef CMH_PHBF_C

GLOBAL T_ENT_STAT phbEntStat;
GLOBAL T_ACI_PBCF_LDN PBCFldn = PBCF_LDN_Enable;
GLOBAL T_ACI_PBCF_LRN PBCFlrn = PBCF_LRN_Enable;
GLOBAL T_ACI_PBCF_LMN PBCFlmn = PBCF_LMN_Enable;

#else

EXTERN T_ENT_STAT phbEntStat;
EXTERN T_ACI_PBCF_LDN PBCFldn;
EXTERN T_ACI_PBCF_LRN PBCFlrn;
EXTERN T_ACI_PBCF_LMN PBCFlmn;

#endif /* CMH_PHBF_C */

#endif /* CMH_PHB_H */

/*==== EOF =======================================================*/