/** * * Process time-out event. This cause cac data to send failure notifications. * * @param void *tmr_data - timer data * * @return none * * * @pre (NULL) */ void fsm_cac_process_bw_fail_timer (void *tmr_data) { const char fname[] = "fsm_cac_process_bw_fail_timer"; DEF_DEBUG(DEB_F_PREFIX"CAC request timedout %d.", DEB_F_PREFIX_ARGS("CAC", fname), (callid_t)(long)tmr_data); /* Time-out causes same set of processing as bw failure */ fsm_cac_process_bw_failed_resp(); }
boolean gsm_process_msg (uint32_t cmd, void *msg) { static const char fname[] = "gsm_process_msg"; boolean release_msg = TRUE; cc_msgs_t msg_id = ((cc_setup_t *)msg)->msg_id; int event_id = msg_id; GSM_DEBUG(DEB_F_PREFIX"cmd= 0x%x\n", DEB_F_PREFIX_ARGS(GSM, fname), cmd); switch (cmd) { case GSM_GSM: case GSM_SIP: if (gsm_initialized) { if (event_id == CC_MSG_FEATURE && (((cc_feature_t *) msg)->feature_id == CC_FEATURE_CAC_RESP_PASS)) { fsm_cac_process_bw_avail_resp (); /* Release all memory for CC_FEATURE_CAC_..message */ release_msg = TRUE; GSM_DEBUG(DEB_F_PREFIX"CAC Message Processed: 0x%x\n", DEB_F_PREFIX_ARGS(GSM, fname), cmd); } else if (event_id == CC_MSG_FEATURE && (((cc_feature_t *) msg)->feature_id == CC_FEATURE_CAC_RESP_FAIL)) { fsm_cac_process_bw_failed_resp (); /* Release all memory for CC_FEATURE_CAC_..message */ release_msg = TRUE; GSM_DEBUG(DEB_F_PREFIX"CAC Message Processed: 0x%x\n", DEB_F_PREFIX_ARGS(GSM, fname), cmd); } else { release_msg = fim_process_event(msg, FALSE); GSM_DEBUG(DEB_F_PREFIX"Message Processed: 0x%x\n", DEB_F_PREFIX_ARGS(GSM, fname), cmd); } } if (release_msg == TRUE) { fim_free_event(msg); } break; default: GSM_DEBUG(DEB_F_PREFIX"Unknown Cmd received: 0x%x\n", DEB_F_PREFIX_ARGS(GSM, fname), cmd); break; } return(release_msg); }