view cdg-hybrid/cdginc/p_mncc.val @ 268:f2e52cab0a73

abb_inth.c: check all interrupt causes, not just one The original code used if - else if - else if etc constructs, thus the first detected interrupt was the only one handled. However, Iota ITSTATREG is a clear-on-read register, thus if we only handle the first detected interrupt and skip checking the others, then the other interrupts will be lost, if more than one interrupt happened to occur in one ABB interrupt handling cycle - a form of rare race condition. Change the code to check all interrupts that were read in this cycle.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 13 Jun 2021 18:17:53 +0000
parents 35f7a1dc9f7d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_mncc.val                                                     |
| SOURCE  : "sap\mncc.pdf"                                                 |
| LastModified : "2003-07-03"                                              |
| IdAndVersion : "6147.101.96.116"                                         |
| SrcFileTime  : "Thu Nov 29 09:47:40 2007"                                |
| Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : MNCC
 * COMPATIBILITY_DEFINES  : NO
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_MNCC_VAL
#define P_MNCC_VAL


#define CDG_ENTER__P_MNCC_VAL

#define CDG_ENTER__FILENAME _P_MNCC_VAL
#define CDG_ENTER__P_MNCC_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_MNCC_VAL__LAST_MODIFIED _2003_07_03
#define CDG_ENTER__P_MNCC_VAL__ID_AND_VERSION _6147_101_96_116

#define CDG_ENTER__P_MNCC_VAL__SRC_FILE_TIME _Thu_Nov_29_09_47_40_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_MNCC_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_ti
 */
#define MNCC_TI_RES_1                  (0x7)      /* reserved                       */
#define MNCC_TI_RES_2                  (0xf)      /* reserved                       */

/*
 * Value constants for VAL_progress_desc
 */
#define MNCC_PROG_NO_END_TO_END_PLMN   (0x1)      /* call is not end-to-end PLMN/ISDN, further call progress information may be available in-band */
#define MNCC_PROG_DEST_NON_PLMN        (0x2)      /* destination address in non-PLMN/ISDN */
#define MNCC_PROG_ORIGIN_NON_PLMN      (0x3)      /* origination address in non-PLMN/ISDN */
#define MNCC_PROG_RETURN_TO_PLMN       (0x4)      /* call has returned to the PLMN/ISDN */
#define MNCC_PROG_INBAND_AVAIL         (0x8)      /* in-band information or appropriate pattern now available */
#define MNCC_PROG_END_TO_END_PLMN      (0x20)     /* call is end-to-end PLMN/ISDN   */
#define MNCC_PROG_QUEUEING             (0x40)     /* queueing                       */
#define MNCC_PROG_UNSPECIFIC           (0xfe)     /* unspecific, used when coding standard is not equal to GSM; note that the value chosen here must not collide with any defined value of  the progress description IE of the air interface */
#define MNCC_PROG_NOT_PRES             (0xff)     /* not present                    */

/*
 * Value constants for VAL_fac_context
 */
#define MNCC_FAC_IN_ALERT              (0x0)      /* Facility information in ALERT message */
#define MNCC_FAC_IN_CALL_PROCEED       (0x1)      /* Facility information in CALL PROCEEDING message */
#define MNCC_FAC_IN_DISCONNECT         (0x2)      /* Facility information in DISCONNECT message */
#define MNCC_FAC_IN_RELEASE            (0x3)      /* Facility information in RELEASE message */
#define MNCC_FAC_IN_CONNECT            (0x4)      /* Facility information in CONNECT message */
#define MNCC_FAC_IN_SETUP              (0x5)      /* Facility information in SETUP message */
#define MNCC_FAC_IN_FACILITY           (0x6)      /* Facility information in USER INFORMATION message */
#define MNCC_FAC_IN_RELEASE_COMP       (0x7)      /* Facility information in RELEASE COMPLETE message */
#define MNCC_FAC_IN_RECALL             (0x8)      /* Facility information in RECALL message */

/*
 * Value constants for VAL_info_context
 */
#define MNCC_USER_IN_ALERT             (0x0)      /* User information in ALERT message */
#define MNCC_USER_IN_DISCONNECT        (0x1)      /* User information in DISCONNECT message */
#define MNCC_USER_IN_PROGRESS          (0x2)      /* User information in PROGRESS message */
#define MNCC_USER_IN_RELEASE           (0x3)      /* User information in RELEASE message */
#define MNCC_USER_IN_CONNECT           (0x4)      /* User information in CONNECT message */
#define MNCC_USER_IN_SETUP             (0x5)      /* User information in SETUP message */
#define MNCC_USER_IN_USER              (0x6)      /* User information in USER INFORMATION message */

/*
 * Value constants for VAL_pd
 */
#define MNCC_PD_USER                   (0x0)      /* user specific protocol         */
#define MNCC_PD_HIGH_LAYER             (0x1)      /* OSI high layer protocols       */
#define MNCC_PD_X244                   (0x2)      /* X.244                          */
#define MNCC_PD_SYS_MANAGE             (0x3)      /* reserved for system management convergence function */
#define MNCC_PD_IA5                    (0x4)      /* IA5 characters                 */
#define MNCC_PD_V120                   (0x7)      /* Rec.V.120 rate adaption        */
#define MNCC_PD_Q931                   (0x8)      /* Q.931 (I.451) user-network call control messages */

/*
 * Value constants for VAL_serv
 */
#define MNCC_SERV_SPEECH               (0x0)      /* speech                         */
#define MNCC_SERV_DATA                 (0x1)      /* data                           */
#define MNCC_SERV_NOT_PRES             (0xff)     /* not present                    */

/*
 * Value constants for VAL_cause
 */
#define MNCC_CAUSE_UNASSIGN            (0x501)    /* unassigned (unallocated) number */
#define MNCC_CAUSE_NO_ROUTE            (0x503)    /* no route to destination        */
#define MNCC_CAUSE_CHAN_UNACCEPT       (0x506)    /* channel unacceptable           */
#define MNCC_CAUSE_BARRED              (0x508)    /* operator determined barring    */
#define MNCC_CAUSE_CALL_CLEAR          (0x510)    /* normal call clearing           */
#define MNCC_CAUSE_USER_BUSY           (0x511)    /* user busy                      */
#define MNCC_CAUSE_NO_RESPONSE         (0x512)    /* no user responding             */
#define MNCC_CAUSE_ALERT_NO_ANSWER     (0x513)    /* user alerting, no answer       */
#define MNCC_CAUSE_CALL_REJECT         (0x515)    /* call rejected                  */
#define MNCC_CAUSE_NUM_CHANGED         (0x516)    /* number changed                 */
#define MNCC_CAUSE_PREEMPTION          (0x519)    /* pre-emption                    */
#define MNCC_CAUSE_USER_CLEAR          (0x51a)    /* non selected user clearing     */
#define MNCC_CAUSE_DEST_ORDER          (0x51b)    /* destination out of order       */
#define MNCC_CAUSE_NUM_FORMAT          (0x51c)    /* invalid number format (incomplete number) */
#define MNCC_CAUSE_FACILITY_REJECT     (0x51d)    /* facility rejected              */
#define MNCC_CAUSE_STATUS_ENQUIRY      (0x51e)    /* response to status enquiry     */
#define MNCC_CAUSE_UNSPECIFIED         (0x51f)    /* normal, unspecified            */
#define MNCC_CAUSE_NO_CHAN_AVAIL       (0x522)    /* no circuit / channel available */
#define MNCC_CAUSE_NETWORK_ORDER       (0x526)    /* network out of order           */
#define MNCC_CAUSE_TEMP_FAIL           (0x529)    /* temporary failure              */
#define MNCC_CAUSE_SWITCH_CONGEST      (0x52a)    /* switching equipment congestion */
#define MNCC_CAUSE_INFO_DISCARD        (0x52b)    /* access information discarded   */
#define MNCC_CAUSE_REQ_CHAN_UNAVAIL    (0x52c)    /* requested circuit / channel not available */
#define MNCC_CAUSE_RESOURCE_UNAVAIL    (0x52f)    /* resources unavailable, unspecified */
#define MNCC_CAUSE_QOS_UNAVAIL         (0x531)    /* quality of service unavailable */
#define MNCC_CAUSE_FACILITY_UNSUBSCRIB (0x532)    /* requested facility not subscribed */
#define MNCC_CAUSE_BARRED_IN_CUG       (0x537)    /* incoming calls barred within the CUG */
#define MNCC_CAUSE_BEARER_CAP_AUTHORIZ (0x539)    /* bearer capability not authorized */
#define MNCC_CAUSE_BEARER_CAP_UNAVAIL  (0x53a)    /* bearer capability not presently available */
#define MNCC_CAUSE_SERVICE_UNAVAIL     (0x53f)    /* service or option not available, unspecified */
#define MNCC_CAUSE_BEARER_NOT_IMPLEM   (0x541)    /* bearer service not implemented */
#define MNCC_CAUSE_ACM_MAX             (0x544)    /* ACM equal or greater than ACMmax */
#define MNCC_CAUSE_FACILITY_NOT_IMPLEM (0x545)    /* requested facility not implemented */
#define MNCC_CAUSE_RESTICT_BEARER_CAP  (0x546)    /* only restricted digital information bearer capability is available */
#define MNCC_CAUSE_SERVICE_NOT_IMPLEM  (0x54f)    /* service or option not implemented, unspecified */
#define MNCC_CAUSE_INVALID_TI          (0x551)    /* invalid transaction identifier value */
#define MNCC_CAUSE_USER_NOT_IN_CUG     (0x557)    /* user not member of CUG         */
#define MNCC_CAUSE_INCOMPAT_DEST       (0x558)    /* incompatible destination (originated by net) */
#define MNCC_CAUSE_INVALID_TRANS_NET   (0x55b)    /* invalid transit network selection */
#define MNCC_CAUSE_INCORRECT_MESSAGE   (0x55f)    /* semantically incorrect message */
#define MNCC_CAUSE_INVALID_MAND_INFO   (0x560)    /* invalid mandatory information  */
#define MNCC_CAUSE_MESSAGE_TYPE_NOT_IMPLEM (0x561)/* message type non-existent or not implemented */
#define MNCC_CAUSE_MESSAGE_TYPE_INCOMPAT (0x562)  /* message type not compatible with protocol state */
#define MNCC_CAUSE_INFO_ELEM_NOT_IMPLEM (0x563)   /* information element non-existent or not implemented */
#define MNCC_CAUSE_COND_INFO_ELEM      (0x564)    /* conditional information element error */
#define MNCC_CAUSE_MESSAGE_INCOMPAT    (0x565)    /* message not compatible with protocol state */
#define MNCC_CAUSE_TIMER               (0x566)    /* recovery on timer expiry       */
#define MNCC_CAUSE_PROTOCOL            (0x56f)    /* protocol error, unspecified    */
#define MNCC_CAUSE_INTERWORKING        (0x57f)    /* interworking, unspecified      */
#define MNCC_CAUSE_MS_FACILITY_REJECT  (0x451d)   /* facility rejected (originated by MS) */
#define MNCC_CAUSE_MS_BEARER_NOT_IMPLEM (0x4541)  /* bearer service not implemented (originated by MS) */
#define MNCC_CAUSE_MS_INVALID_TI       (0x4551)   /* invalid transaction identifier value (originated by MS) */
#define MNCC_CAUSE_MS_INCOMPAT_DEST    (0x4558)   /* incompatible destination (originated by MS) */
#define MNCC_CAUSE_MS_INVALID_MAND_INFO (0x4560)  /* invalid mandatory information (originated by MS) */
#define MNCC_CAUSE_MS_COND_INFO_ELEM   (0x4564)   /* conditional information element error (originated by MS) */
#define MNCC_CAUSE_MS_MESSAGE_INCOMPAT (0x4565)   /* message not compatible with protocol state (originated by MS) */
#define MNCC_CAUSE_MS_TIMER            (0x4566)   /* recovery on timer expiry (originated by MS) */
#define MNCC_CAUSE_MODIFY_SUCCESS      (0x8500)   /* in-call modification successfully performed, MODIFY COMPLETE message received */
#define MNCC_CAUSE_HOLD_SUCCESS        (0x8502)   /* hold successfully performed, HOLD ACKNOWLEDGE message received */
#define MNCC_CAUSE_RETRIEVE_SUCCESS    (0x8503)   /* retrieve successfully performed, RETRIEVE ACKNOWLEDGE message received */
#define MNCC_CAUSE_DTMF_START_SUCCESS  (0x8504)   /* start of DTMF successfully performed, START DTMF ACKNOWLEDGE message received */
#define MNCC_CAUSE_DTMF_STOP_SUCCESS   (0x8505)   /* stop of DTMF successfully performed, STOP DTMF ACKNOWLEDGE message received */
#define MNCC_CAUSE_NO_NET_CAUSE        (0x85ff)   /* network initiated without cause */
#define MNCC_CAUSE_SUCCESS             (0xc500)   /* operation successfully performed (e.g. a call establishment); this cause is used only if no more specific cause applies */
#define MNCC_CAUSE_DTMF_NOT_ALLOWED    (0xc501)   /* DTMF is currently not allowed (no speech TCH) */
#define MNCC_CAUSE_DTMF_BUFFER_FULL    (0xc502)   /* DTMF storage buffer overflow   */
#define MNCC_CAUSE_DTMF_ABORTED        (0xc503)   /* DTMF was aborted (e.g. due to state change) */
#define MNCC_CAUSE_MAX_NO_RECALLS_REACHED (0xc504)/* maximum number of recalls (CCBS) was reached */
#define MNCC_CAUSE_MAX_NO_CALLS_REACHED (0xc505)  /* maximum number of calls was reached */
#define MNCC_CAUSE_CHANNEL_SYNC        (0xc506)   /* channel mode or type information (changed) */
#define MNCC_CAUSE_REEST_STARTED       (0xc507)   /* call re-establishment started  */
#define MNCC_CAUSE_REEST_FINISHED      (0xc508)   /* call re-establishment is finished */
#define MNCC_CAUSE_NO_MS_CAUSE         (0xc5ff)   /* MS initiated without cause     */

/*
 * Value constants for VAL_nd
 */
#define MNCC_ND_USER_SUSPEND           (0x0)      /* user suspended                 */
#define MNCC_ND_USER_RESUME            (0x1)      /* user resumed                   */
#define MNCC_ND_BEAR_CHANGE            (0x2)      /* bearer change                  */
#define MNCC_ND_NOT_PRES               (0xff)     /* not present                    */

/*
 * Value constants for VAL_tos
 */
#define MNCC_TOS_NSAP                  (0x0)      /* NSAP (X.213/ISO 8348 AD2)      */
#define MNCC_TOS_USER_SPEC             (0x2)      /* user specified                 */
#define MNCC_TOS_NOT_PRES              (0xff)     /* not present                    */

/*
 * Value constants for VAL_odd_even
 */
#define MNCC_OE_EVEN                   (0x0)      /* even number of address signals */
#define MNCC_OE_ODD                    (0x1)      /* odd number of address signals  */

/*
 * Value constants for VAL_key
 */
#define MNCC_DIG_0                     (0x30)     /* digit '0'                      */
#define MNCC_DIG_1                     (0x31)     /* digit '1'                      */
#define MNCC_DIG_2                     (0x32)     /* digit '2'                      */
#define MNCC_DIG_3                     (0x33)     /* digit '3'                      */
#define MNCC_DIG_4                     (0x34)     /* digit '4'                      */
#define MNCC_DIG_5                     (0x35)     /* digit '5'                      */
#define MNCC_DIG_6                     (0x36)     /* digit '6'                      */
#define MNCC_DIG_7                     (0x37)     /* digit '7'                      */
#define MNCC_DIG_8                     (0x38)     /* digit '8'                      */
#define MNCC_DIG_9                     (0x39)     /* digit '9'                      */
#define MNCC_DIG_A                     (0x41)     /* 'A'                            */
#define MNCC_DIG_B                     (0x42)     /* 'B'                            */
#define MNCC_DIG_C                     (0x43)     /* 'C'                            */
#define MNCC_DIG_D                     (0x44)     /* 'D'                            */
#define MNCC_DIG_STAR                  (0x2a)     /* '('                            */
#define MNCC_DIG_HASH                  (0x23)     /* '#'                            */
#define MNCC_DIG_RES                   (0x7f)     /* reserved                       */

/*
 * Value constants for VAL_ch_mode
 */
#define MNCC_CHM_SIG_ONLY              (0x0)      /* signalling only                */
#define MNCC_CHM_SPEECH                (0x1)      /* speech full rate or half rate version 1 */
#define MNCC_CHM_SPEECH_V2             (0x21)     /* speech full rate or half rate version 2 */
#define MNCC_CHM_SPEECH_V3             (0x41)     /* speech full rate or half rate version 3 */
#define MNCC_CHM_DATA_9_6              (0x3)      /* data 9.6 kBit/s                */
#define MNCC_CHM_DATA_4_8              (0xb)      /* data 4.8 kBit/s                */
#define MNCC_CHM_DATA_2_4              (0x13)     /* data 2.4 kBit/s                */
#define MNCC_CHM_DATA_14_4             (0xf)      /* data 2.4 kBit/s                */

/*
 * Value constants for VAL_ch_type
 */
#define MNCC_CH_SDCCH                  (0x0)      /* SDCCH channel                  */
#define MNCC_CH_TCH_F                  (0x1)      /* TCH Fullrate                   */
#define MNCC_CH_TCH_H                  (0x2)      /* TCH Halfrate                   */

/*
 * Value constants for VAL_more_data
 */
#define MNCC_MD_NO_MORE_DATA           (0x0)      /* no more data                   */
#define MNCC_MD_MORE_DATA              (0x1)      /* more data                      */
#define MNCC_MD_NOT_PRES               (0xff)     /* not present                    */

/*
 * Value constants for VAL_prio
 */
#define MNCC_PRIO_NORM_CALL            (0x0)      /* normal call                    */
#define MNCC_PRIO_EMERG_CALL           (0x1)      /* emergency call                 */

/*
 * Value constants for VAL_clir_sup
 */
#define MNCC_CLR_SUP                   (0x0)      /* CLIR suppressed                */
#define MNCC_CLR_SUP_NOT               (0x1)      /* CLIR not suppressed            */
#define MNCC_CLR_NOT_PRES              (0xff)     /* CLIR not present               */

/*
 * Value constants for VAL_sig
 */
#define MNCC_SIG_DIAL_TONE_ON          (0x0)      /* dial tone on                   */
#define MNCC_SIG_RING_BACK_TONE_ON     (0x1)      /* ring back tone on              */
#define MNCC_SIG_INT_TONE_ON           (0x2)      /* intercept tone on              */
#define MNCC_SIG_NET_CONG_TONE_ON      (0x3)      /* network congestion tone on     */
#define MNCC_SIG_BUSY_TONE_ON          (0x4)      /* busy tone on                   */
#define MNCC_SIG_CONF_TONE_ON          (0x5)      /* confirm tone on                */
#define MNCC_SIG_ANS_TONE_ON           (0x6)      /* answer tone on                 */
#define MNCC_SIG_CALL_WAIT_TONE_ON     (0x7)      /* call waiting tone on           */
#define MNCC_SIG_OFF_HOOK_WARN_TONE_ON (0x8)      /* off-hook warning tone on       */
#define MNCC_SIG_TONES_OFF             (0x3f)     /* tones off                      */
#define MNCC_SIG_ALERT_OFF             (0x4f)     /* alerting off                   */
#define MNCC_SIG_NOT_PRES              (0xff)     /* not present                    */

/*
 * Value constants for VAL_congest_lev
 */
#define MNCC_CL_RECEIVER_READY         (0x0)      /* receiver ready                 */
#define MNCC_CL_RECEIVER_NOT_READY     (0xf)      /* receiver not ready             */
#define MNCC_CL_NOT_PRES               (0xff)     /* not present                    */

/*
 * Value constants for VAL_ss_version
 */
#define MNCC_SS_VERSION_2              (0x0)      /* phase 2 service, ellipsis notation and phase 2 error handling */
#define MNCC_SS_VERSION_3              (0x1)      /* SS-Protocol version 3 and phase 2 error handling */
#define MNCC_SS_VER_NOT_PRES           (0xff)     /* not present                    */

/*
 * Value constants for VAL_ri
 */
#define MNCC_RI_CIRCULAR               (0x1)      /* circular                       */
#define MNCC_RI_FALLBACK               (0x2)      /* fallback                       */
#define MNCC_RI_SEQUENTIAL             (0x3)      /* sequential                     */
#define MNCC_RI_NOT_PRES               (0xff)     /* not present                    */

/*
 * Value constants for VAL_transfer_cap
 */
#define MNCC_ITC_NONE                  (0x0)      /* No ITC - i.e. 3,1 kHz Audio    */
#define MNCC_ITC_UDI                   (0x1)      /* Unrestricted Digital           */
#define MNCC_ITC_RDI                   (0x2)      /* Restricted Digital             */

/*
 * Value constants for VAL_parity
 */
#define MNCC_PARITY_ODD                (0x0)      /* odd parity                     */
#define MNCC_PARITY_EVEN               (0x2)      /* even parity                    */
#define MNCC_PARITY_NONE               (0x3)      /* no parity                      */
#define MNCC_PARITY_FORCED_TO_0        (0x4)      /* parity forced to zero          */
#define MNCC_PARITY_FORCED_TO_1        (0x5)      /* parity forced to one           */

/*
 * Value constants for VAL_bearer_serv
 */
#define MNCC_BEARER_SERV_SYNC          (0x0)      /* synchronous                    */
#define MNCC_BEARER_SERV_ASYNC         (0x1)      /* asynchronous                   */
#define MNCC_BEARER_SERV_PAD_ACCESS    (0x2)      /* PAD access (async)             */
#define MNCC_BEARER_SERV_PACKET_ACCESS (0x3)      /* packet access (sync)           */
#define MNCC_BEARER_SERV_FAX           (0x4)      /* fax                            */
#define MNCC_BEARER_SERV_SPEECH        (0x5)      /* Speech                         */
#define MNCC_BEARER_SERV_AUX_SPEECH    (0x6)      /* Auxiliary Speech               */
#define MNCC_BEARER_SERV_SPEECH_CTM    (0x7)      /* Speech with CTM (TTY) support  */
#define MNCC_BEARER_SERV_AUX_SPEECH_CTM (0x8)     /* Auxiliary Speech CTM (TTY) support */
#define MNCC_BEARER_SERV_NOT_PRES      (0xff)     /* not present                    */

/*
 * Value constants for VAL_modem_type
 */
#define MNCC_MT_NONE                   (0x0)      /* modem type none                */
#define MNCC_MT_V21                    (0x1)      /* modem type V.21                */
#define MNCC_MT_V22                    (0x2)      /* modem type V.22                */
#define MNCC_MT_V22_BIS                (0x3)      /* modem type V.22bis             */
#define MNCC_MT_V23                    (0x4)      /* modem type V.23                */
#define MNCC_MT_V26_TER                (0x5)      /* modem type V.26ter             */
#define MNCC_MT_V32                    (0x6)      /* modem type V.32                */
#define MNCC_MT_UNDEF                  (0x7)      /* modem type for undefined interface */
#define MNCC_MT_AUTOBAUD               (0x8)      /* modem type autobauding type 1  */
#define MNCC_MT_V32_BIS                (0x9)      /* modem type V.32bis             */
#define MNCC_MT_V34                    (0xa)      /* modem type V.34                */

/*
 * Value constants for VAL_rate
 */
#define MNCC_UR_0_3_KBIT               (0x1)      /* rate : 0.3 kbit/s Recommendation X.1 and V.110 */
#define MNCC_UR_1_2_KBIT               (0x2)      /* rate : 1.2 kbit/s Recommendation X.1 and V.110 */
#define MNCC_UR_2_4_KBIT               (0x3)      /* rate : 2.4 kbit/s Recommendation X.1 and V.110 */
#define MNCC_UR_4_8_KBIT               (0x4)      /* rate : 4.8 kbit/s Recommendation X.1 and V.110 */
#define MNCC_UR_9_6_KBIT               (0x5)      /* rate : 9.6 kbit/s Recommendation X.1 and V.110 */
#define MNCC_UR_12_0_KBIT_TRANS        (0x6)      /* rate : 12.0 kbit/s transparent */
#define MNCC_UR_1_2_KBIT_V23           (0x7)      /* rate : 1.2 kbit/s/75 bit/s Recommendation V.23, X.1,V.110. */
#define MNCC_UR_14_4_KBIT              (0x8)      /* rate : 14.4 kbit/s             */
#define MNCC_UR_NOT_PRES               (0xff)     /* not present                    */

/*
 * Value constants for VAL_flow_control
 */
#define MNCC_INBAND_FLOW_CONTROL       (0x8)      /* inband flow control (ISO 6429) */
#define MNCC_NO_FLOW_CONTROL           (0xc)      /* no flow control (COPnoFLCT)    */
#define MNCC_OUTBAND_FLOW_CONTROL      (0xff)     /* outband flow control           */

/*
 * Value constants for VAL_conn_elem
 */
#define MNCC_CONN_ELEM_TRANS           (0x0)      /* transparent                    */
#define MNCC_CONN_ELEM_NON_TRANS       (0x1)      /* non transparent (RLP)          */
#define MNCC_CONN_ELEM_TRANS_PREF      (0x2)      /* both, transparent preferred    */
#define MNCC_CONN_ELEM_NON_TRANS_PREF  (0x3)      /* both, non transparent (RLP) preferred */
#define MNCC_CONN_ELEM_NOT_PRES        (0xff)     /* not present                    */

/*
 * Value constants for VAL_stop_bits
 */
#define MNCC_STOP_1_BIT                (0x0)      /* one stop bit                   */
#define MNCC_STOP_2_BIT                (0x1)      /* two stop bits                  */

/*
 * Value constants for VAL_rate_adaption
 */
#define MNCC_RATE_ADAPT_NONE           (0x0)      /* No rate adaption               */
#define MNCC_RATE_ADAPT_V110           (0x1)      /* Information transfer capability for ISDN Asynchronous */
#define MNCC_RATE_ADAPT_X31            (0x2)      /* X.31 Flag stuffing             */
#define MNCC_RATE_ADAPT_V120           (0x3)      /* Information transfer capability for ISDN Synchronous */
#define MNCC_RATE_ADAPT_H223_H245      (0x4)      /* H.223 and H.245                */
#define MNCC_RATE_ADAPT_PIAFS          (0x5)      /* PIAFS                          */

/*
 * Value constants for VAL_data_bits
 */
#define MNCC_DATA_7_BIT                (0x0)      /* seven data bits                */
#define MNCC_DATA_8_BIT                (0x1)      /* eight data bits                */

/*
 * Value constants for VAL_diagnostic
 */
#define MNCC_DIAG_MOC_BAR_CUG          (0x81)     /* Outgoing calls barred within CUG */
#define MNCC_DIAG_NO_CUG_SELECTED      (0x82)     /* No CUG selected                */
#define MNCC_DIAG_UNKNOWN_CUG_INDEX    (0x83)     /* Unknown CUG index              */
#define MNCC_DIAG_INCOMPAT_CUG_INDEX   (0x84)     /* CUG index incompatible with requested basic service */
#define MNCC_DIAG_CUG_FAIL_UNSPEC      (0x85)     /* CUG call Failure unspecified   */
#define MNCC_DIAG_CLIR_NOT_SUBSCRIBED  (0x86)     /* CLIR not subscribed            */
#define MNCC_DIAG_CCBS_POSSIBLE        (0x87)     /* CCBS possible                  */
#define MNCC_DIAG_CCBS_NOT_POSSIBLE    (0x88)     /* CCBS not possible              */

/*
 * Value constants for VAL_ss_diag
 */
#define MNCC_SS_DIAG_MOC_BAR_CUG       (0x1)      /* Outgoing calls barred within CUG */
#define MNCC_SS_DIAG_NO_CUG_SELECTED   (0x2)      /* No CUG selected                */
#define MNCC_SS_DIAG_UNKNOWN_CUG_INDEX (0x3)      /* Unknown CUG index              */
#define MNCC_SS_DIAG_INCOMPAT_CUG_INDEX (0x4)     /* CUG index incompatible with requested basic service */
#define MNCC_SS_DIAG_CUG_FAIL_UNSPEC   (0x5)      /* CUG call Failure unspecified   */
#define MNCC_SS_DIAG_CLIR_NOT_SUBSCRIBED (0x6)    /* CLIR not subscribed            */
#define MNCC_SS_DIAG_CCBS_POSSIBLE     (0x7)      /* CCBS possible                  */
#define MNCC_SS_DIAG_CCBS_NOT_POSSIBLE (0x8)      /* CCBS not possible              */
#define MNCC_SS_DIAG_NOT_PROVIDED      (0xff)     /* Not Provided                   */

/*
 * Value constants for VAL_sns_mode
 */
#define MNCC_SNS_MODE_VOICE            (0x0)      /* voice calls                    */
#define MNCC_SNS_MODE_VAF_VOICE        (0x1)      /* voice alternating FAX, voice first */
#define MNCC_SNS_MODE_FAX              (0x2)      /* FAX calls                      */
#define MNCC_SNS_MODE_VAD_VOICE        (0x3)      /* voice alternating data, voice first */
#define MNCC_SNS_MODE_DATA             (0x4)      /* data calls                     */
#define MNCC_SNS_MODE_VAF_FAX          (0x5)      /* voice alternating FAX, FAX first */
#define MNCC_SNS_MODE_VAD_DATA         (0x6)      /* voice alternating data, data first */
#define MNCC_SNS_MODE_VFD              (0x7)      /* voice followed by data         */

/*
 * Value constants for VAL_dtmf_mod
 */
#define MNCC_DTMF_MOD_AUTO             (0x0)      /* automatic mode with fixed duration */
#define MNCC_DTMF_MOD_MAN_START        (0x1)      /* manual mode start sending DTMF digit */
#define MNCC_DTMF_MOD_MAN_STOP         (0x2)      /* manual mode stop sending DTMF digit */

/*
 * Value constants for VAL_bc_mod
 */
#define MNCC_BC_MOD_CODE               (0x0)      /* code bearer capabilities       */
#define MNCC_BC_MOD_DECODE             (0x1)      /* decode bearer capabilities     */

/*
 * Value constants for VAL_rcl_type
 */
#define MNCC_RCL_CCBS                  (0x0)      /* CCBS                           */
#define MNCC_RCL_CCBS_1                (0x1)      /* treated as CCBS                */
#define MNCC_RCL_CCBS_2                (0x2)      /* treated as CCBS                */
#define MNCC_RCL_CCBS_3                (0x3)      /* treated as CCBS                */
#define MNCC_RCL_CCBS_4                (0x4)      /* treated as CCBS                */
#define MNCC_RCL_CCBS_5                (0x5)      /* treated as CCBS                */
#define MNCC_RCL_CCBS_6                (0x6)      /* treated as CCBS                */

/*
 * Value constants for VAL_synccs
 */
#define MNCC_SYNCCS_MPTY_EVENT         (0x0)      /* Multi party event              */
#define MNCC_SYNCCS_NOT_PRESENT        (0xffff)   /* Synchronization cause not present */

/*
 * Value constants for VAL_mpty_event
 */
#define MNCC_MPTY_BUILD_SENT           (0x0)      /* BuildMPTY Invoke sent          */
#define MNCC_MPTY_BUILD_FAIL           (0x1)      /* BuildMPTY Invoke failed        */
#define MNCC_MPTY_BUILD_SUCCESS        (0x2)      /* BuildMPTY Invoke ok            */
#define MNCC_MPTY_SPLIT_SENT           (0x3)      /* SplitMPTY Invoke sent          */
#define MNCC_MPTY_SPLIT_FAIL           (0x4)      /* SplitMPTY Invoke failed        */
#define MNCC_MPTY_SPLIT_SUCCESS        (0x5)      /* SplitMPTY Invoke Return Result ok */
#define MNCC_MPTY_HOLD_SENT            (0x6)      /* HoldMPTY Invoke sent           */
#define MNCC_MPTY_HOLD_FAIL            (0x7)      /* HoldMPTY Invoke failed         */
#define MNCC_MPTY_HOLD_SUCCESS         (0x8)      /* HoldMPTY Invoke ok             */
#define MNCC_MPTY_RETRIEVE_SENT        (0x9)      /* RetrieveMPTY Invoke            */
#define MNCC_MPTY_RETRIEVE_FAIL        (0xa)      /* RetrieveMPTY Invoke failed     */
#define MNCC_MPTY_RETRIEVE_SUCCESS     (0xb)      /* RetrieveMPTY Invoke Return Result ok */
#define MNCC_MPTY_NOT_PRESENT          (0xff)     /* Parameter not present          */

/*
 * Value constants for VAL_ctm_ena
 */
#define MNCC_CTM_DISABLED              (0x0)      /* CTM not supported              */
#define MNCC_CTM_ENABLED               (0x1)      /* CTM supported                  */

/*
 * Value constants for VAL_ton
 */
#define MNCC_TON_UNKNOWN               (0x0)      /* unknown                        */
#define MNCC_TON_INT_NUMB              (0x1)      /* international number           */
#define MNCC_TON_NAT_NUMB              (0x2)      /* national number                */
#define MNCC_TON_NET_SPEC_NUMB         (0x3)      /* network specific number        */
#define MNCC_TON_DED_ACC_SC            (0x4)      /* dedicated access, short code   */
#define MNCC_TON_NOT_PRES              (0xff)     /* type of number not present     */

/*
 * Value constants for VAL_npi
 */
#define MNCC_NPI_UNKNOW                (0x0)      /* unknown                        */
#define MNCC_NPI_ISDN_TEL_NUMB_PLAN    (0x1)      /* ISDN/telephony numbering plan  */
#define MNCC_NPI_DATA_NUMB_PLAN        (0x3)      /* data numbering plan            */
#define MNCC_NPI_TELEX_NUMB_PLAN       (0x4)      /* telex numbering plan           */
#define MNCC_NPI_NAT_NUMB_PLAN         (0x8)      /* national numbering plan        */
#define MNCC_NPI_PRIV_NUMB_PLAN        (0x9)      /* private numbering plan         */
#define MNCC_NPI_NOT_PRES              (0xff)     /* numbering plan identification not present */

/*
 * Value constants for VAL_present
 */
#define MNCC_PRES_PRES_ALLOW           (0x0)      /* presentation allowed           */
#define MNCC_PRES_PRES_REST            (0x1)      /* presentation restricted        */
#define MNCC_PRES_NUMB_NOT_AVAIL       (0x2)      /* number not available due to interworking */
#define MNCC_PRES_NOT_PRES             (0xff)     /* not present                    */

/*
 * Value constants for VAL_screen
 */
#define MNCC_SCREEN_USER_PROV_NOT_SCREEN (0x0)    /* user provided, not screened    */
#define MNCC_SCREEN_USER_PROV_VER_PASS (0x1)      /* user provided, verified and passed */
#define MNCC_SCREEN_USER_PROV_VER_FAIL (0x2)      /* user provided, verified and failed */
#define MNCC_SCREEN_NET_PROV           (0x3)      /* network provided               */
#define MNCC_SCREEN_IND_NOT_PRES       (0xff)     /* not present                    */

/*
 * user defined constants
 */
#define MNCC_FACILITY_LEN              (0xfb)     
#define MNCC_USER_LEN                  (0x80)     
#define MNCC_MAX_CC_CALLING_NUMBER     (0x16)     
#define MNCC_MAX_CC_REDIR_NUMBER       (0x20)     
#define MNCC_MAX_CC_CALLED_NUMBER      (0x50)     
#define MNCC_SUB_LENGTH                (0x14)     
#define MNCC_MAX_BC_LEN                (0xa)      
#define MNCC_CC_ORIGINATING_ENTITY     (0x5)      
#define MNCC_ACI_ORIGINATING_ENTITY    (0x1)      
#define MNCC_TI_BERLIN                 (0x1)      
#define MNCC_MAX_CC_CAUSE_LENGTH       (0x1e)     

#include "CDG_LEAVE.h"


#endif