ftdmchan          109 mod_freetdm/mod_freetdm.c 	ftdm_channel_t *ftdmchan;
ftdmchan          202 mod_freetdm/mod_freetdm.c static void start_hold(ftdm_channel_t *ftdmchan, switch_core_session_t *session_a, const char *uuid, const char *stream)
ftdmchan          212 mod_freetdm/mod_freetdm.c 	spanid = ftdm_channel_get_span_id(ftdmchan);	
ftdmchan          257 mod_freetdm/mod_freetdm.c static void cycle_foreground(ftdm_channel_t *ftdmchan, int flash, const char *bcast) {
ftdmchan          262 mod_freetdm/mod_freetdm.c 	uint32_t tokencnt = ftdm_channel_get_token_count(ftdmchan);
ftdmchan          266 mod_freetdm/mod_freetdm.c 		if ((session = ftdm_channel_get_session(ftdmchan, i))) {
ftdmchan          278 mod_freetdm/mod_freetdm.c 					start_hold(ftdmchan, session, buuid, bcast);
ftdmchan          282 mod_freetdm/mod_freetdm.c 				start_hold(ftdmchan, session, buuid, bcast);
ftdmchan          299 mod_freetdm/mod_freetdm.c static switch_status_t tech_init(private_t *tech_pvt, switch_core_session_t *session, ftdm_channel_t *ftdmchan)
ftdmchan          305 mod_freetdm/mod_freetdm.c 	tech_pvt->ftdmchan = ftdmchan;
ftdmchan          318 mod_freetdm/mod_freetdm.c 	if (FTDM_SUCCESS != ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_INTERVAL, &interval)) {
ftdmchan          323 mod_freetdm/mod_freetdm.c 	if (FTDM_SUCCESS != ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_CODEC, &codec)) {
ftdmchan          410 mod_freetdm/mod_freetdm.c 	ftdm_channel_init(tech_pvt->ftdmchan);
ftdmchan          482 mod_freetdm/mod_freetdm.c 	if (!tech_pvt->ftdmchan) {
ftdmchan          486 mod_freetdm/mod_freetdm.c 	ftdm_channel_clear_token(tech_pvt->ftdmchan, switch_core_session_get_uuid(session));
ftdmchan          488 mod_freetdm/mod_freetdm.c 	chantype = ftdm_channel_get_type(tech_pvt->ftdmchan);	
ftdmchan          494 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_hangup(tech_pvt->ftdmchan);
ftdmchan          499 mod_freetdm/mod_freetdm.c 			if (!ftdm_channel_call_check_busy(tech_pvt->ftdmchan) && !ftdm_channel_call_check_done(tech_pvt->ftdmchan)) {
ftdmchan          500 mod_freetdm/mod_freetdm.c 				tokencnt = ftdm_channel_get_token_count(tech_pvt->ftdmchan);
ftdmchan          502 mod_freetdm/mod_freetdm.c 					cycle_foreground(tech_pvt->ftdmchan, 0, NULL);
ftdmchan          504 mod_freetdm/mod_freetdm.c 					ftdm_channel_call_hangup(tech_pvt->ftdmchan);
ftdmchan          515 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_hangup_with_cause(tech_pvt->ftdmchan, hcause);
ftdmchan          593 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_SEND_DTMF, tmp);
ftdmchan          625 mod_freetdm/mod_freetdm.c 	chunk = ftdm_channel_get_io_interval(tech_pvt->ftdmchan) * 2;
ftdmchan          640 mod_freetdm/mod_freetdm.c 		switch_yield(ftdm_channel_get_io_interval(tech_pvt->ftdmchan) * 1000);
ftdmchan          641 mod_freetdm/mod_freetdm.c 		tech_pvt->cng_frame.datalen = ftdm_channel_get_io_packet_len(tech_pvt->ftdmchan);
ftdmchan          645 mod_freetdm/mod_freetdm.c 		if (ftdm_channel_get_codec(tech_pvt->ftdmchan) == FTDM_CODEC_SLIN) {
ftdmchan          657 mod_freetdm/mod_freetdm.c 	status = ftdm_channel_wait(tech_pvt->ftdmchan, &wflags, chunk);
ftdmchan          680 mod_freetdm/mod_freetdm.c 	if (ftdm_channel_read(tech_pvt->ftdmchan, tech_pvt->read_frame.data, &len) != FTDM_SUCCESS) {
ftdmchan          689 mod_freetdm/mod_freetdm.c 	if (ftdm_channel_get_codec(tech_pvt->ftdmchan) == FTDM_CODEC_SLIN) {
ftdmchan          693 mod_freetdm/mod_freetdm.c 	while (ftdm_channel_dequeue_dtmf(tech_pvt->ftdmchan, dtmf, sizeof(dtmf))) {
ftdmchan          728 mod_freetdm/mod_freetdm.c 	if (!tech_pvt->ftdmchan) {
ftdmchan          755 mod_freetdm/mod_freetdm.c 	status = ftdm_channel_wait(tech_pvt->ftdmchan, &wflags, ftdm_channel_get_io_interval(tech_pvt->ftdmchan) * 10);
ftdmchan          763 mod_freetdm/mod_freetdm.c 	if (ftdm_channel_write(tech_pvt->ftdmchan, frame->data, frame->buflen, &len) != FTDM_SUCCESS) {
ftdmchan          798 mod_freetdm/mod_freetdm.c 	phy_id = ftdm_channel_get_ph_id(tech_pvt->ftdmchan);	
ftdmchan          808 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_indicate(tech_pvt->ftdmchan, FTDM_CHANNEL_INDICATE_PROGRESS);
ftdmchan          813 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_indicate(tech_pvt->ftdmchan, FTDM_CHANNEL_INDICATE_PROGRESS_MEDIA);
ftdmchan          818 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_answer(tech_pvt->ftdmchan);
ftdmchan          844 mod_freetdm/mod_freetdm.c 	if (ftdm_channel_call_check_hangup(tech_pvt->ftdmchan)) {
ftdmchan          855 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_indicate(tech_pvt->ftdmchan, FTDM_CHANNEL_INDICATE_PROGRESS);
ftdmchan          860 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_indicate(tech_pvt->ftdmchan, FTDM_CHANNEL_INDICATE_PROGRESS_MEDIA);
ftdmchan          865 mod_freetdm/mod_freetdm.c 			ftdm_channel_call_answer(tech_pvt->ftdmchan);
ftdmchan          898 mod_freetdm/mod_freetdm.c 		ftdm_channel_call_answer(tech_pvt->ftdmchan);
ftdmchan          930 mod_freetdm/mod_freetdm.c 		ftdm_channel_call_answer(tech_pvt->ftdmchan);
ftdmchan          938 mod_freetdm/mod_freetdm.c 				ftdm_channel_call_indicate(tech_pvt->ftdmchan, FTDM_CHANNEL_INDICATE_RING);
ftdmchan          955 mod_freetdm/mod_freetdm.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          967 mod_freetdm/mod_freetdm.c 	if (!(ftdmchan = tech_pvt->ftdmchan)) {
ftdmchan          972 mod_freetdm/mod_freetdm.c 	if (!tech_pvt->ftdmchan) {
ftdmchan          984 mod_freetdm/mod_freetdm.c 					ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_SET_PRE_BUFFER_SIZE, &tmp);
ftdmchan          988 mod_freetdm/mod_freetdm.c 				ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_DISABLE_DTMF_DETECT, NULL);
ftdmchan          994 mod_freetdm/mod_freetdm.c 			ftdm_channel_replace_token(tech_pvt->ftdmchan, msg->string_array_arg[0], msg->string_array_arg[1]);
ftdmchan         1001 mod_freetdm/mod_freetdm.c 	switch (ftdm_channel_get_type(tech_pvt->ftdmchan)) {
ftdmchan         1061 mod_freetdm/mod_freetdm.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1284 mod_freetdm/mod_freetdm.c 		status = ftdm_channel_open_by_group(group_id, direction, &caller_data, &ftdmchan);
ftdmchan         1286 mod_freetdm/mod_freetdm.c 		status = ftdm_channel_open(span_id, chan_id, &ftdmchan);
ftdmchan         1288 mod_freetdm/mod_freetdm.c 		status = ftdm_channel_open_by_span(span_id, direction, &caller_data, &ftdmchan);
ftdmchan         1301 mod_freetdm/mod_freetdm.c 			ftdm_channel_command(ftdmchan, FTDM_COMMAND_SET_PRE_BUFFER_SIZE, &tmp);
ftdmchan         1305 mod_freetdm/mod_freetdm.c 	span_id = ftdm_channel_get_span_id(ftdmchan);
ftdmchan         1306 mod_freetdm/mod_freetdm.c 	chan_id = ftdm_channel_get_id(ftdmchan);
ftdmchan         1313 mod_freetdm/mod_freetdm.c 				ftdm_channel_add_var(ftdmchan, v, h->value);
ftdmchan         1325 mod_freetdm/mod_freetdm.c 			tech_init(tech_pvt, *new_session, ftdmchan);
ftdmchan         1336 mod_freetdm/mod_freetdm.c 		switch_channel_set_variable(channel, "freetdm_span_name", ftdm_channel_get_span_name(ftdmchan));
ftdmchan         1339 mod_freetdm/mod_freetdm.c 		ftdm_channel_set_caller_data(ftdmchan, &caller_data);
ftdmchan         1349 mod_freetdm/mod_freetdm.c 		if (ftdm_channel_add_token(ftdmchan, switch_core_session_get_uuid(*new_session), ftdm_channel_get_token_count(ftdmchan)) != FTDM_SUCCESS) {
ftdmchan         1358 mod_freetdm/mod_freetdm.c 			snprintf(spanresource, sizeof(spanresource), "span_%s_%s", ftdm_channel_get_span_name(ftdmchan), caller_data.dnis.digits);
ftdmchan         1368 mod_freetdm/mod_freetdm.c 		if ((status = ftdm_channel_call_place(ftdmchan)) != FTDM_SUCCESS) {
ftdmchan         1379 mod_freetdm/mod_freetdm.c 				ftdmchan = NULL;
ftdmchan         1386 mod_freetdm/mod_freetdm.c 		ftdm_channel_init(ftdmchan);
ftdmchan         1393 mod_freetdm/mod_freetdm.c 	if (ftdmchan) {
ftdmchan         1394 mod_freetdm/mod_freetdm.c 		ftdm_channel_call_hangup_with_cause(ftdmchan, FTDM_CAUSE_NORMAL_TEMPORARY_FAILURE);
ftdmchan         3460 mod_freetdm/mod_freetdm.c 	ftdm_channel_t *ftdmchan;
ftdmchan         3468 mod_freetdm/mod_freetdm.c 	ftdmchan = ftdm_span_get_channel(span, chan_id);
ftdmchan         3471 mod_freetdm/mod_freetdm.c 	phspan_id = ftdm_channel_get_ph_span_id(ftdmchan);
ftdmchan         3472 mod_freetdm/mod_freetdm.c 	phchan_id = ftdm_channel_get_ph_id(ftdmchan);
ftdmchan         3473 mod_freetdm/mod_freetdm.c 	chan_type = ftdm_chan_type2str(ftdm_channel_get_type(ftdmchan));
ftdmchan         3474 mod_freetdm/mod_freetdm.c 	state = ftdm_channel_get_state_str(ftdmchan);
ftdmchan         3475 mod_freetdm/mod_freetdm.c 	last_state = ftdm_channel_get_last_state_str(ftdmchan);
ftdmchan         3476 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_RX_GAIN, &rxgain);
ftdmchan         3477 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_TX_GAIN, &txgain);
ftdmchan         3478 mod_freetdm/mod_freetdm.c 	caller_data = ftdm_channel_get_caller_data(ftdmchan);
ftdmchan         3479 mod_freetdm/mod_freetdm.c 	ftdm_channel_get_sig_status(ftdmchan, &sigstatus);
ftdmchan         3480 mod_freetdm/mod_freetdm.c 	ftdm_channel_get_alarms(ftdmchan, &alarmflag);
ftdmchan         3482 mod_freetdm/mod_freetdm.c 	uuid = ftdm_channel_get_uuid(ftdmchan, 0);
ftdmchan         3544 mod_freetdm/mod_freetdm.c 	ftdm_channel_t *ftdmchan;
ftdmchan         3552 mod_freetdm/mod_freetdm.c 	ftdmchan = ftdm_span_get_channel(span, chan_id);
ftdmchan         3555 mod_freetdm/mod_freetdm.c 	phspan_id = ftdm_channel_get_ph_span_id(ftdmchan);
ftdmchan         3556 mod_freetdm/mod_freetdm.c 	phchan_id = ftdm_channel_get_ph_id(ftdmchan);
ftdmchan         3557 mod_freetdm/mod_freetdm.c 	chan_type = ftdm_chan_type2str(ftdm_channel_get_type(ftdmchan));
ftdmchan         3558 mod_freetdm/mod_freetdm.c 	state = ftdm_channel_get_state_str(ftdmchan);
ftdmchan         3559 mod_freetdm/mod_freetdm.c 	last_state = ftdm_channel_get_last_state_str(ftdmchan);
ftdmchan         3560 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_RX_GAIN, &rxgain);
ftdmchan         3561 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_TX_GAIN, &txgain);
ftdmchan         3562 mod_freetdm/mod_freetdm.c 	caller_data = ftdm_channel_get_caller_data(ftdmchan);
ftdmchan         3563 mod_freetdm/mod_freetdm.c 	ftdm_channel_get_sig_status(ftdmchan, &sigstatus);
ftdmchan         3564 mod_freetdm/mod_freetdm.c 	ftdm_channel_get_alarms(ftdmchan, &alarmflag);
ftdmchan         4042 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_ENABLE_DTMF_DETECT, NULL);
ftdmchan         4043 mod_freetdm/mod_freetdm.c 	ftdm_log(FTDM_LOG_INFO, "DTMF detection enabled in channel %d:%d\n", ftdm_channel_get_id(tech_pvt->ftdmchan), ftdm_channel_get_span_id(tech_pvt->ftdmchan));
ftdmchan         4061 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_DISABLE_DTMF_DETECT, NULL);
ftdmchan         4062 mod_freetdm/mod_freetdm.c 	ftdm_log(FTDM_LOG_INFO, "DTMF detection Disabled in channel %d:%d\n", ftdm_channel_get_id(tech_pvt->ftdmchan), ftdm_channel_get_span_id(tech_pvt->ftdmchan));
ftdmchan         4082 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_DISABLE_ECHOCANCEL, &x);
ftdmchan         4083 mod_freetdm/mod_freetdm.c 	ftdm_channel_command(tech_pvt->ftdmchan, FTDM_COMMAND_DISABLE_ECHOTRAIN, &x);
ftdmchan          219 sample/boost/ftdmstart.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          234 sample/boost/ftdmstart.c 	status = ftdm_channel_open_by_span(ftdm_span_get_id(span), FTDM_TOP_DOWN, &caller_data, &ftdmchan);
ftdmchan          240 sample/boost/ftdmstart.c 	g_outgoing_channel = ftdmchan;
ftdmchan          243 sample/boost/ftdmstart.c 	ftdm_channel_set_caller_data(ftdmchan, &caller_data);
ftdmchan          245 sample/boost/ftdmstart.c 	status = ftdm_channel_call_place(ftdmchan);
ftdmchan          252 sample/boost/ftdmstart.c 	ftdm_channel_init(ftdmchan);
ftdmchan          346 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_set_caller_data(ftdm_channel_t *ftdmchan, ftdm_caller_data_t *caller_data)
ftdmchan          349 src/ftdm_io.c  	if (!ftdmchan) {
ftdmchan          353 src/ftdm_io.c  	if ((err = ftdm_set_caller_data(ftdmchan->span, caller_data)) != FTDM_SUCCESS) {
ftdmchan          356 src/ftdm_io.c  	ftdmchan->caller_data = *caller_data;
ftdmchan          422 src/ftdm_io.c  static ftdm_status_t ftdm_channel_destroy(ftdm_channel_t *ftdmchan)
ftdmchan          425 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_CONFIGURED)) {
ftdmchan          427 src/ftdm_io.c  		while (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan          428 src/ftdm_io.c  			ftdm_log(FTDM_LOG_INFO, "Waiting for thread to exit on channel %u:%u\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          433 src/ftdm_io.c  		ftdm_mutex_destroy(&ftdmchan->dtmfdbg.mutex);
ftdmchan          436 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan          437 src/ftdm_io.c  		ftdm_buffer_destroy(&ftdmchan->pre_buffer);
ftdmchan          438 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan          440 src/ftdm_io.c  		ftdm_buffer_destroy(&ftdmchan->digit_buffer);
ftdmchan          441 src/ftdm_io.c  		ftdm_buffer_destroy(&ftdmchan->gen_dtmf_buffer);
ftdmchan          442 src/ftdm_io.c  		ftdm_buffer_destroy(&ftdmchan->dtmf_buffer);
ftdmchan          443 src/ftdm_io.c  		ftdm_buffer_destroy(&ftdmchan->fsk_buffer);
ftdmchan          444 src/ftdm_io.c  		ftdmchan->pre_buffer_size = 0;
ftdmchan          446 src/ftdm_io.c  		ftdm_safe_free(ftdmchan->dtmf_hangup_buf);
ftdmchan          448 src/ftdm_io.c  		if (ftdmchan->tone_session.buffer) {
ftdmchan          449 src/ftdm_io.c  			teletone_destroy_session(&ftdmchan->tone_session);
ftdmchan          450 src/ftdm_io.c  			memset(&ftdmchan->tone_session, 0, sizeof(ftdmchan->tone_session));
ftdmchan          454 src/ftdm_io.c  		if (ftdmchan->span->fio->channel_destroy) {
ftdmchan          455 src/ftdm_io.c  			ftdm_log(FTDM_LOG_INFO, "Closing channel %s:%u:%u fd:%d\n", ftdmchan->span->type, ftdmchan->span_id, ftdmchan->chan_id, ftdmchan->sockfd);
ftdmchan          456 src/ftdm_io.c  			if (ftdmchan->span->fio->channel_destroy(ftdmchan) == FTDM_SUCCESS) {
ftdmchan          457 src/ftdm_io.c  				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_CONFIGURED);
ftdmchan          459 src/ftdm_io.c  				ftdm_log(FTDM_LOG_ERROR, "Error Closing channel %u:%u fd:%d\n", ftdmchan->span_id, ftdmchan->chan_id, ftdmchan->sockfd);
ftdmchan          463 src/ftdm_io.c  		ftdm_mutex_destroy(&ftdmchan->mutex);
ftdmchan          464 src/ftdm_io.c  		ftdm_mutex_destroy(&ftdmchan->pre_buffer_mutex);
ftdmchan          518 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_get_alarms(ftdm_channel_t *ftdmchan, ftdm_alarm_flag_t *alarmbits)
ftdmchan          526 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan          528 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_CONFIGURED)) {
ftdmchan          529 src/ftdm_io.c  		if (ftdmchan->span->fio->get_alarms) {
ftdmchan          530 src/ftdm_io.c  			if ((status = ftdmchan->span->fio->get_alarms(ftdmchan)) == FTDM_SUCCESS) {
ftdmchan          531 src/ftdm_io.c  				*ftdmchan->last_error = '\0';
ftdmchan          532 src/ftdm_io.c  				*alarmbits = ftdmchan->alarm_flags;
ftdmchan          533 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_RED)) {
ftdmchan          534 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "RED/");
ftdmchan          536 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_YELLOW)) {
ftdmchan          537 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "YELLOW/");
ftdmchan          539 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_RAI)) {
ftdmchan          540 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "RAI/");
ftdmchan          542 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_BLUE)) {
ftdmchan          543 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "BLUE/");
ftdmchan          545 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_AIS)) {
ftdmchan          546 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "AIS/");
ftdmchan          548 src/ftdm_io.c  				if (ftdm_test_alarm_flag(ftdmchan, FTDM_ALARM_GENERAL)) {
ftdmchan          549 src/ftdm_io.c  					snprintf(ftdmchan->last_error + strlen(ftdmchan->last_error), sizeof(ftdmchan->last_error) - strlen(ftdmchan->last_error), "GENERAL");
ftdmchan          551 src/ftdm_io.c  				*(ftdmchan->last_error + strlen(ftdmchan->last_error) - 1) = '\0';
ftdmchan          559 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);	
ftdmchan          990 src/ftdm_io.c  	ftdm_channel_t *ftdmchan = (ftdm_channel_t *) user_data;
ftdmchan          991 src/ftdm_io.c  	ftdm_buffer_write(ftdmchan->fsk_buffer, buf, buflen * 2);
ftdmchan          995 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_send_fsk_data(ftdm_channel_t *ftdmchan, ftdm_fsk_data_state_t *fsk_data, float db_level)
ftdmchan          999 src/ftdm_io.c  	if (!ftdmchan->fsk_buffer) {
ftdmchan         1000 src/ftdm_io.c  		ftdm_buffer_create(&ftdmchan->fsk_buffer, 128, 128, 0);
ftdmchan         1002 src/ftdm_io.c  		ftdm_buffer_zero(ftdmchan->fsk_buffer);
ftdmchan         1005 src/ftdm_io.c  	if (ftdmchan->token_count > 1) {
ftdmchan         1006 src/ftdm_io.c  		ftdm_fsk_modulator_init(&fsk_trans, FSK_BELL202, ftdmchan->rate, fsk_data, db_level, 80, 5, 0, ftdmchan_fsk_write_sample, ftdmchan);
ftdmchan         1009 src/ftdm_io.c  		ftdm_fsk_modulator_init(&fsk_trans, FSK_BELL202, ftdmchan->rate, fsk_data, db_level, 180, 5, 300, ftdmchan_fsk_write_sample, ftdmchan);
ftdmchan         1011 src/ftdm_io.c  		ftdmchan->buffer_delay = 3500 / ftdmchan->effective_interval;
ftdmchan         1017 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_clear_token(ftdm_channel_t *ftdmchan, const char *token)
ftdmchan         1021 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1023 src/ftdm_io.c  		memset(ftdmchan->tokens, 0, sizeof(ftdmchan->tokens));
ftdmchan         1024 src/ftdm_io.c  		ftdmchan->token_count = 0;
ftdmchan         1027 src/ftdm_io.c  		int32_t i, count = ftdmchan->token_count;
ftdmchan         1028 src/ftdm_io.c  		memcpy(tokens, ftdmchan->tokens, sizeof(tokens));
ftdmchan         1029 src/ftdm_io.c  		memset(ftdmchan->tokens, 0, sizeof(ftdmchan->tokens));
ftdmchan         1030 src/ftdm_io.c  		ftdmchan->token_count = 0;		
ftdmchan         1034 src/ftdm_io.c  				ftdm_copy_string(ftdmchan->tokens[ftdmchan->token_count], tokens[i], sizeof(ftdmchan->tokens[ftdmchan->token_count]));
ftdmchan         1035 src/ftdm_io.c  				ftdmchan->token_count++;
ftdmchan         1041 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1046 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_rotate_tokens(ftdm_channel_t *ftdmchan)
ftdmchan         1048 src/ftdm_io.c  	if (ftdmchan->token_count) {
ftdmchan         1049 src/ftdm_io.c  		memmove(ftdmchan->tokens[1], ftdmchan->tokens[0], ftdmchan->token_count * FTDM_TOKEN_STRLEN);
ftdmchan         1050 src/ftdm_io.c  		ftdm_copy_string(ftdmchan->tokens[0], ftdmchan->tokens[ftdmchan->token_count], FTDM_TOKEN_STRLEN);
ftdmchan         1051 src/ftdm_io.c  		*ftdmchan->tokens[ftdmchan->token_count] = '\0';
ftdmchan         1055 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_replace_token(ftdm_channel_t *ftdmchan, const char *old_token, const char *new_token)
ftdmchan         1059 src/ftdm_io.c  	if (ftdmchan->token_count) {
ftdmchan         1060 src/ftdm_io.c  		for(i = 0; i < ftdmchan->token_count; i++) {
ftdmchan         1061 src/ftdm_io.c  			if (!strcmp(ftdmchan->tokens[i], old_token)) {
ftdmchan         1062 src/ftdm_io.c  				ftdm_copy_string(ftdmchan->tokens[i], new_token, FTDM_TOKEN_STRLEN);
ftdmchan         1069 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_set_private(ftdm_channel_t *ftdmchan, void *pvt)
ftdmchan         1071 src/ftdm_io.c  	ftdmchan->user_private = pvt;
ftdmchan         1074 src/ftdm_io.c  FT_DECLARE(void *) ftdm_channel_get_private(const ftdm_channel_t *ftdmchan)
ftdmchan         1076 src/ftdm_io.c  	return ftdmchan->user_private;
ftdmchan         1079 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_token_count(const ftdm_channel_t *ftdmchan)
ftdmchan         1082 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1083 src/ftdm_io.c  	count = ftdmchan->token_count;
ftdmchan         1084 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1088 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_io_interval(const ftdm_channel_t *ftdmchan)
ftdmchan         1091 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1092 src/ftdm_io.c  	count = ftdmchan->effective_interval;
ftdmchan         1093 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1097 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_io_packet_len(const ftdm_channel_t *ftdmchan)
ftdmchan         1100 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1101 src/ftdm_io.c  	count = ftdmchan->packet_len;
ftdmchan         1102 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1106 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_type(const ftdm_channel_t *ftdmchan)
ftdmchan         1108 src/ftdm_io.c  	return ftdmchan->type;
ftdmchan         1111 src/ftdm_io.c  FT_DECLARE(ftdm_codec_t) ftdm_channel_get_codec(const ftdm_channel_t *ftdmchan)
ftdmchan         1113 src/ftdm_io.c  	return ftdmchan->effective_codec;
ftdmchan         1116 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_token(const ftdm_channel_t *ftdmchan, uint32_t tokenid)
ftdmchan         1119 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1121 src/ftdm_io.c  	if (ftdmchan->token_count <= tokenid) {
ftdmchan         1122 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1126 src/ftdm_io.c  	token = ftdmchan->tokens[tokenid];
ftdmchan         1127 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1131 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_add_token(ftdm_channel_t *ftdmchan, char *token, int end)
ftdmchan         1135 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1136 src/ftdm_io.c  	if (ftdmchan->token_count < FTDM_MAX_TOKENS) {
ftdmchan         1138 src/ftdm_io.c  			ftdm_copy_string(ftdmchan->tokens[ftdmchan->token_count++], token, FTDM_TOKEN_STRLEN);
ftdmchan         1140 src/ftdm_io.c  			memmove(ftdmchan->tokens[1], ftdmchan->tokens[0], ftdmchan->token_count * FTDM_TOKEN_STRLEN);
ftdmchan         1141 src/ftdm_io.c  			ftdm_copy_string(ftdmchan->tokens[0], token, FTDM_TOKEN_STRLEN);
ftdmchan         1142 src/ftdm_io.c  			ftdmchan->token_count++;
ftdmchan         1146 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1152 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_complete_state(ftdm_channel_t *ftdmchan)
ftdmchan         1154 src/ftdm_io.c  	ftdm_channel_state_t state = ftdmchan->state;
ftdmchan         1157 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         1159 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         1160 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_MEDIA);	
ftdmchan         1161 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_ANSWERED);	
ftdmchan         1163 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);	
ftdmchan         1164 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_MEDIA);	
ftdmchan         1170 src/ftdm_io.c  static int ftdm_parse_state_map(ftdm_channel_t *ftdmchan, ftdm_channel_state_t state, ftdm_state_map_t *state_map)
ftdmchan         1173 src/ftdm_io.c  	ftdm_state_direction_t direction = ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) ? ZSD_OUTBOUND : ZSD_INBOUND;
ftdmchan         1189 src/ftdm_io.c  				if (state_map->nodes[x].check_states[i] == ftdmchan->state) {
ftdmchan         1218 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_set_state(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan, ftdm_channel_state_t state, int waitrq)
ftdmchan         1223 src/ftdm_io.c  	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_READY)) {
ftdmchan         1224 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_ERROR, "Ignored state change request from %s to %s, the channel is not ready\n",
ftdmchan         1225 src/ftdm_io.c  				ftdm_channel_state2str(ftdmchan->state), ftdm_channel_state2str(state));
ftdmchan         1229 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan         1230 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_ERROR, "Ignored state change request from %s to %s, the previous state change has not been processed yet\n",
ftdmchan         1231 src/ftdm_io.c  				ftdm_channel_state2str(ftdmchan->state), ftdm_channel_state2str(state));
ftdmchan         1235 src/ftdm_io.c  	if (ftdmchan->state == state) {
ftdmchan         1236 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_WARNING, "Why bother changing state from %s to %s\n", ftdm_channel_state2str(ftdmchan->state), ftdm_channel_state2str(state));
ftdmchan         1240 src/ftdm_io.c  	if (ftdmchan->span->state_map) {
ftdmchan         1241 src/ftdm_io.c  		ok = ftdm_parse_state_map(ftdmchan, state, ftdmchan->span->state_map);
ftdmchan         1246 src/ftdm_io.c  	switch(ftdmchan->state) {
ftdmchan         1326 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_DEBUG, "Changed state from %s to %s\n", ftdm_channel_state2str(ftdmchan->state), ftdm_channel_state2str(state));
ftdmchan         1327 src/ftdm_io.c  		ftdmchan->last_state = ftdmchan->state; 
ftdmchan         1328 src/ftdm_io.c  		ftdmchan->state = state;
ftdmchan         1329 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].file = file;
ftdmchan         1330 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].func = func;
ftdmchan         1331 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].line = line;
ftdmchan         1332 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].state = ftdmchan->state;
ftdmchan         1333 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].last_state = ftdmchan->last_state;
ftdmchan         1334 src/ftdm_io.c  		ftdmchan->history[ftdmchan->hindex].time = ftdm_current_time_in_ms();
ftdmchan         1335 src/ftdm_io.c  		ftdmchan->hindex++;
ftdmchan         1336 src/ftdm_io.c  		if (ftdmchan->hindex == ftdm_array_len(ftdmchan->history)) {
ftdmchan         1337 src/ftdm_io.c  			ftdmchan->hindex = 0;
ftdmchan         1339 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan         1341 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->span->mutex);
ftdmchan         1342 src/ftdm_io.c  		ftdm_set_flag(ftdmchan->span, FTDM_SPAN_STATE_CHANGE);
ftdmchan         1343 src/ftdm_io.c  		if (ftdmchan->span->pendingchans) {
ftdmchan         1344 src/ftdm_io.c  			ftdm_queue_enqueue(ftdmchan->span->pendingchans, ftdmchan);
ftdmchan         1346 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->span->mutex);
ftdmchan         1348 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_WARNING, "VETO state change from %s to %s\n", ftdm_channel_state2str(ftdmchan->state), ftdm_channel_state2str(state));
ftdmchan         1355 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1360 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1363 src/ftdm_io.c  		if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan         1369 src/ftdm_io.c  		if (ftdmchan->state != state) {
ftdmchan         1375 src/ftdm_io.c  		ftdm_log_chan_ex(ftdmchan, file, func, line, FTDM_LOG_LEVEL_WARNING, "state change from %s to %s was most likely not processed after aprox %dms\n",
ftdmchan         1376 src/ftdm_io.c  				ftdm_channel_state2str(ftdmchan->last_state), ftdm_channel_state2str(state), DEFAULT_WAIT_TIME);
ftdmchan         1429 src/ftdm_io.c  static __inline__ int request_voice_channel(ftdm_channel_t *check, ftdm_channel_t **ftdmchan, 
ftdmchan         1447 src/ftdm_io.c  					direction, caller_data, ftdmchan);
ftdmchan         1454 src/ftdm_io.c  					*ftdmchan = check;
ftdmchan         1513 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_open_by_group(uint32_t group_id, ftdm_direction_t direction, ftdm_caller_data_t *caller_data, ftdm_channel_t **ftdmchan)
ftdmchan         1529 src/ftdm_io.c  		*ftdmchan = NULL;
ftdmchan         1537 src/ftdm_io.c  		*ftdmchan = NULL;
ftdmchan         1556 src/ftdm_io.c  		if (request_voice_channel(check, ftdmchan, caller_data, direction)) {
ftdmchan         1577 src/ftdm_io.c  		status = get_best_rated(ftdmchan, best_rated);
ftdmchan         1606 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_open_by_span(uint32_t span_id, ftdm_direction_t direction, ftdm_caller_data_t *caller_data, ftdm_channel_t **ftdmchan)
ftdmchan         1616 src/ftdm_io.c  	*ftdmchan = NULL;
ftdmchan         1639 src/ftdm_io.c  		return span->channel_request(span, 0, direction, caller_data, ftdmchan);
ftdmchan         1667 src/ftdm_io.c  		if (request_voice_channel(check, ftdmchan, caller_data, direction)) {
ftdmchan         1682 src/ftdm_io.c  		status = get_best_rated(ftdmchan, best_rated);
ftdmchan         1690 src/ftdm_io.c  static ftdm_status_t ftdm_channel_reset(ftdm_channel_t *ftdmchan)
ftdmchan         1692 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_OPEN);
ftdmchan         1693 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_DTMF_DETECT);
ftdmchan         1694 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_SUPRESS_DTMF);
ftdmchan         1695 src/ftdm_io.c  	ftdm_channel_done(ftdmchan);
ftdmchan         1696 src/ftdm_io.c  	ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_HOLD);
ftdmchan         1698 src/ftdm_io.c  	memset(ftdmchan->tokens, 0, sizeof(ftdmchan->tokens));
ftdmchan         1699 src/ftdm_io.c  	ftdmchan->token_count = 0;
ftdmchan         1701 src/ftdm_io.c  	ftdm_channel_flush_dtmf(ftdmchan);
ftdmchan         1703 src/ftdm_io.c  	if (ftdmchan->gen_dtmf_buffer) {
ftdmchan         1704 src/ftdm_io.c  		ftdm_buffer_zero(ftdmchan->gen_dtmf_buffer);
ftdmchan         1707 src/ftdm_io.c  	if (ftdmchan->digit_buffer) {
ftdmchan         1708 src/ftdm_io.c  		ftdm_buffer_zero(ftdmchan->digit_buffer);
ftdmchan         1711 src/ftdm_io.c  	if (!ftdmchan->dtmf_on) {
ftdmchan         1712 src/ftdm_io.c  		ftdmchan->dtmf_on = FTDM_DEFAULT_DTMF_ON;
ftdmchan         1715 src/ftdm_io.c  	if (!ftdmchan->dtmf_off) {
ftdmchan         1716 src/ftdm_io.c  		ftdmchan->dtmf_off = FTDM_DEFAULT_DTMF_OFF;
ftdmchan         1719 src/ftdm_io.c  	memset(ftdmchan->dtmf_hangup_buf, '\0', ftdmchan->span->dtmf_hangup_len);
ftdmchan         1721 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE)) {
ftdmchan         1722 src/ftdm_io.c  		ftdmchan->effective_codec = ftdmchan->native_codec;
ftdmchan         1723 src/ftdm_io.c  		ftdmchan->packet_len = ftdmchan->native_interval * (ftdmchan->effective_codec == FTDM_CODEC_SLIN ? 16 : 8);
ftdmchan         1724 src/ftdm_io.c  		ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE);
ftdmchan         1730 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_init(ftdm_channel_t *ftdmchan)
ftdmchan         1732 src/ftdm_io.c  	if (ftdmchan->init_state != FTDM_CHANNEL_STATE_DOWN) {
ftdmchan         1733 src/ftdm_io.c  		ftdm_set_state(ftdmchan, ftdmchan->init_state);
ftdmchan         1734 src/ftdm_io.c  		ftdmchan->init_state = FTDM_CHANNEL_STATE_DOWN;
ftdmchan         1740 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_open_chan(ftdm_channel_t *ftdmchan)
ftdmchan         1744 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "invalid ftdmchan pointer\n");
ftdmchan         1746 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1748 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SUSPENDED)) {
ftdmchan         1749 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", "Channel is suspended\n");
ftdmchan         1750 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Cannot open channel when is suspended\n");
ftdmchan         1754 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_IN_ALARM)) {
ftdmchan         1755 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", "Channel is alarmed\n");
ftdmchan         1756 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Cannot open channel when is alarmed\n");
ftdmchan         1760 src/ftdm_io.c  	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_READY)) {
ftdmchan         1761 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Channel is not ready");
ftdmchan         1762 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Cannot open channel when is not ready\n");
ftdmchan         1768 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", "CPU usage alarm is on - refusing to open channel\n");
ftdmchan         1769 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "CPU usage alarm is on - refusing to open channel\n");
ftdmchan         1770 src/ftdm_io.c  		ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_SWITCH_CONGESTION;
ftdmchan         1775 src/ftdm_io.c  	status = ftdmchan->fio->open(ftdmchan);
ftdmchan         1777 src/ftdm_io.c  		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OPEN | FTDM_CHANNEL_INUSE);
ftdmchan         1779 src/ftdm_io.c  		ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "IO open failed: %d\n", status);
ftdmchan         1784 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1789 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_open(uint32_t span_id, uint32_t chan_id, ftdm_channel_t **ftdmchan)
ftdmchan         1797 src/ftdm_io.c  	*ftdmchan = NULL;
ftdmchan         1869 src/ftdm_io.c  	*ftdmchan = check;
ftdmchan         1883 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_id(const ftdm_channel_t *ftdmchan)
ftdmchan         1885 src/ftdm_io.c  	return ftdmchan->chan_id;
ftdmchan         1888 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_ph_id(const ftdm_channel_t *ftdmchan)
ftdmchan         1890 src/ftdm_io.c  	return ftdmchan->physical_chan_id;
ftdmchan         1893 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_span_id(const ftdm_channel_t *ftdmchan)
ftdmchan         1895 src/ftdm_io.c  	return ftdmchan->span_id;
ftdmchan         1898 src/ftdm_io.c  FT_DECLARE(ftdm_span_t *) ftdm_channel_get_span(const ftdm_channel_t *ftdmchan)
ftdmchan         1900 src/ftdm_io.c  	return ftdmchan->span;
ftdmchan         1903 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_span_name(const ftdm_channel_t *ftdmchan)
ftdmchan         1905 src/ftdm_io.c  	return ftdmchan->span->name;
ftdmchan         1928 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_name(const ftdm_channel_t *ftdmchan)
ftdmchan         1930 src/ftdm_io.c  	return ftdmchan->chan_name;
ftdmchan         1933 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_number(const ftdm_channel_t *ftdmchan)
ftdmchan         1935 src/ftdm_io.c  	return ftdmchan->chan_number;
ftdmchan         1938 src/ftdm_io.c  FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_hold(const ftdm_channel_t *ftdmchan)
ftdmchan         1941 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1942 src/ftdm_io.c  	condition = ftdm_test_flag(ftdmchan, FTDM_CHANNEL_HOLD) ? FTDM_TRUE : FTDM_FALSE;
ftdmchan         1943 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         1947 src/ftdm_io.c  FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_answered(const ftdm_channel_t *ftdmchan)
ftdmchan         1951 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1952 src/ftdm_io.c  	condition = (ftdmchan->state == FTDM_CHANNEL_STATE_UP) ? FTDM_TRUE : FTDM_FALSE;
ftdmchan         1953 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         1958 src/ftdm_io.c  FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_busy(const ftdm_channel_t *ftdmchan)
ftdmchan         1962 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1963 src/ftdm_io.c  	condition = (ftdmchan->state == FTDM_CHANNEL_STATE_BUSY) ? FTDM_TRUE : FTDM_FALSE;
ftdmchan         1964 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         1969 src/ftdm_io.c  FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_hangup(const ftdm_channel_t *ftdmchan)
ftdmchan         1973 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1974 src/ftdm_io.c  	condition = (ftdmchan->state == FTDM_CHANNEL_STATE_HANGUP || ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) 
ftdmchan         1976 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         1981 src/ftdm_io.c  FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_done(const ftdm_channel_t *ftdmchan)
ftdmchan         1985 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1986 src/ftdm_io.c  	condition = (ftdmchan->state == FTDM_CHANNEL_STATE_DOWN) ? FTDM_TRUE : FTDM_FALSE;
ftdmchan         1987 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         1992 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hold(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan)
ftdmchan         1994 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         1995 src/ftdm_io.c  	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_HOLD);
ftdmchan         1996 src/ftdm_io.c  	ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_DIALTONE, 0);
ftdmchan         1997 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2001 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_unhold(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan)
ftdmchan         2003 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2004 src/ftdm_io.c  	ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_UP, 0);
ftdmchan         2005 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2009 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_answer(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan)
ftdmchan         2013 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2015 src/ftdm_io.c  	if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan         2016 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring answer because the call is already TERMINATING\n");
ftdmchan         2020 src/ftdm_io.c  	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_ANSWERED);
ftdmchan         2021 src/ftdm_io.c  	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         2022 src/ftdm_io.c  	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_MEDIA);
ftdmchan         2024 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         2029 src/ftdm_io.c  	if (ftdmchan->state < FTDM_CHANNEL_STATE_PROGRESS) {
ftdmchan         2030 src/ftdm_io.c  		ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_PROGRESS, 1);
ftdmchan         2034 src/ftdm_io.c  	if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan         2035 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring answer because the call has moved to TERMINATING while we're moving to PROGRESS\n");
ftdmchan         2039 src/ftdm_io.c  	if (ftdmchan->state < FTDM_CHANNEL_STATE_PROGRESS_MEDIA) {
ftdmchan         2040 src/ftdm_io.c  		ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, 1);
ftdmchan         2044 src/ftdm_io.c  	if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan         2045 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring answer because the call has moved to TERMINATING while we're moving to UP\n");
ftdmchan         2049 src/ftdm_io.c  	ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_UP, 1);
ftdmchan         2053 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2081 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hangup_with_cause(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan, ftdm_call_cause_t cause)
ftdmchan         2083 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2085 src/ftdm_io.c  	ftdmchan->caller_data.hangup_cause = cause;
ftdmchan         2087 src/ftdm_io.c  	call_hangup(ftdmchan, file, func, line);
ftdmchan         2089 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2093 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hangup(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan)
ftdmchan         2095 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2096 src/ftdm_io.c  	ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_CLEARING;
ftdmchan         2097 src/ftdm_io.c  	call_hangup(ftdmchan, file, func, line);
ftdmchan         2098 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2102 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_last_error(const ftdm_channel_t *ftdmchan)
ftdmchan         2104 src/ftdm_io.c  	return ftdmchan->last_error;
ftdmchan         2112 src/ftdm_io.c  FT_DECLARE(ftdm_caller_data_t *) ftdm_channel_get_caller_data(ftdm_channel_t *ftdmchan)
ftdmchan         2114 src/ftdm_io.c  	return &ftdmchan->caller_data;
ftdmchan         2117 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_state_str(const ftdm_channel_t *ftdmchan)
ftdmchan         2120 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2121 src/ftdm_io.c  	state = ftdm_channel_state2str(ftdmchan->state);
ftdmchan         2122 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2126 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_last_state_str(const ftdm_channel_t *ftdmchan)
ftdmchan         2129 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2130 src/ftdm_io.c  	state = ftdm_channel_state2str(ftdmchan->last_state);
ftdmchan         2131 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2157 src/ftdm_io.c  FT_DECLARE(uint32_t) ftdm_channel_get_ph_span_id(const ftdm_channel_t *ftdmchan)
ftdmchan         2160 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2161 src/ftdm_io.c  	id = ftdmchan->physical_span_id;
ftdmchan         2162 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2166 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_indicate(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan, ftdm_channel_indication_t indication)
ftdmchan         2169 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2171 src/ftdm_io.c  	if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan         2172 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring answer because the call has moved to TERMINATING while we're moving to PROGRESS\n");
ftdmchan         2180 src/ftdm_io.c  		ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_RING, 1);
ftdmchan         2184 src/ftdm_io.c  		ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_BUSY, 1);
ftdmchan         2188 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         2189 src/ftdm_io.c  			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         2191 src/ftdm_io.c  			ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_PROGRESS, 1);
ftdmchan         2196 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         2197 src/ftdm_io.c  			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         2198 src/ftdm_io.c  			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_MEDIA);
ftdmchan         2200 src/ftdm_io.c  			if (ftdmchan->state < FTDM_CHANNEL_STATE_PROGRESS) {
ftdmchan         2201 src/ftdm_io.c  				ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_PROGRESS, 1);
ftdmchan         2205 src/ftdm_io.c  			if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan         2206 src/ftdm_io.c  				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring answer because the call has moved to TERMINATING while we're moving to PROGRESS\n");
ftdmchan         2210 src/ftdm_io.c  			ftdm_channel_set_state(file, func, line, ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA, 1);
ftdmchan         2221 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2226 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) _ftdm_channel_call_place(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan)
ftdmchan         2230 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "null channel");
ftdmchan         2231 src/ftdm_io.c  	ftdm_assert_return(ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND), FTDM_FAIL, "Call place, but outbound flag not set\n");
ftdmchan         2233 src/ftdm_io.c  	ftdm_set_echocancel_call_begin(ftdmchan);
ftdmchan         2235 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         2237 src/ftdm_io.c  	if (ftdmchan->span->outgoing_call) {
ftdmchan         2238 src/ftdm_io.c  		status = ftdmchan->span->outgoing_call(ftdmchan);
ftdmchan         2250 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         2255 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_set_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t sigstatus)
ftdmchan         2257 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "Null channel\n");
ftdmchan         2258 src/ftdm_io.c  	ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n");
ftdmchan         2260 src/ftdm_io.c  	if (ftdmchan->span->set_channel_sig_status) {
ftdmchan         2261 src/ftdm_io.c  		return ftdmchan->span->set_channel_sig_status(ftdmchan, sigstatus);
ftdmchan         2268 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_get_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t *sigstatus)
ftdmchan         2270 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "Null channel\n");
ftdmchan         2271 src/ftdm_io.c  	ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n");
ftdmchan         2274 src/ftdm_io.c  	if (ftdmchan->span->get_channel_sig_status) {
ftdmchan         2275 src/ftdm_io.c  		return ftdmchan->span->get_channel_sig_status(ftdmchan, sigstatus);
ftdmchan         2307 src/ftdm_io.c  static void close_dtmf_debug(ftdm_channel_t *ftdmchan)
ftdmchan         2309 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->dtmfdbg.mutex);
ftdmchan         2311 src/ftdm_io.c  	if (ftdmchan->dtmfdbg.file) {
ftdmchan         2312 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "closing debug dtmf file\n");
ftdmchan         2313 src/ftdm_io.c  		fclose(ftdmchan->dtmfdbg.file);
ftdmchan         2314 src/ftdm_io.c  		ftdmchan->dtmfdbg.file = NULL;
ftdmchan         2316 src/ftdm_io.c  	ftdmchan->dtmfdbg.windex = 0;
ftdmchan         2317 src/ftdm_io.c  	ftdmchan->dtmfdbg.wrapped = 0;
ftdmchan         2319 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->dtmfdbg.mutex);
ftdmchan         2323 src/ftdm_io.c  static ftdm_status_t ftdm_channel_clear_vars(ftdm_channel_t *ftdmchan);
ftdmchan         2324 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_done(ftdm_channel_t *ftdmchan)
ftdmchan         2326 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "Null channel can't be done!\n");
ftdmchan         2328 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         2330 src/ftdm_io.c  	memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan         2332 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_INUSE);
ftdmchan         2333 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan         2334 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_WINK);
ftdmchan         2335 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_FLASH);
ftdmchan         2336 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan         2337 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_HOLD);
ftdmchan         2338 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan         2339 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan         2340 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_PROGRESS_DETECT);
ftdmchan         2341 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT);
ftdmchan         2342 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_3WAY);
ftdmchan         2343 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_PROGRESS);
ftdmchan         2344 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_MEDIA);
ftdmchan         2345 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_ANSWERED);
ftdmchan         2346 src/ftdm_io.c  	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_USER_HANGUP);
ftdmchan         2347 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan         2348 src/ftdm_io.c  	ftdm_buffer_destroy(&ftdmchan->pre_buffer);
ftdmchan         2349 src/ftdm_io.c  	ftdmchan->pre_buffer_size = 0;
ftdmchan         2350 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan         2352 src/ftdm_io.c  	close_dtmf_debug(ftdmchan);
ftdmchan         2354 src/ftdm_io.c  	ftdm_channel_clear_vars(ftdmchan);
ftdmchan         2355 src/ftdm_io.c  	if (ftdmchan->hangup_timer) {
ftdmchan         2356 src/ftdm_io.c  		ftdm_sched_cancel_timer(globals.timingsched, ftdmchan->hangup_timer);
ftdmchan         2359 src/ftdm_io.c  	ftdmchan->init_state = FTDM_CHANNEL_STATE_DOWN;
ftdmchan         2360 src/ftdm_io.c  	ftdmchan->state = FTDM_CHANNEL_STATE_DOWN;
ftdmchan         2362 src/ftdm_io.c  	ftdm_log(FTDM_LOG_DEBUG, "channel done %u:%u\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan         2364 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2369 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_use(ftdm_channel_t *ftdmchan)
ftdmchan         2372 src/ftdm_io.c  	assert(ftdmchan != NULL);
ftdmchan         2374 src/ftdm_io.c  	ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_INUSE);
ftdmchan         2379 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_close(ftdm_channel_t **ftdmchan)
ftdmchan         2384 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "null channel double pointer provided!\n");
ftdmchan         2385 src/ftdm_io.c  	ftdm_assert_return(*ftdmchan != NULL, FTDM_FAIL, "null channel pointer provided!\n");
ftdmchan         2387 src/ftdm_io.c  	check = *ftdmchan;
ftdmchan         2388 src/ftdm_io.c  	*ftdmchan = NULL;
ftdmchan         2397 src/ftdm_io.c  				*ftdmchan = NULL;
ftdmchan         2410 src/ftdm_io.c  static ftdm_status_t ftdmchan_activate_dtmf_buffer(ftdm_channel_t *ftdmchan)
ftdmchan         2413 src/ftdm_io.c  	if (!ftdmchan->dtmf_buffer) {
ftdmchan         2414 src/ftdm_io.c  		if (ftdm_buffer_create(&ftdmchan->dtmf_buffer, 1024, 3192, 0) != FTDM_SUCCESS) {
ftdmchan         2416 src/ftdm_io.c  			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "buffer error");
ftdmchan         2424 src/ftdm_io.c  	if (!ftdmchan->tone_session.buffer) {
ftdmchan         2425 src/ftdm_io.c  		memset(&ftdmchan->tone_session, 0, sizeof(ftdmchan->tone_session));
ftdmchan         2426 src/ftdm_io.c  		teletone_init_session(&ftdmchan->tone_session, 0, NULL, NULL);
ftdmchan         2429 src/ftdm_io.c  	ftdmchan->tone_session.rate = ftdmchan->rate;
ftdmchan         2430 src/ftdm_io.c  	ftdmchan->tone_session.duration = ftdmchan->dtmf_on * (ftdmchan->tone_session.rate / 1000);
ftdmchan         2431 src/ftdm_io.c  	ftdmchan->tone_session.wait = ftdmchan->dtmf_off * (ftdmchan->tone_session.rate / 1000);
ftdmchan         2432 src/ftdm_io.c  	ftdmchan->tone_session.volume = -7;
ftdmchan         2442 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_command(ftdm_channel_t *ftdmchan, ftdm_command_t command, void *obj)
ftdmchan         2446 src/ftdm_io.c  	assert(ftdmchan != NULL);
ftdmchan         2447 src/ftdm_io.c  	assert(ftdmchan->fio != NULL);
ftdmchan         2449 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         2455 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CALLERID)) {
ftdmchan         2456 src/ftdm_io.c  				if (ftdm_fsk_demod_init(&ftdmchan->fsk, ftdmchan->rate, ftdmchan->fsk_buf, sizeof(ftdmchan->fsk_buf)) != FTDM_SUCCESS) {
ftdmchan         2457 src/ftdm_io.c  					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan         2460 src/ftdm_io.c  				ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT);
ftdmchan         2466 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CALLERID)) {
ftdmchan         2467 src/ftdm_io.c  				ftdm_fsk_demod_destroy(&ftdmchan->fsk);
ftdmchan         2468 src/ftdm_io.c  				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT);
ftdmchan         2475 src/ftdm_io.c  			if (ftdmchan->fds[FTDM_READ_TRACE_INDEX] > 0) {
ftdmchan         2476 src/ftdm_io.c  				close(ftdmchan->fds[FTDM_READ_TRACE_INDEX]);
ftdmchan         2477 src/ftdm_io.c  				ftdmchan->fds[FTDM_READ_TRACE_INDEX] = -1;
ftdmchan         2479 src/ftdm_io.c  			if ((ftdmchan->fds[FTDM_READ_TRACE_INDEX] = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR)) > -1) {
ftdmchan         2480 src/ftdm_io.c  				ftdm_log(FTDM_LOG_DEBUG, "Tracing channel %u:%u input to [%s]\n", ftdmchan->span_id, ftdmchan->chan_id, path);	
ftdmchan         2484 src/ftdm_io.c  			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan         2491 src/ftdm_io.c  			if (ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] > 0) {
ftdmchan         2492 src/ftdm_io.c  				close(ftdmchan->fds[FTDM_WRITE_TRACE_INDEX]);
ftdmchan         2493 src/ftdm_io.c  				ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] = -1;
ftdmchan         2495 src/ftdm_io.c  			if ((ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR)) > -1) {
ftdmchan         2496 src/ftdm_io.c  				ftdm_log(FTDM_LOG_DEBUG, "Tracing channel %u:%u output to [%s]\n", ftdmchan->span_id, ftdmchan->chan_id, path);	
ftdmchan         2500 src/ftdm_io.c  			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan         2506 src/ftdm_io.c  			if (ftdmchan->fds[FTDM_READ_TRACE_INDEX] > 0) {
ftdmchan         2507 src/ftdm_io.c  				close(ftdmchan->fds[FTDM_READ_TRACE_INDEX]);
ftdmchan         2508 src/ftdm_io.c  				ftdmchan->fds[FTDM_READ_TRACE_INDEX] = -1;
ftdmchan         2510 src/ftdm_io.c  			if (ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] > 0) {
ftdmchan         2511 src/ftdm_io.c  				close(ftdmchan->fds[FTDM_WRITE_TRACE_INDEX]);
ftdmchan         2512 src/ftdm_io.c  				ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] = -1;
ftdmchan         2519 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_INTERVAL)) {
ftdmchan         2520 src/ftdm_io.c  				ftdmchan->effective_interval = FTDM_COMMAND_OBJ_INT;
ftdmchan         2521 src/ftdm_io.c  				if (ftdmchan->effective_interval == ftdmchan->native_interval) {
ftdmchan         2522 src/ftdm_io.c  					ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_BUFFER);
ftdmchan         2524 src/ftdm_io.c  					ftdm_set_flag(ftdmchan, FTDM_CHANNEL_BUFFER);
ftdmchan         2526 src/ftdm_io.c  				ftdmchan->packet_len = ftdmchan->native_interval * (ftdmchan->effective_codec == FTDM_CODEC_SLIN ? 16 : 8);
ftdmchan         2533 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_INTERVAL)) {
ftdmchan         2534 src/ftdm_io.c  				FTDM_COMMAND_OBJ_INT = ftdmchan->effective_interval;
ftdmchan         2541 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CODECS)) {
ftdmchan         2542 src/ftdm_io.c  				ftdmchan->effective_codec = FTDM_COMMAND_OBJ_INT;
ftdmchan         2544 src/ftdm_io.c  				if (ftdmchan->effective_codec == ftdmchan->native_codec) {
ftdmchan         2545 src/ftdm_io.c  					ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE);
ftdmchan         2547 src/ftdm_io.c  					ftdm_set_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE);
ftdmchan         2549 src/ftdm_io.c  				ftdmchan->packet_len = ftdmchan->native_interval * (ftdmchan->effective_codec == FTDM_CODEC_SLIN ? 16 : 8);
ftdmchan         2557 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CODECS)) {
ftdmchan         2558 src/ftdm_io.c  				ftdmchan->effective_codec = ftdmchan->native_codec;
ftdmchan         2559 src/ftdm_io.c  				ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE);
ftdmchan         2560 src/ftdm_io.c  				ftdmchan->packet_len = ftdmchan->native_interval * (ftdmchan->effective_codec == FTDM_CODEC_SLIN ? 16 : 8);
ftdmchan         2568 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CODECS)) {
ftdmchan         2569 src/ftdm_io.c  				FTDM_COMMAND_OBJ_INT = ftdmchan->effective_codec;
ftdmchan         2576 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_CODECS)) {
ftdmchan         2577 src/ftdm_io.c  				FTDM_COMMAND_OBJ_INT = ftdmchan->native_codec;
ftdmchan         2584 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_PROGRESS)) {
ftdmchan         2586 src/ftdm_io.c  				ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan         2587 src/ftdm_io.c  				ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan         2588 src/ftdm_io.c  				teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_DIAL], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_DIAL]);
ftdmchan         2589 src/ftdm_io.c  				teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_RING], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_RING]);
ftdmchan         2590 src/ftdm_io.c  				teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_BUSY], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_BUSY]);
ftdmchan         2591 src/ftdm_io.c  				ftdm_set_flag(ftdmchan, FTDM_CHANNEL_PROGRESS_DETECT);
ftdmchan         2598 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_PROGRESS)) {
ftdmchan         2599 src/ftdm_io.c  				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_PROGRESS_DETECT);
ftdmchan         2600 src/ftdm_io.c  				ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan         2601 src/ftdm_io.c  				ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan         2609 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_DETECT)) {
ftdmchan         2610 src/ftdm_io.c  				teletone_dtmf_detect_init (&ftdmchan->dtmf_detect, ftdmchan->rate);
ftdmchan         2611 src/ftdm_io.c  				ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_DTMF_DETECT);
ftdmchan         2612 src/ftdm_io.c  				ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_SUPRESS_DTMF);
ftdmchan         2613 src/ftdm_io.c  				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Enabled software DTMF detector\n");
ftdmchan         2620 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_DETECT)) {
ftdmchan         2621 src/ftdm_io.c                      		teletone_dtmf_detect_init (&ftdmchan->dtmf_detect, ftdmchan->rate);
ftdmchan         2622 src/ftdm_io.c                      		ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_DTMF_DETECT);
ftdmchan         2623 src/ftdm_io.c  				ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_SUPRESS_DTMF);
ftdmchan         2624 src/ftdm_io.c  				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Disabled software DTMF detector\n");
ftdmchan         2637 src/ftdm_io.c  			ftdmchan->pre_buffer_size = val * 8;
ftdmchan         2639 src/ftdm_io.c  			ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan         2640 src/ftdm_io.c  			if (!ftdmchan->pre_buffer_size) {
ftdmchan         2641 src/ftdm_io.c  				ftdm_buffer_destroy(&ftdmchan->pre_buffer);
ftdmchan         2642 src/ftdm_io.c  			} else if (!ftdmchan->pre_buffer) {
ftdmchan         2643 src/ftdm_io.c  				ftdm_buffer_create(&ftdmchan->pre_buffer, 1024, ftdmchan->pre_buffer_size, 0);
ftdmchan         2645 src/ftdm_io.c  			ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan         2653 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_GENERATE)) {
ftdmchan         2654 src/ftdm_io.c  				FTDM_COMMAND_OBJ_INT = ftdmchan->dtmf_on;
ftdmchan         2661 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_GENERATE)) {
ftdmchan         2662 src/ftdm_io.c  				FTDM_COMMAND_OBJ_INT = ftdmchan->dtmf_on;
ftdmchan         2669 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_GENERATE)) {
ftdmchan         2672 src/ftdm_io.c  					ftdmchan->dtmf_on = val;
ftdmchan         2675 src/ftdm_io.c  					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "invalid value %d range 10-1000", val);
ftdmchan         2683 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_GENERATE)) {
ftdmchan         2686 src/ftdm_io.c  					ftdmchan->dtmf_off = val;
ftdmchan         2689 src/ftdm_io.c  					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "invalid value %d range 10-1000", val);
ftdmchan         2697 src/ftdm_io.c  			if (!ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_GENERATE)) {
ftdmchan         2700 src/ftdm_io.c  				if ((status = ftdmchan_activate_dtmf_buffer(ftdmchan)) != FTDM_SUCCESS) {
ftdmchan         2704 src/ftdm_io.c  				ftdm_buffer_write(ftdmchan->gen_dtmf_buffer, digits, strlen(digits));
ftdmchan         2713 src/ftdm_io.c  			ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan         2714 src/ftdm_io.c  			ftdm_buffer_destroy(&ftdmchan->pre_buffer);
ftdmchan         2715 src/ftdm_io.c  			ftdmchan->pre_buffer_size = 0;
ftdmchan         2716 src/ftdm_io.c  			ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan         2722 src/ftdm_io.c  			if (!FTDM_IS_VOICE_CHANNEL(ftdmchan)) {
ftdmchan         2723 src/ftdm_io.c  				ftdm_log(FTDM_LOG_ERROR, "Cannot set rx gain in non-voice channel of type: %s\n", ftdm_chan_type2str(ftdmchan->type));
ftdmchan         2726 src/ftdm_io.c  			ftdmchan->rxgain = FTDM_COMMAND_OBJ_FLOAT;
ftdmchan         2727 src/ftdm_io.c  			reset_gain_table(ftdmchan->rxgain_table, ftdmchan->rxgain, ftdmchan->native_codec);
ftdmchan         2728 src/ftdm_io.c  			if (ftdmchan->rxgain == 0.0) {
ftdmchan         2729 src/ftdm_io.c  				ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_USE_RX_GAIN);
ftdmchan         2731 src/ftdm_io.c  				ftdm_set_flag(ftdmchan, FTDM_CHANNEL_USE_RX_GAIN);
ftdmchan         2738 src/ftdm_io.c  			FTDM_COMMAND_OBJ_FLOAT = ftdmchan->rxgain;
ftdmchan         2744 src/ftdm_io.c  			if (!FTDM_IS_VOICE_CHANNEL(ftdmchan)) {
ftdmchan         2745 src/ftdm_io.c  				ftdm_log(FTDM_LOG_ERROR, "Cannot set tx gain in non-voice channel of type: %s\n", ftdm_chan_type2str(ftdmchan->type));
ftdmchan         2748 src/ftdm_io.c  			ftdmchan->txgain = FTDM_COMMAND_OBJ_FLOAT;
ftdmchan         2749 src/ftdm_io.c  			reset_gain_table(ftdmchan->txgain_table, ftdmchan->txgain, ftdmchan->native_codec);
ftdmchan         2750 src/ftdm_io.c  			if (ftdmchan->txgain == 0.0) {
ftdmchan         2751 src/ftdm_io.c  				ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_USE_TX_GAIN);
ftdmchan         2753 src/ftdm_io.c  				ftdm_set_flag(ftdmchan, FTDM_CHANNEL_USE_TX_GAIN);
ftdmchan         2760 src/ftdm_io.c  			FTDM_COMMAND_OBJ_FLOAT = ftdmchan->txgain;
ftdmchan         2768 src/ftdm_io.c  	if (!ftdmchan->fio->command) {
ftdmchan         2769 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "method not implemented");
ftdmchan         2774 src/ftdm_io.c      	status = ftdmchan->fio->command(ftdmchan, command, obj);
ftdmchan         2777 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "I/O command %d not implemented in backend", command);
ftdmchan         2781 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2786 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_wait(ftdm_channel_t *ftdmchan, ftdm_wait_flag_t *flags, int32_t to)
ftdmchan         2788 src/ftdm_io.c  	assert(ftdmchan != NULL);
ftdmchan         2789 src/ftdm_io.c  	assert(ftdmchan->fio != NULL);
ftdmchan         2791 src/ftdm_io.c      if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         2792 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "channel not open");
ftdmchan         2796 src/ftdm_io.c  	if (!ftdmchan->fio->wait) {
ftdmchan         2797 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "method not implemented");
ftdmchan         2801 src/ftdm_io.c      return ftdmchan->fio->wait(ftdmchan, flags, to);
ftdmchan         2936 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_clear_detected_tones(ftdm_channel_t *ftdmchan)
ftdmchan         2940 src/ftdm_io.c  	memset(ftdmchan->detected_tones, 0, sizeof(ftdmchan->detected_tones[0]) * FTDM_TONEMAP_INVALID);
ftdmchan         2943 src/ftdm_io.c  		ftdmchan->span->tone_finder[i].tone_count = 0;
ftdmchan         2947 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_clear_needed_tones(ftdm_channel_t *ftdmchan)
ftdmchan         2949 src/ftdm_io.c  	memset(ftdmchan->needed_tones, 0, sizeof(ftdmchan->needed_tones[0]) * FTDM_TONEMAP_INVALID);
ftdmchan         2952 src/ftdm_io.c  FT_DECLARE(ftdm_size_t) ftdm_channel_dequeue_dtmf(ftdm_channel_t *ftdmchan, char *dtmf, ftdm_size_t len)
ftdmchan         2956 src/ftdm_io.c  	assert(ftdmchan != NULL);
ftdmchan         2958 src/ftdm_io.c  	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_READY)) {
ftdmchan         2962 src/ftdm_io.c  	if (ftdmchan->digit_buffer && ftdm_buffer_inuse(ftdmchan->digit_buffer)) {
ftdmchan         2963 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         2964 src/ftdm_io.c  		if ((bytes = ftdm_buffer_read(ftdmchan->digit_buffer, dtmf, len)) > 0) {
ftdmchan         2967 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2973 src/ftdm_io.c  FT_DECLARE(void) ftdm_channel_flush_dtmf(ftdm_channel_t *ftdmchan)
ftdmchan         2975 src/ftdm_io.c  	if (ftdmchan->digit_buffer && ftdm_buffer_inuse(ftdmchan->digit_buffer)) {
ftdmchan         2976 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         2977 src/ftdm_io.c  		ftdm_buffer_zero(ftdmchan->digit_buffer);
ftdmchan         2978 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2982 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_queue_dtmf(ftdm_channel_t *ftdmchan, const char *dtmf)
ftdmchan         2989 src/ftdm_io.c  	assert(ftdmchan != NULL);
ftdmchan         2991 src/ftdm_io.c  	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Queuing DTMF %s\n", dtmf);
ftdmchan         2994 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->dtmfdbg.mutex);
ftdmchan         2995 src/ftdm_io.c  	if (!ftdmchan->dtmfdbg.file) {
ftdmchan         3004 src/ftdm_io.c  				ftdmchan->span_id, ftdmchan->chan_id, 
ftdmchan         3006 src/ftdm_io.c  				currtime.tm_hour, currtime.tm_min, currtime.tm_sec, ftdmchan->native_codec == FTDM_CODEC_ULAW ? "ulaw" : ftdmchan->native_codec == FTDM_CODEC_ALAW ? "alaw" : "sln");
ftdmchan         3007 src/ftdm_io.c  		ftdmchan->dtmfdbg.file = fopen(dfile, "w");
ftdmchan         3008 src/ftdm_io.c  		if (!ftdmchan->dtmfdbg.file) {
ftdmchan         3009 src/ftdm_io.c  			ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "failed to open debug dtmf file %s\n", dfile);
ftdmchan         3013 src/ftdm_io.c  			int towrite = sizeof(ftdmchan->dtmfdbg.buffer) - ftdmchan->dtmfdbg.windex;
ftdmchan         3015 src/ftdm_io.c  			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "created debug DTMF file %s\n", dfile);
ftdmchan         3016 src/ftdm_io.c  			ftdmchan->dtmfdbg.closetimeout = DTMF_DEBUG_TIMEOUT;
ftdmchan         3017 src/ftdm_io.c  			if (ftdmchan->dtmfdbg.wrapped) {
ftdmchan         3018 src/ftdm_io.c  				rc = fwrite(&ftdmchan->dtmfdbg.buffer[ftdmchan->dtmfdbg.windex], 1, towrite, ftdmchan->dtmfdbg.file);
ftdmchan         3020 src/ftdm_io.c  					ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "only wrote %d out of %d bytes in DTMF debug buffer\n", rc, towrite);
ftdmchan         3023 src/ftdm_io.c  			if (ftdmchan->dtmfdbg.windex) {
ftdmchan         3024 src/ftdm_io.c  				towrite = ftdmchan->dtmfdbg.windex;
ftdmchan         3025 src/ftdm_io.c  				rc = fwrite(&ftdmchan->dtmfdbg.buffer[0], 1, towrite, ftdmchan->dtmfdbg.file);
ftdmchan         3027 src/ftdm_io.c  					ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "only wrote %d out of %d bytes in DTMF debug buffer\n", rc, towrite);
ftdmchan         3030 src/ftdm_io.c  			ftdmchan->dtmfdbg.windex = 0;
ftdmchan         3031 src/ftdm_io.c  			ftdmchan->dtmfdbg.wrapped = 0;
ftdmchan         3034 src/ftdm_io.c  			ftdmchan->dtmfdbg.closetimeout = DTMF_DEBUG_TIMEOUT;
ftdmchan         3036 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->dtmfdbg.mutex);
ftdmchan         3039 src/ftdm_io.c  	if (ftdmchan->pre_buffer) {
ftdmchan         3040 src/ftdm_io.c  		ftdm_buffer_zero(ftdmchan->pre_buffer);
ftdmchan         3043 src/ftdm_io.c  	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         3045 src/ftdm_io.c  	inuse = ftdm_buffer_inuse(ftdmchan->digit_buffer);
ftdmchan         3048 src/ftdm_io.c  	if (len + inuse > ftdm_buffer_len(ftdmchan->digit_buffer)) {
ftdmchan         3049 src/ftdm_io.c  		ftdm_buffer_toss(ftdmchan->digit_buffer, strlen(dtmf));
ftdmchan         3052 src/ftdm_io.c  	if (ftdmchan->span->dtmf_hangup_len) {
ftdmchan         3054 src/ftdm_io.c  			memmove (ftdmchan->dtmf_hangup_buf, ftdmchan->dtmf_hangup_buf + 1, ftdmchan->span->dtmf_hangup_len - 1);
ftdmchan         3055 src/ftdm_io.c  			ftdmchan->dtmf_hangup_buf[ftdmchan->span->dtmf_hangup_len - 1] = *p;
ftdmchan         3056 src/ftdm_io.c  			if (!strcmp(ftdmchan->dtmf_hangup_buf, ftdmchan->span->dtmf_hangup)) {
ftdmchan         3058 src/ftdm_io.c  				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         3074 src/ftdm_io.c  	status = ftdm_buffer_write(ftdmchan->digit_buffer, dtmf, wr) ? FTDM_SUCCESS : FTDM_FAIL;
ftdmchan         3075 src/ftdm_io.c  	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         3082 src/ftdm_io.c  	if (ftdmchan->fds[FTDM_WRITE_TRACE_INDEX] > -1) {
ftdmchan         3084 src/ftdm_io.c  		if ((write(ftdmchan->fds[FTDM_WRITE_TRACE_INDEX], data, dlen)) != dlen) {
ftdmchan         3088 src/ftdm_io.c  	return ftdmchan->fio->write(ftdmchan, data, datalen);
ftdmchan         3094 src/ftdm_io.c  	ftdm_status_t  status = ftdmchan->fio->read(ftdmchan, data, datalen);
ftdmchan         3095 src/ftdm_io.c  	if (status == FTDM_SUCCESS && ftdmchan->fds[FTDM_READ_TRACE_INDEX] > -1) {
ftdmchan         3097 src/ftdm_io.c  		if (write(ftdmchan->fds[FTDM_READ_TRACE_INDEX], data, dlen) != dlen) {
ftdmchan         3102 src/ftdm_io.c  	if (status == FTDM_SUCCESS && ftdmchan->span->sig_read) {
ftdmchan         3103 src/ftdm_io.c  		ftdmchan->span->sig_read(ftdmchan, data, *datalen);
ftdmchan         3110 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->dtmfdbg.mutex);
ftdmchan         3111 src/ftdm_io.c  		if (!ftdmchan->dtmfdbg.file) {
ftdmchan         3113 src/ftdm_io.c  			int windex = ftdmchan->dtmfdbg.windex;
ftdmchan         3114 src/ftdm_io.c  			int avail = sizeof(ftdmchan->dtmfdbg.buffer) - windex;
ftdmchan         3120 src/ftdm_io.c  				memcpy(&ftdmchan->dtmfdbg.buffer[windex], dataptr, avail);
ftdmchan         3121 src/ftdm_io.c  				memcpy(&ftdmchan->dtmfdbg.buffer[0], &dataptr[avail], diff);
ftdmchan         3124 src/ftdm_io.c  				ftdmchan->dtmfdbg.wrapped = 1;
ftdmchan         3126 src/ftdm_io.c  				memcpy(&ftdmchan->dtmfdbg.buffer[windex], dataptr, dlen);
ftdmchan         3129 src/ftdm_io.c  			if (windex == sizeof(ftdmchan->dtmfdbg.buffer)) {
ftdmchan         3132 src/ftdm_io.c  				ftdmchan->dtmfdbg.wrapped = 1;
ftdmchan         3134 src/ftdm_io.c  			ftdmchan->dtmfdbg.windex = windex;
ftdmchan         3136 src/ftdm_io.c  			rc = fwrite(data, 1, dlen, ftdmchan->dtmfdbg.file);
ftdmchan         3140 src/ftdm_io.c  			ftdmchan->dtmfdbg.closetimeout--;
ftdmchan         3141 src/ftdm_io.c  			if (!ftdmchan->dtmfdbg.closetimeout) {
ftdmchan         3142 src/ftdm_io.c  				close_dtmf_debug(ftdmchan);
ftdmchan         3145 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->dtmfdbg.mutex);
ftdmchan         3151 src/ftdm_io.c  static ftdm_status_t handle_dtmf(ftdm_channel_t *ftdmchan, ftdm_size_t datalen)
ftdmchan         3157 src/ftdm_io.c  	if (ftdmchan->gen_dtmf_buffer && (dblen = ftdm_buffer_inuse(ftdmchan->gen_dtmf_buffer))) {
ftdmchan         3166 src/ftdm_io.c  		if (ftdm_buffer_read(ftdmchan->gen_dtmf_buffer, digits, dblen) && !ftdm_strlen_zero_buf(digits)) {
ftdmchan         3167 src/ftdm_io.c  			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Generating DTMF [%s]\n", digits);	
ftdmchan         3172 src/ftdm_io.c  				ftdm_channel_command(ftdmchan, FTDM_COMMAND_FLASH, NULL);
ftdmchan         3177 src/ftdm_io.c  				if ((wrote = teletone_mux_tones(&ftdmchan->tone_session, &ftdmchan->tone_session.TONES[(int)*cur]))) {
ftdmchan         3178 src/ftdm_io.c  					ftdm_buffer_write(ftdmchan->dtmf_buffer, ftdmchan->tone_session.buffer, wrote * 2);
ftdmchan         3181 src/ftdm_io.c  					ftdm_log(FTDM_LOG_ERROR, "%d:%d Problem Adding DTMF SEQ [%s]\n", ftdmchan->span_id, ftdmchan->chan_id, digits);
ftdmchan         3187 src/ftdm_io.c  				ftdmchan->skip_read_frames = (wrote / (ftdmchan->effective_interval * 8)) + 4;
ftdmchan         3193 src/ftdm_io.c  	if (!ftdmchan->buffer_delay || --ftdmchan->buffer_delay == 0) {
ftdmchan         3194 src/ftdm_io.c  		if (ftdmchan->dtmf_buffer && (dblen = ftdm_buffer_inuse(ftdmchan->dtmf_buffer))) {
ftdmchan         3195 src/ftdm_io.c  			buffer = ftdmchan->dtmf_buffer;
ftdmchan         3196 src/ftdm_io.c  		} else if (ftdmchan->fsk_buffer && (dblen = ftdm_buffer_inuse(ftdmchan->fsk_buffer))) {
ftdmchan         3197 src/ftdm_io.c  			buffer = ftdmchan->fsk_buffer;			
ftdmchan         3206 src/ftdm_io.c  		if (ftdmchan->native_codec != FTDM_CODEC_SLIN) {
ftdmchan         3217 src/ftdm_io.c  		if (ftdmchan->native_codec != FTDM_CODEC_SLIN) {
ftdmchan         3218 src/ftdm_io.c  			if (ftdmchan->native_codec == FTDM_CODEC_ULAW) {
ftdmchan         3220 src/ftdm_io.c  			} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW) {
ftdmchan         3225 src/ftdm_io.c  		return ftdm_raw_write(ftdmchan, auxbuf, &dlen);
ftdmchan         3253 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_read(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t *datalen)
ftdmchan         3260 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "ftdmchan is null\n");
ftdmchan         3261 src/ftdm_io.c  	ftdm_assert_return(ftdmchan->fio != NULL, FTDM_FAIL, "No I/O module attached to ftdmchan\n");
ftdmchan         3263 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         3265 src/ftdm_io.c  	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         3266 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "channel not open");
ftdmchan         3267 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "cannot read from channel that is not open\n");
ftdmchan         3272 src/ftdm_io.c  	if (!ftdmchan->fio->read) {
ftdmchan         3273 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "method not implemented");
ftdmchan         3274 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "read method not implemented\n");
ftdmchan         3279 src/ftdm_io.c  	status = ftdm_raw_read(ftdmchan, data, datalen);
ftdmchan         3282 src/ftdm_io.c  		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "raw I/O read filed\n");
ftdmchan         3286 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_USE_RX_GAIN) 
ftdmchan         3287 src/ftdm_io.c  			&& (ftdmchan->native_codec == FTDM_CODEC_ALAW || ftdmchan->native_codec == FTDM_CODEC_ULAW)) {
ftdmchan         3290 src/ftdm_io.c  				rdata[i] = ftdmchan->rxgain_table[rdata[i]];
ftdmchan         3293 src/ftdm_io.c  		handle_dtmf(ftdmchan, *datalen);
ftdmchan         3296 src/ftdm_io.c  	if (status == FTDM_SUCCESS && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE) && ftdmchan->effective_codec != ftdmchan->native_codec) {
ftdmchan         3297 src/ftdm_io.c  		if (ftdmchan->native_codec == FTDM_CODEC_ULAW && ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan         3299 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ULAW && ftdmchan->effective_codec == FTDM_CODEC_ALAW) {
ftdmchan         3301 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW && ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan         3303 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW && ftdmchan->effective_codec == FTDM_CODEC_ULAW) {
ftdmchan         3310 src/ftdm_io.c  			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan         3311 src/ftdm_io.c  			ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "no codec function to perform transcoding from %d to %d\n", ftdmchan->native_codec, ftdmchan->effective_codec);
ftdmchan         3316 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_DTMF_DETECT) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS_DETECT) || 
ftdmchan         3317 src/ftdm_io.c  		ftdm_test_flag(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT)) {
ftdmchan         3323 src/ftdm_io.c  		if (ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan         3338 src/ftdm_io.c  				if (ftdmchan->effective_codec == FTDM_CODEC_ULAW) {
ftdmchan         3340 src/ftdm_io.c  				} else if (ftdmchan->effective_codec == FTDM_CODEC_ALAW) {
ftdmchan         3343 src/ftdm_io.c  					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan         3344 src/ftdm_io.c  					ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "invalid effective codec %d\n", ftdmchan->effective_codec);
ftdmchan         3353 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT)) {
ftdmchan         3354 src/ftdm_io.c  			if (ftdm_fsk_demod_feed(&ftdmchan->fsk, sln, slen) != FTDM_SUCCESS) {
ftdmchan         3358 src/ftdm_io.c  				while(ftdm_fsk_data_parse(&ftdmchan->fsk, &type, &sp, &mlen) == FTDM_SUCCESS) {
ftdmchan         3368 src/ftdm_io.c  							if (mlen > sizeof(ftdmchan->caller_data.ani)) {
ftdmchan         3369 src/ftdm_io.c  								mlen = sizeof(ftdmchan->caller_data.ani);
ftdmchan         3371 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.ani.digits, str);
ftdmchan         3372 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.cid_num.digits, ftdmchan->caller_data.ani.digits);
ftdmchan         3377 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.ani.digits, *str == 'P' ? "private" : "unknown");
ftdmchan         3378 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.cid_name, ftdmchan->caller_data.ani.digits);
ftdmchan         3383 src/ftdm_io.c  							if (mlen > sizeof(ftdmchan->caller_data.cid_name)) {
ftdmchan         3384 src/ftdm_io.c  								mlen = sizeof(ftdmchan->caller_data.cid_name);
ftdmchan         3386 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.cid_name, str);
ftdmchan         3391 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.cid_name, *str == 'P' ? "private" : "unknown");
ftdmchan         3395 src/ftdm_io.c  							if (mlen > sizeof(ftdmchan->caller_data.cid_date)) {
ftdmchan         3396 src/ftdm_io.c  								mlen = sizeof(ftdmchan->caller_data.cid_date);
ftdmchan         3398 src/ftdm_io.c  							ftdm_set_string(ftdmchan->caller_data.cid_date, str);
ftdmchan         3403 src/ftdm_io.c  				ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_CALLERID_DETECT, NULL);
ftdmchan         3407 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS_DETECT) && !ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_PROGRESS)) {
ftdmchan         3411 src/ftdm_io.c  				if (ftdmchan->span->tone_finder[i].tone_count) {
ftdmchan         3412 src/ftdm_io.c  					if (ftdmchan->needed_tones[i] && teletone_multi_tone_detect(&ftdmchan->span->tone_finder[i], sln, (int)slen)) {
ftdmchan         3413 src/ftdm_io.c  						if (++ftdmchan->detected_tones[i]) {
ftdmchan         3414 src/ftdm_io.c  							ftdmchan->needed_tones[i] = 0;
ftdmchan         3415 src/ftdm_io.c  							ftdmchan->detected_tones[0]++;
ftdmchan         3423 src/ftdm_io.c  		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_DTMF_DETECT) && !ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_DETECT)) {
ftdmchan         3424 src/ftdm_io.c  			teletone_dtmf_detect(&ftdmchan->dtmf_detect, sln, (int)slen);
ftdmchan         3425 src/ftdm_io.c  			teletone_dtmf_get(&ftdmchan->dtmf_detect, digit_str, sizeof(digit_str));
ftdmchan         3428 src/ftdm_io.c  				if (ftdmchan->state == FTDM_CHANNEL_STATE_CALLWAITING && (*digit_str == 'D' || *digit_str == 'A')) {
ftdmchan         3429 src/ftdm_io.c  					ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]++;
ftdmchan         3431 src/ftdm_io.c  					ftdm_channel_queue_dtmf(ftdmchan, digit_str);
ftdmchan         3433 src/ftdm_io.c  					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SUPRESS_DTMF)) {
ftdmchan         3434 src/ftdm_io.c  						ftdmchan->skip_read_frames = 20;
ftdmchan         3441 src/ftdm_io.c  	if (ftdmchan->skip_read_frames > 0 || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_MUTE)) {
ftdmchan         3443 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan         3444 src/ftdm_io.c  		if (ftdmchan->pre_buffer && ftdm_buffer_inuse(ftdmchan->pre_buffer)) {
ftdmchan         3445 src/ftdm_io.c  			ftdm_buffer_zero(ftdmchan->pre_buffer);
ftdmchan         3447 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan         3452 src/ftdm_io.c  		if (ftdmchan->skip_read_frames > 0) {
ftdmchan         3453 src/ftdm_io.c  			ftdmchan->skip_read_frames--;
ftdmchan         3456 src/ftdm_io.c  		ftdm_mutex_lock(ftdmchan->pre_buffer_mutex);
ftdmchan         3457 src/ftdm_io.c  		if (ftdmchan->pre_buffer_size && ftdmchan->pre_buffer) {
ftdmchan         3458 src/ftdm_io.c  			ftdm_buffer_write(ftdmchan->pre_buffer, data, *datalen);
ftdmchan         3459 src/ftdm_io.c  			if (ftdm_buffer_inuse(ftdmchan->pre_buffer) >= ftdmchan->pre_buffer_size) {
ftdmchan         3460 src/ftdm_io.c  				ftdm_buffer_read(ftdmchan->pre_buffer, data, *datalen);
ftdmchan         3465 src/ftdm_io.c  		ftdm_mutex_unlock(ftdmchan->pre_buffer_mutex);
ftdmchan         3470 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         3476 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_write(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t datasize, ftdm_size_t *datalen)
ftdmchan         3483 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "null channel on write!\n");
ftdmchan         3484 src/ftdm_io.c  	ftdm_assert_return(ftdmchan->fio != NULL, FTDM_FAIL, "null I/O on write!\n");
ftdmchan         3486 src/ftdm_io.c  	if (!ftdmchan->buffer_delay && 
ftdmchan         3487 src/ftdm_io.c  		((ftdmchan->dtmf_buffer && ftdm_buffer_inuse(ftdmchan->dtmf_buffer)) ||
ftdmchan         3488 src/ftdm_io.c  		 (ftdmchan->fsk_buffer && ftdm_buffer_inuse(ftdmchan->fsk_buffer)))) {
ftdmchan         3494 src/ftdm_io.c  	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         3495 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "channel not open");
ftdmchan         3499 src/ftdm_io.c  	if (!ftdmchan->fio->write) {
ftdmchan         3500 src/ftdm_io.c  		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "method not implemented");
ftdmchan         3504 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_TRANSCODE) && ftdmchan->effective_codec != ftdmchan->native_codec) {
ftdmchan         3505 src/ftdm_io.c  		if (ftdmchan->native_codec == FTDM_CODEC_ULAW && ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan         3507 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ULAW && ftdmchan->effective_codec == FTDM_CODEC_ALAW) {
ftdmchan         3509 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW && ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan         3511 src/ftdm_io.c  		} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW && ftdmchan->effective_codec == FTDM_CODEC_ULAW) {
ftdmchan         3518 src/ftdm_io.c  			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan         3523 src/ftdm_io.c  	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_USE_TX_GAIN) 
ftdmchan         3524 src/ftdm_io.c  		&& (ftdmchan->native_codec == FTDM_CODEC_ALAW || ftdmchan->native_codec == FTDM_CODEC_ULAW)) {
ftdmchan         3527 src/ftdm_io.c  			wdata[i] = ftdmchan->txgain_table[wdata[i]];
ftdmchan         3531 src/ftdm_io.c  	status = ftdm_raw_write(ftdmchan, data, datalen);
ftdmchan         3536 src/ftdm_io.c  static ftdm_status_t ftdm_channel_clear_vars(ftdm_channel_t *ftdmchan)
ftdmchan         3538 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         3540 src/ftdm_io.c  	if (ftdmchan->variable_hash) {
ftdmchan         3541 src/ftdm_io.c  		hashtable_destroy(ftdmchan->variable_hash);
ftdmchan         3543 src/ftdm_io.c  	ftdmchan->variable_hash = NULL;
ftdmchan         3545 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         3549 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_add_var(ftdm_channel_t *ftdmchan, const char *var_name, const char *value)
ftdmchan         3559 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         3561 src/ftdm_io.c  	if (!ftdmchan->variable_hash) {
ftdmchan         3563 src/ftdm_io.c  		ftdmchan->variable_hash = create_hashtable(16, ftdm_hash_hashfromstring, ftdm_hash_equalkeys);
ftdmchan         3564 src/ftdm_io.c  		if (!ftdmchan->variable_hash) {
ftdmchan         3572 src/ftdm_io.c  	hashtable_insert(ftdmchan->variable_hash, t_name, t_val, HASHTABLE_FLAG_FREE_KEY | HASHTABLE_FLAG_FREE_VALUE);
ftdmchan         3577 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         3582 src/ftdm_io.c  FT_DECLARE(const char *) ftdm_channel_get_var(ftdm_channel_t *ftdmchan, const char *var_name)
ftdmchan         3586 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         3588 src/ftdm_io.c  	if (!ftdmchan->variable_hash || !var_name) {
ftdmchan         3592 src/ftdm_io.c  	var = (const char *)hashtable_search(ftdmchan->variable_hash, (void *)var_name);
ftdmchan         3595 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         3624 src/ftdm_io.c  FT_DECLARE(ftdm_iterator_t *) ftdm_channel_get_var_iterator(const ftdm_channel_t *ftdmchan, ftdm_iterator_t *iter)
ftdmchan         3627 src/ftdm_io.c  	ftdm_channel_lock(ftdmchan);
ftdmchan         3628 src/ftdm_io.c  	hashiter = ftdmchan->variable_hash == NULL ? NULL : hashtable_first(ftdmchan->variable_hash);
ftdmchan         3629 src/ftdm_io.c  	ftdm_channel_unlock(ftdmchan);
ftdmchan         4553 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_add_to_group(const char* name, ftdm_channel_t* ftdmchan)
ftdmchan         4560 src/ftdm_io.c  	ftdm_assert_return(ftdmchan != NULL, FTDM_FAIL, "Cannot add a null channel to a group\n");
ftdmchan         4569 src/ftdm_io.c  		if (group->channels[i]->physical_span_id == ftdmchan->physical_span_id &&
ftdmchan         4570 src/ftdm_io.c  				group->channels[i]->physical_chan_id == ftdmchan->physical_chan_id) {
ftdmchan         4587 src/ftdm_io.c  	group->channels[group->chan_count++] = ftdmchan;
ftdmchan         4592 src/ftdm_io.c  FT_DECLARE(ftdm_status_t) ftdm_channel_remove_from_group(ftdm_group_t* group, ftdm_channel_t* ftdmchan)
ftdmchan         4599 src/ftdm_io.c  			if (group->channels[i]->physical_span_id == ftdmchan->physical_span_id &&
ftdmchan         4600 src/ftdm_io.c  					group->channels[i]->physical_chan_id == ftdmchan->physical_chan_id) {
ftdmchan           59 src/ftdm_m3ua.c 	ftdm_channel_t *ftdmchan;
ftdmchan          137 src/ftdm_m3ua.c static __inline__ void state_advance(ftdm_channel_t *ftdmchan)
ftdmchan          140 src/ftdm_m3ua.c 	m3ua_data_t *m3ua_data = ftdmchan->span->signal_data;
ftdmchan          145 src/ftdm_m3ua.c 	ftdm_log(FTDM_LOG_DEBUG, "%d:%d STATE [%s]\n", ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          148 src/ftdm_m3ua.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan          149 src/ftdm_m3ua.c 	sig.span_id = ftdmchan->span_id;
ftdmchan          150 src/ftdm_m3ua.c 	sig.channel = ftdmchan;
ftdmchan          152 src/ftdm_m3ua.c 	switch (ftdmchan->state) {
ftdmchan          155 src/ftdm_m3ua.c 			if (ftdmchan->extra_id) {
ftdmchan          156 src/ftdm_m3ua.c 				release_request_id((m3ua_request_id_t)ftdmchan->extra_id);
ftdmchan          157 src/ftdm_m3ua.c 				ftdmchan->extra_id = 0;
ftdmchan          159 src/ftdm_m3ua.c 			ftdm_channel_done(ftdmchan);			
ftdmchan          165 src/ftdm_m3ua.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          168 src/ftdm_m3ua.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          172 src/ftdm_m3ua.c 								   ftdmchan->physical_span_id-1,
ftdmchan          173 src/ftdm_m3ua.c 								   ftdmchan->physical_chan_id-1,								   
ftdmchan          182 src/ftdm_m3ua.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          185 src/ftdm_m3ua.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          193 src/ftdm_m3ua.c 			if (ftdmchan->last_state != FTDM_CHANNEL_STATE_HANGUP && ftdmchan->last_state != FTDM_CHANNEL_STATE_DOWN) {
ftdmchan          194 src/ftdm_m3ua.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          196 src/ftdm_m3ua.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          202 src/ftdm_m3ua.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          205 src/ftdm_m3ua.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          208 src/ftdm_m3ua.c 				if (!(ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_MEDIA))) {
ftdmchan          210 src/ftdm_m3ua.c 									   ftdmchan->physical_span_id-1,
ftdmchan          211 src/ftdm_m3ua.c 									   ftdmchan->physical_chan_id-1,								   
ftdmchan          218 src/ftdm_m3ua.c 								   ftdmchan->physical_span_id-1,
ftdmchan          219 src/ftdm_m3ua.c 								   ftdmchan->physical_chan_id-1,								   
ftdmchan          232 src/ftdm_m3ua.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          237 src/ftdm_m3ua.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_ANSWERED) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_MEDIA)) {
ftdmchan          239 src/ftdm_m3ua.c 								   ftdmchan->physical_span_id-1,
ftdmchan          240 src/ftdm_m3ua.c 								   ftdmchan->physical_chan_id-1,
ftdmchan          243 src/ftdm_m3ua.c 								   ftdmchan->caller_data.hangup_cause);
ftdmchan          246 src/ftdm_m3ua.c 								   ftdmchan->physical_span_id-1,
ftdmchan          247 src/ftdm_m3ua.c 								   ftdmchan->physical_chan_id-1,								   
ftdmchan          250 src/ftdm_m3ua.c 								   ftdmchan->caller_data.hangup_cause);
ftdmchan          258 src/ftdm_m3ua.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          260 src/ftdm_m3ua.c 							   ftdmchan->physical_span_id-1,
ftdmchan          261 src/ftdm_m3ua.c 							   ftdmchan->physical_chan_id-1,
ftdmchan          271 src/ftdm_m3ua.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          273 src/ftdm_m3ua.c 							   ftdmchan->physical_span_id-1,
ftdmchan          274 src/ftdm_m3ua.c 							   ftdmchan->physical_chan_id-1,
ftdmchan          497 src/ftdm_m3ua.c 	m3ua_chan_data_t *chan_data = (m3ua_chan_data_t *) ftdmchan->mod_data;
ftdmchan          498 src/ftdm_m3ua.c 	m3ua_span_data_t *span_data = (m3ua_span_data_t *) ftdmchan->span->mod_data;
ftdmchan           52 src/ftmod/ftmod_analog/ftmod_analog.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {		
ftdmchan           53 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan           54 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan           56 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_OFFHOOK, NULL);
ftdmchan           57 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_PROGRESS_DETECT, NULL);
ftdmchan           58 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdmchan->needed_tones[FTDM_TONEMAP_DIAL] = 1;
ftdmchan           59 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan           60 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_thread_create_detached(ftdm_analog_channel_run, ftdmchan);
ftdmchan           77 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan           78 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_CALLWAITING);
ftdmchan           80 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_GENRING);
ftdmchan           81 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_thread_create_detached(ftdm_analog_channel_run, ftdmchan);
ftdmchan          283 src/ftmod/ftmod_analog/ftmod_analog.c static void send_caller_id(ftdm_channel_t *ftdmchan)
ftdmchan          304 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdm_strlen_zero(ftdmchan->caller_data.cid_num.digits)) {
ftdmchan          306 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_set_string(ftdmchan->caller_data.cid_num.digits, "O");
ftdmchan          307 src/ftmod/ftmod_analog/ftmod_analog.c 	} else if (!strcasecmp(ftdmchan->caller_data.cid_num.digits, "P") || !strcasecmp(ftdmchan->caller_data.cid_num.digits, "O")) {
ftdmchan          312 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_fsk_data_add_mdmf(&fsk_data, mt, (uint8_t *) ftdmchan->caller_data.cid_num.digits, (uint8_t)strlen(ftdmchan->caller_data.cid_num.digits));
ftdmchan          314 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdm_strlen_zero(ftdmchan->caller_data.cid_name)) {
ftdmchan          316 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_set_string(ftdmchan->caller_data.cid_name, "O");
ftdmchan          317 src/ftmod/ftmod_analog/ftmod_analog.c 	} else if (!strcasecmp(ftdmchan->caller_data.cid_name, "P") || !strcasecmp(ftdmchan->caller_data.cid_name, "O")) {
ftdmchan          322 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_fsk_data_add_mdmf(&fsk_data, mt, (uint8_t *) ftdmchan->caller_data.cid_name, (uint8_t)strlen(ftdmchan->caller_data.cid_name));
ftdmchan          325 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_channel_send_fsk_data(ftdmchan, &fsk_data, -14);
ftdmchan          335 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_channel_t *ftdmchan = (ftdm_channel_t *) obj;
ftdmchan          343 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_analog_data_t *analog_data = ftdmchan->span->signal_data;
ftdmchan          349 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "ANALOG CHANNEL thread starting.\n");
ftdmchan          353 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          354 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "OPEN ERROR [%s]\n", ftdmchan->last_error);
ftdmchan          359 src/ftmod/ftmod_analog/ftmod_analog.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "memory error!");
ftdmchan          360 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "MEM ERROR\n");
ftdmchan          364 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_DTMF_DETECT, &tt) != FTDM_SUCCESS) {
ftdmchan          365 src/ftmod/ftmod_analog/ftmod_analog.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "error initilizing tone detector!");
ftdmchan          366 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "failed to initialize DTMF detector\n");
ftdmchan          369 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Initialized DTMF detection\n");
ftdmchan          371 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_INTHREAD);
ftdmchan          378 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_INTERVAL, &interval);
ftdmchan          382 src/ftmod/ftmod_analog/ftmod_analog.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan          383 src/ftmod/ftmod_analog/ftmod_analog.c 	sig.span_id = ftdmchan->span_id;
ftdmchan          384 src/ftmod/ftmod_analog/ftmod_analog.c 	sig.channel = ftdmchan;
ftdmchan          388 src/ftmod/ftmod_analog/ftmod_analog.c 	while (ftdm_running() && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan          397 src/ftmod/ftmod_analog/ftmod_analog.c 		if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          398 src/ftmod/ftmod_analog/ftmod_analog.c 			switch(ftdmchan->state) {
ftdmchan          401 src/ftmod/ftmod_analog/ftmod_analog.c 					if (state_counter > 5000 || !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_CALLERID_DETECT)) {
ftdmchan          402 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_CALLERID_DETECT, NULL);
ftdmchan          403 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan          410 src/ftmod/ftmod_analog/ftmod_analog.c 						if (ftdmchan->needed_tones[FTDM_TONEMAP_DIAL]) {
ftdmchan          411 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          413 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          421 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          422 src/ftmod/ftmod_analog/ftmod_analog.c 					} else if (!ftdmchan->fsk_buffer || !ftdm_buffer_inuse(ftdmchan->fsk_buffer)) {
ftdmchan          430 src/ftmod/ftmod_analog/ftmod_analog.c 					if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_HOLD) && state_counter > 10000) {
ftdmchan          431 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          438 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_ATTN);
ftdmchan          445 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          452 src/ftmod/ftmod_analog/ftmod_analog.c 						if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_RINGING)) {
ftdmchan          453 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_channel_command(ftdmchan, FTDM_COMMAND_GENERATE_RING_OFF, NULL);
ftdmchan          456 src/ftmod/ftmod_analog/ftmod_analog.c 						if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && 
ftdmchan          457 src/ftmod/ftmod_analog/ftmod_analog.c 							(ftdmchan->last_state == FTDM_CHANNEL_STATE_RING || ftdmchan->last_state == FTDM_CHANNEL_STATE_DIALTONE 
ftdmchan          458 src/ftmod/ftmod_analog/ftmod_analog.c 							 || ftdmchan->last_state >= FTDM_CHANNEL_STATE_IDLE)) {
ftdmchan          459 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          461 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_CLEARING;
ftdmchan          462 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          471 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK] == 1) {
ftdmchan          472 src/ftmod/ftmod_analog/ftmod_analog.c 						send_caller_id(ftdmchan);
ftdmchan          473 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]++;
ftdmchan          474 src/ftmod/ftmod_analog/ftmod_analog.c 					} else if (state_counter > 600 && !ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]) {
ftdmchan          475 src/ftmod/ftmod_analog/ftmod_analog.c 						send_caller_id(ftdmchan);
ftdmchan          476 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]++;
ftdmchan          477 src/ftmod/ftmod_analog/ftmod_analog.c 					} else if (state_counter > 1000 && !ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK]) {
ftdmchan          480 src/ftmod/ftmod_analog/ftmod_analog.c 						if (ftdmchan->fsk_buffer) {
ftdmchan          481 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_buffer_zero(ftdmchan->fsk_buffer);
ftdmchan          483 src/ftmod/ftmod_analog/ftmod_analog.c 							ftdm_buffer_create(&ftdmchan->fsk_buffer, 128, 128, 0);
ftdmchan          486 src/ftmod/ftmod_analog/ftmod_analog.c 						ts.user_data = ftdmchan->fsk_buffer;
ftdmchan          487 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]);
ftdmchan          493 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          494 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          495 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE);
ftdmchan          496 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK] = 0;
ftdmchan          515 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          516 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE);
ftdmchan          517 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_channel_complete_state(ftdmchan);
ftdmchan          521 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Executing state handler on %d:%d for %s\n", 
ftdmchan          522 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdmchan->span_id, ftdmchan->chan_id,
ftdmchan          523 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_state2str(ftdmchan->state));
ftdmchan          524 src/ftmod/ftmod_analog/ftmod_analog.c 			switch(ftdmchan->state) {
ftdmchan          527 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_use(ftdmchan);
ftdmchan          528 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan          529 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_flush_dtmf(ftdmchan);
ftdmchan          531 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->type == FTDM_CHAN_TYPE_FXO && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK)) {
ftdmchan          532 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_channel_command(ftdmchan, FTDM_COMMAND_OFFHOOK, NULL);
ftdmchan          535 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->fsk_buffer && ftdm_buffer_inuse(ftdmchan->fsk_buffer)) {
ftdmchan          536 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Cancel FSK transmit due to early answer.\n");
ftdmchan          537 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_buffer_zero(ftdmchan->fsk_buffer);
ftdmchan          540 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->type == FTDM_CHAN_TYPE_FXS && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_RINGING)) {
ftdmchan          541 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_channel_command(ftdmchan, FTDM_COMMAND_GENERATE_RING_OFF, NULL);
ftdmchan          544 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->token_count == 1) {
ftdmchan          545 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_HOLD);
ftdmchan          548 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_HOLD)) {
ftdmchan          549 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_HOLD);
ftdmchan          555 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          561 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_use(ftdmchan);
ftdmchan          566 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_use(ftdmchan);
ftdmchan          569 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->type == FTDM_CHAN_TYPE_FXO) {
ftdmchan          570 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_string(ftdmchan->caller_data.dnis.digits, ftdmchan->chan_number);
ftdmchan          572 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_string(ftdmchan->caller_data.dnis.digits, dtmf);
ftdmchan          575 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          582 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          588 src/ftmod/ftmod_analog/ftmod_analog.c 					memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan          592 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ftdmchan          598 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdmchan->detected_tones[FTDM_TONEMAP_CALLWAITING_ACK] = 0;
ftdmchan          599 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdmchan->fsk_buffer) {
ftdmchan          600 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_buffer_zero(ftdmchan->fsk_buffer);
ftdmchan          602 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_buffer_create(&ftdmchan->fsk_buffer, 128, 128, 0);
ftdmchan          605 src/ftmod/ftmod_analog/ftmod_analog.c 					ts.user_data = ftdmchan->fsk_buffer;
ftdmchan          606 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]);
ftdmchan          607 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_CAS]);
ftdmchan          615 src/ftmod/ftmod_analog/ftmod_analog.c 					send_caller_id(ftdmchan);
ftdmchan          616 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_command(ftdmchan, FTDM_COMMAND_GENERATE_RING_ON, NULL);
ftdmchan          619 src/ftmod/ftmod_analog/ftmod_analog.c 					sig.chan_id = ftdmchan->chan_id;
ftdmchan          620 src/ftmod/ftmod_analog/ftmod_analog.c 					sig.span_id = ftdmchan->span_id;
ftdmchan          621 src/ftmod/ftmod_analog/ftmod_analog.c 					sig.channel = ftdmchan;
ftdmchan          623 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          629 src/ftmod/ftmod_analog/ftmod_analog.c 					memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan          630 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_CALLERID_DETECT, NULL);
ftdmchan          637 src/ftmod/ftmod_analog/ftmod_analog.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ftdmchan          644 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_CIRCUIT_CONGESTION;
ftdmchan          645 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          647 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]);
ftdmchan          650 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          656 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          658 src/ftmod/ftmod_analog/ftmod_analog.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]);
ftdmchan          661 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          671 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALTONE || ftdmchan->state == FTDM_CHANNEL_STATE_COLLECT) {
ftdmchan          672 src/ftmod/ftmod_analog/ftmod_analog.c 			if ((dlen = ftdm_channel_dequeue_dtmf(ftdmchan, dtmf + dtmf_offset, sizeof(dtmf) - strlen(dtmf)))) {
ftdmchan          674 src/ftmod/ftmod_analog/ftmod_analog.c 				if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALTONE) {
ftdmchan          675 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_COLLECT);
ftdmchan          682 src/ftmod/ftmod_analog/ftmod_analog.c 				if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) {
ftdmchan          696 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Number obtained [%s]\n", dtmf);
ftdmchan          697 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan          702 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdm_channel_wait(ftdmchan, &flags, interval * 2) != FTDM_SUCCESS) {
ftdmchan          710 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdm_channel_read(ftdmchan, frame, &len) != FTDM_SUCCESS) {
ftdmchan          711 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "read error [%s]\n", ftdmchan->last_error);
ftdmchan          715 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdmchan->type == FTDM_CHAN_TYPE_FXO && ftdmchan->detected_tones[0]) {
ftdmchan          719 src/ftmod/ftmod_analog/ftmod_analog.c 				if (ftdmchan->detected_tones[i]) {
ftdmchan          720 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Detected tone %s on %d:%d\n", ftdm_tonemap2str(i), ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          724 src/ftmod/ftmod_analog/ftmod_analog.c 			if (ftdmchan->detected_tones[FTDM_TONEMAP_BUSY] || 
ftdmchan          725 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL1] ||
ftdmchan          726 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL2] ||
ftdmchan          727 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL3] ||
ftdmchan          728 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdmchan->detected_tones[FTDM_TONEMAP_ATTN]
ftdmchan          730 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "Failure indication detected!\n");
ftdmchan          731 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          732 src/ftmod/ftmod_analog/ftmod_analog.c 			} else if (ftdmchan->detected_tones[FTDM_TONEMAP_DIAL]) {
ftdmchan          733 src/ftmod/ftmod_analog/ftmod_analog.c 				if (ftdm_strlen_zero(ftdmchan->caller_data.dnis.digits)) {
ftdmchan          734 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "No Digits to send!\n");
ftdmchan          735 src/ftmod/ftmod_analog/ftmod_analog.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          737 src/ftmod/ftmod_analog/ftmod_analog.c 					if (ftdm_channel_command(ftdmchan, FTDM_COMMAND_SEND_DTMF, ftdmchan->caller_data.dnis.digits) != FTDM_SUCCESS) {
ftdmchan          738 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Send Digits Failed [%s]\n", ftdmchan->last_error);
ftdmchan          739 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          742 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->needed_tones[FTDM_TONEMAP_RING] = 1;
ftdmchan          743 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->needed_tones[FTDM_TONEMAP_BUSY] = 1;
ftdmchan          744 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->needed_tones[FTDM_TONEMAP_FAIL1] = 1;
ftdmchan          745 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->needed_tones[FTDM_TONEMAP_FAIL2] = 1;
ftdmchan          746 src/ftmod/ftmod_analog/ftmod_analog.c 						ftdmchan->needed_tones[FTDM_TONEMAP_FAIL3] = 1;
ftdmchan          747 src/ftmod/ftmod_analog/ftmod_analog.c 						dial_timeout = ((ftdmchan->dtmf_on + ftdmchan->dtmf_off) * strlen(ftdmchan->caller_data.dnis.digits)) + 2000;
ftdmchan          750 src/ftmod/ftmod_analog/ftmod_analog.c 			} else if (ftdmchan->detected_tones[FTDM_TONEMAP_RING]) {
ftdmchan          751 src/ftmod/ftmod_analog/ftmod_analog.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          754 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan          757 src/ftmod/ftmod_analog/ftmod_analog.c 		if ((ftdmchan->dtmf_buffer && ftdm_buffer_inuse(ftdmchan->dtmf_buffer)) || (ftdmchan->fsk_buffer && ftdm_buffer_inuse(ftdmchan->fsk_buffer))) {
ftdmchan          768 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdmchan->type == FTDM_CHAN_TYPE_FXO && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK)) {
ftdmchan          769 src/ftmod/ftmod_analog/ftmod_analog.c 			ftdm_channel_command(ftdmchan, FTDM_COMMAND_OFFHOOK, NULL);
ftdmchan          772 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan          778 src/ftmod/ftmod_analog/ftmod_analog.c 		if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan          781 src/ftmod/ftmod_analog/ftmod_analog.c 			if (ftdmchan->native_codec == FTDM_CODEC_ULAW) {
ftdmchan          783 src/ftmod/ftmod_analog/ftmod_analog.c 			} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW) {
ftdmchan          790 src/ftmod/ftmod_analog/ftmod_analog.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan          795 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_write(ftdmchan, frame, sizeof(frame), &rlen);
ftdmchan          801 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_FXO && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK)) {
ftdmchan          802 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_ONHOOK, NULL);
ftdmchan          805 src/ftmod/ftmod_analog/ftmod_analog.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_FXS && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_RINGING)) {
ftdmchan          806 src/ftmod/ftmod_analog/ftmod_analog.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_GENERATE_RING_OFF, NULL);
ftdmchan          810 src/ftmod/ftmod_analog/ftmod_analog.c 	closed_chan = ftdmchan;
ftdmchan          811 src/ftmod/ftmod_analog/ftmod_analog.c 	ftdm_channel_close(&ftdmchan);
ftdmchan           57 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {		
ftdmchan           58 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan           59 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan           61 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan           63 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_OFFHOOK, NULL);
ftdmchan           64 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_PROGRESS_DETECT, NULL);
ftdmchan           65 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan           66 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_thread_create_detached(ftdm_analog_em_channel_run, ftdmchan);
ftdmchan          212 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_channel_t *ftdmchan = (ftdm_channel_t *) obj;
ftdmchan          220 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_analog_em_data_t *analog_data = ftdmchan->span->signal_data;
ftdmchan          230 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          231 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_log(FTDM_LOG_ERROR, "OPEN ERROR [%s]\n", ftdmchan->last_error);
ftdmchan          236 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "memory error!");
ftdmchan          241 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	if (ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_DTMF_DETECT, &tt) != FTDM_SUCCESS) {
ftdmchan          242 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "error initilizing tone detector!");
ftdmchan          247 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_INTHREAD);
ftdmchan          254 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_INTERVAL, &interval);
ftdmchan          258 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan          259 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	sig.span_id = ftdmchan->span_id;
ftdmchan          260 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	sig.channel = ftdmchan;
ftdmchan          264 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	while (ftdm_running() && ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan          273 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          274 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			switch(ftdmchan->state) {
ftdmchan          277 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					if (! ftdmchan->needed_tones[FTDM_TONEMAP_RING]
ftdmchan          278 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						&& ftdm_test_flag(ftdmchan, FTDM_CHANNEL_WINK)) {
ftdmchan          279 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						if (ftdm_strlen_zero(ftdmchan->caller_data.dnis.digits)) {
ftdmchan          281 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          283 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							if (ftdm_channel_command(ftdmchan, FTDM_COMMAND_SEND_DTMF, ftdmchan->caller_data.dnis.digits) != FTDM_SUCCESS) {
ftdmchan          284 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdm_log(FTDM_LOG_ERROR, "Send Digits Failed [%s]\n", ftdmchan->last_error);
ftdmchan          285 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          288 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdmchan->needed_tones[FTDM_TONEMAP_RING] = 1;
ftdmchan          289 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdmchan->needed_tones[FTDM_TONEMAP_BUSY] = 1;
ftdmchan          290 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdmchan->needed_tones[FTDM_TONEMAP_FAIL1] = 1;
ftdmchan          291 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdmchan->needed_tones[FTDM_TONEMAP_FAIL2] = 1;
ftdmchan          292 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								ftdmchan->needed_tones[FTDM_TONEMAP_FAIL3] = 1;
ftdmchan          293 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 								dial_timeout = ((ftdmchan->dtmf_on + ftdmchan->dtmf_off) * strlen(ftdmchan->caller_data.dnis.digits)) + 2000;
ftdmchan          299 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_WINK)) {
ftdmchan          300 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          302 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          310 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          317 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_ATTN);
ftdmchan          324 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          331 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && 
ftdmchan          332 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							(ftdmchan->last_state == FTDM_CHANNEL_STATE_RING || ftdmchan->last_state == FTDM_CHANNEL_STATE_DIALTONE 
ftdmchan          333 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							 || ftdmchan->last_state >= FTDM_CHANNEL_STATE_IDLE)) {
ftdmchan          334 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          336 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_CLEARING;
ftdmchan          337 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          358 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          359 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE);
ftdmchan          360 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_channel_complete_state(ftdmchan);
ftdmchan          365 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdmchan->span_id, ftdmchan->chan_id,
ftdmchan          366 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_state2str(ftdmchan->state));
ftdmchan          367 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			switch(ftdmchan->state) {
ftdmchan          370 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_use(ftdmchan);
ftdmchan          371 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_clear_needed_tones(ftdmchan);
ftdmchan          372 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_flush_dtmf(ftdmchan);
ftdmchan          374 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK)) {
ftdmchan          375 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_channel_command(ftdmchan, FTDM_COMMAND_OFFHOOK, NULL);
ftdmchan          380 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          386 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_use(ftdmchan);
ftdmchan          391 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_use(ftdmchan);
ftdmchan          393 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          394 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_string(ftdmchan->caller_data.dnis.digits, ftdmchan->chan_number);
ftdmchan          396 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_string(ftdmchan->caller_data.dnis.digits, dtmf);
ftdmchan          401 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          408 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          414 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan          418 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ftdmchan          421 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_channel_command(ftdmchan, FTDM_COMMAND_WINK, NULL);
ftdmchan          427 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ftdmchan          433 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_CIRCUIT_CONGESTION;
ftdmchan          434 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          436 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]);
ftdmchan          439 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          445 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OFFHOOK) && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          447 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]);
ftdmchan          450 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          460 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALTONE || ftdmchan->state == FTDM_CHANNEL_STATE_COLLECT) {
ftdmchan          461 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			if ((dlen = ftdm_channel_dequeue_dtmf(ftdmchan, dtmf + dtmf_offset, sizeof(dtmf) - strlen(dtmf)))) {
ftdmchan          463 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALTONE) {
ftdmchan          464 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_COLLECT);
ftdmchan          471 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) {
ftdmchan          480 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan          485 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdm_channel_wait(ftdmchan, &flags, interval * 2) != FTDM_SUCCESS) {
ftdmchan          493 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdm_channel_read(ftdmchan, frame, &len) != FTDM_SUCCESS) {
ftdmchan          494 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_log(FTDM_LOG_ERROR, "READ ERROR [%s]\n", ftdmchan->last_error);
ftdmchan          498 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdmchan->detected_tones[0]) {
ftdmchan          502 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				if (ftdmchan->detected_tones[i]) {
ftdmchan          503 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 					ftdm_log(FTDM_LOG_DEBUG, "Detected tone %s on %d:%d\n", ftdm_tonemap2str(i), ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          507 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			if (ftdmchan->detected_tones[FTDM_TONEMAP_BUSY] || 
ftdmchan          508 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL1] ||
ftdmchan          509 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL2] ||
ftdmchan          510 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdmchan->detected_tones[FTDM_TONEMAP_FAIL3] ||
ftdmchan          511 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdmchan->detected_tones[FTDM_TONEMAP_ATTN]
ftdmchan          514 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_BUSY);
ftdmchan          515 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			} else if (ftdmchan->detected_tones[FTDM_TONEMAP_RING]) {
ftdmchan          516 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          519 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_channel_clear_detected_tones(ftdmchan);
ftdmchan          522 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if ((ftdmchan->dtmf_buffer && ftdm_buffer_inuse(ftdmchan->dtmf_buffer))) {
ftdmchan          525 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			ftdm_channel_write(ftdmchan, frame, sizeof(frame), &rlen);
ftdmchan          533 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan          539 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan          542 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			if (ftdmchan->native_codec == FTDM_CODEC_ULAW) {
ftdmchan          544 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 			} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW) {
ftdmchan          551 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan          556 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 		ftdm_channel_write(ftdmchan, frame, sizeof(frame), &rlen);
ftdmchan          561 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_ONHOOK, NULL);
ftdmchan          563 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	closed_chan = ftdmchan;
ftdmchan          564 src/ftmod/ftmod_analog_em/ftmod_analog_em.c 	ftdm_channel_close(&ftdmchan);
ftdmchan          298 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan          299 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan          500 src/ftmod/ftmod_isdn/ftmod_isdn.c 			*ftdmchan = new_chan;
ftdmchan          528 src/ftmod/ftmod_isdn/ftmod_isdn.c 	*ftdmchan = NULL;
ftdmchan          561 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          611 src/ftmod/ftmod_isdn/ftmod_isdn.c 		ftdmchan = isdn_data->channels_local_crv[gen->CRV];
ftdmchan          613 src/ftmod/ftmod_isdn/ftmod_isdn.c 		ftdmchan = isdn_data->channels_remote_crv[gen->CRV];
ftdmchan          616 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_log(FTDM_LOG_DEBUG, "ftdmchan %x (%d:%d) source isdn_data->channels_%s_crv[%#hx]\n", ftdmchan, ftdmchan ? ftdmchan->span_id : -1, ftdmchan ? ftdmchan->chan_id : -1, gen->CRVFlag ? "local" : "remote", gen->CRV);
ftdmchan          624 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          628 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_SUSPENDED);
ftdmchan          629 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_log(FTDM_LOG_DEBUG, "Channel %d:%d in service\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          630 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          635 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_SUSPENDED);
ftdmchan          636 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          641 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_SUSPENDED);
ftdmchan          642 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          661 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdmchan = span->channels[chan_id];
ftdmchan          663 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          664 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          677 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          678 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING || ftdmchan->state == FTDM_CHANNEL_STATE_HANGUP) {
ftdmchan          680 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          682 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          685 src/ftmod/ftmod_isdn/ftmod_isdn.c 					else if((gen->MesType == Q931mes_RELEASE && ftdmchan->state <= FTDM_CHANNEL_STATE_UP) ||
ftdmchan          686 src/ftmod/ftmod_isdn/ftmod_isdn.c 						(gen->MesType == Q931mes_RELEASE_COMPLETE && ftdmchan->state == FTDM_CHANNEL_STATE_DIALING)) {
ftdmchan          696 src/ftmod/ftmod_isdn/ftmod_isdn.c 						sig.chan_id = ftdmchan->chan_id;
ftdmchan          697 src/ftmod/ftmod_isdn/ftmod_isdn.c 						sig.span_id = ftdmchan->span_id;
ftdmchan          698 src/ftmod/ftmod_isdn/ftmod_isdn.c 						sig.channel = ftdmchan;
ftdmchan          702 src/ftmod/ftmod_isdn/ftmod_isdn.c 						status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          704 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_log(FTDM_LOG_DEBUG, "Received %s in state %s, requested hangup for channel %d:%d\n", what, ftdm_channel_state2str(ftdmchan->state), ftdmchan->span_id, chan_id);
ftdmchan          716 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          718 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdmchan->caller_data.hangup_cause = cause->Value;
ftdmchan          719 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          727 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          728 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          736 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          737 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          745 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          746 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          765 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if(ftdmchan && ftdmchan == isdn_data->channels_remote_crv[gen->CRV]) {
ftdmchan          767 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->span_id,
ftdmchan          768 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->chan_id,
ftdmchan          769 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_span_id,
ftdmchan          770 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_chan_id,
ftdmchan          771 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdm_channel_state2str(ftdmchan->state));
ftdmchan          775 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ftdmchan = NULL;
ftdmchan          790 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdmchan = zc;
ftdmchan          811 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdmchan = span->channels[chan_id];
ftdmchan          828 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdmchan = NULL;
ftdmchan          832 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          833 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE) || ftdmchan->state != FTDM_CHANNEL_STATE_DOWN) {
ftdmchan          834 src/ftmod/ftmod_isdn/ftmod_isdn.c 						if (ftdmchan->state == FTDM_CHANNEL_STATE_DOWN || ftdmchan->state >= FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan          837 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->span_id,
ftdmchan          838 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->chan_id,
ftdmchan          839 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_span_id,
ftdmchan          840 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_chan_id);
ftdmchan          843 src/ftmod/ftmod_isdn/ftmod_isdn.c 								if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan          849 src/ftmod/ftmod_isdn/ftmod_isdn.c 						if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan          851 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->span_id,
ftdmchan          852 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->chan_id,
ftdmchan          853 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_span_id,
ftdmchan          854 src/ftmod/ftmod_isdn/ftmod_isdn.c 									ftdmchan->physical_chan_id
ftdmchan          856 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdmchan = NULL;
ftdmchan          860 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdmchan && ftdmchan->state == FTDM_CHANNEL_STATE_DOWN) {
ftdmchan          861 src/ftmod/ftmod_isdn/ftmod_isdn.c 						isdn_data->channels_remote_crv[gen->CRV] = ftdmchan;
ftdmchan          862 src/ftmod/ftmod_isdn/ftmod_isdn.c 						memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan          864 src/ftmod/ftmod_isdn/ftmod_isdn.c 						if (ftdmchan->mod_data) {
ftdmchan          865 src/ftmod/ftmod_isdn/ftmod_isdn.c 							memset(ftdmchan->mod_data, 0, sizeof(ftdm_isdn_bchan_data_t));
ftdmchan          868 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_string(ftdmchan->caller_data.cid_num.digits, (char *)callingnum->Digit);
ftdmchan          869 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_string(ftdmchan->caller_data.cid_name, (char *)callingnum->Digit);
ftdmchan          870 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_string(ftdmchan->caller_data.ani.digits, (char *)callingnum->Digit);
ftdmchan          872 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_string(ftdmchan->caller_data.dnis.digits, (char *)callednum->Digit);
ftdmchan          875 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdmchan->caller_data.CRV = gen->CRV;
ftdmchan          876 src/ftmod/ftmod_isdn/ftmod_isdn.c 						if (cplen > sizeof(ftdmchan->caller_data.raw_data)) {
ftdmchan          877 src/ftmod/ftmod_isdn/ftmod_isdn.c 							cplen = sizeof(ftdmchan->caller_data.raw_data);
ftdmchan          880 src/ftmod/ftmod_isdn/ftmod_isdn.c 						memcpy(ftdmchan->caller_data.raw_data, msg, cplen);
ftdmchan          881 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdmchan->caller_data.raw_data_len = cplen;
ftdmchan          905 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdmchan) {
ftdmchan          918 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1;	/* PRI = 1, BRI = 0 */
ftdmchan          919 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ChanID.PrefExcl = FTDM_SPAN_IS_NT(ftdmchan->span) ? 1 : 0;  /* Exclusive in NT-mode = 1, Preferred otherwise = 0 */
ftdmchan          923 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ChanID.ChanSlot = (unsigned char)ftdmchan->chan_id;
ftdmchan          925 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ChanID.InfoChanSel = (unsigned char)ftdmchan->chan_id & 0x03;	/* None = 0, B1 = 1, B2 = 2, Any = 3 */
ftdmchan          949 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALTONE);
ftdmchan          954 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          962 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          964 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          972 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          982 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan) {
ftdmchan          983 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_log(FTDM_LOG_CRIT, "Received INFORMATION message for channel %d\n", ftdmchan->chan_id);
ftdmchan          985 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALTONE) {
ftdmchan          992 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->mod_data;
ftdmchan         1002 src/ftmod/ftmod_isdn/ftmod_isdn.c 							pos = (int)strlen(ftdmchan->caller_data.dnis.digits);
ftdmchan         1003 src/ftmod/ftmod_isdn/ftmod_isdn.c 							strcat(&ftdmchan->caller_data.dnis.digits[pos],    (char *)callednum->Digit);
ftdmchan         1008 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_log(FTDM_LOG_DEBUG, "Received new overlap digit (%s), destination number: %s\n", callednum->Digit, ftdmchan->caller_data.dnis.digits);
ftdmchan         1014 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan         1046 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if(ftdmchan) {
ftdmchan         1047 src/ftmod/ftmod_isdn/ftmod_isdn.c 					switch(ftdmchan->state) {
ftdmchan         1156 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ void state_advance(ftdm_channel_t *ftdmchan)
ftdmchan         1158 src/ftmod/ftmod_isdn/ftmod_isdn.c 	Q931mes_Generic *gen = (Q931mes_Generic *) ftdmchan->caller_data.raw_data;
ftdmchan         1159 src/ftmod/ftmod_isdn/ftmod_isdn.c 	ftdm_isdn_data_t *isdn_data = ftdmchan->span->signal_data;
ftdmchan         1164 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan         1167 src/ftmod/ftmod_isdn/ftmod_isdn.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan         1168 src/ftmod/ftmod_isdn/ftmod_isdn.c 	sig.span_id = ftdmchan->span_id;
ftdmchan         1169 src/ftmod/ftmod_isdn/ftmod_isdn.c 	sig.channel = ftdmchan;
ftdmchan         1171 src/ftmod/ftmod_isdn/ftmod_isdn.c 	switch (ftdmchan->state) {
ftdmchan         1175 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1182 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_channel_done(ftdmchan);
ftdmchan         1187 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1189 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1190 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1196 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (FTDM_SPAN_IS_NT(ftdmchan->span)) {
ftdmchan         1203 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1;		/* PRI = 1, BRI = 0 */
ftdmchan         1209 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ChanID.ChanSlot = (unsigned char)ftdmchan->chan_id;
ftdmchan         1211 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ChanID.InfoChanSel = (unsigned char)ftdmchan->chan_id & 0x03;	/* None = 0, B1 = 1, B2 = 2, Any = 3 */
ftdmchan         1222 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->mod_data;
ftdmchan         1231 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1233 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1234 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1241 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_UNSPECIFIED;
ftdmchan         1243 src/ftmod/ftmod_isdn/ftmod_isdn.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan         1244 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1249 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1251 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1252 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1255 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         1256 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1257 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1269 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1271 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1272 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1275 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         1276 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1277 src/ftmod/ftmod_isdn/ftmod_isdn.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1284 src/ftmod/ftmod_isdn/ftmod_isdn.c 				Q931Rx43(&isdn_data->q931, (void *)gen, ftdmchan->caller_data.raw_data_len);
ftdmchan         1304 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_channel_command(ftdmchan->span->channels[ftdmchan->chan_id], FTDM_COMMAND_GET_NATIVE_CODEC, &codec);
ftdmchan         1329 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1;	/* PRI = 1, BRI = 0 */
ftdmchan         1330 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ChanID.PrefExcl = FTDM_SPAN_IS_NT(ftdmchan->span) ? 1 : 0;  /* Exclusive in NT-mode = 1, Preferred otherwise = 0 */
ftdmchan         1334 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ChanID.ChanSlot = (unsigned char)ftdmchan->chan_id;
ftdmchan         1336 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ChanID.InfoChanSel = (unsigned char)ftdmchan->chan_id & 0x03;	/* None = 0, B1 = 1, B2 = 2, Any = 3 */
ftdmchan         1354 src/ftmod/ftmod_isdn/ftmod_isdn.c 				Display.Size = Display.Size + (unsigned char)strlen(ftdmchan->caller_data.cid_name);
ftdmchan         1357 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ftdm_copy_string((char *)ptrDisplay->Display, ftdmchan->caller_data.cid_name, strlen(ftdmchan->caller_data.cid_name)+1);
ftdmchan         1364 src/ftmod/ftmod_isdn/ftmod_isdn.c 			CallingNum.TypNum    = ftdmchan->caller_data.ani.type;
ftdmchan         1368 src/ftmod/ftmod_isdn/ftmod_isdn.c 			CallingNum.Size = CallingNum.Size + (unsigned char)strlen(ftdmchan->caller_data.cid_num.digits);
ftdmchan         1371 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_copy_string((char *)ptrCallingNum->Digit, ftdmchan->caller_data.cid_num.digits, strlen(ftdmchan->caller_data.cid_num.digits)+1);
ftdmchan         1377 src/ftmod/ftmod_isdn/ftmod_isdn.c 			CalledNum.TypNum    = ftdmchan->caller_data.dnis.type;
ftdmchan         1379 src/ftmod/ftmod_isdn/ftmod_isdn.c 			CalledNum.Size = CalledNum.Size + (unsigned char)strlen(ftdmchan->caller_data.dnis.digits);
ftdmchan         1382 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_copy_string((char *)ptrCalledNum->Digit, ftdmchan->caller_data.dnis.digits, strlen(ftdmchan->caller_data.dnis.digits)+1);
ftdmchan         1395 src/ftmod/ftmod_isdn/ftmod_isdn.c 			isdn_data->channels_local_crv[gen->CRV] = ftdmchan;
ftdmchan         1401 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if(ftdmchan->last_state == FTDM_CHANNEL_STATE_HANGUP) {
ftdmchan         1406 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1413 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_log(FTDM_LOG_DEBUG, "Hangup: Direction %s\n", ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) ? "Outbound" : "Inbound");
ftdmchan         1415 src/ftmod/ftmod_isdn/ftmod_isdn.c 			gen->CRVFlag = ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) ? 0 : 1;
ftdmchan         1427 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdmchan->last_state == FTDM_CHANNEL_STATE_RING) {
ftdmchan         1435 src/ftmod/ftmod_isdn/ftmod_isdn.c 				cause.Value = (unsigned char) ftdmchan->caller_data.hangup_cause;
ftdmchan         1442 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1444 src/ftmod/ftmod_isdn/ftmod_isdn.c 			else if (ftdmchan->last_state <= FTDM_CHANNEL_STATE_PROGRESS) {
ftdmchan         1450 src/ftmod/ftmod_isdn/ftmod_isdn.c 				cause.Value = (unsigned char) ftdmchan->caller_data.hangup_cause;
ftdmchan         1464 src/ftmod/ftmod_isdn/ftmod_isdn.c 				cause.Value = (unsigned char) ftdmchan->caller_data.hangup_cause;
ftdmchan         1473 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_log(FTDM_LOG_DEBUG, "Terminating: Direction %s\n", ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) ? "Outbound" : "Inbound");
ftdmchan         1476 src/ftmod/ftmod_isdn/ftmod_isdn.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan         1478 src/ftmod/ftmod_isdn/ftmod_isdn.c 			gen->CRVFlag = ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) ? 0 : 1;
ftdmchan         1661 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_channel_t *ftdmchan = span->channels[x];
ftdmchan         1664 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan         1673 src/ftmod/ftmod_isdn/ftmod_isdn.c 			switch (ftdmchan->state) {
ftdmchan         1676 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_isdn_bchan_data_t *data = (ftdm_isdn_bchan_data_t *)ftdmchan->mod_data;
ftdmchan         1680 src/ftmod/ftmod_isdn/ftmod_isdn.c 						if (strlen(ftdmchan->caller_data.dnis.digits) > 0) {
ftdmchan         1682 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan         1686 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_RECOVERY_ON_TIMER_EXPIRE;	/* TODO: probably wrong cause value */
ftdmchan         1687 src/ftmod/ftmod_isdn/ftmod_isdn.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1693 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (last_chan_state != ftdmchan->state) {
ftdmchan         1695 src/ftmod/ftmod_isdn/ftmod_isdn.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]);
ftdmchan         1696 src/ftmod/ftmod_isdn/ftmod_isdn.c 						last_chan_state = ftdmchan->state;
ftdmchan         1703 src/ftmod/ftmod_isdn/ftmod_isdn.c 					if (last_chan_state != ftdmchan->state) {
ftdmchan         1705 src/ftmod/ftmod_isdn/ftmod_isdn.c 						teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]);
ftdmchan         1706 src/ftmod/ftmod_isdn/ftmod_isdn.c 						last_chan_state = ftdmchan->state;
ftdmchan         1715 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         1716 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1717 src/ftmod/ftmod_isdn/ftmod_isdn.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1720 src/ftmod/ftmod_isdn/ftmod_isdn.c 				ftdm_log(FTDM_LOG_NOTICE, "Successfully opened channel %d:%d\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan         1725 src/ftmod/ftmod_isdn/ftmod_isdn.c 			status = ftdm_channel_wait(ftdmchan, &flags, (gated) ? 0 : interval);
ftdmchan         1741 src/ftmod/ftmod_isdn/ftmod_isdn.c 			status = ftdm_channel_read(ftdmchan, frame, &len);
ftdmchan         1746 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan         1755 src/ftmod/ftmod_isdn/ftmod_isdn.c 			if (ftdmchan->effective_codec != FTDM_CODEC_SLIN) {
ftdmchan         1758 src/ftmod/ftmod_isdn/ftmod_isdn.c 				if (ftdmchan->native_codec == FTDM_CODEC_ULAW) {
ftdmchan         1760 src/ftmod/ftmod_isdn/ftmod_isdn.c 				} else if (ftdmchan->native_codec == FTDM_CODEC_ALAW) {
ftdmchan         1767 src/ftmod/ftmod_isdn/ftmod_isdn.c 					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "codec error!");
ftdmchan         1771 src/ftmod/ftmod_isdn/ftmod_isdn.c 			ftdm_channel_write(ftdmchan, frame, sizeof(frame), &rlen);
ftdmchan           57 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_libpri_data_t *isdn_data = ftdmchan->span->signal_data;
ftdmchan           91 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan           92 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan          457 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ void state_advance(ftdm_channel_t *ftdmchan)
ftdmchan          460 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_libpri_data_t *isdn_data = ftdmchan->span->signal_data;
ftdmchan          463 src/ftmod/ftmod_libpri/ftmod_libpri.c 	q931_call *call = (q931_call *) ftdmchan->call_data;
ftdmchan          467 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          471 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) && !call) {
ftdmchan          478 src/ftmod/ftmod_libpri/ftmod_libpri.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan          479 src/ftmod/ftmod_libpri/ftmod_libpri.c 	sig.span_id = ftdmchan->span_id;
ftdmchan          480 src/ftmod/ftmod_libpri/ftmod_libpri.c 	sig.channel = ftdmchan;
ftdmchan          483 src/ftmod/ftmod_libpri/ftmod_libpri.c 	switch (ftdmchan->state) {
ftdmchan          486 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan->call_data = NULL;
ftdmchan          487 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdm_channel_done(ftdmchan);			
ftdmchan          492 src/ftmod/ftmod_libpri/ftmod_libpri.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          494 src/ftmod/ftmod_libpri/ftmod_libpri.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan          495 src/ftmod/ftmod_libpri/ftmod_libpri.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          498 src/ftmod/ftmod_libpri/ftmod_libpri.c 				pri_progress(isdn_data->spri.pri, call, ftdmchan->chan_id, 1);
ftdmchan          500 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          506 src/ftmod/ftmod_libpri/ftmod_libpri.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          508 src/ftmod/ftmod_libpri/ftmod_libpri.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan          509 src/ftmod/ftmod_libpri/ftmod_libpri.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          512 src/ftmod/ftmod_libpri/ftmod_libpri.c 				pri_proceeding(isdn_data->spri.pri, call, ftdmchan->chan_id, 1);
ftdmchan          514 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          520 src/ftmod/ftmod_libpri/ftmod_libpri.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          522 src/ftmod/ftmod_libpri/ftmod_libpri.c 					pri_acknowledge(isdn_data->spri.pri, call, ftdmchan->chan_id, 0);
ftdmchan          524 src/ftmod/ftmod_libpri/ftmod_libpri.c 					if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan          525 src/ftmod/ftmod_libpri/ftmod_libpri.c 						ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          528 src/ftmod/ftmod_libpri/ftmod_libpri.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          535 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_UNSPECIFIED;
ftdmchan          537 src/ftmod/ftmod_libpri/ftmod_libpri.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          538 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          543 src/ftmod/ftmod_libpri/ftmod_libpri.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          545 src/ftmod/ftmod_libpri/ftmod_libpri.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan          546 src/ftmod/ftmod_libpri/ftmod_libpri.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          551 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          561 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          566 src/ftmod/ftmod_libpri/ftmod_libpri.c 			dp = ftdmchan->caller_data.dnis.type;
ftdmchan          581 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan->call_data = call;
ftdmchan          584 src/ftmod/ftmod_libpri/ftmod_libpri.c 			pri_sr_set_channel(sr, ftdmchan->chan_id, 0, 0);
ftdmchan          586 src/ftmod/ftmod_libpri/ftmod_libpri.c 			pri_sr_set_called(sr, ftdmchan->caller_data.dnis.digits, dp, 1);
ftdmchan          587 src/ftmod/ftmod_libpri/ftmod_libpri.c 			pri_sr_set_caller(sr, ftdmchan->caller_data.cid_num.digits, (isdn_data->opts & FTMOD_LIBPRI_OPT_OMIT_DISPLAY_IE ? NULL : ftdmchan->caller_data.cid_name),
ftdmchan          588 src/ftmod/ftmod_libpri/ftmod_libpri.c 						dp, (ftdmchan->caller_data.pres != 1 ? PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN : PRES_PROHIB_USER_NUMBER_NOT_SCREENED));
ftdmchan          591 src/ftmod/ftmod_libpri/ftmod_libpri.c 				pri_sr_set_redirecting(sr, ftdmchan->caller_data.cid_num.digits, dp, PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN, PRI_REDIR_UNCONDITIONAL);
ftdmchan          595 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_DESTINATION_OUT_OF_ORDER;				
ftdmchan          596 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          606 src/ftmod/ftmod_libpri/ftmod_libpri.c 				pri_hangup(isdn_data->spri.pri, call, ftdmchan->caller_data.hangup_cause);
ftdmchan          608 src/ftmod/ftmod_libpri/ftmod_libpri.c 				ftdmchan->call_data = NULL;
ftdmchan          610 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          618 src/ftmod/ftmod_libpri/ftmod_libpri.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          681 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          683 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->hangup.channel];
ftdmchan          685 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (!ftdmchan) {
ftdmchan          690 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_lock(ftdmchan);
ftdmchan          692 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (ftdmchan->state >= FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan          693 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Ignoring remote hangup in state %s\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          697 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (!ftdmchan->call_data) {
ftdmchan          698 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Ignoring remote hangup in state %s with no call data\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          702 src/ftmod/ftmod_libpri/ftmod_libpri.c 	call = (q931_call *) ftdmchan->call_data;
ftdmchan          704 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan->caller_data.hangup_cause = pevent->hangup.cause;
ftdmchan          707 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan->call_data = NULL;
ftdmchan          708 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          712 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_unlock(ftdmchan);
ftdmchan          727 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          729 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->answer.channel];
ftdmchan          731 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (ftdmchan) {
ftdmchan          733 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          735 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_log(FTDM_LOG_DEBUG, "-- Answer on channel %d:%d %s but it's not in use?\n", spri->span->span_id, pevent->answer.channel, ftdmchan->chan_id);
ftdmchan          752 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          754 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->proceeding.channel];
ftdmchan          756 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (ftdmchan) {
ftdmchan          758 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          761 src/ftmod/ftmod_libpri/ftmod_libpri.c 						  pevent->proceeding.channel, ftdmchan->chan_id);
ftdmchan          777 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          779 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->ringing.channel];
ftdmchan          781 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (ftdmchan) {
ftdmchan          784 src/ftmod/ftmod_libpri/ftmod_libpri.c 		if (ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS_MEDIA) {
ftdmchan          788 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          791 src/ftmod/ftmod_libpri/ftmod_libpri.c 						  pevent->ringing.channel, ftdmchan->chan_id);
ftdmchan          807 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          812 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->ring.channel];
ftdmchan          813 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (!ftdmchan || ftdmchan->state != FTDM_CHANNEL_STATE_DOWN || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan          819 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          829 src/ftmod/ftmod_libpri/ftmod_libpri.c 	memset(&ftdmchan->caller_data, 0, sizeof(ftdmchan->caller_data));
ftdmchan          831 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_string(ftdmchan->caller_data.cid_num.digits, (char *)pevent->ring.callingnum);
ftdmchan          833 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_string(ftdmchan->caller_data.cid_name, (char *)pevent->ring.callingname);
ftdmchan          835 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_string(ftdmchan->caller_data.cid_name, (char *)pevent->ring.callingnum);
ftdmchan          837 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_string(ftdmchan->caller_data.ani.digits, (char *)pevent->ring.callingani);
ftdmchan          838 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_string(ftdmchan->caller_data.dnis.digits, (char *)pevent->ring.callednum);
ftdmchan          841 src/ftmod/ftmod_libpri/ftmod_libpri.c 		snprintf(ftdmchan->caller_data.aniII, 5, "%.2d", pevent->ring.ani2);
ftdmchan          845 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan->call_data = pevent->ring.call;
ftdmchan          847 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          967 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdm_channel_t *ftdmchan;
ftdmchan          972 src/ftmod/ftmod_libpri/ftmod_libpri.c 	ftdmchan = span->channels[pevent->restart.channel];
ftdmchan          974 src/ftmod/ftmod_libpri/ftmod_libpri.c 	if (!ftdmchan) {
ftdmchan          979 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_state_all(ftdmchan->span, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          981 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          998 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1007 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan = spri->span->channels[i];
ftdmchan         1009 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.chan_id = ftdmchan->chan_id;
ftdmchan         1010 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.span_id = ftdmchan->span_id;
ftdmchan         1011 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.channel = ftdmchan;
ftdmchan         1031 src/ftmod/ftmod_libpri/ftmod_libpri.c 		ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1041 src/ftmod/ftmod_libpri/ftmod_libpri.c 			ftdmchan = spri->span->channels[i];
ftdmchan         1043 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.chan_id = ftdmchan->chan_id;
ftdmchan         1044 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.span_id = ftdmchan->span_id;
ftdmchan         1045 src/ftmod/ftmod_libpri/ftmod_libpri.c 			sig.channel = ftdmchan;
ftdmchan          268 src/ftmod/ftmod_pika/ftmod_pika.c 	ftdm_channel_t *ftdmchan = event->userData;
ftdmchan          269 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          683 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          693 src/ftmod/ftmod_pika/ftmod_pika.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_FXS || ftdmchan->type == FTDM_CHAN_TYPE_FXO || ftdmchan->type == FTDM_CHAN_TYPE_B) {
ftdmchan          718 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          757 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          762 src/ftmod/ftmod_pika/ftmod_pika.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan          772 src/ftmod/ftmod_pika/ftmod_pika.c 		len = ftdmchan->packet_len;
ftdmchan          798 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          801 src/ftmod/ftmod_pika/ftmod_pika.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan          824 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan          833 src/ftmod/ftmod_pika/ftmod_pika.c 				PKH_ERROR_GetText(pk_status, ftdmchan->last_error, sizeof(ftdmchan->last_error));
ftdmchan          836 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          843 src/ftmod/ftmod_pika/ftmod_pika.c 				PKH_ERROR_GetText(pk_status, ftdmchan->last_error, sizeof(ftdmchan->last_error));
ftdmchan          846 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          853 src/ftmod/ftmod_pika/ftmod_pika.c 				PKH_ERROR_GetText(pk_status, ftdmchan->last_error, sizeof(ftdmchan->last_error));
ftdmchan          856 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          863 src/ftmod/ftmod_pika/ftmod_pika.c 				PKH_ERROR_GetText(pk_status, ftdmchan->last_error, sizeof(ftdmchan->last_error));
ftdmchan          866 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          873 src/ftmod/ftmod_pika/ftmod_pika.c 			FTDM_COMMAND_OBJ_INT = ftdmchan->native_interval;
ftdmchan          883 src/ftmod/ftmod_pika/ftmod_pika.c 			ftdmchan->packet_len = (uint32_t)chan_data->record_config.bufferSize;
ftdmchan          884 src/ftmod/ftmod_pika/ftmod_pika.c 			ftdmchan->effective_interval = ftdmchan->native_interval = ftdmchan->packet_len / 8;
ftdmchan          892 src/ftmod/ftmod_pika/ftmod_pika.c 			FTDM_COMMAND_OBJ_INT = ftdmchan->dtmf_on;
ftdmchan          899 src/ftmod/ftmod_pika/ftmod_pika.c 				FTDM_COMMAND_OBJ_INT = ftdmchan->dtmf_on;
ftdmchan          907 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdmchan->dtmf_on = val;
ftdmchan          910 src/ftmod/ftmod_pika/ftmod_pika.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "invalid value %d range 10-1000", val);
ftdmchan          919 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdmchan->dtmf_off = val;
ftdmchan          922 src/ftmod/ftmod_pika/ftmod_pika.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "invalid value %d range 10-1000", val);
ftdmchan          937 src/ftmod/ftmod_pika/ftmod_pika.c 				PKH_ERROR_GetText(pk_status, ftdmchan->last_error, sizeof(ftdmchan->last_error));
ftdmchan          966 src/ftmod/ftmod_pika/ftmod_pika.c 		ftdm_channel_t *ftdmchan = NULL;
ftdmchan          979 src/ftmod/ftmod_pika/ftmod_pika.c 			ftdmchan = span_data->last_oob_event.userData;
ftdmchan         1023 src/ftmod/ftmod_pika/ftmod_pika.c 				ftdm_channel_t *ftdmchan;
ftdmchan         1026 src/ftmod/ftmod_pika/ftmod_pika.c 					ftdmchan = span->channels[x];
ftdmchan         1027 src/ftmod/ftmod_pika/ftmod_pika.c 					assert(ftdmchan != NULL);
ftdmchan         1028 src/ftmod/ftmod_pika/ftmod_pika.c 					chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan         1032 src/ftmod/ftmod_pika/ftmod_pika.c 					ftdm_set_flag(ftdmchan, FTDM_CHANNEL_EVENT);
ftdmchan         1033 src/ftmod/ftmod_pika/ftmod_pika.c 					ftdmchan->last_event_time = last_event_time;
ftdmchan         1044 src/ftmod/ftmod_pika/ftmod_pika.c 		if (ftdmchan) {
ftdmchan         1045 src/ftmod/ftmod_pika/ftmod_pika.c 			pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan         1048 src/ftmod/ftmod_pika/ftmod_pika.c 			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_EVENT);
ftdmchan         1049 src/ftmod/ftmod_pika/ftmod_pika.c             ftdmchan->last_event_time = ftdm_current_time_in_ms();
ftdmchan         1227 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_chan_data_t *chan_data = (pika_chan_data_t *) ftdmchan->mod_data;
ftdmchan         1228 src/ftmod/ftmod_pika/ftmod_pika.c 	pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->mod_data;
ftdmchan         1243 src/ftmod/ftmod_pika/ftmod_pika.c 	switch(ftdmchan->type) {
ftdmchan          268 src/ftmod/ftmod_pritap/ftmod_pritap.c static __inline__ void state_advance(ftdm_channel_t *ftdmchan)
ftdmchan          272 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_channel_t *peerchan = ftdmchan->call_data;
ftdmchan          274 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "processing state %s\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          277 src/ftmod/ftmod_pritap/ftmod_pritap.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan          278 src/ftmod/ftmod_pritap/ftmod_pritap.c 	sig.span_id = ftdmchan->span_id;
ftdmchan          279 src/ftmod/ftmod_pritap/ftmod_pritap.c 	sig.channel = ftdmchan;
ftdmchan          281 src/ftmod/ftmod_pritap/ftmod_pritap.c 	switch (ftdmchan->state) {
ftdmchan          284 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_channel_done(ftdmchan);			
ftdmchan          285 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdmchan->call_data = NULL;
ftdmchan          301 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan          302 src/ftmod/ftmod_pritap/ftmod_pritap.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          309 src/ftmod/ftmod_pritap/ftmod_pritap.c 			if (ftdmchan->last_state != FTDM_CHANNEL_STATE_HANGUP) {
ftdmchan          311 src/ftmod/ftmod_pritap/ftmod_pritap.c 				status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          313 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          319 src/ftmod/ftmod_pritap/ftmod_pritap.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "ignoring state change from %s to %s\n", ftdm_channel_state2str(ftdmchan->last_state), ftdm_channel_state2str(ftdmchan->state));
ftdmchan          752 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_sig_read(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t size)
ftdmchan          756 src/ftmod/ftmod_pritap/ftmod_pritap.c 	ftdm_channel_t *peerchan = ftdmchan->call_data;
ftdmchan          763 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (!FTDM_IS_VOICE_CHANNEL(ftdmchan) || !ftdmchan->call_data) {
ftdmchan          767 src/ftmod/ftmod_pritap/ftmod_pritap.c 	if (ftdmchan->native_codec != peerchan->native_codec) {
ftdmchan          768 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Invalid peer channel with format %d, ours = %d\n", 
ftdmchan          769 src/ftmod/ftmod_pritap/ftmod_pritap.c 				peerchan->native_codec, ftdmchan->native_codec);
ftdmchan          776 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_ERROR, "Failed to read from peer channel!\n");
ftdmchan          780 src/ftmod/ftmod_pritap/ftmod_pritap.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "read from peer channel only %d bytes!\n", sizeread);
ftdmchan           49 src/ftmod/ftmod_r2/ftmod_r2.c #define R2CALL(ftdmchan) ((ftdm_r2_call_t*)((ftdmchan)->call_data))
ftdmchan          138 src/ftmod/ftmod_r2/ftmod_r2.c static void ft_r2_accept_call(ftdm_channel_t *ftdmchan)
ftdmchan          140 src/ftmod/ftmod_r2/ftmod_r2.c 	openr2_chan_t *r2chan = R2CALL(ftdmchan)->r2chan;
ftdmchan          146 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->accepted = 1;
ftdmchan          149 src/ftmod/ftmod_r2/ftmod_r2.c static void ft_r2_answer_call(ftdm_channel_t *ftdmchan)
ftdmchan          151 src/ftmod/ftmod_r2/ftmod_r2.c 	openr2_chan_t *r2chan = R2CALL(ftdmchan)->r2chan;
ftdmchan          157 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->answer_pending = 0;
ftdmchan          163 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          166 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_wait_for_flag_cleared(ftdmchan, FTDM_CHANNEL_INTHREAD, 200);
ftdmchan          168 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan          170 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          171 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          175 src/ftmod/ftmod_r2/ftmod_r2.c 	ft_r2_clean_call(ftdmchan->call_data);
ftdmchan          176 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->chanstate = FTDM_CHANNEL_STATE_DOWN;
ftdmchan          177 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan          178 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan          179 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->ftdm_started = 1;
ftdmchan          180 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          182 src/ftmod/ftmod_r2/ftmod_r2.c 	status = ftdm_thread_create_detached(ftdm_r2_channel_run, ftdmchan);
ftdmchan          185 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          186 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_channel_done(ftdmchan);
ftdmchan          203 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          207 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          209 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdmchan->state != FTDM_CHANNEL_STATE_DOWN) {
ftdmchan          211 src/ftmod/ftmod_r2/ftmod_r2.c 				openr2_chan_get_number(r2chan), ftdmchan->state);
ftdmchan          212 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          217 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_wait_for_flag_cleared(ftdmchan, FTDM_CHANNEL_INTHREAD, 200);
ftdmchan          219 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INTHREAD)) {
ftdmchan          222 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          225 src/ftmod/ftmod_r2/ftmod_r2.c 	ft_r2_clean_call(ftdmchan->call_data);
ftdmchan          226 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->chanstate = FTDM_CHANNEL_STATE_DOWN;
ftdmchan          227 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_COLLECT);
ftdmchan          228 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          230 src/ftmod/ftmod_r2/ftmod_r2.c 	status = ftdm_thread_create_detached(ftdm_r2_channel_run, ftdmchan);
ftdmchan          241 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          248 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          249 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          250 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.channel = ftdmchan;
ftdmchan          253 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) {
ftdmchan          256 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          259 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_use(ftdmchan);
ftdmchan          260 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->ftdm_started = 1; 
ftdmchan          265 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          270 src/ftmod/ftmod_r2/ftmod_r2.c 		R2CALL(ftdmchan)->state_ack_pending = 1;
ftdmchan          271 src/ftmod/ftmod_r2/ftmod_r2.c 		if (R2CALL(ftdmchan)->answer_pending) {
ftdmchan          273 src/ftmod/ftmod_r2/ftmod_r2.c 			ft_r2_answer_call(ftdmchan);
ftdmchan          277 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          283 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          287 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          296 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          299 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_log(FTDM_LOG_DEBUG, "Got openr2 disconnection, clearing call on channel %d\n", ftdmchan->physical_chan_id);
ftdmchan          301 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->disconnect_rcvd = 1;
ftdmchan          307 src/ftmod/ftmod_r2/ftmod_r2.c 	if (!R2CALL(ftdmchan)->ftdm_started) {
ftdmchan          308 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          313 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.hangup_cause  = FTDM_CAUSE_NORMAL_CLEARING; 
ftdmchan          317 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          318 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          319 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.channel = ftdmchan;
ftdmchan          321 src/ftmod/ftmod_r2/ftmod_r2.c 	r2data = ftdmchan->span->signal_data;
ftdmchan          323 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          328 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          331 src/ftmod/ftmod_r2/ftmod_r2.c 	if (!R2CALL(ftdmchan)->disconnect_rcvd) {
ftdmchan          332 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          356 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          360 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->disconnect_rcvd = 1;
ftdmchan          362 src/ftmod/ftmod_r2/ftmod_r2.c 	if (!R2CALL(ftdmchan)->ftdm_started) {
ftdmchan          363 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          367 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.hangup_cause  = FTDM_CAUSE_PROTOCOL_ERROR; 
ftdmchan          371 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          372 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          373 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.channel = ftdmchan;
ftdmchan          375 src/ftmod/ftmod_r2/ftmod_r2.c 	r2data = ftdmchan->span->signal_data;
ftdmchan          377 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          442 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          443 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_size_t collected_len = R2CALL(ftdmchan)->dnis_index;
ftdmchan          448 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.dnis.digits[collected_len] = digit;
ftdmchan          450 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.dnis.digits[collected_len] = '\0';
ftdmchan          451 src/ftmod/ftmod_r2/ftmod_r2.c 	R2CALL(ftdmchan)->dnis_index = collected_len;
ftdmchan          455 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          456 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          457 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.channel = ftdmchan;
ftdmchan          459 src/ftmod/ftmod_r2/ftmod_r2.c 	r2data = ftdmchan->span->signal_data;
ftdmchan          460 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdm_span_send_signal(ftdmchan->span, &sigev) == FTDM_BREAK) {
ftdmchan          461 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_log(FTDM_LOG_NOTICE, "Requested to stop getting DNIS. Current DNIS = %s on chan %d\n", ftdmchan->caller_data.dnis.digits, openr2_chan_get_number(r2chan));
ftdmchan          466 src/ftmod/ftmod_r2/ftmod_r2.c 	if (collected_len == (sizeof(ftdmchan->caller_data.dnis.digits) - 1)) {
ftdmchan          467 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_log(FTDM_LOG_NOTICE, "No more room for DNIS. Current DNIS = %s on chan %d\n", ftdmchan->caller_data.dnis.digits, openr2_chan_get_number(r2chan));
ftdmchan          476 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = openr2_chan_get_client_data(r2chan);
ftdmchan          477 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_size_t collected_len = R2CALL(ftdmchan)->ani_index;
ftdmchan          480 src/ftmod/ftmod_r2/ftmod_r2.c 	if (collected_len == (sizeof(ftdmchan->caller_data.ani.digits) - 1)) {
ftdmchan          487 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.ani.digits[collected_len++] = digit;
ftdmchan          488 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdmchan->caller_data.ani.digits[collected_len] = '\0';
ftdmchan          910 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_t *ftdmchan = (ftdm_channel_t *)obj;
ftdmchan          911 src/ftmod/ftmod_r2/ftmod_r2.c 	openr2_chan_t *r2chan = R2CALL(ftdmchan)->r2chan;
ftdmchan          913 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_INTHREAD);
ftdmchan          920 src/ftmod/ftmod_r2/ftmod_r2.c 			ftdmchan->physical_chan_id,
ftdmchan          921 src/ftmod/ftmod_r2/ftmod_r2.c 			ftdm_channel_state2str(ftdmchan->state));
ftdmchan          923 src/ftmod/ftmod_r2/ftmod_r2.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          924 src/ftmod/ftmod_r2/ftmod_r2.c 		ftdm_log(FTDM_LOG_ERROR, "OPEN ERROR [%s]\n", ftdmchan->last_error);
ftdmchan          928 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_GET_INTERVAL, &interval);
ftdmchan          931 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_log(FTDM_LOG_DEBUG, "Got %d interval for chan %d\n", interval, ftdmchan->physical_chan_id);
ftdmchan          933 src/ftmod/ftmod_r2/ftmod_r2.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          935 src/ftmod/ftmod_r2/ftmod_r2.c 		memset(ftdmchan->caller_data.dnis.digits, 0, sizeof(ftdmchan->caller_data.collected));
ftdmchan          936 src/ftmod/ftmod_r2/ftmod_r2.c 		memset(ftdmchan->caller_data.ani.digits, 0, sizeof(ftdmchan->caller_data.collected));
ftdmchan          940 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          941 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          942 src/ftmod/ftmod_r2/ftmod_r2.c 	sigev.channel = ftdmchan;
ftdmchan          948 src/ftmod/ftmod_r2/ftmod_r2.c 		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE) && (R2CALL(ftdmchan)->chanstate != ftdmchan->state)) {
ftdmchan          950 src/ftmod/ftmod_r2/ftmod_r2.c 			ftdm_log(FTDM_LOG_DEBUG, "Executing state handler on %d:%d for %s\n", ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          951 src/ftmod/ftmod_r2/ftmod_r2.c 			R2CALL(ftdmchan)->chanstate = ftdmchan->state;
ftdmchan          953 src/ftmod/ftmod_r2/ftmod_r2.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND) && !R2CALL(ftdmchan)->accepted &&
ftdmchan          954 src/ftmod/ftmod_r2/ftmod_r2.c 					(ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS ||
ftdmchan          955 src/ftmod/ftmod_r2/ftmod_r2.c 					 ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS_MEDIA ||
ftdmchan          956 src/ftmod/ftmod_r2/ftmod_r2.c 					 ftdmchan->state == FTDM_CHANNEL_STATE_UP) ) {
ftdmchan          961 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdm_log(FTDM_LOG_DEBUG, "State ack in chan %d:%d for state %s will have to wait a bit\n", ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          962 src/ftmod/ftmod_r2/ftmod_r2.c 			} else if (ftdmchan->state != FTDM_CHANNEL_STATE_DOWN){
ftdmchan          964 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          965 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdm_channel_complete_state(ftdmchan);
ftdmchan          968 src/ftmod/ftmod_r2/ftmod_r2.c 			switch (ftdmchan->state) {
ftdmchan          973 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "COLLECT: Starting processing of incoming call in channel %d with interval %d\n", ftdmchan->physical_chan_id, interval);
ftdmchan          981 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_channel_use(ftdmchan);
ftdmchan          982 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "DIALING: Starting processing of outgoing call in channel %d with interval %d\n", ftdmchan->physical_chan_id, interval);
ftdmchan          983 src/ftmod/ftmod_r2/ftmod_r2.c 						if (openr2_chan_make_call(r2chan, ftdmchan->caller_data.cid_num.digits, ftdmchan->caller_data.dnis.digits, OR2_CALLING_PARTY_CATEGORY_NATIONAL_SUBSCRIBER)) {
ftdmchan          984 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdm_log(FTDM_LOG_ERROR, "%d:%d Failed to make call in R2 channel, openr2_chan_make_call failed\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          985 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_DESTINATION_OUT_OF_ORDER;
ftdmchan          986 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          995 src/ftmod/ftmod_r2/ftmod_r2.c 						if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          996 src/ftmod/ftmod_r2/ftmod_r2.c 							if (!R2CALL(ftdmchan)->accepted) {
ftdmchan          997 src/ftmod/ftmod_r2/ftmod_r2.c 								ftdm_log(FTDM_LOG_DEBUG, "PROGRESS: Accepting call on channel %d\n", ftdmchan->physical_chan_id);
ftdmchan          998 src/ftmod/ftmod_r2/ftmod_r2.c 								ft_r2_accept_call(ftdmchan);
ftdmchan         1001 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdm_log(FTDM_LOG_DEBUG, "PROGRESS: Notifying progress in channel %d\n", ftdmchan->physical_chan_id);
ftdmchan         1003 src/ftmod/ftmod_r2/ftmod_r2.c 							if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) {
ftdmchan         1004 src/ftmod/ftmod_r2/ftmod_r2.c 								ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1013 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "UP: Call was answered on channel %d\n", ftdmchan->physical_chan_id);
ftdmchan         1014 src/ftmod/ftmod_r2/ftmod_r2.c 						if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1015 src/ftmod/ftmod_r2/ftmod_r2.c 							if (!R2CALL(ftdmchan)->accepted) {
ftdmchan         1018 src/ftmod/ftmod_r2/ftmod_r2.c 								ft_r2_accept_call(ftdmchan);
ftdmchan         1019 src/ftmod/ftmod_r2/ftmod_r2.c 								R2CALL(ftdmchan)->answer_pending = 1;
ftdmchan         1021 src/ftmod/ftmod_r2/ftmod_r2.c 								ft_r2_answer_call(ftdmchan);
ftdmchan         1024 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdm_log(FTDM_LOG_DEBUG, "UP: Notifying of call answered in channel %d\n", ftdmchan->physical_chan_id);
ftdmchan         1026 src/ftmod/ftmod_r2/ftmod_r2.c 							if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) {
ftdmchan         1027 src/ftmod/ftmod_r2/ftmod_r2.c 								ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1037 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "HANGUP: Clearing call on channel %d\n", ftdmchan->physical_chan_id);
ftdmchan         1038 src/ftmod/ftmod_r2/ftmod_r2.c 						if (!R2CALL(ftdmchan)->disconnect_rcvd) {
ftdmchan         1044 src/ftmod/ftmod_r2/ftmod_r2.c 							ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1052 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "CANCEL: Unable to receive call on channel %d\n", ftdmchan->physical_chan_id);
ftdmchan         1060 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_DEBUG, "DOWN: Placing channel %d back to the pool of available channels\n", ftdmchan->physical_chan_id);
ftdmchan         1061 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_channel_done(ftdmchan);
ftdmchan         1068 src/ftmod/ftmod_r2/ftmod_r2.c 						ftdm_log(FTDM_LOG_ERROR, "%s: Unhandled channel state change in channel %d\n", ftdm_channel_state2str(ftdmchan->state), ftdmchan->physical_chan_id);
ftdmchan         1076 src/ftmod/ftmod_r2/ftmod_r2.c 			if (ftdm_channel_wait(ftdmchan, &flags, interval * 2) != FTDM_SUCCESS) {
ftdmchan         1090 src/ftmod/ftmod_r2/ftmod_r2.c 			if (R2CALL(ftdmchan)->state_ack_pending) {
ftdmchan         1091 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan         1092 src/ftmod/ftmod_r2/ftmod_r2.c 				ftdm_channel_complete_state(ftdmchan);
ftdmchan         1093 src/ftmod/ftmod_r2/ftmod_r2.c 				R2CALL(ftdmchan)->state_ack_pending = 0;
ftdmchan         1104 src/ftmod/ftmod_r2/ftmod_r2.c 	closed_chan = ftdmchan;
ftdmchan         1106 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_INTHREAD);
ftdmchan         1107 src/ftmod/ftmod_r2/ftmod_r2.c 	ftdm_log(FTDM_LOG_DEBUG, "R2 channel %d thread ended.\n", ftdmchan->physical_chan_id);
ftdmchan           69 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c #define BOOST_SPAN(ftdmchan) ((ftdm_sangoma_boost_data_t*)(ftdmchan)->span->signal_data)->sigmod ? ftdmchan->physical_span_id : ftdmchan->physical_span_id-1
ftdmchan           70 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c #define BOOST_CHAN(ftdmchan) ((ftdm_sangoma_boost_data_t*)(ftdmchan)->span->signal_data)->sigmod ? ftdmchan->physical_chan_id : ftdmchan->physical_chan_id-1
ftdmchan          102 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          112 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c #define CALL_DATA(ftdmchan) ((sangoma_boost_call_t*)((ftdmchan)->call_data))
ftdmchan          246 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          269 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan = span->channels[i];
ftdmchan          270 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (force || (ftdmchan->state == FTDM_CHANNEL_STATE_DOWN && !ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE))) {
ftdmchan          273 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan = NULL;
ftdmchan          285 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	return ftdmchan;
ftdmchan          341 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = NULL;
ftdmchan          347 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = NULL;
ftdmchan          353 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = NULL;
ftdmchan          359 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = NULL;
ftdmchan          366 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = NULL;
ftdmchan          446 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			*ftdmchan = NULL;
ftdmchan          456 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				*ftdmchan = NULL;
ftdmchan          463 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (OUTBOUND_REQUESTS[r].status == BST_READY && OUTBOUND_REQUESTS[r].ftdmchan) {
ftdmchan          464 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		*ftdmchan = OUTBOUND_REQUESTS[r].ftdmchan;
ftdmchan          469 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			*ftdmchan = NULL;
ftdmchan          493 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_SPAN((*ftdmchan)),
ftdmchan          494 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_CHAN((*ftdmchan)),
ftdmchan          518 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan          524 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan          526 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan          538 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          541 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          542 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan          543 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          544 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if (!sangoma_boost_data->sigmod && ftdmchan->state == FTDM_CHANNEL_STATE_HOLD) {
ftdmchan          546 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->init_state = FTDM_CHANNEL_STATE_PROGRESS_MEDIA;
ftdmchan          549 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->init_state = FTDM_CHANNEL_STATE_PROGRESS;
ftdmchan          552 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->init_state = FTDM_CHANNEL_STATE_IDLE;
ftdmchan          557 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          559 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          561 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan          564 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          576 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          590 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdmchan = OUTBOUND_REQUESTS[event->call_setup_id].ftdmchan;
ftdmchan          592 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdmchan = find_ftdmchan(OUTBOUND_REQUESTS[event->call_setup_id].span, event, 0);
ftdmchan          596 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdmchan) {
ftdmchan          597 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan          598 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if (!mcon->sigmod && ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          599 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_log(FTDM_LOG_ERROR, "Failed to open FTDM channel [%s]\n", ftdmchan->last_error);
ftdmchan          607 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan          608 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_INUSE);
ftdmchan          609 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->sflags = SFLAG_RECVD_ACK;
ftdmchan          614 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          616 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdmchan->init_state = FTDM_CHANNEL_STATE_PROGRESS_MEDIA;
ftdmchan          622 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          624 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdmchan->init_state = FTDM_CHANNEL_STATE_PROGRESS;
ftdmchan          631 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdmchan->init_state = FTDM_CHANNEL_STATE_IDLE;
ftdmchan          636 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HOLD);
ftdmchan          638 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdmchan->span_id, ftdmchan->chan_id, event_span, event_chan, event->call_setup_id);
ftdmchan          639 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				OUTBOUND_REQUESTS[event->call_setup_id].ftdmchan = ftdmchan;
ftdmchan          650 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if ((ftdmchan = find_ftdmchan(OUTBOUND_REQUESTS[event->call_setup_id].span, (sangomabc_short_event_t*)event, 1))) {
ftdmchan          657 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (ftdmchan->state == FTDM_CHANNEL_STATE_UP ||
ftdmchan          658 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS_MEDIA ||
ftdmchan          659 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS) {
ftdmchan          661 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING, r);
ftdmchan          662 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				} else if (ftdmchan->state == FTDM_CHANNEL_STATE_HANGUP ||  ftdm_test_sflag(ftdmchan, SFLAG_HANGUP)) {
ftdmchan          664 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, r);
ftdmchan          667 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						 ftdm_channel_state2str(ftdmchan->state), event_span, event_chan);
ftdmchan          669 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan          670 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan=NULL;
ftdmchan          675 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (!ftdmchan) {
ftdmchan          679 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          680 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan          701 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          704 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          705 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan          706 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          712 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_SPAN(ftdmchan),
ftdmchan          713 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_CHAN(ftdmchan),
ftdmchan          719 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if (ftdmchan->state == FTDM_CHANNEL_STATE_DOWN || ftdmchan->state == FTDM_CHANNEL_STATE_HANGUP_COMPLETE || ftdm_test_sflag(ftdmchan, SFLAG_TERMINATING)) {
ftdmchan          723 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, r);
ftdmchan          725 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          732 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdmchan) {
ftdmchan          733 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          752 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          784 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan = OUTBOUND_REQUESTS[event->call_setup_id].ftdmchan;
ftdmchan          785 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			CALL_DATA(ftdmchan)->last_event_id = event->event_id;
ftdmchan          786 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			CALL_DATA(ftdmchan)->call_setup_id = event->call_setup_id;
ftdmchan          787 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          788 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_clear_sflag_locked(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan          803 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          807 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND), "Yay, outbound flag should not be set here!\n");
ftdmchan          809 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			CALL_DATA(ftdmchan)->last_event_id = event->event_id;
ftdmchan          810 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          811 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING, r);
ftdmchan          813 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->caller_data.hangup_cause = event->release_cause;
ftdmchan          815 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          822 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdmchan) {
ftdmchan          823 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_sflag_locked(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan          837 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          839 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          842 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_channel_done(ftdmchan);
ftdmchan          857 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          859 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          862 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          864 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if (ftdm_test_sflag(ftdmchan, SFLAG_HANGUP) ||
ftdmchan          865 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->state == FTDM_CHANNEL_STATE_DOWN ||
ftdmchan          866 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan          879 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						BOOST_SPAN(ftdmchan),
ftdmchan          880 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						BOOST_CHAN(ftdmchan),
ftdmchan          884 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          886 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		} else if (ftdmchan->state == FTDM_CHANNEL_STATE_HOLD) {
ftdmchan          887 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->init_state = FTDM_CHANNEL_STATE_TERMINATING;
ftdmchan          890 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->caller_data.hangup_cause = event->release_cause;
ftdmchan          891 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          894 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING, r);
ftdmchan          898 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->caller_data.hangup_cause = event->release_cause;
ftdmchan          901 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          921 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan          923 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if ((ftdmchan = find_ftdmchan(span, event, 1))) {
ftdmchan          924 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          926 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if (ftdm_test_sflag(ftdmchan, SFLAG_HANGUP) ||
ftdmchan          927 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->state == FTDM_CHANNEL_STATE_DOWN ||
ftdmchan          928 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->state == FTDM_CHANNEL_STATE_TERMINATING) {
ftdmchan          935 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		} else if (ftdmchan->state == FTDM_CHANNEL_STATE_HOLD) {
ftdmchan          936 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->init_state = FTDM_CHANNEL_STATE_UP;
ftdmchan          940 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_UP, r);
ftdmchan          942 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          954 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void advance_chan_states(ftdm_channel_t *ftdmchan);
ftdmchan          955 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void stop_loop(ftdm_channel_t *ftdmchan);
ftdmchan          965 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          971 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) {
ftdmchan          972 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		if ((ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) {
ftdmchan          981 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdmchan->state == FTDM_CHANNEL_STATE_UP ||
ftdmchan          982 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS_MEDIA ||
ftdmchan          983 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdmchan->state == FTDM_CHANNEL_STATE_PROGRESS) {
ftdmchan          986 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING, r);
ftdmchan          987 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			} else if (ftdmchan->state == FTDM_CHANNEL_STATE_HANGUP ||  ftdm_test_sflag(ftdmchan, SFLAG_HANGUP)) {
ftdmchan          990 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE, r);
ftdmchan          991 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			} else if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALING) {
ftdmchan         1002 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			} else if (ftdmchan->state == FTDM_CHANNEL_STATE_IN_LOOP && retry) {
ftdmchan         1004 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				stop_loop(ftdmchan);
ftdmchan         1005 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				advance_chan_states(ftdmchan);
ftdmchan         1010 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdm_channel_state2str(ftdmchan->state));
ftdmchan         1012 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan         1013 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan = NULL;
ftdmchan         1021 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1029 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->span_id, ftdmchan->chan_id,
ftdmchan         1030 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->physical_span_id, ftdmchan->physical_chan_id);
ftdmchan         1032 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->sflags = 0;
ftdmchan         1033 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_string(ftdmchan->caller_data.cid_num.digits, (char *)event->calling.digits);
ftdmchan         1034 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_string(ftdmchan->caller_data.cid_name, (char *)event->calling.digits);
ftdmchan         1035 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_string(ftdmchan->caller_data.ani.digits, (char *)event->calling.digits);
ftdmchan         1036 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_string(ftdmchan->caller_data.dnis.digits, (char *)event->called.digits);
ftdmchan         1037 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_string(ftdmchan->caller_data.rdnis.digits, (char *)event->rdnis.digits);
ftdmchan         1039 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_string(ftdmchan->caller_data.raw_data, event->custom_data);
ftdmchan         1040 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdmchan->caller_data.raw_data_len = event->custom_data_size;
ftdmchan         1044 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_set_string(ftdmchan->caller_data.cid_name, (char *)event->calling_name);
ftdmchan         1047 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.cid_num.plan = event->calling.npi;
ftdmchan         1048 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.cid_num.type = event->calling.ton;
ftdmchan         1050 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.ani.plan = event->calling.npi;
ftdmchan         1051 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.ani.type = event->calling.ton;
ftdmchan         1053 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.dnis.plan = event->called.npi;
ftdmchan         1054 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.dnis.type = event->called.ton;
ftdmchan         1056 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.rdnis.plan = event->rdnis.npi;
ftdmchan         1057 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.rdnis.type = event->rdnis.ton;
ftdmchan         1059 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.screen = event->calling.screening_ind;
ftdmchan         1060 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.pres = event->calling.presentation_ind;
ftdmchan         1062 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.bearer_capability = event->bearer.capability;
ftdmchan         1063 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdmchan->caller_data.bearer_layer1 = event->bearer.uil1p;
ftdmchan         1073 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			snprintf(ftdmchan->caller_data.aniII, 5, "%.2d", ani2);
ftdmchan         1077 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan         1081 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	hangup_cause = ftdmchan ? ftdmchan->caller_data.hangup_cause : FTDM_CAUSE_REQUESTED_CHAN_UNAVAIL;
ftdmchan         1094 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan         1096 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) {
ftdmchan         1101 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1106 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_IN_LOOP, res);
ftdmchan         1109 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_channel_done(ftdmchan);
ftdmchan         1112 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_log(FTDM_LOG_DEBUG, "%d:%d starting loop\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan         1113 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_LOOP, NULL);
ftdmchan         1116 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void stop_loop(ftdm_channel_t *ftdmchan)
ftdmchan         1119 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_LOOP, NULL);
ftdmchan         1121 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_flag(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan         1122 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_set_state_r(ftdmchan, FTDM_CHANNEL_STATE_DOWN, res);
ftdmchan         1124 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "yay, could not set the state of the channel from IN_LOOP to DOWN\n");
ftdmchan         1130 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan;
ftdmchan         1131 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) {
ftdmchan         1135 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdmchan->state != FTDM_CHANNEL_STATE_IN_LOOP) {
ftdmchan         1139 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	stop_loop(ftdmchan);
ftdmchan         1195 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1198 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t *)event, 1))) {
ftdmchan         1217 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_queue_dtmf(ftdmchan, digits);
ftdmchan         1231 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1251 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c             if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) {
ftdmchan         1268 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1269 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     advance_chan_states(ftdmchan);
ftdmchan         1270 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     return ftdmchan;
ftdmchan         1281 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     ftdm_channel_t* ftdmchan = NULL;
ftdmchan         1292 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     ftdmchan = event_process_states(span, event);
ftdmchan         1355 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c     if(ftdmchan != NULL) {
ftdmchan         1356 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c         advance_chan_states(ftdmchan);
ftdmchan         1357 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c         ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1368 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ ftdm_status_t state_advance(ftdm_channel_t *ftdmchan)
ftdmchan         1370 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan         1376 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan         1377 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan         1382 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_assert_return(ftdmchan->last_state != ftdmchan->state, FTDM_FAIL, "Channel state already processed\n");
ftdmchan         1384 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_log(FTDM_LOG_DEBUG, "%d:%d PROCESSING STATE [%s]\n", ftdmchan->span_id, ftdmchan->chan_id, ftdm_channel_state2str(ftdmchan->state));
ftdmchan         1387 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan         1388 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.span_id = ftdmchan->span_id;
ftdmchan         1389 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.channel = ftdmchan;
ftdmchan         1391 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	switch (ftdmchan->state) {
ftdmchan         1395 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan         1397 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdmchan->last_state == FTDM_CHANNEL_STATE_IN_LOOP) {
ftdmchan         1398 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_log(FTDM_LOG_DEBUG, "%d:%d terminating loop\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan         1400 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				release_request_id_span_chan(ftdmchan->physical_span_id, ftdmchan->physical_chan_id);
ftdmchan         1402 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (!ftdm_test_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG)) {
ftdmchan         1403 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_sflag_locked(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan         1405 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					if (ftdmchan->call_data && CALL_DATA(ftdmchan)->last_event_id == SIGBOOST_EVENT_CALL_START_NACK) {
ftdmchan         1407 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 										BOOST_SPAN(ftdmchan),
ftdmchan         1408 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 										BOOST_CHAN(ftdmchan),
ftdmchan         1409 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 										CALL_DATA(ftdmchan)->call_setup_id,
ftdmchan         1416 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 										BOOST_SPAN(ftdmchan),
ftdmchan         1417 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 										BOOST_CHAN(ftdmchan),
ftdmchan         1426 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdmchan->sflags = 0;
ftdmchan         1427 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			memset(ftdmchan->call_data, 0, sizeof(sangoma_boost_call_t));
ftdmchan         1431 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan         1433 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_channel_done(ftdmchan);
ftdmchan         1439 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1441 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1442 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1445 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (!ftdm_test_sflag(ftdmchan, SFLAG_SENT_ACK)) {
ftdmchan         1446 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_sflag(ftdmchan, SFLAG_SENT_ACK);
ftdmchan         1448 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_SPAN(ftdmchan),
ftdmchan         1449 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_CHAN(ftdmchan),
ftdmchan         1455 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 							BOOST_SPAN(ftdmchan),
ftdmchan         1456 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 							BOOST_CHAN(ftdmchan),
ftdmchan         1465 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1467 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1468 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1471 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (!ftdm_test_sflag(ftdmchan, SFLAG_SENT_ACK)) {
ftdmchan         1472 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_sflag(ftdmchan, SFLAG_SENT_ACK);
ftdmchan         1474 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_SPAN(ftdmchan),
ftdmchan         1475 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								BOOST_CHAN(ftdmchan),
ftdmchan         1491 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1493 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1494 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1502 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan         1503 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_sflag_locked(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan         1504 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1509 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan         1511 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) {
ftdmchan         1512 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan         1515 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (!(ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_MEDIA))) {
ftdmchan         1517 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_SPAN(ftdmchan),
ftdmchan         1518 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_CHAN(ftdmchan),								   
ftdmchan         1525 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								   BOOST_SPAN(ftdmchan),
ftdmchan         1526 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 								   BOOST_CHAN(ftdmchan),								   
ftdmchan         1541 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_string(dnis, ftdmchan->caller_data.dnis.digits);
ftdmchan         1546 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan         1550 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			sangomabc_call_init(&event, ftdmchan->caller_data.cid_num.digits, dnis, r);
ftdmchan         1552 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.span = (uint8_t)ftdmchan->physical_span_id;
ftdmchan         1553 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.chan = (uint8_t)ftdmchan->physical_chan_id;
ftdmchan         1557 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_string(event.calling_name, ftdmchan->caller_data.cid_name);
ftdmchan         1558 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_string(event.rdnis.digits, ftdmchan->caller_data.rdnis.digits);
ftdmchan         1559 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (strlen(ftdmchan->caller_data.rdnis.digits)) {
ftdmchan         1560 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					event.rdnis.digits_count = (uint8_t)strlen(ftdmchan->caller_data.rdnis.digits)+1;
ftdmchan         1561 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					event.rdnis.ton = ftdmchan->caller_data.rdnis.type;
ftdmchan         1562 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 					event.rdnis.npi = ftdmchan->caller_data.rdnis.plan;
ftdmchan         1565 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.calling.screening_ind = ftdmchan->caller_data.screen;
ftdmchan         1566 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.calling.presentation_ind = ftdmchan->caller_data.pres;
ftdmchan         1568 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.calling.ton = ftdmchan->caller_data.cid_num.type;
ftdmchan         1569 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.calling.npi = ftdmchan->caller_data.cid_num.plan;
ftdmchan         1571 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.called.ton = ftdmchan->caller_data.dnis.type;
ftdmchan         1572 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			event.called.npi = ftdmchan->caller_data.dnis.plan;
ftdmchan         1574 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdmchan->caller_data.raw_data_len) {
ftdmchan         1575 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_string(event.custom_data, ftdmchan->caller_data.raw_data);
ftdmchan         1576 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				event.custom_data_size = (uint16_t)ftdmchan->caller_data.raw_data_len;
ftdmchan         1580 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			OUTBOUND_REQUESTS[r].span = ftdmchan->span;
ftdmchan         1581 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			OUTBOUND_REQUESTS[r].ftdmchan = ftdmchan;
ftdmchan         1587 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan         1594 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1599 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_sflag_locked(ftdmchan, SFLAG_HANGUP);
ftdmchan         1601 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			if (ftdm_test_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG) || ftdm_test_sflag(ftdmchan, SFLAG_TERMINATING)) {
ftdmchan         1602 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan         1604 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_set_sflag_locked(ftdmchan, SFLAG_SENT_FINAL_MSG);
ftdmchan         1605 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_ANSWERED) || 
ftdmchan         1606 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdm_test_flag(ftdmchan, FTDM_CHANNEL_PROGRESS) || 
ftdmchan         1607 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdm_test_flag(ftdmchan, FTDM_CHANNEL_MEDIA) ||
ftdmchan         1608 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 						ftdm_test_sflag(ftdmchan, SFLAG_RECVD_ACK)) {
ftdmchan         1610 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_SPAN(ftdmchan),
ftdmchan         1611 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_CHAN(ftdmchan),
ftdmchan         1614 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   ftdmchan->caller_data.hangup_cause, 0);
ftdmchan         1617 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_SPAN(ftdmchan),
ftdmchan         1618 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   BOOST_CHAN(ftdmchan),								   
ftdmchan         1621 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 									   ftdmchan->caller_data.hangup_cause, 0);
ftdmchan         1628 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_set_sflag_locked(ftdmchan, SFLAG_TERMINATING);
ftdmchan         1630 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			status = ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan         1641 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_complete_state(ftdmchan);
ftdmchan         1645 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void advance_chan_states(ftdm_channel_t *ftdmchan)
ftdmchan         1647 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	while (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan         1648 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 		state_advance(ftdmchan);
ftdmchan         1667 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan         1691 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) {
ftdmchan         1695 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1696 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				state_advance(ftdmchan);
ftdmchan         1697 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2019 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 			ftdm_channel_t *ftdmchan = span->channels[j];
ftdmchan         2021 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 				j, ftdmchan->physical_span_id-1, ftdmchan->physical_chan_id-1, ftdm_channel_state2str(ftdmchan->state));
ftdmchan         2472 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_log(FTDM_LOG_NOTICE, "%d:%d Signaling link status changed to %s\n", ftdmchan->span_id, ftdmchan->chan_id, ftdm_signaling_status2str(status));
ftdmchan         2475 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan         2476 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.span_id = ftdmchan->span_id;
ftdmchan         2477 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	sig.channel = ftdmchan;
ftdmchan         2480 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan         2486 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan         2495 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	return sangoma_boost_data->sigmod->set_channel_sig_status(ftdmchan, status);
ftdmchan         2500 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data;
ftdmchan         2507 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c 	return sangoma_boost_data->sigmod->get_channel_sig_status(ftdmchan, status);
ftdmchan           49 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_SIG_STATUS_CB_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
ftdmchan           86 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_ON_HW_LINK_STATUS_CHANGE_ARGS (ftdm_channel_t *ftdmchan, ftdm_channel_hw_link_status_t status)
ftdmchan          106 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_GET_CHANNEL_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t *status)
ftdmchan          116 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_SET_CHANNEL_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
ftdmchan           49 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_advance_chan_states(ftdm_channel_t *ftdmchan);
ftdmchan           51 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_state_change(ftdm_channel_t *ftdmchan);
ftdmchan          234 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static __inline__ void ftdm_sangoma_isdn_advance_chan_states(ftdm_channel_t *ftdmchan)
ftdmchan          236 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	while (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          237 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_sangoma_isdn_process_state_change(ftdmchan);
ftdmchan          246 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_t	*ftdmchan = NULL;
ftdmchan          277 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) {
ftdmchan          279 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_channel_lock(ftdmchan);
ftdmchan          280 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_sangoma_isdn_advance_chan_states(ftdmchan);
ftdmchan          281 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_channel_unlock(ftdmchan);
ftdmchan          352 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          374 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdmchan = sngisdn_event->sngisdn_info->ftdmchan;
ftdmchan          375 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_assert_return(ftdmchan, NULL,"Event should have a channel associated\n");
ftdmchan          378 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c  	ftdm_channel_lock(ftdmchan);
ftdmchan          379 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_sangoma_isdn_advance_chan_states(ftdmchan);
ftdmchan          380 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	return ftdmchan;
ftdmchan          387 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          389 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdmchan = ftdm_sangoma_isdn_process_event_states(span, sngisdn_event);
ftdmchan          443 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	if(ftdmchan != NULL) {
ftdmchan          444 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_sangoma_isdn_advance_chan_states(ftdmchan);
ftdmchan          445 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_channel_unlock(ftdmchan);
ftdmchan          449 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_state_change(ftdm_channel_t *ftdmchan)
ftdmchan          453 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	sngisdn_chan_data_t *sngisdn_info = ftdmchan->call_data;
ftdmchan          457 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          458 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          459 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	sigev.channel = ftdmchan;
ftdmchan          462 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_lock(ftdmchan);
ftdmchan          464 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          466 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALING) {
ftdmchan          467 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_assert(mprotect(ftdmchan, sizeof(*ftdmchan), PROT_READ)==0, "Failed to mprotect");
ftdmchan          472 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	initial_state = ftdmchan->state;
ftdmchan          474 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "processing state change to %s\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          476 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	switch (ftdmchan->state) {
ftdmchan          480 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			sngisdn_snd_setup_ack(ftdmchan);
ftdmchan          487 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			sngisdn_snd_proceed(ftdmchan);
ftdmchan          493 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Sending incoming call from %s to %s to FTDM core\n", ftdmchan->caller_data.ani.digits, ftdmchan->caller_data.dnis.digits);
ftdmchan          497 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          502 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			sngisdn_snd_setup(ftdmchan);
ftdmchan          508 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          511 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          514 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				sngisdn_snd_proceed(ftdmchan);
ftdmchan          520 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          522 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          524 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				sngisdn_snd_progress(ftdmchan);
ftdmchan          531 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          534 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          536 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP &&
ftdmchan          537 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) {
ftdmchan          539 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					sngisdn_snd_con_complete(ftdmchan);
ftdmchan          543 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				sngisdn_snd_connect(ftdmchan);
ftdmchan          549 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Hanging up call before informing user!\n");
ftdmchan          552 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			sngisdn_snd_release(ftdmchan, 0);
ftdmchan          554 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          561 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          567 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Acknowledging remote abort\n");
ftdmchan          569 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Acknowledging remote hangup\n");
ftdmchan          570 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				sngisdn_snd_release(ftdmchan, 0);
ftdmchan          573 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Clearing local states from local abort\n");
ftdmchan          577 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Waiting for RELEASE on hungup glared call\n");
ftdmchan          580 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				sngisdn_snd_disconnect(ftdmchan);
ftdmchan          582 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Hanging up call upon local request!\n");
ftdmchan          588 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				if (ftdmchan->last_state == FTDM_CHANNEL_STATE_RING ||
ftdmchan          589 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdmchan->last_state == FTDM_CHANNEL_STATE_DIALING) {
ftdmchan          592 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					sngisdn_snd_release(ftdmchan, 0);
ftdmchan          594 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan          595 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 						sng_isdn_set_avail_rate(ftdmchan->span, SNGISDN_AVAIL_DOWN);
ftdmchan          598 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					sngisdn_snd_disconnect(ftdmchan);
ftdmchan          603 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          611 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          614 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Waiting for release from stack\n");
ftdmchan          628 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan          629 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_channel_t *close_chan = ftdmchan;
ftdmchan          635 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Glare detected, processing saved call\n");
ftdmchan          657 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "unsupported sngisdn_rcvd state %s\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          662 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	if (ftdmchan->state == initial_state) {
ftdmchan          663 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "state change flag is still set, but we did not change state\n");
ftdmchan          666 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	if (ftdmchan->state == FTDM_CHANNEL_STATE_DIALING) {
ftdmchan          667 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		ftdm_assert(mprotect(ftdmchan, sizeof(*ftdmchan), PROT_READ|PROT_WRITE)==0, "Failed to mprotect");
ftdmchan          670 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_unlock(ftdmchan);
ftdmchan          676 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	sngisdn_chan_data_t  *sngisdn_info = ftdmchan->call_data;
ftdmchan          680 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_lock(ftdmchan);
ftdmchan          682 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	switch (ftdmchan->state) {
ftdmchan          688 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Glare detected - aborting outgoing call\n");
ftdmchan          691 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          695 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 					ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan          703 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Outgoing call requested channel in already in use\n");
ftdmchan          709 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	ftdm_channel_unlock(ftdmchan);
ftdmchan          715 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan          826 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c 		chan_data->ftdmchan = ((ftdm_channel_t*)ftdm_iterator_current(curr));
ftdmchan          151 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h     ftdm_channel_t			*ftdmchan;
ftdmchan          277 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_setup(ftdm_channel_t *ftdmchan);
ftdmchan          278 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_setup_ack(ftdm_channel_t *ftdmchan);
ftdmchan          279 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_proceed(ftdm_channel_t *ftdmchan);
ftdmchan          280 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_progress(ftdm_channel_t *ftdmchan);
ftdmchan          281 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_alert(ftdm_channel_t *ftdmchan);
ftdmchan          282 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_connect(ftdm_channel_t *ftdmchan);
ftdmchan          283 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_disconnect(ftdm_channel_t *ftdmchan);
ftdmchan          284 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_release(ftdm_channel_t *ftdmchan, uint8_t glare);
ftdmchan          285 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_reset(ftdm_channel_t *ftdmchan);
ftdmchan          286 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_con_complete(ftdm_channel_t *ftdmchan);
ftdmchan          287 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_info_req(ftdm_channel_t *ftdmchan);
ftdmchan          288 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_snd_status_enq(ftdm_channel_t *ftdmchan);
ftdmchan          142 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c 		ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan          144 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c 		chan_id = ((signal_data->span_id-1)*NUM_T1_CHANNELS_PER_SPAN)+ftdmchan->physical_chan_id;
ftdmchan          145 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c 		dchan_data->channels[chan_id] = (sngisdn_chan_data_t*)ftdmchan->call_data;
ftdmchan           38 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c void sngisdn_set_chan_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status);
ftdmchan           40 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c void sngisdn_set_chan_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
ftdmchan           43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Signalling link status changed to %s\n", ftdm_signaling_status2str(status));
ftdmchan           46 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c 	sig.chan_id = ftdmchan->chan_id;
ftdmchan           47 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c 	sig.span_id = ftdmchan->span_id;
ftdmchan           48 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c 	sig.channel = ftdmchan;
ftdmchan           51 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c 	ftdm_span_send_signal(ftdmchan->span, &sig);
ftdmchan          228 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c 		ftdm_channel_t *ftdmchan = (ftdm_channel_t*)ftdm_iterator_current(curr);
ftdmchan          229 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c 		if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan          230 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c 			d_channel_fd = ftdmchan->sockfd;
ftdmchan           53 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan           54 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan           57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan           59 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_DEBUG, "Processing SETUP (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan           61 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	switch (ftdmchan->state) {
ftdmchan           63 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE) ||
ftdmchan           64 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan           66 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_INFO, "Received SETUP but channel is in USE, saving call for later processing\n");
ftdmchan           93 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received SETUP, but local-number %s does not match - ignoring\n", conEvnt->cdPtyNmb.nmbDigits.val);
ftdmchan           95 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdmchan->caller_data.hangup_cause = IN_CCNORTTODEST;
ftdmchan          108 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          118 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_clear_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND);
ftdmchan          121 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          122 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "Failed to open channel");
ftdmchan          124 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_NORMAL_TEMPORARY_FAILURE;
ftdmchan          125 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          131 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_channel_add_var(ftdmchan, "isdn_specific_var", "1");
ftdmchan          134 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			cpy_calling_num_from_stack(&ftdmchan->caller_data, &conEvnt->cgPtyNmb);
ftdmchan          135 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			cpy_called_num_from_stack(&ftdmchan->caller_data, &conEvnt->cdPtyNmb);
ftdmchan          136 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			cpy_calling_name_from_stack(&ftdmchan->caller_data, &conEvnt->display);
ftdmchan          137 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Incoming call: Called No:[%s] Calling No:[%s]\n", ftdmchan->caller_data.dnis.digits, ftdmchan->caller_data.cid_num.digits);
ftdmchan          140 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.bearer_layer1 = sngisdn_get_infoTranCap_from_stack(conEvnt->bearCap[0].usrInfoLyr1Prot.val);
ftdmchan          141 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.bearer_capability = sngisdn_get_infoTranCap_from_stack(conEvnt->bearCap[0].infoTranCap.val);
ftdmchan          147 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						snprintf(ftdmchan->caller_data.aniII, 5, "%.2d", conEvnt->ni2OctStr.str.val[3]);
ftdmchan          165 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Expecting Caller name in FACILITY\n");
ftdmchan          166 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_GET_CALLERID);
ftdmchan          174 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						strcpy(ftdmchan->caller_data.cid_name, retrieved_str);
ftdmchan          180 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_COLLECT);
ftdmchan          182 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          186 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_INFO, "Processing SETUP in TERMINATING state, saving SETUP info for later processing\n");
ftdmchan          203 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Processing SETUP in DIALING state, rejecting inbound call\n");
ftdmchan          212 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.hangup_cause = 0x2C; /* Channel requested not available */
ftdmchan          215 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_INFO, "Processing SETUP in DIALING state, saving SETUP info for later processing\n");
ftdmchan          229 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          233 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Processing SETUP in an invalid state (%s)\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          250 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          255 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan          257 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing CONNECT/CONNECT ACK (suId:%u suInstId:%u spInstId:%u ces:%d)\n", suId, suInstId, spInstId, ces);
ftdmchan          259 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP &&
ftdmchan          260 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 		((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) {
ftdmchan          267 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Call already assigned, ignoring connect\n");
ftdmchan          273 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          274 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 		switch(ftdmchan->state) {
ftdmchan          278 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          285 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Processing CONNECT/CONNECT ACK in an invalid state (%s)\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          288 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          292 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 		switch(ftdmchan->state) {
ftdmchan          301 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Processing CONNECT/CONNECT ACK in an invalid state (%s)\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          304 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          324 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          326 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          330 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan          332 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing %s (suId:%u suInstId:%u spInstId:%u ces:%d)\n",
ftdmchan          360 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Cause requires disconnect (cause:%d)\n", cnStEvnt->causeDgn[0].causeVal.val);
ftdmchan          361 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdmchan->caller_data.hangup_cause = cnStEvnt->causeDgn[0].causeVal.val;
ftdmchan          364 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          372 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			switch(ftdmchan->state) {
ftdmchan          376 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          378 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          384 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          392 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Processing ALERT/PROCEED/PROGRESS in an invalid state (%s)\n", ftdm_channel_state2str(ftdmchan->state));
ftdmchan          395 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          400 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Processing SETUP_ACK, but overlap sending not implemented (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          403 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing INFO (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          406 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch(ftdmchan->state) {
ftdmchan          409 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_size_t min_digits = ((sngisdn_span_data_t*)ftdmchan->span->signal_data)->min_digits;
ftdmchan          412 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						cpy_called_num_from_stack(&ftdmchan->caller_data, &cnStEvnt->cdPtyNmb);
ftdmchan          413 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						num_digits = strlen(ftdmchan->caller_data.dnis.digits);
ftdmchan          416 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          418 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "received %d of %d digits\n", num_digits, min_digits);
ftdmchan          426 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Receiving more digits %s, but we already proceeded with call\n", cnStEvnt->cdPtyNmb.nmbDigits.val);
ftdmchan          429 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "\n", suId, suInstId, spInstId);
ftdmchan          436 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Unhandled STATUS event\n");
ftdmchan          453 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          457 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing DISCONNECT (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          459 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan          460 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	switch (ftdmchan->state) {
ftdmchan          467 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.hangup_cause = discEvnt->causeDgn[0].causeVal.val;
ftdmchan          469 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "DISCONNECT did not have a cause code\n");
ftdmchan          470 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdmchan->caller_data.hangup_cause = 0;
ftdmchan          473 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          477 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          481 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "Received DISCONNECT but we are in DOWN state\n");
ftdmchan          488 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Received DISCONNECT in an invalid state (%s)\n",
ftdmchan          489 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						  ftdm_channel_state2str(ftdmchan->state));
ftdmchan          494 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          509 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          513 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing RELEASE/RELEASE COMPLETE (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          515 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan          529 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	switch (ftdmchan->state) {
ftdmchan          532 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          539 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan          540 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				sng_isdn_set_avail_rate(ftdmchan->span, SNGISDN_AVAIL_DOWN);
ftdmchan          550 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			if (((sngisdn_chan_data_t*)ftdmchan->call_data)->suInstId == suInstId ||
ftdmchan          551 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 									((sngisdn_chan_data_t*)ftdmchan->call_data)->spInstId == spInstId) {
ftdmchan          553 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdmchan->caller_data.hangup_cause = relEvnt->causeDgn[0].causeVal.val;
ftdmchan          554 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "cause:%d\n", ftdmchan->caller_data.hangup_cause);
ftdmchan          556 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "RELEASE COMPLETE did not have a cause code\n");
ftdmchan          557 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdmchan->caller_data.hangup_cause = 0;
ftdmchan          561 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          564 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "RELEASE was for previous call (suInstId:%u spInstId:%u)\n", suInstId, spInstId);
ftdmchan          569 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          576 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Received RELEASE for local glared call\n");
ftdmchan          579 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Received release before we could clear local call\n");
ftdmchan          586 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Received RELEASE in an invalid state (%s)\n",
ftdmchan          587 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_channel_state2str(ftdmchan->state));
ftdmchan          605 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          610 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing DATA IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          623 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          628 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing SSHL IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          641 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          646 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing SSHL CFM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          659 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          664 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing RESUME/RETRIEVE IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          677 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          682 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing RESUME/RETRIEVE CFM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          695 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          700 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing FLOW CONTROL IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          714 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          715 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          719 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing FACILITY IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          721 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	switch (ftdmchan->state) {
ftdmchan          734 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					strcpy(ftdmchan->caller_data.cid_name, retrieved_str);
ftdmchan          736 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Failed to retrieve Caller Name from Facility IE\n");
ftdmchan          744 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          748 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "FACILITY received, but we already proceeded with call\n");
ftdmchan          766 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          776 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Processing STATUS CONFIRM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          778 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 	ftdm_assert(!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE), "State change flag pending\n");
ftdmchan          784 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Received STATUS without call state\n");
ftdmchan          790 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Status Check OK:%d", call_state);
ftdmchan          794 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Message incompatible with call state (call_state:%d channel-state:%s cause:%d) (suId:%u suInstId:%u spInstId:%u)\n", call_state, ftdm_channel_state2str(ftdmchan->state), staEvnt->causeDgn[0].causeVal.val, suId, suInstId, spInstId);
ftdmchan          797 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Recovery on timer expire (call_state:%d channel-state:%s cause:%d) (suId:%u suInstId:%u spInstId:%u)\n", call_state, ftdm_channel_state2str(ftdmchan->state), staEvnt->causeDgn[0].causeVal.val, suId, suInstId, spInstId);
ftdmchan          800 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "STATUS CONFIRM (call_state:%d channel-state:%s cause:%d) (suId:%u suInstId:%u spInstId:%u)\n", call_state, ftdm_channel_state2str(ftdmchan->state), staEvnt->causeDgn[0].causeVal.val, suId, suInstId, spInstId);
ftdmchan          805 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 		ftdmchan->caller_data.hangup_cause = staEvnt->causeDgn[0].causeVal.val;
ftdmchan          810 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          815 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          826 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "How can we we in FTDM_CHANNEL_STATE_HANGUP after checking for state change?\n");
ftdmchan          827 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          832 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          838 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          843 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          846 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          847 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_sched_timer(((sngisdn_span_data_t*)ftdmchan->span->signal_data)->sched, "delayed_connect", 1, sngisdn_delayed_connect, (void*) sngisdn_info, NULL);
ftdmchan          852 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          857 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 					switch (ftdmchan->state) {
ftdmchan          861 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "T302 Timer expired, proceeding with call\n");
ftdmchan          862 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          866 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Remote switch expecting OVERLAP receive, but we are already PROCEEDING\n");
ftdmchan          867 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							sngisdn_snd_disconnect(ftdmchan);
ftdmchan          872 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							sngisdn_snd_disconnect(ftdmchan);
ftdmchan          875 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          880 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          883 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdmchan->caller_data.hangup_cause = staEvnt->causeDgn[0].causeVal.val;
ftdmchan          884 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "T310 Timer expired, hanging up call\n");
ftdmchan          886 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          891 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          892 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 							ftdm_sched_timer(((sngisdn_span_data_t*)ftdmchan->span->signal_data)->sched, "delayed_connect", 1, sngisdn_delayed_connect, (void*) sngisdn_info, NULL);
ftdmchan          897 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          902 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          909 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						sngisdn_snd_disconnect(ftdmchan);
ftdmchan          912 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          917 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          925 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_sched_timer(((sngisdn_span_data_t*)ftdmchan->span->signal_data)->sched, "delayed_connect", 1, sngisdn_delayed_connect, (void*) sngisdn_info, NULL);
ftdmchan          928 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          933 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          940 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_sched_timer(((sngisdn_span_data_t*)ftdmchan->span->signal_data)->sched, "delayed_disconnect", 1, sngisdn_delayed_disconnect, (void*) sngisdn_info, NULL);
ftdmchan          943 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          948 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          953 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          958 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				switch (ftdmchan->state) {
ftdmchan          961 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          967 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan          972 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c 				ftdm_log_chan(ftdmchan, FTDM_LOG_CRIT, "Don't know how to handle incompatible state. remote call state:%d our state:%s\n", call_state, ftdm_channel_state2str(ftdmchan->state));
ftdmchan           39 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c extern ftdm_status_t cpy_calling_name_from_user(ConEvnt *conEvnt, ftdm_channel_t *ftdmchan);
ftdmchan           41 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_setup(ftdm_channel_t *ftdmchan);
ftdmchan           42 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_proceed(ftdm_channel_t *ftdmchan);
ftdmchan           43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_progress(ftdm_channel_t *ftdmchan);
ftdmchan           44 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_connect(ftdm_channel_t *ftdmchan);
ftdmchan           45 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_disconnect(ftdm_channel_t *ftdmchan);
ftdmchan           46 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_release(ftdm_channel_t *ftdmchan, uint8_t glare);
ftdmchan           49 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_setup(ftdm_channel_t *ftdmchan)
ftdmchan           52 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = ftdmchan->call_data;
ftdmchan           53 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;	
ftdmchan           68 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	conEvnt.bearCap[0].infoTranCap.val = sngisdn_get_infoTranCap_from_user(ftdmchan->caller_data.bearer_capability);
ftdmchan           86 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan           87 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan           95 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		conEvnt.chanId.infoChanSel.val = ftdmchan->physical_chan_id;
ftdmchan           99 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		conEvnt.bearCap[0].usrInfoLyr1Prot.val = sngisdn_get_usrInfoLyr1Prot_from_user(ftdmchan->caller_data.bearer_layer1);
ftdmchan          128 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		conEvnt.chanId.chanNmbSlotMap.val[0] = ftdmchan->physical_chan_id;
ftdmchan          142 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP &&
ftdmchan          146 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Outgoing call: Called No:[%s] Calling No:[%s]\n", ftdmchan->caller_data.dnis.digits, ftdmchan->caller_data.cid_num.digits);
ftdmchan          148 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	cpy_called_num_from_user(&conEvnt.cdPtyNmb, &ftdmchan->caller_data);
ftdmchan          149 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	cpy_calling_num_from_user(&conEvnt.cgPtyNmb, &ftdmchan->caller_data);
ftdmchan          150 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	cpy_calling_name_from_user(&conEvnt, ftdmchan);
ftdmchan          152 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending SETUP (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          155 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "stack refused SETUP request\n");
ftdmchan          162 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_setup_ack(ftdm_channel_t *ftdmchan)
ftdmchan          166 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          167 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          170 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending SETUP ACK , but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          172 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          187 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan          188 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          194 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.infoChanSel.val = ftdmchan->physical_chan_id;
ftdmchan          208 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.chanNmbSlotMap.val[0] = ftdmchan->physical_chan_id;
ftdmchan          211 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending SETUP ACK (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          214 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused SETUP ACK request\n");
ftdmchan          222 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_con_complete(ftdm_channel_t *ftdmchan)
ftdmchan          226 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          227 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          230 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending CONNECT COMPL , but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          232 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          246 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan          247 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          253 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.infoChanSel.val = ftdmchan->physical_chan_id;
ftdmchan          267 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.chanNmbSlotMap.val[0] = ftdmchan->physical_chan_id;
ftdmchan          271 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending CONNECT COMPL (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          274 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused CONNECT ACK request\n");
ftdmchan          280 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_proceed(ftdm_channel_t *ftdmchan)
ftdmchan          284 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          285 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          288 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending PROGRESS, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          290 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          304 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan          305 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          311 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.infoChanSel.val = ftdmchan->physical_chan_id;
ftdmchan          325 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.chanNmbSlotMap.val[0] = ftdmchan->physical_chan_id;
ftdmchan          329 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending PROCEED (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          332 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused PROCEED request\n");
ftdmchan          337 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_progress(ftdm_channel_t *ftdmchan)
ftdmchan          341 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          342 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          345 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending PROGRESS, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          347 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          367 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending PROGRESS (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          369 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused PROGRESS request\n");
ftdmchan          374 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_alert(ftdm_channel_t *ftdmchan)
ftdmchan          378 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          379 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          382 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending ALERT, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          384 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          398 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending ALERT (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          401 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused ALERT request\n");
ftdmchan          406 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_connect(ftdm_channel_t *ftdmchan)
ftdmchan          410 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          411 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          414 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending CONNECT, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          416 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          431 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan          432 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          438 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.infoChanSel.val = ftdmchan->physical_chan_id;
ftdmchan          452 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		cnStEvnt.chanId.chanNmbSlotMap.val[0] = ftdmchan->physical_chan_id;
ftdmchan          463 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending CONNECT (suId:%d suInstId:%u spInstId:%u dchan:%d ces:%d)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          465 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "stack refused CONNECT request\n");
ftdmchan          471 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_info_req(ftdm_channel_t *ftdmchan)
ftdmchan          475 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          476 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          478 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	if (ftdmchan->span->trunk_type != FTDM_TRUNK_BRI &&
ftdmchan          479 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdmchan->span->trunk_type != FTDM_TRUNK_BRI_PTMP) {
ftdmchan          481 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Ignoring INFO REQ on non-BRI channel\n");
ftdmchan          489 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending INFO REQ (suId:%d dchan:%d ces:%d)\n", signal_data->cc_id, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          492 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused INFO request\n");
ftdmchan          498 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_status_enq(ftdm_channel_t *ftdmchan)
ftdmchan          502 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          503 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          509 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Sending Status ENQ on suId:%d suInstId:%u spInstId:%d dchan:%d ces:%d\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId, signal_data->dchan_id, sngisdn_info->ces);
ftdmchan          511 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, 	"stack refused Status ENQ request\n");
ftdmchan          517 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_disconnect(ftdm_channel_t *ftdmchan)
ftdmchan          521 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          522 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          525 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending DISCONNECT, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          528 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          541 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	discEvnt.causeDgn[0].causeVal.val = ftdmchan->caller_data.hangup_cause;
ftdmchan          545 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending DISCONNECT (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          547 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "stack refused DISCONNECT request\n");
ftdmchan          551 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c void sngisdn_snd_release(ftdm_channel_t *ftdmchan, uint8_t glare)
ftdmchan          556 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_chan_data_t *sngisdn_info = (sngisdn_chan_data_t*) ftdmchan->call_data;
ftdmchan          557 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          560 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_ERROR, "Sending RELEASE, but no call data, aborting (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan          563 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          577 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	relEvnt.causeDgn[0].causeVal.val = ftdmchan->caller_data.hangup_cause;
ftdmchan          589 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Sending RELEASE/RELEASE COMPLETE (suId:%d suInstId:%u spInstId:%u)\n", signal_data->cc_id, suInstId, spInstId);
ftdmchan          593 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "stack refused RELEASE/RELEASE COMPLETE request\n");
ftdmchan          597 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_CRIT, "stack refused RELEASE/RELEASE COMPLETE request\n");
ftdmchan           81 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received SETUP (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          100 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          128 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received CONNECT/CONNECT ACK (suId:%u suInstId:%u spInstId:%u ces:%d)\n", suId, suInstId, spInstId, ces);
ftdmchan          143 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          170 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received %s (suId:%u suInstId:%u spInstId:%u ces:%d)\n",
ftdmchan          193 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          213 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received DISCONNECT (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          227 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          247 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received RELEASE/RELEASE COMPLETE (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          261 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c  	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          279 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received DATA IND suId:%u suInstId:%u spInstId:%u\n", suId, suInstId, spInstId);
ftdmchan          293 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c  	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          311 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received SSHL IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          326 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c  	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          344 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received SSHL CFM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          359 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          376 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received RMRT IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          391 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          409 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received RESUME/RETRIEVE CFM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          424 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          442 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received FLOW CONTROL IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          456 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          475 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received FACILITY IND (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          489 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c  	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan          508 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_INFO, "Received STATUS CONFIRM (suId:%u suInstId:%u spInstId:%u)\n", suId, suInstId, spInstId);
ftdmchan          522 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_rcv.c  	ftdm_queue_enqueue(((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->event_queue, sngisdn_event);
ftdmchan           45 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_status_t cpy_calling_name_from_user(ConEvnt *conEvnt, ftdm_channel_t *ftdmchan);
ftdmchan           54 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	uint32_t cc_id = ((sngisdn_span_data_t*)sngisdn_info->ftdmchan->span->signal_data)->cc_id;
ftdmchan           56 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_DEBUG, "Clearing call data (suId:%u suInstId:%u spInstId:%u)\n", cc_id, sngisdn_info->suInstId, sngisdn_info->spInstId);
ftdmchan           71 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_log_chan(sngisdn_info->ftdmchan, FTDM_LOG_DEBUG, "Clearing glare data (suId:%d suInstId:%u spInstId:%u actv-suInstId:%u  actv-spInstId:%u)\n",
ftdmchan          329 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_status_t cpy_calling_name_from_user(ConEvnt *conEvnt, ftdm_channel_t *ftdmchan)
ftdmchan          332 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_caller_data_t *ftdm = &ftdmchan->caller_data;
ftdmchan          334 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;
ftdmchan          341 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI ||
ftdmchan          342 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) {
ftdmchan          385 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          386 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;	
ftdmchan          388 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          392 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Sending delayed RELEASE (suId:%d suInstId:%u spInstId:%u)\n",
ftdmchan          395 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		sngisdn_snd_release(ftdmchan, 1);
ftdmchan          398 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Call was already released (suId:%d suInstId:%u spInstId:%u)\n",
ftdmchan          401 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          408 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          409 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;	
ftdmchan          411 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          412 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Sending delayed CONNECT (suId:%d suInstId:%u spInstId:%u)\n",
ftdmchan          415 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_snd_connect(ftdmchan);
ftdmchan          416 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          423 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          424 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;	
ftdmchan          426 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          427 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	if (ftdmchan->caller_data.hangup_cause == IN_CCNORTTODEST || ftdmchan->state != FTDM_CHANNEL_STATE_DOWN) {
ftdmchan          428 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Sending delayed DISCONNECT (suId:%d suInstId:%u spInstId:%u)\n",
ftdmchan          431 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c  		sngisdn_snd_disconnect(ftdmchan);
ftdmchan          432 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		if (ftdmchan->caller_data.hangup_cause == IN_CCNORTTODEST) {
ftdmchan          433 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 			ftdm_channel_t *close_chan = ftdmchan;
ftdmchan          438 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          445 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_channel_t *ftdmchan = sngisdn_info->ftdmchan;
ftdmchan          446 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data;	
ftdmchan          448 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          449 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	if (ftdmchan->state == FTDM_CHANNEL_STATE_GET_CALLERID) {
ftdmchan          450 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_INFO, "Facility timeout reached proceeding with call (suId:%d suInstId:%u spInstId:%u)\n",
ftdmchan          453 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 		ftdm_set_state(ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          456 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          692 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          701 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan          705 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan          712 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan          717 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan          718 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				switch (ftdmchan->state) {
ftdmchan          723 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_span_id,
ftdmchan          724 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_chan_id,
ftdmchan          726 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdm_channel_state2str(ftdmchan->state));
ftdmchan          755 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          764 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan          768 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan          775 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan          780 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan          781 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				switch (ftdmchan->state) {
ftdmchan          793 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_span_id,
ftdmchan          794 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_chan_id,
ftdmchan          796 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdm_channel_state2str(ftdmchan->state));
ftdmchan          825 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          834 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan          838 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan          845 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan          850 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan          858 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_span_id,
ftdmchan          859 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 									ftdmchan->physical_chan_id,
ftdmchan          884 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          892 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan          896 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan          903 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan          908 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan          910 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 							ftdmchan->physical_span_id,
ftdmchan          911 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 							ftdmchan->physical_chan_id,
ftdmchan          940 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          948 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan          952 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan          959 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan          964 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan          966 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 							ftdmchan->physical_span_id,
ftdmchan          967 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 							ftdmchan->physical_chan_id,
ftdmchan         1023 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  			*ftdmchan;
ftdmchan         1062 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdmchan = ss7_info->ftdmchan;
ftdmchan         1065 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_channel_get_sig_status(ftdmchan, &sigstatus);
ftdmchan         1072 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 													ftdm_channel_state2str(ftdmchan->state));
ftdmchan         1126 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan         1134 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan         1138 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan         1145 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan         1150 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan         1152 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1155 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				if (check_for_state_change(ftdmchan)) {
ftdmchan         1160 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1168 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1172 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1192 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan         1200 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = ss7_info->ftdmchan;
ftdmchan         1204 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan         1211 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan         1216 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan         1218 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1221 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				if (check_for_state_change(ftdmchan)) {
ftdmchan         1226 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1237 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1241 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1403 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t	  	*ftdmchan;
ftdmchan         1411 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1415 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lspan = ftdmchan->physical_span_id;
ftdmchan         1422 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				lchan = ftdmchan->physical_chan_id;
ftdmchan         1427 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == lspan) && (ftdmchan->physical_chan_id == lchan)) {
ftdmchan         1429 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1434 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				switch (ftdmchan->state) {
ftdmchan         1438 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan         1443 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan         1449 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1471 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t		*ftdmchan;
ftdmchan         1484 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1485 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1487 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1488 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan         1490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				if (check_for_state_change(ftdmchan)) {
ftdmchan         1498 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1504 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					if (ftdmchan->physical_chan_id == chan) {
ftdmchan         1511 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan         1516 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1531 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1532 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1534 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1535 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan         1553 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t		*ftdmchan;
ftdmchan         1574 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1575 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1578 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1579 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan         1582 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1588 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.chan_id = ftdmchan->chan_id;
ftdmchan         1589 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.span_id = ftdmchan->span_id;
ftdmchan         1590 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.channel = ftdmchan;
ftdmchan         1593 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1596 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				if (ftdmchan->physical_chan_id == chan) {
ftdmchan         1598 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					main_chan = ftdmchan;
ftdmchan         1615 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1630 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1631 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1633 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1634 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan         1653 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 	ftdm_channel_t		*ftdmchan;
ftdmchan         1674 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1675 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1678 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1679 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan         1682 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1688 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.chan_id = ftdmchan->chan_id;
ftdmchan         1689 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.span_id = ftdmchan->span_id;
ftdmchan         1690 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				sigev.channel = ftdmchan;
ftdmchan         1693 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1696 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				if (ftdmchan->physical_chan_id == chan) {
ftdmchan         1698 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 					main_chan = ftdmchan;
ftdmchan         1715 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1730 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			ftdmchan = sngss7_info->ftdmchan;
ftdmchan         1731 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1733 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 			if ((ftdmchan->physical_span_id == span) && 
ftdmchan         1734 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c 				((ftdmchan->physical_chan_id >= chan) && (ftdmchan->physical_chan_id < (chan+range)))) {
ftdmchan           87 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  	*ftdmchan = NULL;
ftdmchan           93 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          100 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          103 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx IAM (glare)\n", sngss7_info->circuit->cic);
ftdmchan          105 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx IAM\n", sngss7_info->circuit->cic);
ftdmchan          122 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan          127 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan          130 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		} else if(ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan          133 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 						ftdmchan->physical_span_id,
ftdmchan          134 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 						ftdmchan->physical_chan_id);
ftdmchan          139 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = 41;
ftdmchan          142 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          155 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 											ftdmchan->caller_data.cid_num.digits, 
ftdmchan          159 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdm_set_string(ftdmchan->caller_data.cid_name, ftdmchan->caller_data.cid_num.digits);
ftdmchan          162 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdm_set_string(ftdmchan->caller_data.ani.digits, ftdmchan->caller_data.cid_num.digits);
ftdmchan          167 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdmchan->caller_data.screen = siConEvnt->cgPtyNum.scrnInd.val;
ftdmchan          172 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdmchan->caller_data.pres = siConEvnt->cgPtyNum.presRest.val;
ftdmchan          175 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_INFO_CHAN(ftdmchan,"No Calling party (ANI) information in IAM!%s\n", " ");
ftdmchan          183 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 											ftdmchan->caller_data.dnis.digits, 
ftdmchan          187 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_INFO_CHAN(ftdmchan,"No Called party (DNIS) information in IAM!%s\n", " ");
ftdmchan          195 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 											ftdmchan->caller_data.rdnis.digits, 
ftdmchan          199 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_DEBUG_CHAN(ftdmchan,"No RDNIS party information in IAM!%s\n", " ");
ftdmchan          206 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdmchan->caller_data.bearer_capability = siConEvnt->txMedReq.trMedReq.val;
ftdmchan          209 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_DEBUG_CHAN(ftdmchan,"No TMR/Bearer Cap information in IAM!%s\n", " ");
ftdmchan          214 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_channel_add_var(ftdmchan, "ss7_clg_nadi", nadi);
ftdmchan          217 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_channel_add_var(ftdmchan, "ss7_cld_nadi", nadi);
ftdmchan          220 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_COLLECT);
ftdmchan          232 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan, "Got IAM on channel that is already inuse (state=%s|inuse=%d)...glare!\n", 
ftdmchan          233 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 								ftdm_channel_state2str (ftdmchan->state),
ftdmchan          234 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 								ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE));
ftdmchan          246 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = 34;	/* Circuit Congrestion */
ftdmchan          252 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          257 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_ERROR_CHAN(ftdmchan, "Got IAM on channel in invalid state(%s)...reset!\n", ftdm_channel_state2str (ftdmchan->state));
ftdmchan          260 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          267 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          279 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          282 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          289 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          294 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx ACM\n", sngss7_info->circuit->cic);
ftdmchan          295 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		switch (ftdmchan->state) {
ftdmchan          308 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          311 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 					ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          315 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          322 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_PROGRESS);
ftdmchan          328 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx MODIFY\n", sngss7_info->circuit->cic);
ftdmchan          332 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx MODIFY-COMPLETE\n", sngss7_info->circuit->cic);
ftdmchan          336 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx MODIFY-REJECT\n", sngss7_info->circuit->cic);
ftdmchan          340 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CPG\n", sngss7_info->circuit->cic);
ftdmchan          344 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx FOT\n", sngss7_info->circuit->cic);
ftdmchan          348 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx INF\n", sngss7_info->circuit->cic);
ftdmchan          352 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx INR\n", sngss7_info->circuit->cic);
ftdmchan          356 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx SAM\n", sngss7_info->circuit->cic);
ftdmchan          360 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx EXIT\n", sngss7_info->circuit->cic);
ftdmchan          364 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx NRM\n", sngss7_info->circuit->cic);
ftdmchan          368 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx IDR\n", sngss7_info->circuit->cic);
ftdmchan          372 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx IRS\n", sngss7_info->circuit->cic);
ftdmchan          376 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx MALICIOUS CALL\n", sngss7_info->circuit->cic);
ftdmchan          380 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CRG\n", sngss7_info->circuit->cic);
ftdmchan          384 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CRG-TARIFF\n", sngss7_info->circuit->cic);
ftdmchan          388 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CRG-ACK\n", sngss7_info->circuit->cic);
ftdmchan          392 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CALL-OFFER\n", sngss7_info->circuit->cic);
ftdmchan          396 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LOP\n", sngss7_info->circuit->cic);
ftdmchan          400 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx ECT-Timeout\n", sngss7_info->circuit->cic);
ftdmchan          404 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx RINGING-SEND\n", sngss7_info->circuit->cic);
ftdmchan          408 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CALL-LINE Clear\n", sngss7_info->circuit->cic);
ftdmchan          412 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx PRI\n", sngss7_info->circuit->cic);
ftdmchan          416 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx APM\n", sngss7_info->circuit->cic);
ftdmchan          420 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx OPERATOR\n", sngss7_info->circuit->cic);
ftdmchan          424 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx METERING-PULSE\n", sngss7_info->circuit->cic);
ftdmchan          428 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CALLING_PARTY_CLEAR\n", sngss7_info->circuit->cic);
ftdmchan          432 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx SUB-DIR\n", sngss7_info->circuit->cic);
ftdmchan          436 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	   	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Unknown Msg\n", sngss7_info->circuit->cic);
ftdmchan          442 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          454 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          457 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          464 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          467 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan          472 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx ANM\n", sngss7_info->circuit->cic);
ftdmchan          475 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          481 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CON\n", sngss7_info->circuit->cic);
ftdmchan          484 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_UP);
ftdmchan          490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx ANM/CON\n", sngss7_info->circuit->cic);
ftdmchan          496 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          503 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          515 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          518 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          525 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          527 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx REL cause=%d\n",
ftdmchan          532 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan          538 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = siRelEvnt->causeDgn.causeVal.val;
ftdmchan          541 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = 0;
ftdmchan          548 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          559 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = siRelEvnt->causeDgn.causeVal.val;
ftdmchan          562 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = 0;
ftdmchan          569 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          579 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          586 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          598 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          601 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          608 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          610 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx RLC\n", sngss7_info->circuit->cic);
ftdmchan          613 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan          618 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          630 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          637 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          649 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          652 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          659 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          661 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx DATA IND\n", sngss7_info->circuit->cic);
ftdmchan          664 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          676 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          679 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          686 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          688 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx FAC\n", sngss7_info->circuit->cic);
ftdmchan          691 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          703 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          706 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          713 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          715 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx FAC-CON\n", sngss7_info->circuit->cic);
ftdmchan          718 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          730 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          733 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          740 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          742 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx USER-USER msg\n", sngss7_info->circuit->cic);
ftdmchan          745 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          757 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          760 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          767 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          769 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Call-Suspend msg\n", sngss7_info->circuit->cic);
ftdmchan          772 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          784 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          787 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          794 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          796 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Call-Resume msg\n", sngss7_info->circuit->cic);
ftdmchan          799 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          809 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          812 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          823 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Reattempt indication\n", sngss7_info->circuit->cic);
ftdmchan          828 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Error indication\n", sngss7_info->circuit->cic);
ftdmchan          833 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx COT start\n", sngss7_info->circuit->cic);
ftdmchan          838 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx COT report\n", sngss7_info->circuit->cic);
ftdmchan          843 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx COT stop\n", sngss7_info->circuit->cic);
ftdmchan          848 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CQM\n", sngss7_info->circuit->cic);
ftdmchan          853 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CFN\n", sngss7_info->circuit->cic);
ftdmchan          858 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LPA\n", sngss7_info->circuit->cic);
ftdmchan          863 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Ckt Resveration req\n", sngss7_info->circuit->cic);
ftdmchan          868 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Ckt Res ack\n", sngss7_info->circuit->cic);
ftdmchan          873 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx BLO\n", sngss7_info->circuit->cic);
ftdmchan          878 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx BLA\n", sngss7_info->circuit->cic);
ftdmchan          883 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx UBL\n", sngss7_info->circuit->cic);
ftdmchan          888 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx UBA\n", sngss7_info->circuit->cic);
ftdmchan          893 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx RSC\n", sngss7_info->circuit->cic);
ftdmchan          898 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Local RSC\n", sngss7_info->circuit->cic);
ftdmchan          903 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx RSC-RLC\n", sngss7_info->circuit->cic);
ftdmchan          908 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CGB\n", sngss7_info->circuit->cic);
ftdmchan          913 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CGU\n", sngss7_info->circuit->cic);
ftdmchan          918 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx CQM\n", sngss7_info->circuit->cic);
ftdmchan          923 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx mntc CGB\n", sngss7_info->circuit->cic);
ftdmchan          928 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx mntc CGU\n", sngss7_info->circuit->cic);
ftdmchan          933 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx GRS\n", sngss7_info->circuit->cic);
ftdmchan          938 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx UCIC\n", sngss7_info->circuit->cic);
ftdmchan          943 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx GRA\n", sngss7_info->circuit->cic);
ftdmchan          948 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx SUS\n", sngss7_info->circuit->cic);
ftdmchan          953 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx RES\n", sngss7_info->circuit->cic);
ftdmchan          958 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx UPA\n", sngss7_info->circuit->cic);
ftdmchan          963 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Remote User not Available\n", sngss7_info->circuit->cic);
ftdmchan          968 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Congestion L0\n", sngss7_info->circuit->cic);
ftdmchan          973 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Congestion L1\n", sngss7_info->circuit->cic);
ftdmchan          978 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Congestion L2\n", sngss7_info->circuit->cic);
ftdmchan          983 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Congestion L3\n", sngss7_info->circuit->cic);
ftdmchan          988 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Stop Congestion\n", sngss7_info->circuit->cic);
ftdmchan          993 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Local BLO\n", sngss7_info->circuit->cic);
ftdmchan          998 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Local UBL\n", sngss7_info->circuit->cic);
ftdmchan         1003 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Overload\n", sngss7_info->circuit->cic);
ftdmchan         1008 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LM CGB\n", sngss7_info->circuit->cic);
ftdmchan         1013 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LM CGU\n", sngss7_info->circuit->cic);
ftdmchan         1018 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LM RSC\n", sngss7_info->circuit->cic);
ftdmchan         1028 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx LM CQM\n", sngss7_info->circuit->cic);
ftdmchan         1033 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx Local GRS\n", sngss7_info->circuit->cic);
ftdmchan         1053 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1056 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1063 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1067 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_DEBUG_CHAN(ftdmchan, "Glare flag is already up...nothing to do!%s\n", " ");
ftdmchan         1069 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		SS7_DEBUG_CHAN(ftdmchan, "Glare flag is not up yet...indicating glare from reattempt!%s\n", " ");
ftdmchan         1077 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdmchan->caller_data.hangup_cause = 34;	/* Circuit Congrestion */
ftdmchan         1083 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan         1087 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1099 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1118 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan         1125 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1128 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			if (ftdm_test_flag(ftdmchan->span, FTDM_SPAN_IN_THREAD)) {
ftdmchan         1129 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_DEBUG_CHAN(ftdmchan, "Rx PAUSE%s\n", "");
ftdmchan         1135 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1154 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1173 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan         1180 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1184 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 				SS7_DEBUG_CHAN(ftdmchan, "Rx RESUME%s\n", "");
ftdmchan         1194 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1213 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1216 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1223 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1226 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan         1227 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		if (ftdm_channel_open_chan(ftdmchan) != FTDM_SUCCESS) {
ftdmchan         1236 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_ENABLE_LOOP, NULL);
ftdmchan         1239 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IN_LOOP);
ftdmchan         1251 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1263 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1266 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1273 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1276 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_command(ftdmchan, FTDM_COMMAND_DISABLE_LOOP, NULL);
ftdmchan         1279 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, ftdmchan->last_state);
ftdmchan         1282 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1316 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1319 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1326 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1337 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1340 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1352 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1355 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1362 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1367 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1379 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1382 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1389 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1403 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1406 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1418 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1421 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1428 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1433 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1445 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1448 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1455 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1460 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan         1465 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan         1472 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan         1478 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1500 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1505 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan         1510 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan         1517 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan         1523 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1535 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1538 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1545 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1547 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	switch (ftdmchan->state) {
ftdmchan         1556 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1578 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan         1587 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = siStaEvnt->causeDgn.causeVal.val;
ftdmchan         1589 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 			ftdmchan->caller_data.hangup_cause = 98;	/* Message not compatiable with call state */
ftdmchan         1592 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan         1598 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1609 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1614 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1630 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1646 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1650 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1666 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1690 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1693 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1700 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1711 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1714 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1726 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t	  *ftdmchan = NULL;
ftdmchan         1729 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1736 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1747 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1750 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1763 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1767 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1774 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1783 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1789 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1792 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1805 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1818 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1825 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1870 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		if (extract_chan_data(x, &sngss7_info, &ftdmchan)) {
ftdmchan         1876 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1906 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.chan_id = ftdmchan->chan_id;
ftdmchan         1907 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.span_id = ftdmchan->span_id;
ftdmchan         1908 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.channel = ftdmchan;
ftdmchan         1913 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan         1916 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1928 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1934 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ft_to_sngss7_cgba(ftdmchan);
ftdmchan         1946 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1959 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         1966 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	sngss7_span = ftdmchan->span->mod_data;
ftdmchan         2009 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		if (extract_chan_data(x, &sngss7_info, &ftdmchan)) {
ftdmchan         2015 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         2037 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.chan_id = ftdmchan->chan_id;
ftdmchan         2038 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.span_id = ftdmchan->span_id;
ftdmchan         2039 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		sigev.channel = ftdmchan;
ftdmchan         2044 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan         2047 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         2059 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         2065 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ft_to_sngss7_cgua(ftdmchan);
ftdmchan         2076 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         2079 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan         2086 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c 	SS7_ERROR_CHAN(ftdmchan,"[CIC:%d]Rx Overload\n", sngss7_info->circuit->cic);
ftdmchan           66 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan           70 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan           93 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          104 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          108 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          131 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          142 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          146 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          170 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          181 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          185 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          208 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          219 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          223 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          246 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          257 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          261 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          284 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          295 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          299 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          323 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          334 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          338 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          362 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          373 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          377 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          399 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          410 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          414 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          441 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          452 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          456 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          481 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          497 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          522 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan          534 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          538 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	if (extract_chan_data(circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          563 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c 	ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->mod_data)->event_queue, sngss7_event);
ftdmchan           49 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c void ftdm_sangoma_ss7_process_state_change (ftdm_channel_t *ftdmchan);
ftdmchan          274 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_channel_t 		*ftdmchan = NULL;
ftdmchan          303 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			while ((ftdmchan = ftdm_queue_dequeue (ftdmspan->pendingchans))) {
ftdmchan          306 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          309 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          310 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          314 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_mutex_unlock (ftdmchan->mutex);				
ftdmchan          392 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_channel_t	  *ftdmchan;
ftdmchan          395 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	if (extract_chan_data(sngss7_event->circuit, &sngss7_info, &ftdmchan)) {
ftdmchan          401 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          404 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	while (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          405 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_sangoma_ss7_process_state_change(ftdmchan);
ftdmchan          469 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	while (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          470 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_sangoma_ss7_process_state_change(ftdmchan);
ftdmchan          474 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          480 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c void ftdm_sangoma_ss7_process_state_change (ftdm_channel_t * ftdmchan)
ftdmchan          482 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          489 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	sigev.chan_id = ftdmchan->chan_id;
ftdmchan          490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	sigev.span_id = ftdmchan->span_id;
ftdmchan          491 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	sigev.channel = ftdmchan;
ftdmchan          493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	SS7_DEBUG_CHAN(ftdmchan, "ftmod_sangoma_ss7 processing state %s\n", ftdm_channel_state2str (ftdmchan->state));
ftdmchan          496 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_clear_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE);
ftdmchan          499 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	switch (ftdmchan->state) {
ftdmchan          503 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          508 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		while (ftdmchan->caller_data.dnis.digits[i] != '\0'){
ftdmchan          513 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->caller_data.dnis.digits[i-1] == 'F') {
ftdmchan          514 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Received the end of pulsing character %s\n", "");
ftdmchan          517 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdmchan->caller_data.dnis.digits[i-1] = '\0';
ftdmchan          520 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          523 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Received %d digits (min digits = %d)\n", i, g_ftdm_sngss7_data.min_digits);
ftdmchan          526 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_RING);
ftdmchan          529 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_INFO_CHAN(ftdmchan,"Received %d out of %d so far: %s...starting T35\n",
ftdmchan          532 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 						ftdmchan->caller_data.dnis.digits);
ftdmchan          544 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdmchan->caller_data.hangup_cause = 41;
ftdmchan          550 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan          559 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          569 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_DEBUG_CHAN(ftdmchan, "Sending incoming call from %s to %s to FTDM core\n",
ftdmchan          570 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ftdmchan->caller_data.ani.digits,
ftdmchan          571 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ftdmchan->caller_data.dnis.digits);
ftdmchan          576 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          582 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          587 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_DEBUG_CHAN(ftdmchan, "Sending outgoing call from \"%s\" to \"%s\" to LibSngSS7\n",
ftdmchan          588 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					   ftdmchan->caller_data.ani.digits,
ftdmchan          589 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					   ftdmchan->caller_data.dnis.digits);
ftdmchan          592 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ft_to_sngss7_iam(ftdmchan);
ftdmchan          598 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          604 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          607 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          610 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_PROGRESS_MEDIA);
ftdmchan          613 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_acm(ftdmchan);
ftdmchan          620 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          625 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          628 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          637 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          643 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_OUTBOUND)) {
ftdmchan          646 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan          649 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_anm(ftdmchan);
ftdmchan          656 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          661 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_ERROR_CHAN(ftdmchan,"Hanging up call before informing user%s\n", " ");
ftdmchan          664 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_HANGUP);
ftdmchan          670 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          680 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          686 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          694 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Hanging up remotely requested call!%s\n", "");
ftdmchan          697 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Hanging up requested call do to glare%s\n", "");
ftdmchan          703 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_rel (ftdmchan);
ftdmchan          705 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Hanging up locally requested call!%s\n", "");
ftdmchan          709 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_HANGUP_COMPLETE);
ftdmchan          716 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          725 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          733 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ft_to_sngss7_rlc (ftdmchan);
ftdmchan          737 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          740 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Completing remotely requested hangup!%s\n", "");
ftdmchan          746 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          750 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Completing locally requested hangup!%s\n", "");
ftdmchan          752 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Completing requested hangup due to glare!%s\n", "");
ftdmchan          754 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          756 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan,"Completing requested hangup for unknown reason!%s\n", "");
ftdmchan          764 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED) {
ftdmchan          772 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_rsca (ftdmchan);
ftdmchan          786 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			sngss7_span_data_t *span = ftdmchan->span->mod_data;
ftdmchan          789 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ft_to_sngss7_gra(ftdmchan);
ftdmchan          814 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if ((ftdmchan->last_state == FTDM_CHANNEL_STATE_RESTART) || 
ftdmchan          815 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			(ftdmchan->last_state == FTDM_CHANNEL_STATE_SUSPENDED)) {
ftdmchan          833 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					if (!ftdm_test_flag (ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan          834 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 						SS7_DEBUG_CHAN(ftdmchan,"All reset flags cleared %s\n", "");
ftdmchan          838 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 						ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          842 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				SS7_DEBUG_CHAN(ftdmchan,"Reset flags present (0x%X)\n", sngss7_info->flags);
ftdmchan          845 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          865 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_OPEN)) {
ftdmchan          866 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_channel_t *close_chan = ftdmchan;
ftdmchan          898 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				SS7_DEBUG_CHAN(ftdmchan,"Incoming Reset request on CIC in UCIC block, removing UCIC block%s\n", "");
ftdmchan          907 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          917 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if ((ftdmchan->last_state != FTDM_CHANNEL_STATE_HANGUP_COMPLETE) &&
ftdmchan          925 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ft_to_sngss7_rsc (ftdmchan);
ftdmchan          936 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ft_to_sngss7_grs (ftdmchan);
ftdmchan          943 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan          946 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan          955 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan          957 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			switch (ftdmchan->last_state){
ftdmchan          960 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_HANGUP);	
ftdmchan          966 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, ftdmchan->last_state);
ftdmchan          971 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdmchan->caller_data.hangup_cause = 41;
ftdmchan          976 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          987 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				SS7_DEBUG_CHAN(ftdmchan, "Reset processed moving to DOWN (0x%X)\n", sngss7_info->flags);
ftdmchan          990 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          992 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				SS7_DEBUG_CHAN(ftdmchan, "Waiting on Reset Rsp/Grp Reset to move to DOWN (0x%X)\n", sngss7_info->flags);
ftdmchan         1000 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		  SS7_DEBUG_CHAN(ftdmchan,"Current flags: 0x%X\n", sngss7_info->flags);
ftdmchan         1004 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing RESUME%s\n", "");
ftdmchan         1022 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 				ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan         1030 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing PAUSE%s\n", "");
ftdmchan         1035 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev);
ftdmchan         1042 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_MN_BLOCK_RX flag %s\n", "");
ftdmchan         1047 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1050 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_bla (ftdmchan);
ftdmchan         1057 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_MN_UNBLK_RX flag %s\n", "");
ftdmchan         1065 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1068 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_uba (ftdmchan);
ftdmchan         1076 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_MN_BLOCK_TX flag %s\n", "");
ftdmchan         1081 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1084 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_blo (ftdmchan);
ftdmchan         1091 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_MN_UNBLK_TX flag %s\n", "");
ftdmchan         1099 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal(ftdmchan->span, &sigev); 
ftdmchan         1102 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_ubl (ftdmchan);
ftdmchan         1110 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_LC_BLOCK_RX flag %s\n", "");
ftdmchan         1120 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_LC_UNBLK_RX flag %s\n", "");
ftdmchan         1133 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_UCIC_BLOCK flag %s\n", "");
ftdmchan         1138 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_span_send_signal (ftdmchan->span, &sigev);
ftdmchan         1153 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			SS7_DEBUG_CHAN(ftdmchan, "Processing CKT_UCIC_UNBLK flag %s\n", "");;
ftdmchan         1169 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked (ftdmchan, ftdmchan->last_state);
ftdmchan         1173 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan         1183 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ft_to_sngss7_lpa (ftdmchan);
ftdmchan         1189 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 			ftdm_set_state_locked(ftdmchan, ftdmchan->last_state);
ftdmchan         1194 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_ERROR_CHAN(ftdmchan, "ftmod_sangoma_ss7 does not support %s state\n",  ftdm_channel_state2str (ftdmchan->state));
ftdmchan         1206 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	sngss7_chan_data_t  *sngss7_info = ftdmchan->call_data;
ftdmchan         1209 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_lock (ftdmchan->mutex);
ftdmchan         1212 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	if (check_for_state_change(ftdmchan)) {
ftdmchan         1221 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan         1222 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_ERROR_CHAN(ftdmchan, "Requested channel sig state is down, cancelling call!%s\n", " ");
ftdmchan         1232 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_ERROR_CHAN(ftdmchan, "Requested channel is remotely blocked, re-hunt channel!%s\n", " ");
ftdmchan         1244 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		SS7_ERROR_CHAN(ftdmchan, "Requested channel is locally blocked, re-hunt channel!%s\n", " ");
ftdmchan         1249 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	switch (ftdmchan->state){
ftdmchan         1253 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_DIALING);
ftdmchan         1256 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_mutex_unlock (ftdmchan->mutex);
ftdmchan         1264 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ftdmchan->physical_span_id,
ftdmchan         1265 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 					ftdmchan->physical_chan_id);
ftdmchan         1273 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	SS7_DEBUG_CHAN(ftdmchan, "Call Request failed%s\n", " ");
ftdmchan         1275 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_unlock (ftdmchan->mutex);
ftdmchan         1279 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	SS7_DEBUG_CHAN(ftdmchan, "Call Request re-hunt%s\n", " ");
ftdmchan         1281 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_unlock (ftdmchan->mutex);
ftdmchan         1285 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	SS7_DEBUG_CHAN(ftdmchan, "Call Request successful%s\n", " ");
ftdmchan         1287 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_mutex_unlock (ftdmchan->mutex);
ftdmchan         1306 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	if (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_SIG_UP)) {
ftdmchan         1325 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         1337 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdmchan = span->channels[x];
ftdmchan         1338 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		if (ftdmchan->call_data == NULL) continue;
ftdmchan         1339 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		sngss7_info = ftdmchan->call_data;
ftdmchan         1340 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		sngss7_span = ftdmchan->span->mod_data;
ftdmchan         1345 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan         1370 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan         1373 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          361 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h 	ftdm_channel_t			*ftdmchan;
ftdmchan          455 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ftdm_sangoma_ss7_process_state_change (ftdm_channel_t *ftdmchan);
ftdmchan          504 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_iam(ftdm_channel_t *ftdmchan);
ftdmchan          505 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_acm(ftdm_channel_t *ftdmchan);
ftdmchan          506 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_anm(ftdm_channel_t *ftdmchan);
ftdmchan          507 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_rel(ftdm_channel_t *ftdmchan);
ftdmchan          508 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_rlc(ftdm_channel_t *ftdmchan);
ftdmchan          509 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_rsc(ftdm_channel_t *ftdmchan);
ftdmchan          510 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_rsca(ftdm_channel_t *ftdmchan);
ftdmchan          511 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_blo(ftdm_channel_t *ftdmchan);
ftdmchan          512 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_bla(ftdm_channel_t *ftdmchan);
ftdmchan          513 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_ubl(ftdm_channel_t *ftdmchan);
ftdmchan          514 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_uba(ftdm_channel_t *ftdmchan);
ftdmchan          515 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_lpa(ftdm_channel_t *ftdmchan);
ftdmchan          516 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_gra(ftdm_channel_t *ftdmchan);
ftdmchan          517 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_grs(ftdm_channel_t *ftdmchan);
ftdmchan          518 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_cgba(ftdm_channel_t * ftdmchan);
ftdmchan          519 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_cgua(ftdm_channel_t * ftdmchan);
ftdmchan          520 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_cgb(ftdm_channel_t * ftdmchan);
ftdmchan          521 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h void ft_to_sngss7_cgu(ftdm_channel_t * ftdmchan);
ftdmchan          584 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h int check_for_state_change(ftdm_channel_t *ftdmchan);
ftdmchan          587 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h ftdm_status_t extract_chan_data(uint32_t circuit, sngss7_chan_data_t **sngss7_info, ftdm_channel_t **ftdmchan);
ftdmchan          747 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h 	SS7_INFO_CHAN(ftdmchan,"Production Mode, continuing%s\n", "");
ftdmchan          750 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h 	SS7_ERROR_CHAN(ftdmchan, "Debugging Mode, ending%s\n", ""); \
ftdmchan           45 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_iam(ftdm_channel_t * ftdmchan);
ftdmchan           46 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_acm(ftdm_channel_t * ftdmchan);
ftdmchan           47 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_anm(ftdm_channel_t * ftdmchan);
ftdmchan           48 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rel(ftdm_channel_t * ftdmchan);
ftdmchan           49 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rlc(ftdm_channel_t * ftdmchan);
ftdmchan           51 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rsc(ftdm_channel_t * ftdmchan);
ftdmchan           52 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rsca(ftdm_channel_t * ftdmchan);
ftdmchan           54 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_blo(ftdm_channel_t * ftdmchan);
ftdmchan           55 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_bla(ftdm_channel_t * ftdmchan);
ftdmchan           56 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_ubl(ftdm_channel_t * ftdmchan);
ftdmchan           57 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_uba(ftdm_channel_t * ftdmchan);
ftdmchan           59 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_lpa(ftdm_channel_t * ftdmchan);
ftdmchan           61 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_gra(ftdm_channel_t * ftdmchan);
ftdmchan           62 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_grs(ftdm_channel_t * ftdmchan);
ftdmchan           64 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgb(ftdm_channel_t * ftdmchan);
ftdmchan           65 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgu(ftdm_channel_t * ftdmchan);
ftdmchan           67 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgba(ftdm_channel_t * ftdmchan);
ftdmchan           68 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgua(ftdm_channel_t * ftdmchan);
ftdmchan           72 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_iam (ftdm_channel_t * ftdmchan)
ftdmchan           76 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;;
ftdmchan          126 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	iam.txMedReq.trMedReq.val 			= ftdmchan->caller_data.bearer_capability;
ftdmchan          139 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		switch (ftdmchan->caller_data.bearer_capability) {
ftdmchan          154 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 			SS7_ERROR_CHAN(ftdmchan, "Unknown Bearer capability falling back to speech%s\n", " ");
ftdmchan          183 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	copy_cdPtyNum_to_sngss7 (&ftdmchan->caller_data, &iam.cdPtyNum);
ftdmchan          187 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	copy_cgPtyNum_to_sngss7 (&ftdmchan->caller_data, &iam.cgPtyNum);
ftdmchan          190 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	clg_nadi = ftdm_channel_get_var(ftdmchan, "ss7_clg_nadi");
ftdmchan          192 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"Found user supplied Calling NADI value \"%s\"\n", clg_nadi);
ftdmchan          196 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"No user supplied NADI value found for CLG, using \"%d\"\n", iam.cgPtyNum.natAddrInd.val);
ftdmchan          199 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	cld_nadi = ftdm_channel_get_var(ftdmchan, "ss7_cld_nadi");
ftdmchan          201 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"Found user supplied Called NADI value \"%s\"\n", cld_nadi);
ftdmchan          205 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"No user supplied NADI value found for CLD, using \"%d\"\n", iam.cdPtyNum.natAddrInd.val);
ftdmchan          209 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	clg_subAddr = ftdm_channel_get_var(ftdmchan, "ss7_clg_subaddr");
ftdmchan          211 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"Found user supplied Calling Sub-Address value \"%s\"\n", clg_subAddr);
ftdmchan          225 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 			SS7_ERROR_CHAN(ftdmchan,"Invalid Calling Sub-Address encoding requested: %c\n", clg_subAddr[0]);
ftdmchan          248 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	cld_subAddr = ftdm_channel_get_var(ftdmchan, "ss7_cld_subaddr");
ftdmchan          250 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 		SS7_DEBUG_CHAN(ftdmchan,"Found user supplied Called Sub-Address value \"%s\"\n", cld_subAddr);
ftdmchan          264 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 			SS7_ERROR_CHAN(ftdmchan,"Invalid Called Sub-Address encoding requested: %c\n", cld_subAddr[0]);
ftdmchan          295 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx IAM clg = \"%s\" (NADI=%d), cld = \"%s\" (NADI=%d)\n",
ftdmchan          297 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 							ftdmchan->caller_data.cid_num.digits,
ftdmchan          299 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 							ftdmchan->caller_data.dnis.digits,
ftdmchan          307 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_acm (ftdm_channel_t * ftdmchan)
ftdmchan          311 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          361 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx ACM\n", sngss7_info->circuit->cic);
ftdmchan          368 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_anm (ftdm_channel_t * ftdmchan)
ftdmchan          372 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          385 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c   SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx ANM\n", sngss7_info->circuit->cic);
ftdmchan          392 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rel (ftdm_channel_t * ftdmchan)
ftdmchan          396 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          408 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	rel.causeDgn.causeVal.val = (uint8_t) ftdmchan->caller_data.hangup_cause;
ftdmchan          418 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx REL cause=%d \n",
ftdmchan          420 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 							ftdmchan->caller_data.hangup_cause );
ftdmchan          427 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rlc (ftdm_channel_t * ftdmchan)
ftdmchan          431 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          443 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx RLC\n", sngss7_info->circuit->cic);
ftdmchan          450 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rsc (ftdm_channel_t * ftdmchan)
ftdmchan          454 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          464 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx RSC\n", sngss7_info->circuit->cic);
ftdmchan          471 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_rsca (ftdm_channel_t * ftdmchan)
ftdmchan          475 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          485 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx RSC-RLC\n", sngss7_info->circuit->cic);
ftdmchan          492 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_blo (ftdm_channel_t * ftdmchan)
ftdmchan          496 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          506 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx BLO\n", sngss7_info->circuit->cic);
ftdmchan          513 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_bla (ftdm_channel_t * ftdmchan)
ftdmchan          517 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          527 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx BLA\n", sngss7_info->circuit->cic);
ftdmchan          535 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c ft_to_sngss7_ubl (ftdm_channel_t * ftdmchan)
ftdmchan          539 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          549 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx UBL\n", sngss7_info->circuit->cic);
ftdmchan          556 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_uba (ftdm_channel_t * ftdmchan)
ftdmchan          560 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          570 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx UBA\n", sngss7_info->circuit->cic);
ftdmchan          577 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_lpa (ftdm_channel_t * ftdmchan)
ftdmchan          581 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          591 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx LPA\n", sngss7_info->circuit->cic);
ftdmchan          598 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_gra (ftdm_channel_t * ftdmchan)
ftdmchan          602 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data;
ftdmchan          603 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          632 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx GRA (%d:%d)\n",
ftdmchan          642 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_grs (ftdm_channel_t * ftdmchan)
ftdmchan          646 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t 	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          647 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t *sngss7_info = ftdmchan->call_data;
ftdmchan          665 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx GRS (%d:%d)\n",
ftdmchan          675 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgba(ftdm_channel_t * ftdmchan)
ftdmchan          679 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t 	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          680 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          711 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx CGBA (%d:%d)\n",
ftdmchan          724 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgua(ftdm_channel_t * ftdmchan)
ftdmchan          728 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t 	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          729 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          760 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx CGUA (%d:%d)\n",
ftdmchan          773 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgb(ftdm_channel_t * ftdmchan)
ftdmchan          777 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t 	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          778 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          810 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx CGB (%d:%d)\n",
ftdmchan          823 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c void ft_to_sngss7_cgu(ftdm_channel_t * ftdmchan)
ftdmchan          827 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_span_data_t 	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          828 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	sngss7_chan_data_t	*sngss7_info = ftdmchan->call_data;
ftdmchan          860 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c 	SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Tx CGU (%d:%d)\n",
ftdmchan           52 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c int check_for_state_change(ftdm_channel_t *ftdmchan);
ftdmchan           58 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c ftdm_status_t extract_chan_data(uint32_t circuit, sngss7_chan_data_t **sngss7_info, ftdm_channel_t **ftdmchan);
ftdmchan          347 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c int check_for_state_change(ftdm_channel_t *ftdmchan)
ftdmchan          351 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_wait_for_flag_cleared(ftdmchan, FTDM_CHANNEL_STATE_CHANGE, 500);
ftdmchan          355 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          357 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		SS7_DEBUG_CHAN(ftdmchan, "FTDM_CHANNEL_STATE_CHANGE flag set for over 500ms, channel state = %s\n",
ftdmchan          358 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 									ftdm_channel_state2str (ftdmchan->state));
ftdmchan          406 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c ftdm_status_t extract_chan_data(uint32_t circuit, sngss7_chan_data_t **sngss7_info, ftdm_channel_t **ftdmchan)
ftdmchan          419 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_assert_return((*sngss7_info)->ftdmchan, FTDM_FAIL, "received message on signalling link or non-configured cic\n");
ftdmchan          420 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	*ftdmchan = (*sngss7_info)->ftdmchan;
ftdmchan          466 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t 		*ftdmchan = NULL;
ftdmchan          474 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          486 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          489 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		SS7_INFO_CHAN(ftdmchan, "Rx GRS (%d:%d)\n", 
ftdmchan          500 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		switch (ftdmchan->state) {
ftdmchan          505 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_IDLE);
ftdmchan          512 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_RESTART);
ftdmchan          518 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          528 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t 		*ftdmchan = NULL;
ftdmchan          542 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          548 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          551 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          571 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          583 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          605 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          611 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          620 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t 		*ftdmchan = NULL;
ftdmchan          628 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          640 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          643 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          644 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          647 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		SS7_INFO_CHAN(ftdmchan, "Rx GRA (%d:%d)\n", 
ftdmchan          651 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		switch (ftdmchan->state) {
ftdmchan          659 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_DOWN);
ftdmchan          682 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 				ftdmchan->caller_data.hangup_cause = sngss7_span->rx_gra.cause;
ftdmchan          684 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 				ftdmchan->caller_data.hangup_cause = 98;	/* Message not compatiable with call state */
ftdmchan          688 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_TERMINATING);
ftdmchan          694 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          705 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan          713 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdmchan = ftdmspan->channels[x];
ftdmchan          716 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (ftdmchan->call_data == NULL) continue;
ftdmchan          718 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		sngss7_info = ftdmchan->call_data;
ftdmchan          721 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          725 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		sigev.chan_id = ftdmchan->chan_id;
ftdmchan          726 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		sigev.span_id = ftdmchan->span_id;
ftdmchan          727 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		sigev.channel = ftdmchan;
ftdmchan          731 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			(ftdm_test_flag(ftdmchan, FTDM_CHANNEL_SIG_UP))) {
ftdmchan          734 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          735 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 				ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          740 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          748 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          749 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 				ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          753 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_set_state_locked (ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          757 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          770 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t 		*ftdmchan = NULL;
ftdmchan          778 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		if (extract_chan_data(i, &sngss7_info, &ftdmchan)) {
ftdmchan          784 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan          786 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		SS7_INFO_CHAN(ftdmchan,"[CIC:%d]Rx UCIC\n", sngss7_info->circuit->cic);
ftdmchan          789 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		while (ftdm_test_flag (ftdmchan, FTDM_CHANNEL_STATE_CHANGE)) {
ftdmchan          790 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 			ftdm_sangoma_ss7_process_state_change (ftdmchan);
ftdmchan          797 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_SUSPENDED);
ftdmchan          800 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 		ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan          823 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t		*ftdmchan = sngss7_info->ftdmchan;
ftdmchan          824 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	sngss7_span_data_t	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          835 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t		*ftdmchan = sngss7_info->ftdmchan;
ftdmchan          836 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	sngss7_span_data_t	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan          858 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	ftdm_channel_t		*ftdmchan = sngss7_info->ftdmchan;
ftdmchan          859 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c 	sngss7_span_data_t	*sngss7_span = ftdmchan->span->mod_data;
ftdmchan           56 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c     ftdm_channel_t      *ftdmchan = sngss7_info->ftdmchan;
ftdmchan           59 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c     ftdm_mutex_lock(ftdmchan->mutex);
ftdmchan           67 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c     ftdmchan->caller_data.hangup_cause = 28;
ftdmchan           70 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c     ftdm_set_state_locked(ftdmchan, FTDM_CHANNEL_STATE_CANCEL);
ftdmchan           73 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_timers.c     ftdm_mutex_unlock(ftdmchan->mutex);
ftdmchan         1996 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 	ftdm_channel_t		*ftdmchan = NULL;
ftdmchan         2040 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ss7_info->ftdmchan = NULL;
ftdmchan         2084 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ftdmchan = isupCkt->span->channels[i];
ftdmchan         2090 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				if ((g_ftdm_sngss7_data.cfg.isupCkt[x].chan == ftdmchan->physical_chan_id) && 
ftdmchan         2091 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 					(g_ftdm_sngss7_data.cfg.isupCkt[x].span == ftdmchan->physical_span_id)) {
ftdmchan         2103 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ftdmchan->physical_span_id,
ftdmchan         2104 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ftdmchan->physical_chan_id,
ftdmchan         2109 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ss7_info->ftdmchan = ftdmchan;
ftdmchan         2111 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				ftdmchan->call_data = ss7_info;
ftdmchan         2122 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				g_ftdm_sngss7_data.cfg.isupCkt[x].span		= ftdmchan->physical_span_id;
ftdmchan         2123 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 				g_ftdm_sngss7_data.cfg.isupCkt[x].chan		= ftdmchan->physical_chan_id;
ftdmchan         2175 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 									ftdmchan->physical_span_id,
ftdmchan         2176 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 									ftdmchan->physical_chan_id,
ftdmchan         2194 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 		if (ss7_info->ftdmchan == NULL) {
ftdmchan         2206 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c 						ss7_info->ftdmchan->chan_id,
ftdmchan          115 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static __inline__ int tdmv_api_wait_socket(ftdm_channel_t *ftdmchan, int timeout, int *flags)
ftdmchan          122 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	sangoma_wait_obj_t *sangoma_wait_obj = ftdmchan->mod_data;
ftdmchan          139 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c     pfds[0].fd = ftdmchan->sockfd;
ftdmchan          516 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	sangoma_tdm_flush_bufs(ftdmchan->sockfd, &tdm_api);
ftdmchan          518 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	sangoma_flush_event_bufs(ftdmchan->sockfd, &tdm_api);
ftdmchan          521 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921 || ftdmchan->type == FTDM_CHAN_TYPE_DQ931) {
ftdmchan          522 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->native_codec = ftdmchan->effective_codec = FTDM_CODEC_NONE;
ftdmchan          524 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->effective_codec = ftdmchan->native_codec;
ftdmchan          526 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		sangoma_tdm_set_usr_period(ftdmchan->sockfd, &tdm_api, wp_globals.codec_ms);
ftdmchan          528 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdm_channel_set_feature(ftdmchan, FTDM_CHANNEL_FEATURE_INTERVAL);
ftdmchan          529 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->effective_interval = ftdmchan->native_interval = wp_globals.codec_ms;
ftdmchan          530 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->packet_len = ftdmchan->native_interval * 8;
ftdmchan          544 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	sangoma_wait_obj_t *waitobj = ftdmchan->mod_data;
ftdmchan          568 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_txsig_offhook(ftdmchan->sockfd,&tdm_api);
ftdmchan          570 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "OFFHOOK Failed");
ftdmchan          573 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          578 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_txsig_onhook(ftdmchan->sockfd,&tdm_api);
ftdmchan          580 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "ONHOOK Failed");
ftdmchan          583 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          588 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_txsig_start(ftdmchan->sockfd,&tdm_api);
ftdmchan          590 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring Failed");
ftdmchan          593 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          594 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_set_pflag_locked(ftdmchan, WP_RINGING);
ftdmchan          595 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdmchan->ring_time = ftdm_current_time_in_ms() + wp_globals.ring_on_ms;
ftdmchan          600 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_txsig_offhook(ftdmchan->sockfd,&tdm_api);
ftdmchan          602 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring-off Failed");
ftdmchan          605 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_clear_pflag_locked(ftdmchan, WP_RINGING);
ftdmchan          606 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          611 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_get_usr_period(ftdmchan->sockfd, &tdm_api);
ftdmchan          621 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_get_hwec_chan_status(ftdmchan->sockfd, &tdm_api);
ftdmchan          628 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_enable_hwec(ftdmchan->sockfd, &tdm_api);
ftdmchan          630 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "HWEC Enable Failed");
ftdmchan          638 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_get_hwec_chan_status(ftdmchan->sockfd, &tdm_api);
ftdmchan          644 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_disable_hwec(ftdmchan->sockfd, &tdm_api);
ftdmchan          646 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "HWEC Disable Failed");
ftdmchan          654 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_enable_dtmf_events(ftdmchan->sockfd, &tdm_api);
ftdmchan          656 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Enabling of Sangoma HW DTMF failed\n");
ftdmchan          657 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c              			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "HW DTMF Enable Failed");
ftdmchan          660 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Enabled DTMF events\n");
ftdmchan          669 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_disable_dtmf_events(ftdmchan->sockfd, &tdm_api);
ftdmchan          671 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Disabling of Sangoma HW DTMF failed\n");
ftdmchan          672 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c              			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "HW DTMF Disable Failed");
ftdmchan          675 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_log_chan_msg(ftdmchan, FTDM_LOG_DEBUG, "Disabled DTMF events\n");
ftdmchan          684 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c          	err=sangoma_tdm_enable_loop(ftdmchan->sockfd, &tdm_api);
ftdmchan          686 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Loop Enable Failed");
ftdmchan          695 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c          	err=sangoma_tdm_disable_loop(ftdmchan->sockfd, &tdm_api);
ftdmchan          697 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Loop Disable Failed");
ftdmchan          705 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err=sangoma_tdm_set_usr_period(ftdmchan->sockfd, &tdm_api, FTDM_COMMAND_OBJ_INT);
ftdmchan          706 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdmchan->packet_len = ftdmchan->native_interval * (ftdmchan->effective_codec == FTDM_CODEC_SLIN ? 16 : 8);
ftdmchan          712 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_write_rbs(ftdmchan->sockfd,&tdm_api, ftdmchan->physical_chan_id, wanpipe_swap_bits(FTDM_COMMAND_OBJ_INT));
ftdmchan          714 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_write_rbs(ftdmchan->sockfd, &tdm_api, wanpipe_swap_bits(FTDM_COMMAND_OBJ_INT));
ftdmchan          722 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_read_rbs(ftdmchan->sockfd, &tdm_api, ftdmchan->physical_chan_id, &rbsbits);
ftdmchan          728 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			FTDM_COMMAND_OBJ_INT = ftdmchan->rx_cas_bits;
ftdmchan          736 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_set_fe_status(ftdmchan->sockfd, &tdm_api, sangoma_status);
ftdmchan          742 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_get_fe_status(ftdmchan->sockfd, &tdm_api, &sangoma_status);
ftdmchan          753 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan          776 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	rx_len = sangoma_readmsg_tdm(ftdmchan->sockfd, &hdrframe, (int)sizeof(hdrframe), data, (int)*datalen, 0);
ftdmchan          780 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Read 0 bytes\n");
ftdmchan          786 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan          787 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Failed to read from sangoma device: %s (%d)\n", strerror(errno), rx_len);
ftdmchan          812 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	bsent = sangoma_writemsg_tdm(ftdmchan->sockfd, &hdrframe, (int)sizeof(hdrframe), data, (unsigned short)(*datalen),0);
ftdmchan          848 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	result = tdmv_api_wait_socket(ftdmchan, to, &inflags);
ftdmchan          853 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Poll failed");
ftdmchan          896 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan          898 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		if (!ftdmchan->mod_data) {
ftdmchan          901 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		pfds[j] = ftdmchan->mod_data;
ftdmchan          910 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_WINK) || ftdm_test_flag(ftdmchan, FTDM_CHANNEL_FLASH)) {
ftdmchan          916 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_RINGING)) {
ftdmchan          920 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_RINGING) && ftdm_current_time_in_ms() >= ftdmchan->ring_time) {
ftdmchan          924 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			if (ftdm_test_pflag(ftdmchan, WP_RINGING)) {
ftdmchan          925 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				err = sangoma_tdm_txsig_offhook(ftdmchan->sockfd,&tdm_api);
ftdmchan          927 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring-off Failed");
ftdmchan          931 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdm_clear_pflag_locked(ftdmchan, WP_RINGING);
ftdmchan          932 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdmchan->ring_time = ftdm_current_time_in_ms() + wp_globals.ring_off_ms;
ftdmchan          934 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				err=sangoma_tdm_txsig_start(ftdmchan->sockfd,&tdm_api);
ftdmchan          936 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 					snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring Failed");
ftdmchan          940 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdm_set_pflag_locked(ftdmchan, WP_RINGING);
ftdmchan          941 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdmchan->ring_time = ftdm_current_time_in_ms() + wp_globals.ring_on_ms;
ftdmchan          971 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan          978 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_set_flag(ftdmchan, FTDM_CHANNEL_EVENT);
ftdmchan          979 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdmchan->last_event_time = ftdm_current_time_in_ms();
ftdmchan         1001 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	if ((err = sangoma_tdm_get_fe_alarms(ftdmchan->sockfd, &tdm_api, &alarms))) {
ftdmchan         1002 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan         1003 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan         1007 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	if ((err = sangoma_tdm_get_fe_alarms(ftdmchan->sockfd, &tdm_api)) < 0){
ftdmchan         1008 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan         1009 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan         1014 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	ftdmchan->alarm_flags = FTDM_ALARM_NONE;
ftdmchan         1017 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->alarm_flags |= FTDM_ALARM_RED;
ftdmchan         1022 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->alarm_flags |= FTDM_ALARM_BLUE;
ftdmchan         1027 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->alarm_flags |= FTDM_ALARM_YELLOW;
ftdmchan         1071 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan         1075 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						sangoma_tdm_txsig_onhook(ftdmchan->sockfd,&tdm_api);
ftdmchan         1083 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan         1087 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_read_event(ftdmchan->sockfd, &tdm_api);
ftdmchan         1135 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						ftdm_channel_t *ftdmchan = span->channels[i];
ftdmchan         1136 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						err=sangoma_tdm_txsig_onhook(ftdmchan->sockfd,&tdm_api);
ftdmchan         1170 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Ignoring wanpipe DTMF: %c, fax tones will be passed through!\n", tmp_dtmf[0]);
ftdmchan         1175 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_MUTE);
ftdmchan         1179 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_MUTE);
ftdmchan         1180 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 						if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_INUSE)) {
ftdmchan         1181 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 							ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Queuing wanpipe DTMF: %c\n", tmp_dtmf[0]);
ftdmchan         1182 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 							ftdm_channel_queue_dtmf(ftdmchan, tmp_dtmf);
ftdmchan         1189 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 					ftdm_log_chan(ftdmchan, FTDM_LOG_DEBUG, "Got wanpipe alarms %d\n", tdm_api.wp_tdm_cmd.event.wp_api_event_alarm);
ftdmchan         1195 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 					ftdm_log_chan(ftdmchan, FTDM_LOG_WARNING, "Unhandled wanpipe event %d\n", tdm_api.wp_tdm_cmd.event.wp_tdm_api_event_type);
ftdmchan         1224 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	if (ftdmchan->mod_data) {
ftdmchan         1226 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		sangoma_wait_obj = ftdmchan->mod_data;
ftdmchan         1227 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		ftdmchan->mod_data = NULL;
ftdmchan         1232 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 	if (ftdmchan->sockfd != FTDM_INVALID_SOCKET) {
ftdmchan         1237 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		if (ftdm_channel_test_feature(ftdmchan, FTDM_CHANNEL_FEATURE_DTMF_DETECT)) {
ftdmchan         1241 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 			err = sangoma_tdm_enable_dtmf_events(ftdmchan->sockfd, &tdm_api);
ftdmchan         1243 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 				ftdm_log_chan_msg(ftdmchan, FTDM_LOG_WARNING, "Failed enabling Sangoma HW DTMF failed on channel destroy\n");
ftdmchan         1246 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c 		sangoma_close(&ftdmchan->sockfd);
ftdmchan          261 src/ftmod/ftmod_zt/ftmod_zt.c 		ftdm_channel_t *ftdmchan;
ftdmchan          266 src/ftmod/ftmod_zt/ftmod_zt.c 		if (sockfd != ZT_INVALID_SOCKET && ftdm_span_add_channel(span, sockfd, type, &ftdmchan) == FTDM_SUCCESS) {
ftdmchan          274 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan          282 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdm_log(FTDM_LOG_ERROR, "failure configuring device %s as FreeTDM device %d:%d fd:%d\n", chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd);
ftdmchan          344 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdm_log(FTDM_LOG_ERROR, "failure configuring device %s as FreeTDM device %d:%d fd:%d err:%s", chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd, strerror(errno));
ftdmchan          350 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ftdmchan->type != FTDM_CHAN_TYPE_DQ921 && ftdmchan->type != FTDM_CHAN_TYPE_DQ931) {
ftdmchan          352 src/ftmod/ftmod_zt/ftmod_zt.c 				if (ioctl(ftdmchan->sockfd, codes.SET_BLOCKSIZE, &len)) {
ftdmchan          354 src/ftmod/ftmod_zt/ftmod_zt.c 							chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd, strerror(errno));
ftdmchan          359 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdmchan->packet_len = len;
ftdmchan          360 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdmchan->effective_interval = ftdmchan->native_interval = ftdmchan->packet_len / 8;
ftdmchan          362 src/ftmod/ftmod_zt/ftmod_zt.c 				if (ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan          363 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->packet_len *= 2;
ftdmchan          368 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_ERROR, "failure configuring device %s as FreeTDM device %d:%d fd:%d\n", chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd);
ftdmchan          373 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan          379 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdm_log(FTDM_LOG_ERROR, "Failure configuring device %s as FreeTDM device %d:%d fd:%d, hardware signaling is not HDLC, fix your Zap/DAHDI configuration!\n", chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd);
ftdmchan          385 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdm_log(FTDM_LOG_INFO, "configuring device %s channel %d as FreeTDM device %d:%d fd:%d\n", chanpath, x, ftdmchan->span_id, ftdmchan->chan_id, sockfd);
ftdmchan          387 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->rate = 8000;
ftdmchan          388 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->physical_span_id = ztp.span_no;
ftdmchan          389 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->physical_chan_id = ztp.chan_no;
ftdmchan          393 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->native_codec = ftdmchan->effective_codec = FTDM_CODEC_ALAW;
ftdmchan          395 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->native_codec = ftdmchan->effective_codec = FTDM_CODEC_ULAW;
ftdmchan          399 src/ftmod/ftmod_zt/ftmod_zt.c 					if (ftdmchan->span->trunk_type == FTDM_TRUNK_E1) {
ftdmchan          405 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->native_codec = ftdmchan->effective_codec = type;
ftdmchan          414 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_ERROR, "failure configuring device %s as FreeTDM device %d:%d fd:%d\n", chanpath, ftdmchan->span_id, ftdmchan->chan_id, sockfd);
ftdmchan          420 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_copy_string(ftdmchan->chan_name, name, sizeof(ftdmchan->chan_name));
ftdmchan          423 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_copy_string(ftdmchan->chan_number, number, sizeof(ftdmchan->chan_number));
ftdmchan          591 src/ftmod/ftmod_zt/ftmod_zt.c 	ftdm_channel_set_feature(ftdmchan, FTDM_CHANNEL_FEATURE_INTERVAL);
ftdmchan          593 src/ftmod/ftmod_zt/ftmod_zt.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921 || ftdmchan->type == FTDM_CHAN_TYPE_DQ931) {
ftdmchan          594 src/ftmod/ftmod_zt/ftmod_zt.c 		ftdmchan->native_codec = ftdmchan->effective_codec = FTDM_CODEC_NONE;
ftdmchan          596 src/ftmod/ftmod_zt/ftmod_zt.c 		int blocksize = zt_globals.codec_ms * (ftdmchan->rate / 1000);
ftdmchan          598 src/ftmod/ftmod_zt/ftmod_zt.c 		if ((err = ioctl(ftdmchan->sockfd, codes.SET_BLOCKSIZE, &blocksize))) {
ftdmchan          599 src/ftmod/ftmod_zt/ftmod_zt.c 			snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan          602 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->effective_interval = ftdmchan->native_interval;
ftdmchan          603 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->packet_len = blocksize;
ftdmchan          604 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdmchan->native_codec = ftdmchan->effective_codec;
ftdmchan          607 src/ftmod/ftmod_zt/ftmod_zt.c 		if (ftdmchan->type == FTDM_CHAN_TYPE_B) {
ftdmchan          609 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.AUDIOMODE, &one)) {
ftdmchan          610 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan          611 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_ERROR, "%s\n", ftdmchan->last_error);
ftdmchan          619 src/ftmod/ftmod_zt/ftmod_zt.c 			gains.chan_no = ftdmchan->physical_chan_id;
ftdmchan          620 src/ftmod/ftmod_zt/ftmod_zt.c 			zt_build_gains(&gains, zt_globals.rxgain, zt_globals.txgain, ftdmchan->native_codec);
ftdmchan          628 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.SETGAINS, &gains) < 0) {
ftdmchan          629 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_ERROR, "failure configuring device %s as FreeTDM device %d:%d fd:%d\n", chanpath, ftdmchan->span_id, ftdmchan->chan_id, ftdmchan->sockfd);
ftdmchan          636 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_INFO, "Setting echo cancel to %d taps for %d:%d\n", len, ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          638 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_INFO, "Disable echo cancel for %d:%d\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          640 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.ECHOCANCEL, &len)) {
ftdmchan          641 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdm_log(FTDM_LOG_WARNING, "Echo cancel not available for %d:%d\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          644 src/ftmod/ftmod_zt/ftmod_zt.c 				if (ioctl(ftdmchan->sockfd, codes.ECHOTRAIN, &len)) {
ftdmchan          645 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdm_log(FTDM_LOG_WARNING, "Echo training not available for %d:%d\n", ftdmchan->span_id, ftdmchan->chan_id);
ftdmchan          682 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.ECHOCANCEL, &level);
ftdmchan          688 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.ECHOCANCEL, &level);
ftdmchan          695 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.ECHOTRAIN, &level);
ftdmchan          701 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.ECHOTRAIN, &level);
ftdmchan          708 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          709 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "OFFHOOK Failed");
ftdmchan          712 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          718 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          719 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "ONHOOK Failed");
ftdmchan          722 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_OFFHOOK);
ftdmchan          728 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          729 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "FLASH Failed");
ftdmchan          737 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          738 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "WINK Failed");
ftdmchan          746 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          747 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring Failed");
ftdmchan          750 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdm_set_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          756 src/ftmod/ftmod_zt/ftmod_zt.c 			if (ioctl(ftdmchan->sockfd, codes.HOOK, &command)) {
ftdmchan          757 src/ftmod/ftmod_zt/ftmod_zt.c 				snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Ring-off failed");
ftdmchan          760 src/ftmod/ftmod_zt/ftmod_zt.c 			ftdm_clear_flag_locked(ftdmchan, FTDM_CHANNEL_RINGING);
ftdmchan          766 src/ftmod/ftmod_zt/ftmod_zt.c 			if (!(err = ioctl(ftdmchan->sockfd, codes.GET_BLOCKSIZE, &ftdmchan->packet_len))) {
ftdmchan          767 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdmchan->native_interval = ftdmchan->packet_len / 8;
ftdmchan          768 src/ftmod/ftmod_zt/ftmod_zt.c 				if (ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan          769 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->packet_len *= 2;
ftdmchan          771 src/ftmod/ftmod_zt/ftmod_zt.c 				FTDM_COMMAND_OBJ_INT = ftdmchan->native_interval;
ftdmchan          780 src/ftmod/ftmod_zt/ftmod_zt.c 			if (!(err = ioctl(ftdmchan->sockfd, codes.SET_BLOCKSIZE, &len))) {
ftdmchan          781 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdmchan->packet_len = len;
ftdmchan          782 src/ftmod/ftmod_zt/ftmod_zt.c 				ftdmchan->effective_interval = ftdmchan->native_interval = ftdmchan->packet_len / 8;
ftdmchan          784 src/ftmod/ftmod_zt/ftmod_zt.c 				if (ftdmchan->effective_codec == FTDM_CODEC_SLIN) {
ftdmchan          785 src/ftmod/ftmod_zt/ftmod_zt.c 					ftdmchan->packet_len *= 2;
ftdmchan          793 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.SETTXBITS, &bits);
ftdmchan          798 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.GETRXBITS, &ftdmchan->rx_cas_bits);
ftdmchan          800 src/ftmod/ftmod_zt/ftmod_zt.c 				FTDM_COMMAND_OBJ_INT = ftdmchan->rx_cas_bits;
ftdmchan          807 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.FLUSH, &flushmode);
ftdmchan          813 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.FLUSH, &flushmode);
ftdmchan          819 src/ftmod/ftmod_zt/ftmod_zt.c 			err = ioctl(ftdmchan->sockfd, codes.FLUSH, &flushmode);
ftdmchan          828 src/ftmod/ftmod_zt/ftmod_zt.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", strerror(errno));
ftdmchan          846 src/ftmod/ftmod_zt/ftmod_zt.c 	info.span_no = ftdmchan->physical_span_id;
ftdmchan          849 src/ftmod/ftmod_zt/ftmod_zt.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan          850 src/ftmod/ftmod_zt/ftmod_zt.c 		snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno));
ftdmchan          854 src/ftmod/ftmod_zt/ftmod_zt.c 	ftdmchan->alarm_flags = info.alarms;
ftdmchan          886 src/ftmod/ftmod_zt/ftmod_zt.c     pfds[0].fd = ftdmchan->sockfd;
ftdmchan          902 src/ftmod/ftmod_zt/ftmod_zt.c 		snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Poll failed");
ftdmchan         1085 src/ftmod/ftmod_zt/ftmod_zt.c 		if ((r = read(ftdmchan->sockfd, data, *datalen)) > 0) {
ftdmchan         1096 src/ftmod/ftmod_zt/ftmod_zt.c 		if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan         1117 src/ftmod/ftmod_zt/ftmod_zt.c 	if (ftdmchan->type == FTDM_CHAN_TYPE_DQ921) {
ftdmchan         1122 src/ftmod/ftmod_zt/ftmod_zt.c 	w = write(ftdmchan->sockfd, data, bytes);
ftdmchan         1139 src/ftmod/ftmod_zt/ftmod_zt.c 	close(ftdmchan->sockfd);
ftdmchan         1140 src/ftmod/ftmod_zt/ftmod_zt.c 	ftdmchan->sockfd = ZT_INVALID_SOCKET;
ftdmchan          456 src/include/freetdm.h #define FIO_CHANNEL_REQUEST_ARGS (ftdm_span_t *span, uint32_t chan_id, ftdm_direction_t direction, ftdm_caller_data_t *caller_data, ftdm_channel_t **ftdmchan)
ftdmchan          457 src/include/freetdm.h #define FIO_CHANNEL_OUTGOING_CALL_ARGS (ftdm_channel_t *ftdmchan)
ftdmchan          458 src/include/freetdm.h #define FIO_CHANNEL_SET_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status)
ftdmchan          459 src/include/freetdm.h #define FIO_CHANNEL_GET_SIG_STATUS_ARGS (ftdm_channel_t *ftdmchan, ftdm_signaling_status_t *status)
ftdmchan          465 src/include/freetdm.h #define FIO_EVENT_CB_ARGS (ftdm_channel_t *ftdmchan, ftdm_event_t *event)
ftdmchan          468 src/include/freetdm.h #define FIO_OPEN_ARGS (ftdm_channel_t *ftdmchan)
ftdmchan          469 src/include/freetdm.h #define FIO_CLOSE_ARGS (ftdm_channel_t *ftdmchan)
ftdmchan          470 src/include/freetdm.h #define FIO_CHANNEL_DESTROY_ARGS (ftdm_channel_t *ftdmchan)
ftdmchan          472 src/include/freetdm.h #define FIO_COMMAND_ARGS (ftdm_channel_t *ftdmchan, ftdm_command_t command, void *obj)
ftdmchan          473 src/include/freetdm.h #define FIO_WAIT_ARGS (ftdm_channel_t *ftdmchan, ftdm_wait_flag_t *flags, int32_t to)
ftdmchan          474 src/include/freetdm.h #define FIO_GET_ALARMS_ARGS (ftdm_channel_t *ftdmchan)
ftdmchan          475 src/include/freetdm.h #define FIO_READ_ARGS (ftdm_channel_t *ftdmchan, void *data, ftdm_size_t *datalen)
ftdmchan          476 src/include/freetdm.h #define FIO_WRITE_ARGS (ftdm_channel_t *ftdmchan, void *data, ftdm_size_t *datalen)
ftdmchan          602 src/include/freetdm.h #define ftdm_channel_call_answer(ftdmchan) _ftdm_channel_call_answer(__FILE__, __FUNCTION__, __LINE__, (ftdmchan))
ftdmchan          605 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_answer(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan);
ftdmchan          608 src/include/freetdm.h #define ftdm_channel_call_place(ftdmchan) _ftdm_channel_call_place(__FILE__, __FUNCTION__, __LINE__, (ftdmchan))
ftdmchan          611 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_place(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan);
ftdmchan          614 src/include/freetdm.h #define ftdm_channel_call_indicate(ftdmchan, indication) _ftdm_channel_call_indicate(__FILE__, __FUNCTION__, __LINE__, (ftdmchan), (indication))
ftdmchan          617 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_indicate(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan, ftdm_channel_indication_t indication);
ftdmchan          620 src/include/freetdm.h #define ftdm_channel_call_hangup(ftdmchan) _ftdm_channel_call_hangup(__FILE__, __FUNCTION__, __LINE__, (ftdmchan))
ftdmchan          623 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hangup(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan);
ftdmchan          626 src/include/freetdm.h #define ftdm_channel_call_hangup_with_cause(ftdmchan, cause) _ftdm_channel_call_hangup_with_cause(__FILE__, __FUNCTION__, __LINE__, (ftdmchan), (cause))
ftdmchan          629 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hangup_with_cause(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan, ftdm_call_cause_t);
ftdmchan          632 src/include/freetdm.h #define ftdm_channel_call_hold(ftdmchan) _ftdm_channel_call_hold(__FILE__, __FUNCTION__, __LINE__, (ftdmchan))
ftdmchan          635 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_hold(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan);
ftdmchan          638 src/include/freetdm.h #define ftdm_channel_call_unhold(ftdmchan) _ftdm_channel_call_unhold(__FILE__, __FUNCTION__, __LINE__, (ftdmchan))
ftdmchan          641 src/include/freetdm.h FT_DECLARE(ftdm_status_t) _ftdm_channel_call_unhold(const char *file, const char *func, int line, ftdm_channel_t *ftdmchan);
ftdmchan          644 src/include/freetdm.h FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_answered(const ftdm_channel_t *ftdmchan);
ftdmchan          647 src/include/freetdm.h FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_busy(const ftdm_channel_t *ftdmchan);
ftdmchan          650 src/include/freetdm.h FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_hangup(const ftdm_channel_t *ftdmchan);
ftdmchan          653 src/include/freetdm.h FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_done(const ftdm_channel_t *ftdmchan);
ftdmchan          656 src/include/freetdm.h FT_DECLARE(ftdm_bool_t) ftdm_channel_call_check_hold(const ftdm_channel_t *ftdmchan);
ftdmchan          659 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_set_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t status);
ftdmchan          662 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_get_sig_status(ftdm_channel_t *ftdmchan, ftdm_signaling_status_t *status);
ftdmchan          677 src/include/freetdm.h FT_DECLARE(void) ftdm_channel_set_private(ftdm_channel_t *ftdmchan, void *pvt);
ftdmchan          686 src/include/freetdm.h FT_DECLARE(void *) ftdm_channel_get_private(const ftdm_channel_t *ftdmchan);
ftdmchan          697 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_clear_token(ftdm_channel_t *ftdmchan, const char *token);
ftdmchan          706 src/include/freetdm.h FT_DECLARE(void) ftdm_channel_replace_token(ftdm_channel_t *ftdmchan, const char *old_token, const char *new_token);
ftdmchan          718 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_add_token(ftdm_channel_t *ftdmchan, char *token, int end);
ftdmchan          729 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_token(const ftdm_channel_t *ftdmchan, uint32_t tokenid);
ftdmchan          738 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_token_count(const ftdm_channel_t *ftdmchan);
ftdmchan          747 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_io_interval(const ftdm_channel_t *ftdmchan);
ftdmchan          756 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_io_packet_len(const ftdm_channel_t *ftdmchan);
ftdmchan          765 src/include/freetdm.h FT_DECLARE(ftdm_codec_t) ftdm_channel_get_codec(const ftdm_channel_t *ftdmchan);
ftdmchan          774 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_last_error(const ftdm_channel_t *ftdmchan);
ftdmchan          785 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_get_alarms(ftdm_channel_t *ftdmchan, ftdm_alarm_flag_t *alarmbits);
ftdmchan          794 src/include/freetdm.h FT_DECLARE(ftdm_chan_type_t) ftdm_channel_get_type(const ftdm_channel_t *ftdmchan);
ftdmchan          806 src/include/freetdm.h FT_DECLARE(ftdm_size_t) ftdm_channel_dequeue_dtmf(ftdm_channel_t *ftdmchan, char *dtmf, ftdm_size_t len);
ftdmchan          813 src/include/freetdm.h FT_DECLARE(void) ftdm_channel_flush_dtmf(ftdm_channel_t *ftdmchan);
ftdmchan          877 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_add_to_group(const char* name, ftdm_channel_t* ftdmchan);
ftdmchan          880 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_remove_from_group(ftdm_group_t* group, ftdm_channel_t* ftdmchan);
ftdmchan          913 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_open(uint32_t span_id, uint32_t chan_id, ftdm_channel_t **ftdmchan);
ftdmchan          929 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_open_by_span(uint32_t span_id, ftdm_direction_t direction, ftdm_caller_data_t *caller_data, ftdm_channel_t **ftdmchan);
ftdmchan          945 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_open_by_group(uint32_t group_id, ftdm_direction_t direction, ftdm_caller_data_t *caller_data, ftdm_channel_t **ftdmchan);
ftdmchan          958 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_close(ftdm_channel_t **ftdmchan);
ftdmchan          970 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_command(ftdm_channel_t *ftdmchan, ftdm_command_t command, void *arg);
ftdmchan          982 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_wait(ftdm_channel_t *ftdmchan, ftdm_wait_flag_t *flags, int32_t timeout);
ftdmchan          994 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_read(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t *datalen);
ftdmchan         1019 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_write(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t datasize, ftdm_size_t *datalen);
ftdmchan         1025 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_add_var(ftdm_channel_t *ftdmchan, const char *var_name, const char *value);
ftdmchan         1029 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_var(ftdm_channel_t *ftdmchan, const char *var_name);
ftdmchan         1038 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_channel_get_var_iterator(const ftdm_channel_t *ftdmchan, ftdm_iterator_t *iter);
ftdmchan         1058 src/include/freetdm.h FT_DECLARE(ftdm_span_t *) ftdm_channel_get_span(const ftdm_channel_t *ftdmchan);
ftdmchan         1061 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_span_id(const ftdm_channel_t *ftdmchan);
ftdmchan         1064 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_ph_span_id(const ftdm_channel_t *ftdmchan);
ftdmchan         1067 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_span_name(const ftdm_channel_t *ftdmchan);
ftdmchan         1070 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_id(const ftdm_channel_t *ftdmchan);
ftdmchan         1073 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_name(const ftdm_channel_t *ftdmchan);
ftdmchan         1076 src/include/freetdm.h FT_DECLARE(const char *) ftdm_channel_get_number(const ftdm_channel_t *ftdmchan);
ftdmchan         1079 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_channel_get_ph_id(const ftdm_channel_t *ftdmchan);
ftdmchan         1256 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_set_caller_data(ftdm_channel_t *ftdmchan, ftdm_caller_data_t *caller_data);
ftdmchan         1274 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_channel_init(ftdm_channel_t *ftdmchan);
ftdmchan          526 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_send_fsk_data(ftdm_channel_t *ftdmchan, ftdm_fsk_data_state_t *fsk_data, float db_level);
ftdmchan          529 src/include/private/ftdm_core.h 		ftdm_channel_t *ftdmchan, ftdm_channel_state_t state, int wait);
ftdmchan          534 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_use(ftdm_channel_t *ftdmchan);
ftdmchan          545 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_complete_state(ftdm_channel_t *ftdmchan);
ftdmchan          553 src/include/private/ftdm_core.h FT_DECLARE(void) ftdm_channel_clear_needed_tones(ftdm_channel_t *ftdmchan);
ftdmchan          554 src/include/private/ftdm_core.h FT_DECLARE(void) ftdm_channel_rotate_tokens(ftdm_channel_t *ftdmchan);
ftdmchan          559 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_done(ftdm_channel_t *ftdmchan);
ftdmchan          562 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_open_chan(ftdm_channel_t *ftdmchan);
ftdmchan          593 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_channel_queue_dtmf(ftdm_channel_t *ftdmchan, const char *dtmf);
ftdmchan          599 src/include/private/ftdm_core.h FT_DECLARE(void) ftdm_channel_clear_detected_tones(ftdm_channel_t *ftdmchan);
ftdmchan          375 src/include/private/ftdm_types.h typedef ftdm_status_t (*ftdm_channel_sig_read_t)(ftdm_channel_t *ftdmchan, void *data, ftdm_size_t size);
ftdmchan           18 src/testpri.c  	ftdm_channel_t *ftdmchan = obj;
ftdmchan           21 src/testpri.c  	int spanid = ftdm_channel_get_span_id(ftdmchan);
ftdmchan           22 src/testpri.c  	int chanid = ftdm_channel_get_id(ftdmchan);
ftdmchan           28 src/testpri.c  	ftdm_channel_call_answer(ftdmchan);
ftdmchan           46 src/testpri.c  		if (ftdm_channel_write(ftdmchan, buf, sizeof(buf), &bbytes) != FTDM_SUCCESS) {
ftdmchan           55 src/testpri.c  	ftdm_channel_call_hangup(ftdmchan);
ftdmchan          234 src/testsangomaboost.c 	ftdm_channel_t *ftdmchan = NULL;
ftdmchan          249 src/testsangomaboost.c 	status = ftdm_channel_open_by_span(ftdm_span_get_id(span), FTDM_TOP_DOWN, &caller_data, &ftdmchan);
ftdmchan          256 src/testsangomaboost.c 	g_outgoing_channel = ftdmchan;
ftdmchan          260 src/testsangomaboost.c 	ftdm_channel_set_caller_data(ftdmchan, &caller_data);
ftdmchan          262 src/testsangomaboost.c 	status = ftdm_channel_call_place(ftdmchan);
ftdmchan          269 src/testsangomaboost.c 	ftdm_channel_init(ftdmchan);