FreeCalypso > hg > themwi-system-sw
view include/gsm48_const.h @ 152:7176dc850d7a
sip-in hold/retr error handling: simply send BYE
Because we know that the SIP state is CONNECTED at the time of any
such error event, we can call initiate_bye() instead of disconnect_sip(),
and thereby get rid of struct gsm_mncc_cause which will never be used
in this scenario anyway.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 11 Oct 2022 16:11:21 -0800 |
parents | 0e907d59d815 |
children |
line wrap: on
line source
/* * This header file contains some GSM 04.08 constants pulled from * Osmocom header file <osmocom/gsm/protocol/gsm_04_08.h>, * beyond those included in mncc.h essential interface definition. */ #ifndef __GSM48_CONST_H #define __GSM48_CONST_H enum gsm48_chan_mode { GSM48_CMODE_SIGN = 0x00, GSM48_CMODE_SPEECH_V1 = 0x01, GSM48_CMODE_SPEECH_EFR = 0x21, GSM48_CMODE_SPEECH_AMR = 0x41, GSM48_CMODE_DATA_14k5 = 0x0f, GSM48_CMODE_DATA_12k0 = 0x03, GSM48_CMODE_DATA_6k0 = 0x0b, GSM48_CMODE_DATA_3k6 = 0x13, GSM48_CMODE_SPEECH_V1_VAMOS = 0xc1, GSM48_CMODE_SPEECH_V2_VAMOS = 0xc2, GSM48_CMODE_SPEECH_V3_VAMOS = 0xc3, GSM48_CMODE_SPEECH_V5_VAMOS = 0xc5, }; /* Section 10.5.4.21 / Table 10.5.127 */ enum gsm48_progress_desc { GSM48_PROGR_NOT_E2E = 0x00, GSM48_PROGR_DEST_NOT_PLMN = 0x02, GSM48_PROGR_ORIG_NOT_PLMN = 0x03, GSM48_PROGR_RETURNED = 0x04, GSM48_PROGR_IN_BAND_AVAIL = 0x08, GSM48_PROGR_CALL_E2E = 0x20, GSM48_PROGR_QUEUEING = 0x40, }; /* Section 10.5.4.23 / Table 10.5.130 */ enum gsm48_signal_val { GSM48_SIGNAL_DIALTONE = 0x00, GSM48_SIGNAL_RINGBACK = 0x01, GSM48_SIGNAL_INTERCEPT = 0x02, GSM48_SIGNAL_NET_CONG = 0x03, GSM48_SIGNAL_BUSY = 0x04, GSM48_SIGNAL_CONFIRM = 0x05, GSM48_SIGNAL_ANSWER = 0x06, GSM48_SIGNAL_CALL_WAIT = 0x07, GSM48_SIGNAL_OFF_HOOK = 0x08, GSM48_SIGNAL_OFF = 0x3f, GSM48_SIGNAL_ALERT_OFF = 0x4f, }; /* Section 10.5.4.11 / Table 10.5.122 */ enum gsm48_cause_coding { GSM48_CAUSE_CODING_CCITT_Q931 = 0x00, GSM48_CAUSE_CODING_RESERVED = 0x01, GSM48_CAUSE_CODING_NATIONAL = 0x02, GSM48_CAUSE_CODING_GSM = 0x03, }; enum gsm48_cause_loc { GSM48_CAUSE_LOC_USER = 0x00, GSM48_CAUSE_LOC_PRN_S_LU = 0x01, GSM48_CAUSE_LOC_PUN_S_LU = 0x02, GSM48_CAUSE_LOC_TRANS_NET = 0x03, GSM48_CAUSE_LOC_PUN_S_RU = 0x04, GSM48_CAUSE_LOC_PRN_S_RU = 0x05, /* not defined */ GSM48_CAUSE_LOC_INN_NET = 0x07, GSM48_CAUSE_LOC_NET_BEYOND = 0x0a, }; /* Section 10.5.4.11 CC Cause / Table 10.5.123 */ enum gsm48_cc_cause { GSM48_CC_CAUSE_UNASSIGNED_NR = 1, GSM48_CC_CAUSE_NO_ROUTE = 3, GSM48_CC_CAUSE_CHAN_UNACCEPT = 6, GSM48_CC_CAUSE_OP_DET_BARRING = 8, GSM48_CC_CAUSE_NORM_CALL_CLEAR = 16, GSM48_CC_CAUSE_USER_BUSY = 17, GSM48_CC_CAUSE_USER_NOTRESPOND = 18, GSM48_CC_CAUSE_USER_ALERTING_NA = 19, GSM48_CC_CAUSE_CALL_REJECTED = 21, GSM48_CC_CAUSE_NUMBER_CHANGED = 22, GSM48_CC_CAUSE_PRE_EMPTION = 25, GSM48_CC_CAUSE_NONSE_USER_CLR = 26, GSM48_CC_CAUSE_DEST_OOO = 27, GSM48_CC_CAUSE_INV_NR_FORMAT = 28, GSM48_CC_CAUSE_FACILITY_REJ = 29, GSM48_CC_CAUSE_RESP_STATUS_INQ = 30, GSM48_CC_CAUSE_NORMAL_UNSPEC = 31, GSM48_CC_CAUSE_NO_CIRCUIT_CHAN = 34, GSM48_CC_CAUSE_NETWORK_OOO = 38, GSM48_CC_CAUSE_TEMP_FAILURE = 41, GSM48_CC_CAUSE_SWITCH_CONG = 42, GSM48_CC_CAUSE_ACC_INF_DISCARD = 43, GSM48_CC_CAUSE_REQ_CHAN_UNAVAIL = 44, GSM48_CC_CAUSE_RESOURCE_UNAVAIL = 47, GSM48_CC_CAUSE_QOS_UNAVAIL = 49, GSM48_CC_CAUSE_REQ_FAC_NOT_SUBSC= 50, GSM48_CC_CAUSE_INC_BARRED_CUG = 55, GSM48_CC_CAUSE_BEARER_CAP_UNAUTH= 57, GSM48_CC_CAUSE_BEARER_CA_UNAVAIL= 58, GSM48_CC_CAUSE_SERV_OPT_UNAVAIL = 63, GSM48_CC_CAUSE_BEARERSERV_UNIMPL= 65, GSM48_CC_CAUSE_ACM_GE_ACM_MAX = 68, GSM48_CC_CAUSE_REQ_FAC_NOTIMPL = 69, GSM48_CC_CAUSE_RESTR_BCAP_AVAIL = 70, GSM48_CC_CAUSE_SERV_OPT_UNIMPL = 79, GSM48_CC_CAUSE_INVAL_TRANS_ID = 81, GSM48_CC_CAUSE_USER_NOT_IN_CUG = 87, GSM48_CC_CAUSE_INCOMPAT_DEST = 88, GSM48_CC_CAUSE_INVAL_TRANS_NET = 91, GSM48_CC_CAUSE_SEMANTIC_INCORR = 95, GSM48_CC_CAUSE_INVAL_MAND_INF = 96, GSM48_CC_CAUSE_MSGTYPE_NOTEXIST = 97, GSM48_CC_CAUSE_MSGTYPE_INCOMPAT = 98, GSM48_CC_CAUSE_IE_NOTEXIST = 99, GSM48_CC_CAUSE_COND_IE_ERR = 100, GSM48_CC_CAUSE_MSG_INCOMP_STATE = 101, GSM48_CC_CAUSE_RECOVERY_TIMER = 102, GSM48_CC_CAUSE_PROTO_ERR = 111, GSM48_CC_CAUSE_INTERWORKING = 127, }; /* Table 10.5.118 / 3GPP TS 24.008 Section 10.5.4.7 */ enum gsm48_type_of_number { GSM48_TON_UNKNOWN = 0, GSM48_TON_INTERNATIONAL = 1, GSM48_TON_NATIONAL = 2, GSM48_TON_NET_SPEC = 3, GSM48_TON_SHORT_CODE = 4, /* reserved */ }; /* Table 10.5.118 / 3GPP TS 24.008 Section 10.5.4.7 */ enum gsm48_numbering_plan { GSM48_NPI_UNKNOWN = 0, GSM48_NPI_ISDN_E164 = 1, GSM48_NPI_DATA_X121 = 3, GSM48_NPI_TELEX_F69 = 4, GSM48_NPI_NATIONAL = 8, GSM48_NPI_PRIVATE = 9, GSM48_NPI_CTS = 11, /* reserved */ }; /* local addition, not from Osmocom: Table 10.5.120 from same spec as above */ enum gsm48_present_ind { GSM48_PRES_ALLOW = 0, GSM48_PRES_RESTR = 1, GSM48_PRES_UNAVAIL = 2, /* reserved */ }; enum gsm48_screen_ind { GSM48_SCRN_USER_NS = 0, GSM48_SCRN_USER_PASS = 1, GSM48_SCRN_USER_FAIL = 2, GSM48_SCRN_NETWORK = 3, }; #endif /* include guard */