fchan 1083 mod_freetdm/mod_freetdm.c static ftdm_status_t on_channel_found(ftdm_channel_t *fchan, ftdm_caller_data_t *caller_data) fchan 1096 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, FTDM_COMMAND_SET_PRE_BUFFER_SIZE, &tmp); fchan 1100 mod_freetdm/mod_freetdm.c span_id = ftdm_channel_get_span_id(fchan); fchan 1101 mod_freetdm/mod_freetdm.c chan_id = ftdm_channel_get_id(fchan); fchan 1103 mod_freetdm/mod_freetdm.c tech_init(hdata->tech_pvt, hdata->new_session, fchan); fchan 1108 mod_freetdm/mod_freetdm.c switch_channel_set_variable(channel, "freetdm_span_name", ftdm_channel_get_span_name(fchan)); fchan 1117 mod_freetdm/mod_freetdm.c status = ftdm_channel_add_token(fchan, sess_uuid, ftdm_channel_get_token_count(fchan)); fchan 1122 mod_freetdm/mod_freetdm.c snprintf(spanresource, sizeof(spanresource), "span_%s_%s", ftdm_channel_get_span_name(fchan), fchan 1437 mod_freetdm/mod_freetdm.c ftdm_channel_init(caller_data.fchan); fchan 1447 mod_freetdm/mod_freetdm.c static void ftdm_enable_channel_dtmf(ftdm_channel_t *fchan, switch_channel_t *channel) fchan 1453 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, FTDM_COMMAND_DISABLE_DTMF_DETECT, NULL); fchan 1454 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_INFO, "DTMF detection disabled in channel %d:%d\n", ftdm_channel_get_span_id(fchan), ftdm_channel_get_id(fchan)); fchan 1460 mod_freetdm/mod_freetdm.c if (ftdm_channel_command(fchan, FTDM_COMMAND_ENABLE_DTMF_DETECT, NULL) != FTDM_SUCCESS) { fchan 1461 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Failed to enable DTMF detection in channel %d:%d\n", ftdm_channel_get_span_id(fchan), ftdm_channel_get_id(fchan)); fchan 2600 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = NULL; fchan 2901 mod_freetdm/mod_freetdm.c fchan = ftdm_iterator_current(curr); fchan 2902 mod_freetdm/mod_freetdm.c ftdm_channel_set_private(fchan, &SPAN_CONFIG[span_id].pvts[i]); fchan 3630 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); fchan 3631 mod_freetdm/mod_freetdm.c if (!fchan) { fchan 3636 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_channel_get_sig_status(fchan, &sigstatus))) { fchan 3664 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); fchan 3665 mod_freetdm/mod_freetdm.c if (!fchan) { fchan 3670 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_channel_set_sig_status(fchan, sigstatus))) { fchan 3733 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); fchan 3735 mod_freetdm/mod_freetdm.c dbgstr = ftdm_channel_get_history_str(fchan); fchan 3755 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan; fchan 3765 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(SPAN_CONFIG[j].span, 1); fchan 3766 mod_freetdm/mod_freetdm.c if (fchan) { fchan 3767 mod_freetdm/mod_freetdm.c ftdm_channel_get_alarms(fchan, &alarmbits); fchan 3904 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan; fchan 3931 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); fchan 3932 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, fcmd, NULL); fchan 3935 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); fchan 3936 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, fcmd, NULL); fchan 3987 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = NULL; fchan 4007 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); fchan 4008 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, FTDM_COMMAND_TRACE_END_ALL, NULL); fchan 4011 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); fchan 4012 mod_freetdm/mod_freetdm.c ftdm_channel_command(fchan, FTDM_COMMAND_TRACE_END_ALL, NULL); fchan 66 src/ftdm_io.c static ftdm_status_t ftdm_call_set_call_id(ftdm_channel_t *fchan, ftdm_caller_data_t *caller_data); fchan 135 src/ftdm_io.c static void dump_chan_io_to_file(ftdm_channel_t *fchan, ftdm_io_dump_t *dump, FILE *file) fchan 150 src/ftdm_io.c ftdm_log_chan(fchan, FTDM_LOG_ERROR, "only wrote %d out of %d bytes in io dump buffer\n", fchan 158 src/ftdm_io.c ftdm_log_chan(fchan, FTDM_LOG_ERROR, "only wrote %d out of %d bytes in io dump buffer: %s\n", fchan 1133 src/ftdm_io.c ftdm_channel_t *fchan = event->channel; fchan 1134 src/ftdm_io.c ftdm_span_t *span = fchan->span; fchan 1138 src/ftdm_io.c sigmsg.chan_id = fchan->chan_id; fchan 1139 src/ftdm_io.c sigmsg.channel = fchan; fchan 1144 src/ftdm_io.c ftdm_clear_flag_locked(fchan, FTDM_CHANNEL_IN_ALARM); fchan 1151 src/ftdm_io.c ftdm_set_flag_locked(fchan, FTDM_CHANNEL_IN_ALARM); fchan 1482 src/ftdm_io.c static ftdm_status_t __inline__ get_best_rated(ftdm_channel_t **fchan, ftdm_channel_t *best_rated) fchan 1504 src/ftdm_io.c *fchan = best_rated; fchan 1624 src/ftdm_io.c ftdm_channel_t *fchan = *ftdmchan; fchan 1625 src/ftdm_io.c ftdm_channel_unlock(fchan); fchan 1755 src/ftdm_io.c ftdm_channel_t *fchan = *ftdmchan; fchan 1756 src/ftdm_io.c ftdm_channel_unlock(fchan); fchan 1914 src/ftdm_io.c ftdm_channel_t *fchan = *ftdmchan; fchan 1915 src/ftdm_io.c ftdm_channel_unlock(fchan); fchan 1952 src/ftdm_io.c ftdm_channel_t *fchan = NULL; fchan 1961 src/ftdm_io.c fchan = ftdm_iterator_current(curr); fchan 1963 src/ftdm_io.c ftdm_clear_flag_locked(fchan, FTDM_CHANNEL_NONBLOCK); fchan 1965 src/ftdm_io.c ftdm_set_flag_locked(fchan, FTDM_CHANNEL_NONBLOCK); fchan 2081 src/ftdm_io.c FT_DECLARE(void) ftdm_ack_indication(ftdm_channel_t *fchan, ftdm_channel_indication_t indication, ftdm_status_t status) fchan 2085 src/ftdm_io.c if (!ftdm_test_flag(fchan, FTDM_CHANNEL_IND_ACK_PENDING)) { fchan 2089 src/ftdm_io.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Acknowledging indication %s in state %s (rc = %d)\n", fchan 2090 src/ftdm_io.c ftdm_channel_indication2str(indication), ftdm_channel_state2str(fchan->state), status); fchan 2091 src/ftdm_io.c ftdm_clear_flag(fchan, FTDM_CHANNEL_IND_ACK_PENDING); fchan 2093 src/ftdm_io.c msg.channel = fchan; fchan 2097 src/ftdm_io.c ftdm_span_send_signal(fchan->span, &msg); fchan 2477 src/ftdm_io.c ftdm_channel_t *fchan = NULL; fchan 2484 src/ftdm_io.c hunting->mode_data.span.direction, caller_data, &fchan); fchan 2487 src/ftdm_io.c hunting->mode_data.group.direction, caller_data, &fchan); fchan 2489 src/ftdm_io.c status = _ftdm_channel_open(hunting->mode_data.chan.span_id, hunting->mode_data.chan.chan_id, &fchan); fchan 2500 src/ftdm_io.c status = hunting->result_cb(fchan, caller_data); fchan 2506 src/ftdm_io.c ftdm_channel_set_caller_data(fchan, caller_data); fchan 2508 src/ftdm_io.c status = _ftdm_channel_call_place_nl(file, func, line, fchan); fchan 2510 src/ftdm_io.c _ftdm_channel_call_hangup_nl(file, func, line, fchan); fchan 2514 src/ftdm_io.c caller_data->fchan = fchan; fchan 2516 src/ftdm_io.c ftdm_channel_unlock(fchan); fchan 4297 src/ftdm_io.c ftdm_channel_t *fchan = NULL; fchan 4319 src/ftdm_io.c fchan = ftdm_iterator_current(curr); fchan 4320 src/ftdm_io.c if (not && !ftdm_test_flag(fchan, flag)) { fchan 4322 src/ftdm_io.c fchan->span_id, fchan->chan_id, fchan 4323 src/ftdm_io.c fchan->physical_span_id, fchan->physical_chan_id, fchan 4326 src/ftdm_io.c } else if (!not && ftdm_test_flag(fchan, flag)) { fchan 4328 src/ftdm_io.c fchan->span_id, fchan->chan_id, fchan 4329 src/ftdm_io.c fchan->physical_span_id, fchan->physical_chan_id, fchan 4344 src/ftdm_io.c ftdm_channel_t *fchan = NULL; fchan 4365 src/ftdm_io.c fchan = ftdm_iterator_current(curr); fchan 4366 src/ftdm_io.c if (not && (fchan->state != state)) { fchan 4368 src/ftdm_io.c fchan->span_id, fchan->chan_id, fchan 4369 src/ftdm_io.c fchan->physical_span_id, fchan->physical_chan_id, ftdm_channel_state2str(fchan->state)); fchan 4371 src/ftdm_io.c } else if (!not && (fchan->state == state)) { fchan 4373 src/ftdm_io.c fchan->span_id, fchan->chan_id, fchan 4374 src/ftdm_io.c fchan->physical_span_id, fchan->physical_chan_id, ftdm_channel_state2str(fchan->state)); fchan 4406 src/ftdm_io.c ftdm_channel_t *fchan = NULL; fchan 4469 src/ftdm_io.c fchan = calldata->fchan; fchan 4470 src/ftdm_io.c if (fchan) { fchan 4472 src/ftdm_io.c fchan->span_id, fchan->chan_id); fchan 5469 src/ftdm_io.c ftdm_channel_t *fchan = data; fchan 5470 src/ftdm_io.c ftdm_channel_lock(fchan); fchan 5471 src/ftdm_io.c fchan->hangup_timer = 0; fchan 5472 src/ftdm_io.c if (fchan->state == FTDM_CHANNEL_STATE_TERMINATING) { fchan 5473 src/ftdm_io.c ftdm_log_chan(fchan, FTDM_LOG_CRIT, "Forcing hangup since the user did not confirmed our hangup after %dms\n", FORCE_HANGUP_TIMER); fchan 5474 src/ftdm_io.c _ftdm_channel_call_hangup_nl(__FILE__, __FUNCTION__, __LINE__, fchan); fchan 5476 src/ftdm_io.c ftdm_log_chan(fchan, FTDM_LOG_CRIT, "Not performing safety hangup, channel state is %s\n", ftdm_channel_state2str(fchan->state)); fchan 5478 src/ftdm_io.c ftdm_channel_unlock(fchan); fchan 6094 src/ftdm_io.c static ftdm_status_t ftdm_call_set_call_id(ftdm_channel_t *fchan, ftdm_caller_data_t *caller_data) fchan 6121 src/ftdm_io.c caller_data->fchan = fchan; fchan 44 src/ftdm_state.c FT_DECLARE(ftdm_status_t) ftdm_channel_init(ftdm_channel_t *fchan) fchan 46 src/ftdm_state.c ftdm_channel_lock(fchan); fchan 48 src/ftdm_state.c if (fchan->init_state != FTDM_CHANNEL_STATE_DOWN) { fchan 49 src/ftdm_state.c ftdm_channel_set_state(__FILE__, __FUNCTION__, __LINE__, fchan, fchan->init_state, 1); fchan 50 src/ftdm_state.c fchan->init_state = FTDM_CHANNEL_STATE_DOWN; fchan 53 src/ftdm_state.c ftdm_channel_unlock(fchan); fchan 57 src/ftdm_state.c FT_DECLARE(ftdm_status_t) _ftdm_channel_complete_state(const char *file, const char *func, int line, ftdm_channel_t *fchan) fchan 61 src/ftdm_state.c ftdm_channel_state_t state = fchan->state; fchan 63 src/ftdm_state.c if (fchan->state_status == FTDM_STATE_STATUS_COMPLETED) { fchan 64 src/ftdm_state.c ftdm_assert_return(!ftdm_test_flag(fchan, FTDM_CHANNEL_STATE_CHANGE), FTDM_FAIL, fchan 69 src/ftdm_state.c ftdm_clear_flag(fchan, FTDM_CHANNEL_STATE_CHANGE); fchan 72 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_PROGRESS); fchan 74 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_PROGRESS); fchan 75 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_MEDIA); fchan 76 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_ANSWERED); fchan 78 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_PROGRESS); fchan 79 src/ftdm_state.c ftdm_set_flag(fchan, FTDM_CHANNEL_MEDIA); fchan 83 src/ftdm_state.c msg.channel = fchan; fchan 85 src/ftdm_state.c ftdm_span_send_signal(fchan->span, &msg); fchan 91 src/ftdm_state.c ftdm_ack_indication(fchan, fchan->indication, FTDM_SUCCESS); fchan 93 src/ftdm_state.c hindex = (fchan->hindex == 0) ? (ftdm_array_len(fchan->history) - 1) : (fchan->hindex - 1); fchan 95 src/ftdm_state.c ftdm_assert(!fchan->history[hindex].end_time, "End time should be zero!\n"); fchan 97 src/ftdm_state.c fchan->history[hindex].end_time = ftdm_current_time_in_ms(); fchan 99 src/ftdm_state.c fchan->state_status = FTDM_STATE_STATUS_COMPLETED; fchan 101 src/ftdm_state.c diff = fchan->history[hindex].end_time - fchan->history[hindex].time; fchan 103 src/ftdm_state.c ftdm_log_chan_ex(fchan, file, func, line, FTDM_LOG_LEVEL_DEBUG, "Completed state change from %s to %s in %llums\n", fchan 104 src/ftdm_state.c ftdm_channel_state2str(fchan->last_state), ftdm_channel_state2str(state), diff); fchan 107 src/ftdm_state.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_BLOCKING)) { fchan 108 src/ftdm_state.c ftdm_clear_flag(fchan, FTDM_CHANNEL_BLOCKING); fchan 109 src/ftdm_state.c ftdm_interrupt_signal(fchan->state_completed_interrupt); fchan 116 src/ftdm_state.c ftdm_channel_t *fchan, ftdm_channel_state_t state) fchan 118 src/ftdm_state.c if (fchan->state_status != FTDM_STATE_STATUS_COMPLETED) { fchan 122 src/ftdm_state.c _ftdm_channel_complete_state(file, func, line, fchan); fchan 124 src/ftdm_state.c return ftdm_channel_set_state(file, func, line, fchan, state, 0); fchan 173 src/ftdm_state.c FT_DECLARE(ftdm_status_t) ftdm_channel_cancel_state(const char *file, const char *func, int line, ftdm_channel_t *fchan) fchan 180 src/ftdm_state.c if (!ftdm_test_flag(fchan, FTDM_CHANNEL_STATE_CHANGE)) { fchan 181 src/ftdm_state.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "Cannot cancel state change from %s to %s, it was already processed\n", fchan 182 src/ftdm_state.c ftdm_channel_state2str(fchan->last_state), ftdm_channel_state2str(fchan->state)); fchan 186 src/ftdm_state.c if (fchan->state_status != FTDM_STATE_STATUS_NEW) { fchan 187 src/ftdm_state.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "Failed to cancel state change from %s to %s, state is not new anymore\n", fchan 188 src/ftdm_state.c ftdm_channel_state2str(fchan->last_state), ftdm_channel_state2str(fchan->state)); fchan 193 src/ftdm_state.c hindex = (fchan->hindex == 0) ? (ftdm_array_len(fchan->history) - 1) : (fchan->hindex - 1); fchan 194 src/ftdm_state.c diff = fchan->history[hindex].end_time - fchan->history[hindex].time; fchan 197 src/ftdm_state.c state = fchan->state; fchan 198 src/ftdm_state.c last_state = fchan->last_state; fchan 200 src/ftdm_state.c fchan->state = fchan->last_state; fchan 201 src/ftdm_state.c fchan->state_status = FTDM_STATE_STATUS_COMPLETED; fchan 202 src/ftdm_state.c fchan->last_state = fchan->history[hindex].last_state; fchan 203 src/ftdm_state.c fchan->hindex = hindex; fchan 206 src/ftdm_state.c ftdm_clear_flag(fchan, FTDM_CHANNEL_STATE_CHANGE); fchan 209 src/ftdm_state.c ftdm_ack_indication(fchan, fchan->indication, FTDM_ECANCELED); fchan 212 src/ftdm_state.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_BLOCKING)) { fchan 213 src/ftdm_state.c ftdm_clear_flag(fchan, FTDM_CHANNEL_BLOCKING); fchan 214 src/ftdm_state.c ftdm_interrupt_signal(fchan->state_completed_interrupt); fchan 220 src/ftdm_state.c ftdm_log_chan_ex(fchan, file, func, line, FTDM_LOG_LEVEL_DEBUG, "Cancelled state change from %s to %s in %llums\n", fchan 444 src/ftdm_state.c static void write_history_entry(const ftdm_channel_t *fchan, ftdm_stream_handle_t *stream, int i, ftdm_time_t *prevtime) fchan 450 src/ftdm_state.c snprintf(states, sizeof(states), "%-5.15s => %-5.15s", ftdm_channel_state2str(fchan->history[i].last_state), ftdm_channel_state2str(fchan->history[i].state)); fchan 451 src/ftdm_state.c snprintf(func, sizeof(func), "[%s]", fchan->history[i].func); fchan 452 src/ftdm_state.c filename = strrchr(fchan->history[i].file, *FTDM_PATH_SEPARATOR); fchan 454 src/ftdm_state.c filename = fchan->history[i].file; fchan 459 src/ftdm_state.c *prevtime = fchan->history[i].time; fchan 461 src/ftdm_state.c snprintf(line, sizeof(func), "[%s:%d]", filename, fchan->history[i].line); fchan 462 src/ftdm_state.c stream->write_function(stream, "%-30.30s %-30.30s %-30.30s %lums\n", states, func, line, (fchan->history[i].time - *prevtime)); fchan 463 src/ftdm_state.c *prevtime = fchan->history[i].time; fchan 466 src/ftdm_state.c FT_DECLARE(char *) ftdm_channel_get_history_str(const ftdm_channel_t *fchan) fchan 474 src/ftdm_state.c if (!fchan->history[0].file) { fchan 482 src/ftdm_state.c for (i = fchan->hindex; i < ftdm_array_len(fchan->history); i++) { fchan 483 src/ftdm_state.c if (!fchan->history[i].file) { fchan 486 src/ftdm_state.c write_history_entry(fchan, &stream, i, &prevtime); fchan 489 src/ftdm_state.c for (i = 0; i < fchan->hindex; i++) { fchan 490 src/ftdm_state.c write_history_entry(fchan, &stream, i, &prevtime); fchan 500 src/ftdm_state.c FT_DECLARE(ftdm_status_t) ftdm_channel_advance_states(ftdm_channel_t *fchan) fchan 504 src/ftdm_state.c ftdm_assert_return(fchan->span->state_processor, FTDM_FAIL, "Cannot process states without a state processor!\n"); fchan 506 src/ftdm_state.c while (fchan->state_status == FTDM_STATE_STATUS_NEW) { fchan 507 src/ftdm_state.c state = fchan->state; fchan 508 src/ftdm_state.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Executing state processor for %s\n", ftdm_channel_state2str(fchan->state)); fchan 509 src/ftdm_state.c fchan->span->state_processor(fchan); fchan 510 src/ftdm_state.c if (state == fchan->state && fchan->state_status == FTDM_STATE_STATUS_NEW) { fchan 515 src/ftdm_state.c fchan->state_status = FTDM_STATE_STATUS_PROCESSED; fchan 125 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_t *fchan = ftdm_iterator_current(citer); fchan 126 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_lock(fchan); fchan 127 src/ftmod/ftmod_analog/ftmod_analog.c if (!ftdm_test_flag(fchan, FTDM_CHANNEL_IN_ALARM)) { fchan 129 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_unlock(fchan); fchan 132 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_unlock(fchan); fchan 50 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_channel_t *fchan; fchan 481 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_channel_t *fchan = NULL; fchan 488 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan = pritap->span->channels[PRI_CHANNEL(channel)]; fchan 489 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_INUSE)) { fchan 494 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_channel_open_chan(fchan) != FTDM_SUCCESS) { fchan 499 src/ftmod/ftmod_pritap/ftmod_pritap.c memset(&fchan->caller_data, 0, sizeof(fchan->caller_data)); fchan 501 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_string(fchan->caller_data.cid_num.digits, pcall->callingnum.digits); fchan 503 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_string(fchan->caller_data.cid_name, pcall->callingname); fchan 505 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_string(fchan->caller_data.cid_name, pcall->callingnum.digits); fchan 507 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_string(fchan->caller_data.ani.digits, pcall->callingani.digits); fchan 508 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_string(fchan->caller_data.dnis.digits, pcall->callednum.digits); fchan 510 src/ftmod/ftmod_pritap/ftmod_pritap.c return fchan; fchan 517 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_channel_t *fchan = NULL; fchan 594 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan = tap_pri_get_fchan(pritap, pcall, e->proceeding.channel); fchan 595 src/ftmod/ftmod_pritap/ftmod_pritap.c if (!fchan) { fchan 600 src/ftmod/ftmod_pritap/ftmod_pritap.c pcall->fchan = fchan; fchan 608 src/ftmod/ftmod_pritap/ftmod_pritap.c peerpcall->fchan = fchan; fchan 610 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan->call_data = peerfchan; fchan 611 src/ftmod/ftmod_pritap/ftmod_pritap.c peerfchan->call_data = fchan; fchan 613 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_state_locked(fchan, FTDM_CHANNEL_STATE_RING); fchan 626 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log_chan(pcall->fchan, FTDM_LOG_NOTICE, "Tapped call was answered in state %s\n", ftdm_channel_state2str(pcall->fchan->state)); fchan 641 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan = pcall->fchan; fchan 642 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_state_locked(fchan, FTDM_CHANNEL_STATE_TERMINATING); fchan 260 src/ftmod/ftmod_r2/ftmod_r2.c static ftdm_call_cause_t ftdm_r2_cause_to_ftdm_cause(ftdm_channel_t *fchan, openr2_call_disconnect_cause_t cause) fchan 297 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "Mapping openr2 cause %d to unspecified\n", cause); fchan 301 src/ftmod/ftmod_r2/ftmod_r2.c static openr2_call_disconnect_cause_t ftdm_r2_ftdm_cause_to_openr2_cause(ftdm_channel_t *fchan) fchan 303 src/ftmod/ftmod_r2/ftmod_r2.c switch (fchan->caller_data.hangup_cause) { fchan 336 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "freetdm hangup cause %d mapped to openr2 cause %s\n", fchan 337 src/ftmod/ftmod_r2/ftmod_r2.c fchan->caller_data.hangup_cause, openr2_proto_get_disconnect_string(OR2_CAUSE_UNSPECIFIED)); fchan 562 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = ftdm_iterator_current(citer); fchan 563 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_lock(fchan); fchan 564 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_SIG_UP)) { fchan 566 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_unlock(fchan); fchan 569 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_unlock(fchan); fchan 587 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = ftdm_iterator_current(citer); fchan 590 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_lock(fchan); fchan 591 src/ftmod/ftmod_r2/ftmod_r2.c if ((ftdm_r2_set_channel_sig_status(fchan, status)) != FTDM_SUCCESS) { fchan 592 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan(fchan, FTDM_LOG_ERROR, "Failed to set signaling status to %s\n", ftdm_signaling_status2str(status)); fchan 594 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_unlock(fchan); fchan 697 src/ftmod/ftmod_r2/ftmod_r2.c static void clear_accept_pending(ftdm_channel_t *fchan) fchan 699 src/ftmod/ftmod_r2/ftmod_r2.c if (IS_ACCEPTING_PENDING(fchan)) { fchan 700 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_complete_state(fchan); fchan 701 src/ftmod/ftmod_r2/ftmod_r2.c } else if (ftdm_test_flag(fchan, FTDM_CHANNEL_STATE_CHANGE)) { fchan 702 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan(fchan, FTDM_LOG_CRIT, "State change flag set in state %s, last state = %s\n", fchan 703 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_state2str(fchan->state), ftdm_channel_state2str(fchan->last_state)); fchan 704 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_complete_state(fchan); fchan 1007 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = openr2_chan_get_client_data(r2chan); fchan 1010 src/ftmod/ftmod_r2/ftmod_r2.c sigev.channel = fchan; fchan 1011 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(fchan->span, &sigev); fchan 1097 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = openr2_chan_get_fd(r2chan); fchan 1110 src/ftmod/ftmod_r2/ftmod_r2.c status = ftdm_channel_wait(fchan, &ftdmflags, timeout); fchan 1113 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan_msg(fchan, FTDM_LOG_ERROR, "Failed to wait for events on channel\n"); fchan 1142 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = openr2_chan_get_client_data(r2chan); fchan 1143 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan_msg(fchan, FTDM_LOG_ERROR, "I should not be called (I/O close)!!\n"); fchan 1150 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_channel_t *fchan = openr2_chan_get_client_data(r2chan); fchan 1151 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log_chan_msg(fchan, FTDM_LOG_ERROR, "I should not be called (I/O Setup)!!\n"); fchan 1995 src/ftmod/ftmod_r2/ftmod_r2.c static void __inline__ block_channel(ftdm_channel_t *fchan, ftdm_stream_handle_t *stream) fchan 1997 src/ftmod/ftmod_r2/ftmod_r2.c openr2_chan_t *r2chan = R2CALL(fchan)->r2chan; fchan 1998 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_mutex_lock(fchan->mutex); fchan 1999 src/ftmod/ftmod_r2/ftmod_r2.c if (fchan->state != FTDM_CHANNEL_STATE_DOWN) { fchan 2001 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2002 src/ftmod/ftmod_r2/ftmod_r2.c } else if (ftdm_test_flag(fchan, FTDM_CHANNEL_SUSPENDED)) { fchan 2004 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2007 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_set_flag(fchan, FTDM_CHANNEL_SUSPENDED); fchan 2009 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2012 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2015 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_mutex_unlock(fchan->mutex); fchan 2018 src/ftmod/ftmod_r2/ftmod_r2.c static void __inline__ unblock_channel(ftdm_channel_t *fchan, ftdm_stream_handle_t *stream) fchan 2020 src/ftmod/ftmod_r2/ftmod_r2.c openr2_chan_t *r2chan = R2CALL(fchan)->r2chan; fchan 2021 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_mutex_lock(fchan->mutex); fchan 2022 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_SUSPENDED)) { fchan 2024 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_clear_flag(fchan, FTDM_CHANNEL_SUSPENDED); fchan 2026 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2029 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2033 src/ftmod/ftmod_r2/ftmod_r2.c fchan->span_id, fchan->chan_id); fchan 2035 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_mutex_unlock(fchan->mutex); fchan 1169 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_channel_t *fchan; fchan 1171 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c fchan = ftdm_span_get_channel(span, 1); fchan 1172 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (fchan) { fchan 1173 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_channel_get_alarms(fchan, &alarmbits); fchan 621 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_DEBUG_CHAN(fchan, msg, args...) ftdm_log_chan(fchan, FTDM_LOG_DEBUG, msg , ##args) fchan 622 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_INFO_CHAN(fchan, msg, args...) ftdm_log_chan(fchan, FTDM_LOG_INFO, msg , ##args) fchan 623 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_WARN_CHAN(fchan, msg, args...) ftdm_log_chan(fchan, FTDM_LOG_WARNING, msg , ##args) fchan 624 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_ERROR_CHAN(fchan, msg, args...) ftdm_log_chan(fchan, FTDM_LOG_ERROR, msg , ##args) fchan 625 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_CTRIT_CHAN(fchan, msg, args...) ftdm_log_chan(fchan, FTDM_LOG_CRIT, msg , ##args) fchan 697 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h #define SS7_MSG_TRACE(fchan, sngss7info ,msg) if (g_ftdm_sngss7_data.message_trace) { \ fchan 700 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 704 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_ALERT, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 708 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_CRIT, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 712 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_ERROR, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 716 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_WARNING, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 720 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_NOTICE, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 724 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_INFO, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 728 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 732 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_log_chan(fchan, FTDM_LOG_INFO, "[CIC:%d][SPINSTID:%d][SUINSTID:%d]%s", \ fchan 1243 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static __inline__ ftdm_status_t wanpipe_channel_process_event(ftdm_channel_t *fchan, ftdm_oob_event_t *event_id, wanpipe_tdm_api_t *tdm_api) fchan 1263 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (fchan->type == FTDM_CHAN_TYPE_FXS) { fchan 1266 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Got wanpipe %s\n", ftdm_oob_event2str(*event_id)); fchan 1268 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_FLASH)) { fchan 1269 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(fchan, FTDM_CHANNEL_FLASH); fchan 1270 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(fchan, FTDM_CHANNEL_WINK); fchan 1274 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag(fchan, FTDM_CHANNEL_WINK); fchan 1277 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_WINK)) { fchan 1278 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(fchan, FTDM_CHANNEL_WINK); fchan 1279 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(fchan, FTDM_CHANNEL_FLASH); fchan 1281 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Wink flag is set, delivering %s\n", fchan 1285 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag(fchan, FTDM_CHANNEL_FLASH); fchan 1293 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c status = sangoma_tdm_txsig_onhook(fchan->sockfd, &onhook_tdm_api); fchan 1295 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(fchan->last_error, sizeof(fchan->last_error), "ONHOOK Failed"); fchan 1318 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c fchan->rx_cas_bits = wanpipe_swap_bits(tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_rbs_bits); fchan 1327 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Ignoring wanpipe DTMF: %c, fax tones will be passed through!\n", tmp_dtmf[0]); fchan 1332 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag(fchan, FTDM_CHANNEL_MUTE); fchan 1336 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(fchan, FTDM_CHANNEL_MUTE); fchan 1337 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_INUSE)) { fchan 1338 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Queuing wanpipe DTMF: %c\n", tmp_dtmf[0]); fchan 1339 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_queue_dtmf(fchan, tmp_dtmf); fchan 1346 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_DEBUG, "Got wanpipe alarms %d\n", tdm_api->wp_tdm_cmd.event.wp_api_event_alarm); fchan 1352 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan_msg(fchan, FTDM_LOG_DEBUG, "Got polarity reverse\n"); fchan 1358 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "Unhandled wanpipe event %d\n", tdm_api->wp_tdm_cmd.event.wp_tdm_api_event_type); fchan 1002 src/ftmod/ftmod_zt/ftmod_zt.c static __inline__ ftdm_status_t zt_channel_process_event(ftdm_channel_t *fchan, ftdm_oob_event_t *event_id, zt_event_t zt_event_id) fchan 1027 src/ftmod/ftmod_zt/ftmod_zt.c if (fchan->state == FTDM_CHANNEL_STATE_DOWN || fchan->state == FTDM_CHANNEL_STATE_DIALING) { fchan 1036 src/ftmod/ftmod_zt/ftmod_zt.c if (fchan->type == FTDM_CHAN_TYPE_FXS || (fchan->type == FTDM_CHAN_TYPE_EM && fchan->state != FTDM_CHANNEL_STATE_UP)) { fchan 1037 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_set_flag_locked(fchan, FTDM_CHANNEL_OFFHOOK); fchan 1039 src/ftmod/ftmod_zt/ftmod_zt.c } else if (fchan->type == FTDM_CHAN_TYPE_FXO) { fchan 1060 src/ftmod/ftmod_zt/ftmod_zt.c int err = ioctl(fchan->sockfd, codes.GETRXBITS, &bits); fchan 1064 src/ftmod/ftmod_zt/ftmod_zt.c fchan->rx_cas_bits = bits; fchan 1069 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_log_chan_msg(fchan, FTDM_LOG_DEBUG, "No event\n"); fchan 1075 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_log_chan(fchan, FTDM_LOG_WARNING, "Unhandled event %d\n", zt_event_id); fchan 1131 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_channel_t *fchan = span->channels[i]; fchan 1132 src/ftmod/ftmod_zt/ftmod_zt.c if (ftdm_test_flag(fchan, FTDM_CHANNEL_EVENT)) { fchan 1133 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_clear_flag(fchan, FTDM_CHANNEL_EVENT); fchan 1134 src/ftmod/ftmod_zt/ftmod_zt.c if (ioctl(fchan->sockfd, codes.GETEVENT, &zt_event_id) == -1) { fchan 1139 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_channel_lock(fchan); fchan 1140 src/ftmod/ftmod_zt/ftmod_zt.c if ((zt_channel_process_event(fchan, &event_id, zt_event_id)) != FTDM_SUCCESS) { fchan 1141 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_log_chan_msg(fchan, FTDM_LOG_ERROR, "Failed to process event from channel\n"); fchan 1142 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_channel_unlock(fchan); fchan 1145 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_channel_unlock(fchan); fchan 1147 src/ftmod/ftmod_zt/ftmod_zt.c fchan->last_event_time = 0; fchan 1150 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.channel = fchan; fchan 323 src/include/freetdm.h ftdm_channel_t *fchan; /*!< FreeTDM channel associated (can be NULL) */ fchan 361 src/include/freetdm.h typedef ftdm_status_t (*ftdm_hunt_result_cb_t)(ftdm_channel_t *fchan, ftdm_caller_data_t *caller_data); fchan 666 src/include/private/ftdm_core.h #define ftdm_log_chan_ex(fchan, file, func, line, level, format, ...) ftdm_log(file, func, line, level, "[s%dc%d][%d:%d] " format, fchan->span_id, fchan->chan_id, fchan->physical_span_id, fchan->physical_chan_id, __VA_ARGS__) fchan 667 src/include/private/ftdm_core.h #define ftdm_log_chan(fchan, level, format, ...) ftdm_log(level, "[s%dc%d][%d:%d] " format, fchan->span_id, fchan->chan_id, fchan->physical_span_id, fchan->physical_chan_id, __VA_ARGS__) fchan 668 src/include/private/ftdm_core.h #define ftdm_log_chan_msg(fchan, level, msg) ftdm_log(level, "[s%dc%d][%d:%d] " msg, fchan->span_id, fchan->chan_id, fchan->physical_span_id, fchan->physical_chan_id) fchan 670 src/include/private/ftdm_core.h #define ftdm_log_chan_throttle(fchan, level, format, ...) ftdm_log_throttle(level, "[s%dc%d][%d:%d] " format, fchan->span_id, fchan->chan_id, fchan->physical_span_id, fchan->physical_chan_id, __VA_ARGS__) fchan 671 src/include/private/ftdm_core.h #define ftdm_log_chan_msg_throttle(fchan, level, format, ...) ftdm_log_throttle(level, "[s%dc%d][%d:%d] " format, fchan->span_id, fchan->chan_id, fchan->physical_span_id, fchan->physical_chan_id, __VA_ARGS__) fchan 95 src/include/private/ftdm_state.h typedef ftdm_status_t (*ftdm_channel_state_processor_t)(ftdm_channel_t *fchan); fchan 102 src/include/private/ftdm_state.h FT_DECLARE(ftdm_status_t) ftdm_channel_advance_states(ftdm_channel_t *fchan); fchan 104 src/include/private/ftdm_state.h FT_DECLARE(ftdm_status_t) _ftdm_channel_complete_state(const char *file, const char *function, int line, ftdm_channel_t *fchan); fchan 199 src/include/private/ftdm_state.h ftdm_channel_t *fchan, ftdm_channel_state_t state); fchan 7 src/testr2.c static ftdm_channel_t *fchan = NULL; fchan 18 src/testr2.c if (!fchan) { fchan 19 src/testr2.c fchan = sigmsg->channel; fchan 44 src/testr2.c if (fchan) { fchan 58 src/testr2.c if (fchan && fchan == sigmsg->channel) { fchan 59 src/testr2.c fchan = NULL; fchan 132 src/testr2.c if (fchan && indication != FTDM_CHANNEL_INDICATE_NONE) { fchan 140 src/testr2.c lchan = fchan;