FreeCalypso > hg > freecalypso-sw
annotate gsm-fw/g23m-gsm/cc/cc_rel.c @ 695:698a036a023d
cc_pei.c compiles
| author | Michael Spacefalcon <msokolov@ivan.Harhan.ORG> | 
|---|---|
| date | Tue, 30 Sep 2014 02:14:08 +0000 | 
| parents | 2f7df7a314f8 | 
| children | 7204091241d0 | 
| rev | line source | 
|---|---|
| 673 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 | Project : GSM-PS (6147) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | Modul : CC_REL | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 | All rights reserved. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 17 | Purpose : This Modul defines the functions for call release | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 18 | of the component CC of the mobile station. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 19 +----------------------------------------------------------------------------- | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 20 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 21 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 22 #ifndef CC_REL_C | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 23 #define CC_REL_C | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 24 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 25 #define ENTITY_CC | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 26 /*==== INCLUDES ===================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 27 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 28 #include <string.h> | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 29 #include "typedefs.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 30 #include "pcm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 31 #include "vsi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 32 #include "custom.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 33 #include "gsm.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 34 #include "message.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 35 #include "ccdapi.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 36 #include "prim.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 37 #include "cnf_cc.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 38 #include "mon_cc.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 39 #include "pei.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 40 #include "tok.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 41 #include "cc.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 42 #include "cc_em.h" | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 43 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 44 /*==== EXPORT =====================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 45 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 46 /*==== PROTOTYPES =================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 47 /* Implements Measure# 8 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 48 LOCAL void cc_mncc_release_ind (T_PRIM * prim); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 49 /* Implements Measure# 9 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 50 LOCAL void cc_mncc_release_cnf (T_PRIM * prim); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 51 /* Implements Measure# 41 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 52 LOCAL void cc_mncc_sync_ind ( UBYTE ti, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 53 UBYTE new_state); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 54 /*==== PRIVAT =====================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 55 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 56 /*==== VARIABLES ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 57 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 58 /*==== FUNCTIONS ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 59 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 60 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 61 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 62 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 63 | STATE : code ROUTINE : cc_check_setup_reattempt | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 64 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 65 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 66 PURPOSE : This function checks whether a the mobile originated setup | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 67 may be reattempted. This will be done for some certain | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 68 reasons which may indicate network failure. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 69 This function is considered as a hack only | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 70 for networks which tend to deliver a poor quality | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 71 of service only (e.g. typically in China). | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 72 This behaviour or the algorithm is not specified / implied | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 73 by GSM but driven by customer requests and the desire | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 74 to have a good, working product. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 75 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 76 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 77 LOCAL void cc_check_setup_reattempt ( const T_M_CC_cc_cause *cc_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 78 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 79 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 80 EXTERN BOOL poor_quality_network; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 81 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 82 TRACE_FUNCTION ("cc_check_setup_reattempt()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 83 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 84 #ifdef WIN32 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 85 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 86 * Set poor_quality_network for test, pei_config() is the appropriate place, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 87 * but this seems not to be working for some strange reasons | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 88 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 89 poor_quality_network = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 90 #endif | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 91 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 92 /* reattempt already "running", see cc_setup_reattempt for further reasoning */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 93 if (cc_data->setup_reattempt_ti NEQ NOT_PRESENT_8BIT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 94 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 95 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 96 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 97 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 98 case M_CC_CS_1: /* call initiated */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 99 case M_CC_CS_3: /* mobile originating call proceeding */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 100 cc_data->setup_attempts++; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 101 if (poor_quality_network AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 102 (cc_data->setup_attempts < MAX_SETUP_ATTEMPTS) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 103 (cc_cause->v_cause)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 104 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 105 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 106 * Mobile originated call got disconnect, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 107 * max. number of setup attempts not reached. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 108 * New dial attempt for certain disconnect reasons | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 109 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 110 switch (cc_cause->cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 111 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 112 case M_CC_CAUSE_NO_CHAN_AVAIL: /* #34 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 113 case M_CC_CAUSE_NETWORK_ORDER: /* #38 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 114 case M_CC_CAUSE_TEMP_FAIL: /* #41 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 115 case M_CC_CAUSE_SWITCH_CONGEST: /* #42 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 116 case M_CC_CAUSE_INFO_DISCARD: /* #43 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 117 case M_CC_CAUSE_REQ_CHAN_UNAVAIL: /* #44 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 118 case M_CC_CAUSE_RESOURCE_UNAVAIL: /* #47 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 119 case M_CC_CAUSE_QOS_UNAVAIL: /* #49 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 120 case M_CC_CAUSE_BEARER_CAP_UNAVAIL: /* #58 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 121 case M_CC_CAUSE_TIMER: /* #102 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 122 case M_CC_CAUSE_INTERWORKING: /* #127 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 123 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 124 * Maybe some more causes to added here | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 125 * which indicate network failure | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 126 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 127 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 128 /* try setup reattempt, remember this by setting setup_reattempt_ti */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 129 cc_data->setup_reattempt_ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 130 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 131 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 132 default: /* Don't try setup reattempt, no appropriate cause */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 133 srv_free_stored_setup (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 134 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 135 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 136 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 137 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 138 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 139 default: /* Don't try setup reattempt in other states */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 140 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 141 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 142 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 143 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 144 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 145 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 146 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 147 | STATE : code ROUTINE : cc_setup_reattempt | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 148 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 149 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 150 PURPOSE : This function reattempts the mobile originated setup | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 151 for some certain reasons which may indicate network | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 152 failure. This function is considered as a hack only | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 153 for networks which tend to deliver a poor quality | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 154 of service only. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 155 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 156 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 157 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 158 LOCAL void cc_setup_reattempt (void) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 159 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 160 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 161 TRACE_FUNCTION ("cc_setup_reattempt()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 162 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 163 if (cc_data->ti EQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 164 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 165 PALLOC (est, MMCM_ESTABLISH_REQ); /* T_MMCM_ESTABLISH_REQ */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 166 est->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 167 est->estcs = cc_data->estcs; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 168 for_est_req (est); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 169 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 170 cc_data->setup_reattempt_ti = NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 171 cc_data->progress_desc[cc_data->index_ti] = NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 172 cc_set_state (M_CC_CS_01); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 173 TIMERSTART (T303, T303_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 174 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 175 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 176 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 177 /*==== VARIABLES ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 178 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 179 /*==== FUNCTIONS ==================================================*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 180 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 181 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 182 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 183 | STATE : code ROUTINE : cc_mncc_disconnect_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 184 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 185 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 186 PURPOSE : Disconnection of call by the mobile side. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 187 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 188 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 189 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 190 GLOBAL void cc_mncc_disconnect_req (T_MNCC_DISCONNECT_REQ * disc) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 191 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 192 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 193 TRACE_FUNCTION ("cc_mncc_disconnect_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 194 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 195 if ((cc_data->index_ti = srv_convert_ti (disc->ti)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 196 EQ NOT_PRESENT_8BIT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 197 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 198 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 199 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 200 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 201 if (cc_data->ti EQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 202 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 203 srv_free_stored_setup (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 204 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 205 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 206 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 207 case M_CC_CS_03: /* WAIT FOR NW. INFO */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 208 case M_CC_CS_05: /* CC ESTABLISHMENT CONFIRMED */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 209 case M_CC_CS_06: /* RECALL PRESENT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 210 /* Forget stored CCBS setup */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 211 if (cc_data->stored_ccbs_setup NEQ NULL) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 212 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 213 PFREE (cc_data->stored_ccbs_setup); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 214 cc_data->stored_ccbs_setup = NULL; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 215 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 216 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 217 /* Send a (faked) MNCC_RELEASE_IND to MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 218 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 PALLOC (rel, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 rel->ti = disc->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 rel->cause = disc->cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 rel->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 PSENDX (MMI, rel); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 /* Send RELEASE COMPLETE to network */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 228 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 229 MCAST (rel_com, U_RELEASE_COMP); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 230 cc_build_release_complete (rel_com, disc->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 231 for_release_complete (rel_com); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 232 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 233 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 234 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 235 /* Release MM connection */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 236 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 237 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 238 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 239 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 240 /* Stop all running timers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 241 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 242 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 243 /* Next state is NULL */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 244 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 245 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 246 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 247 case M_CC_CS_01: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 248 case CS_101: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 249 case CS_261: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 250 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 251 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 252 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 253 cc_reset_dtmf (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 254 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 255 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 256 PALLOC (rel, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 257 rel->ti = disc->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 258 rel->cause = disc->cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 259 rel->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 260 PSENDX (MMI, rel); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 261 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 262 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 263 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 264 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 265 srv_use_stored_prim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 266 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 267 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 268 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 269 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 270 case M_CC_CS_1: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 271 case M_CC_CS_3: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 272 case M_CC_CS_4: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 273 case M_CC_CS_7: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 274 case M_CC_CS_8: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 275 case M_CC_CS_9: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 276 case M_CC_CS_10: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 277 case M_CC_CS_26: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 278 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 279 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 280 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 281 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 282 MCAST (disconnect, U_DISCONNECT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 283 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 284 cc_build_disconnect (disconnect, disc->cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 285 &disc->fac_inf, disc->ss_version); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 286 cc_set_state (M_CC_CS_11); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 287 for_disconnect (disconnect); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 288 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 289 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 290 TIMERSTART (T305, T305_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 291 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 292 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 293 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 294 case M_CC_CS_12: /* DISCONNECT INDICATION, this is clear collision here */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 295 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 296 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 297 MCAST (release, U_RELEASE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 298 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 299 cc_build_release (release, disc->cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 300 NULL, MNCC_SS_VER_NOT_PRES); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 307 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 308 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 309 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 310 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 311 PFREE (disc); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 312 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 313 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 314 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 315 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 316 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 317 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 319 | STATE : code ROUTINE : cc_mncc_reject_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 320 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 321 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 PURPOSE : Release of call by the mobile side by sending | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 a RELEASE COMPLETE message. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 GLOBAL void cc_mncc_reject_req (T_MNCC_REJECT_REQ * rej) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 TRACE_FUNCTION ("cc_mncc_reject_req"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 if ((cc_data->index_ti = srv_convert_ti (rej->ti)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 EQ NOT_PRESENT_8BIT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 PFREE (rej); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 337 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 338 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 339 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 340 if (cc_data->ti EQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 341 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 342 srv_free_stored_setup (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 343 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 344 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 345 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 346 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 347 case M_CC_CS_03: /* WAIT FOR NW. INFO */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 348 case M_CC_CS_05: /* CC ESTABLISHMENT CONFIRMED */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 349 case M_CC_CS_06: /* RECALL PRESENT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 350 /* Forget stored CCBS setup */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 351 if (cc_data->stored_ccbs_setup NEQ NULL) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 352 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 353 PFREE (cc_data->stored_ccbs_setup); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 354 cc_data->stored_ccbs_setup = NULL; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 355 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 356 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 357 /* Send RELEASE COMPLETE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 358 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 359 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 360 MCAST (rel_com, U_RELEASE_COMP); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 361 cc_build_release_complete (rel_com, rej->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 362 for_release_complete (rel_com); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 363 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 364 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 365 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 366 /* Release MM connection */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 367 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 368 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 369 PFREE (rej); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 370 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 371 /* Stop all running timers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 372 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 373 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 374 /* Next state is NULL */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 375 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 376 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 377 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 378 PFREE (rej); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 379 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 380 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 381 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 382 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 383 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 384 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 385 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 386 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 387 | STATE : code ROUTINE : cc_mncc_release_req | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 388 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 389 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 390 PURPOSE : Release of call by the mobile side. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 391 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 392 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 393 GLOBAL void cc_mncc_release_req (T_MNCC_RELEASE_REQ * rel) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 394 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 395 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 396 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 397 TRACE_FUNCTION ("cc_mncc_release_req()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 398 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 399 if ((cc_data->index_ti = srv_convert_ti (rel->ti)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 400 EQ NOT_PRESENT_8BIT) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 401 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 402 PFREE (rel); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 403 return; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 404 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 405 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 406 if (cc_data->ti EQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 407 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 408 srv_free_stored_setup (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 409 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 410 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 411 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 412 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 413 case M_CC_CS_12: /* DISCONNECT INDICATION */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 414 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 415 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 416 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 417 MCAST (release, U_RELEASE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 418 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 419 cc_build_release (release, rel->cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 420 &rel->fac_inf, rel->ss_version); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 421 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 422 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 423 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 424 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 425 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 426 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 427 PFREE (rel); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 428 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 429 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 430 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 431 PFREE (rel); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 432 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 433 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 434 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 435 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 436 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 437 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 438 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 439 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 440 | STATE : code ROUTINE : cc_disconnect | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 441 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 442 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 443 PURPOSE : Processing an incoming disconnect message. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 444 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 445 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 446 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 447 GLOBAL void cc_disconnect (T_D_DISCONNECT * disconnect) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 448 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 449 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 450 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 451 TRACE_FUNCTION ("cc_disconnect()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 452 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 453 /* The cause is in DISCONNECT a mandatory IE (given intact message) */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 454 TRACE_EVENT_P1 ("DISCONNECT cause: %02x", disconnect->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 455 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 456 EM_CC_DISCONNECT_RECEIVED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 457 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 458 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 459 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 460 case M_CC_CS_11: /* DISCONNECT REQUEST, this is clear collision here */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 461 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 462 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 463 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 464 MCAST (release, U_RELEASE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 465 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 466 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 467 /* PATCH LE 10.04.00 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 468 * set disconnect collision flag | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 469 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 470 cc_data->disc_coll [cc_data->index_ti] = TRUE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 471 /* END PATCH LE 10.04.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 472 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 473 switch (cc_data->error) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 474 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 475 case M_CC_CAUSE_INVALID_MAND_INFO: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 476 case M_CC_CAUSE_COND_INFO_ELEM: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 477 cc_build_release (release, CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 478 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 479 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 480 cc_data->error), | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 481 NULL, MNCC_SS_VER_NOT_PRES); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 482 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 483 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 484 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 485 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 486 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 487 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 488 if (disconnect->v_progress) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 489 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 490 cc_data->progress_desc[cc_data->index_ti] = | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 491 disconnect->progress.progress_desc; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 492 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 493 cc_build_release (release, CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 494 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 495 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 496 NOT_PRESENT_8BIT), | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 497 NULL, MNCC_SS_VER_NOT_PRES); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 498 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 499 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 500 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 501 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 502 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 503 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 504 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 505 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 506 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 507 case M_CC_CS_12: /* DISCONNECT INDICATION */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 508 case M_CC_CS_19: /* RELEASE REQUEST */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 509 /* NULL (M_CC_CS_0) is handled by the formatter */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 510 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 511 /* Implements Measure# 3 and streamline encoding */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 512 cc_send_status (M_CC_CAUSE_MESSAGE_TYPE_INCOMPAT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 513 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 514 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 515 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 516 /* any "normal" state */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 517 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 518 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 519 switch (cc_data->error) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 520 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 521 case M_CC_CAUSE_INVALID_MAND_INFO: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 522 case M_CC_CAUSE_COND_INFO_ELEM: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 523 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 524 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 525 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 526 USHORT curr_cause; /* local variable to avoid repeated CAUSE_MAKEs for the same cause */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 527 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 528 MCAST (release, U_RELEASE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 529 PALLOC (disc_ind, MNCC_DISCONNECT_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 530 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 531 disc_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 532 curr_cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 533 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 534 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 535 cc_data->error); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 536 disc_ind->cause = curr_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 537 /* Setting raw_cause to empty as this is a local release | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 538 * of MM connection,CC is not receiving any cause value | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 539 * from Network | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 540 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 541 disc_ind->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 542 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 543 disc_ind->diagnostic = NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 544 disc_ind->progress_desc = MNCC_PROG_NOT_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 545 /* CQ 23619: get the ss diagnostic >> */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 546 disc_ind->ss_diag = MNCC_SS_DIAG_NOT_PROVIDED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 547 /* CQ 23619 << */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 548 PSENDX (MMI, disc_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 549 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 550 /* Patch HM 29-Jan-02 >>> */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 551 cc_build_facility_ind (MNCC_FAC_IN_DISCONNECT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 552 disconnect->v_facility, &disconnect->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 553 /* Patch HM 29-Jan-02 <<< */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 554 cc_build_release (release, cc_data->error, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 555 NULL, MNCC_SS_VER_NOT_PRES); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 556 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 557 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 558 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 559 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 560 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 561 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 562 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 563 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 564 if (disconnect->v_progress) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 565 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 566 cc_data->progress_desc[cc_data->index_ti] = | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 567 disconnect->progress.progress_desc; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 568 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 569 cc_check_setup_reattempt (&disconnect->cc_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 570 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 571 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 572 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 573 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 574 * We don't perform setup reattempt, so send disconnect to MMI | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 575 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 576 USHORT curr_cause; /* local variable to avoid repeated CAUSE_MAKEs for the same cause */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 577 PALLOC (disc_ind, MNCC_DISCONNECT_IND); /* T_MNCC_DISCONNECT_IND */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 578 disc_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 579 disc_ind->cause = curr_cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 580 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 581 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 582 disconnect->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 583 disc_ind->c_raw_cause = cc_build_cause (&disconnect->cc_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 584 disc_ind->raw_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 585 disc_ind->diagnostic = NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 586 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 587 if (disconnect->v_progress) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 588 disc_ind->progress_desc = disconnect->progress.progress_desc; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 589 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 590 disc_ind->progress_desc = MNCC_PROG_NOT_PRES; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 591 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 592 /* Handle CCBS possible flag */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 593 if ((cc_data->call_ctrl_cap.pcp NEQ 0) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 594 (disconnect->v_allowed_actions NEQ 0) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 595 (disconnect->allowed_actions.ccbs_act EQ M_CC_CCBS_YES)) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 596 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 597 /* CCBS indicated as possible by the network */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 598 disc_ind->diagnostic = MNCC_DIAG_CCBS_POSSIBLE; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 599 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 600 /* CQ 23619: get the ss diagnostic */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 601 disc_ind->ss_diag = cc_get_ss_diag(curr_cause, disconnect); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 602 /* CQ 23619 << */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 603 PSENDX (MMI, disc_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 604 /* Patch HM 29-Jan-02 >>> */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 605 cc_build_facility_ind (MNCC_FAC_IN_DISCONNECT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 606 disconnect->v_facility, &disconnect->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 607 /* Patch HM 29-Jan-02 <<< */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 608 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 609 if ((cc_data->ti NEQ cc_data->setup_reattempt_ti) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 610 (((disconnect->v_progress AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 611 (disconnect->progress.progress_desc EQ M_CC_PROG_INBAND_AVAIL) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 612 (cc_data->channel_mode != NAS_CHM_SIG_ONLY))) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 613 OR | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 614 ((cc_data->call_ctrl_cap.pcp NEQ 0) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 615 (disconnect->v_allowed_actions NEQ 0) AND | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 616 (disconnect->allowed_actions.ccbs_act EQ M_CC_CCBS_YES)))) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 617 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 618 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 619 * Hook on tone is generated by the | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 620 * infrastructure and signalled via TCH OR CCBS is possible | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 621 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 622 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 623 cc_set_state (M_CC_CS_12); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 624 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 625 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 626 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 627 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 628 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 629 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 630 MCAST (release, U_RELEASE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 631 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 632 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 633 * Hook on tone is generated internally by the mobile station | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 634 * and no CCBS possible, the connection is released | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 635 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 636 cc_build_release (release, CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 637 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 638 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 639 NOT_PRESENT_8BIT), | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 640 NULL, MNCC_SS_VER_NOT_PRES); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 641 cc_set_state (M_CC_CS_19); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 642 for_release (release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 643 TIMERSTART (T308, T308_VALUE); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 644 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 645 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 646 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 647 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 648 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 649 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 650 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 651 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 652 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 653 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 654 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 655 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 656 | STATE : code ROUTINE : cc_release | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 657 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 658 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 659 PURPOSE : Processing an incoming release message. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 660 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 661 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 662 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 663 GLOBAL void cc_release (T_D_RELEASE * release) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 664 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 665 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 666 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 667 TRACE_FUNCTION ("cc_release()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 668 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 669 if (release->cc_cause.v_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 670 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 671 /* The cause is in RELEASE an optional IE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 672 TRACE_EVENT_P1 ("RELEASE cause: %02x", release->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 673 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 674 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 675 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 676 TRACE_EVENT ("RELEASE cause: --"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 677 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 678 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 679 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 680 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 681 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 682 * M_CC_CS_0 is handled by the formatter | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 683 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 684 case M_CC_CS_19: /* Release Request */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 685 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 686 cc_reset_dtmf (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 687 /* PATCH LE 10.04.00 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 688 * in disconnect collision case send | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 689 * MNCC_RELEASE_IND instead of MNCC_RELEASE_CNF | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 690 .... */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 691 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 692 if (cc_data->disc_coll [cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 693 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 694 /* Implements Measure# 8 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 695 cc_mncc_release_ind ((T_PRIM *)D2P(release)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 696 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 697 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 698 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 699 /* Implements Measure# 9 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 700 cc_mncc_release_cnf ((T_PRIM *)D2P(release)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 701 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 702 // END PATCH LE 10.04.00 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 703 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 704 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 705 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 706 /* END PATCH LE 10.04.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 707 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 708 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 709 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 710 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 711 case M_CC_CS_1: /* call initiated */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 712 case M_CC_CS_3: /* mobile originating call proceeding */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 713 cc_check_setup_reattempt (&release->cc_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 714 /*FALLTHROUGH*/ /*lint -fallthrough*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 715 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 716 cc_reset_dtmf (); /* China change HM 11.07.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 717 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 718 CCD_START; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 719 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 720 MCAST (rel_com, U_RELEASE_COMP); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 721 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 722 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 723 switch (cc_data->error) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 724 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 725 case M_CC_CAUSE_INVALID_MAND_INFO: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 726 case M_CC_CAUSE_COND_INFO_ELEM: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 727 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 728 USHORT curr_cause; /* local variable to avoid repeated CAUSE_MAKEs for the same cause */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 729 curr_cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 730 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 731 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 732 cc_data->error); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 733 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 734 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 735 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 736 PALLOC (rel_ind, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 737 rel_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 738 rel_ind->cause = curr_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 739 rel_ind->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 740 PSENDX (MMI, rel_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 741 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 742 cc_build_release_complete (rel_com, curr_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 743 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 744 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 745 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 746 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 747 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 748 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 749 /* Implements Measure# 8 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 750 cc_mncc_release_ind ((T_PRIM *)D2P(release)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 751 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 752 cc_build_release_complete (rel_com, CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 753 ORIGSIDE_MS, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 754 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 755 NOT_PRESENT_8BIT)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 756 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 757 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 758 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 759 for_release_complete (rel_com); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 760 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 761 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 762 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 763 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 764 cc_setup_reattempt (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 765 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 766 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 767 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 768 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 769 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 770 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 771 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 772 | STATE : code ROUTINE : cc_release_complete | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 773 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 774 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 775 PURPOSE : Processing an incoming release complete message. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 776 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 777 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 778 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 779 GLOBAL void cc_release_complete (T_D_RELEASE_COMP * rel_com) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 780 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 781 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 782 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 783 TRACE_FUNCTION ("cc_release_complete()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 784 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 785 if (rel_com->cc_cause.v_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 786 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 787 /* The cause is in RELEASE COMPLETE an optional IE */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 788 TRACE_EVENT_P1 ("RELEASE COMPLETE cause: %02x", rel_com->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 789 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 790 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 791 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 792 TRACE_EVENT ("RELEASE COMPLETE cause: --"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 793 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 794 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 795 EM_CC_RELEASE_COMPLETE_RECEIVED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 796 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 797 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 798 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 799 case M_CC_CS_0: /* NULL */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 800 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 801 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 802 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 803 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 804 case M_CC_CS_03: /* WAIT FOR NETWORK INFO*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 805 /* Stop all running CC timers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 806 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 807 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 808 /* Inform MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 809 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 810 PALLOC (release, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 811 release->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 812 if (rel_com->v_cc_cause AND rel_com->cc_cause.v_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 813 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 814 release->cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 815 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 816 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 817 rel_com->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 818 release->c_raw_cause = cc_build_cause (&rel_com->cc_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 819 release->raw_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 820 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 821 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 822 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 823 release->cause = CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 824 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 825 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 826 NOT_PRESENT_8BIT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 827 release->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 828 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 829 PSENDX (MMI, release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 830 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 831 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 832 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 833 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 834 /* Release MM connection */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 835 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 836 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 837 /* Next state is NULL */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 838 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 839 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 840 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 841 case M_CC_CS_05: /* CC ESTABLISHMENT CONFIRMED */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 842 case M_CC_CS_06: /* RECALL PRESENT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 843 /* Forget stored CCBS setup */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 844 PFREE (cc_data->stored_ccbs_setup); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 845 cc_data->stored_ccbs_setup = NULL; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 846 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 847 /* Stop all running CC timers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 848 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 849 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 850 /* Inform MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 851 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 852 PALLOC (release, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 853 release->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 854 if (rel_com->v_cc_cause AND rel_com->cc_cause.v_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 855 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 856 release->cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 857 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 858 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 859 rel_com->cc_cause.cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 860 release->c_raw_cause = cc_build_cause (&rel_com->cc_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 861 release->raw_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 862 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 863 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 864 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 865 release->cause = CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 866 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 867 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 868 NOT_PRESENT_8BIT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 869 release->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 870 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 871 PSENDX (MMI, release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 872 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 873 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 874 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 875 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 876 /* Release MM connection */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 877 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 878 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 879 /* Next state is NULL */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 880 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 881 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 882 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 883 case M_CC_CS_19: /* RELEASE REQUEST */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 884 cc_reset_dtmf (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 885 /* PATCH LE 10.04.00 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 886 * in disconnect collision case send | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 887 * MNCC_RELEASE_IND instead of MNCC_RELEASE_CNF | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 888 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 889 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 890 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 891 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 892 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 893 /* Inform MMI only if no setup reattempt for this ti */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 894 if (cc_data->disc_coll [cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 895 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 896 /* Implements Measure# 9 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 897 cc_mncc_release_ind ((T_PRIM *)D2P(rel_com)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 898 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 899 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 900 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 901 /* Implements Measure# 9 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 902 cc_mncc_release_cnf ((T_PRIM *)D2P(rel_com)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 903 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 904 /* END PATCH LE 10.04.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 905 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 906 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 907 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 908 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 909 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 910 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 911 cc_setup_reattempt (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 912 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 913 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 914 case M_CC_CS_1: /* call initiated */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 915 case M_CC_CS_3: /* mobile originating call proceeding */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 916 cc_check_setup_reattempt (&rel_com->cc_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 917 /*FALLTHROUGH*/ /*lint -fallthrough*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 918 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 919 cc_reset_dtmf (); /* China change HM 11.07.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 920 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 921 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 922 /* Implements Measure# 10 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 923 cc_mncc_release_ind ((T_PRIM *)D2P(rel_com)); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 924 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 925 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 926 CCD_END; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 927 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 928 cc_setup_reattempt (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 929 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 930 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 931 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 932 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 933 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 934 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 935 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 936 | STATE : code ROUTINE : cc_rel_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 937 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 938 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 939 PURPOSE : Processing of an incoming release indication from | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 940 mobility management. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 941 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 942 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 943 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 944 GLOBAL void cc_rel_ind (USHORT cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 945 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 946 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 947 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 948 TRACE_FUNCTION ("cc_rel_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 949 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 950 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 951 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 952 case M_CC_CS_0: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 953 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 954 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 955 case M_CC_CS_05: /* CC ESTABLISHMENT CONFIRMED */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 956 case M_CC_CS_06: /* RECALL PRESENT */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 957 /* Stop all timers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 958 TIMERSTOP (TIMER_CC); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 959 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 960 /* Forget stored CCBS setup message */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 961 PFREE (cc_data->stored_ccbs_setup); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 962 cc_data->stored_ccbs_setup = NULL; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 963 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 964 /* Inform MMI */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 965 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 966 PALLOC (release, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 967 release->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 968 release->cause = cause; /* provide cause from lower layers transparently to higher layers */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 969 release->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 970 PSENDX (MMI, release); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 971 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 972 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 973 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 974 srv_use_stored_prim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 975 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 976 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 977 case CS_101: /* Re-establishment request in state M_CC_CS_10 */\ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 978 case CS_261: /* Re-establishment request in state CS_26 */\ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 979 EM_CC_REESTABLISHED_FAILED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 980 /*FALLTHROUGH*/ /*lint -fallthrough*/ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 981 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 982 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 983 cc_reset_dtmf (); /* China change HM 11.07.00 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 984 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 985 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 986 PALLOC (rej_ind, MNCC_REJECT_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 987 rej_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 988 rej_ind->cause = cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 989 PSENDX (MMI, rej_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 990 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 991 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 992 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 993 if (cc_data->ti EQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 994 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 995 cc_setup_reattempt(); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 996 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 997 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 998 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 999 srv_use_stored_prim (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1000 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1001 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1002 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1003 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1004 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1005 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1006 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1007 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1008 | STATE : code ROUTINE : cc_err_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1009 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1010 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1011 PURPOSE : Processing of an incoming error indication from | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1012 mobility management. | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1013 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1014 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1015 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1016 GLOBAL void cc_err_ind (T_MMCM_ERROR_IND * err_ind) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1017 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1018 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1019 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1020 TRACE_FUNCTION ("cc_err_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1021 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1022 switch (cc_data->state[cc_data->index_ti]) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1023 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1024 case M_CC_CS_0: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1025 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1026 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1027 case M_CC_CS_10: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1028 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1029 /* Implements Measure# 41 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1030 cc_mncc_sync_ind(err_ind->ti, CS_101); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1031 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1032 EM_CC_REESTABLISHED_STARTED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1033 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1034 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1035 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1036 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1037 case M_CC_CS_26: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1038 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1039 /* Implements Measure# 41 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1040 cc_mncc_sync_ind(err_ind->ti, CS_261); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1041 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1042 EM_CC_REESTABLISHED_STARTED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1043 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1044 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1045 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1046 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1047 default: | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1048 cc_reset_dtmf (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1049 if (cc_data->ti NEQ cc_data->setup_reattempt_ti) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1050 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1051 PALLOC (rel_ind, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1052 rel_ind->cause = err_ind->cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1053 rel_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1054 rel_ind->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1055 PSENDX (MMI, rel_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1056 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1057 cc_set_state (M_CC_CS_0); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1058 for_rel_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1059 cc_setup_reattempt (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1060 break; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1061 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1062 PFREE (err_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1063 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1064 /* Implements Measure# 8 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1065 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1066 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1067 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1068 | STATE : code ROUTINE : cc_mncc_release_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1069 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1070 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1071 PURPOSE : send mncc_release_ind | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1072 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1073 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1074 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1075 LOCAL void cc_mncc_release_ind (T_PRIM * prim) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1076 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1077 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1078 UBYTE v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1079 T_M_CC_cc_cause *cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1080 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1081 TRACE_FUNCTION ("cc_mncc_release_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1082 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1083 if (prim->custom.opc EQ D_RELEASE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1084 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1085 v_cc_cause = ((T_D_RELEASE *)P2D(prim))->v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1086 cc_cause = &((T_D_RELEASE *)P2D(prim))->cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1087 cc_build_facility_ind (MNCC_FAC_IN_RELEASE, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1088 ((T_D_RELEASE *)P2D(prim))->v_facility, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1089 &((T_D_RELEASE *)P2D(prim))->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1090 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1091 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1092 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1093 v_cc_cause = ((T_D_RELEASE_COMP *)P2D(prim))->v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1094 cc_cause = &((T_D_RELEASE_COMP *)P2D(prim))->cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1095 cc_build_facility_ind (MNCC_FAC_IN_RELEASE_COMP, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1096 ((T_D_RELEASE_COMP *)P2D(prim))->v_facility, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1097 &((T_D_RELEASE_COMP *)P2D(prim))->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1098 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1099 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1100 /* Patch HM 29-Jan-02 <<< */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1101 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1102 PALLOC (rel_ind, MNCC_RELEASE_IND); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1103 rel_ind->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1104 if (v_cc_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1105 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1106 rel_ind->cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1107 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1108 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1109 cc_cause->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1110 rel_ind->c_raw_cause = cc_build_cause (cc_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1111 rel_ind->raw_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1112 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1113 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1114 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1115 rel_ind->cause = CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1116 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1117 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1118 NOT_PRESENT_8BIT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1119 /* Setting raw_cause to empty as this is a local release | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1120 * of MM connection,CC is not receiving any cause value | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1121 * from Network | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1122 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1123 rel_ind->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1124 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1125 PSENDX (MMI, rel_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1126 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1127 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1128 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1129 /* Implements Measure# 9 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1130 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1131 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1132 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1133 | STATE : code ROUTINE : cc_mncc_release_cnf | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1134 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1135 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1136 PURPOSE : send mncc_release_cnf | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1137 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1138 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1139 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1140 LOCAL void cc_mncc_release_cnf (T_PRIM * prim) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1141 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1142 GET_INSTANCE_DATA; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1143 UBYTE v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1144 T_M_CC_cc_cause *cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1145 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1146 TRACE_FUNCTION ("cc_mncc_release_cnf()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1147 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1148 if (prim->custom.opc EQ D_RELEASE) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1149 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1150 v_cc_cause = ((T_D_RELEASE *)P2D(prim))->v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1151 cc_cause = &((T_D_RELEASE *)P2D(prim))->cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1152 cc_build_facility_ind (MNCC_FAC_IN_RELEASE_COMP, /* A little bit dirty */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1153 ((T_D_RELEASE *)P2D(prim))->v_facility, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1154 &((T_D_RELEASE *)P2D(prim))->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1155 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1156 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1157 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1158 v_cc_cause = ((T_D_RELEASE_COMP *)P2D(prim))->v_cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1159 cc_cause = &((T_D_RELEASE_COMP *)P2D(prim))->cc_cause; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1160 cc_build_facility_ind (MNCC_FAC_IN_RELEASE_COMP, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1161 ((T_D_RELEASE_COMP *)P2D(prim))->v_facility, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1162 &((T_D_RELEASE_COMP *)P2D(prim))->facility); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1163 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1164 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1165 /* Patch HM 29-Jan-02 <<< */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1166 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1167 PALLOC (rel_cnf, MNCC_RELEASE_CNF); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1168 rel_cnf->ti = cc_data->ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1169 if (v_cc_cause) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1170 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1171 rel_cnf->cause = CAUSE_MAKE(DEFBY_STD, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1172 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1173 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1174 cc_cause->cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1175 rel_cnf->c_raw_cause = cc_build_cause (cc_cause, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1176 rel_cnf->raw_cause); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1177 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1178 else | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1179 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1180 rel_cnf->cause = CAUSE_MAKE(DEFBY_CONDAT, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1181 ORIGSIDE_NET, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1182 MNCC_CC_ORIGINATING_ENTITY, | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1183 NOT_PRESENT_8BIT); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1184 /* Setting raw_cause to empty as this is a local release | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1185 * of MM connection,CC is not receiving any cause value | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1186 * from Network | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1187 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1188 rel_cnf->c_raw_cause = 0; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1189 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1190 PSENDX (MMI, rel_cnf); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1191 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1192 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1193 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1194 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1195 /* Implements Measure# 41 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1196 /* | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1197 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1198 | PROJECT : GSM-PS (6147) MODULE : CC_REL | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1199 | STATE : code ROUTINE : cc_mncc_sync_ind | | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1200 +--------------------------------------------------------------------+ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1201 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1202 PURPOSE : send cc_mncc_sync_ind | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1203 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1204 */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1205 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1206 LOCAL void cc_mncc_sync_ind (UBYTE ti, UBYTE new_state) | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1207 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1208 TRACE_FUNCTION ("cc_mncc_sync_ind()"); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1209 { | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1210 PALLOC (sync_ind, MNCC_SYNC_IND); /* T_MNCC_SYNC_IND */ | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1211 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1212 sync_ind->ti = ti; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1213 sync_ind->cause = MNCC_CAUSE_REEST_STARTED; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1214 sync_ind->ch_info.ch_mode=NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1215 sync_ind->ch_info.ch_type=NOT_PRESENT_8BIT; | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1216 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1217 PSENDX (MMI, sync_ind); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1218 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1219 for_reest_req (); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1220 cc_set_state (new_state); | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1221 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1222 | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1223 } | 
| 
2f7df7a314f8
gsm-fw/g23m-gsm subtree: initial import from LoCosto source
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1224 #endif | 
