span 121 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 153 mod_freetdm/mod_freetdm.c void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream); span 154 mod_freetdm/mod_freetdm.c void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream); span 1128 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 1129 mod_freetdm/mod_freetdm.c ftdm_status_t zstatus = ftdm_span_find_by_name(span_name, &span); span 1130 mod_freetdm/mod_freetdm.c if (zstatus == FTDM_SUCCESS && span) { span 1131 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2387 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2397 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2401 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2405 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2415 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2474 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, span 2481 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2486 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2548 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2560 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2564 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2568 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2578 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2612 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, span 2619 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2624 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2646 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2650 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2654 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2658 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2668 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2747 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2751 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2755 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2765 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2768 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "analog", on_analog_signal, span 2776 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Error configuring FreeTDM analog span %s\n", ftdm_span_get_name(span)); span 2780 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2785 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 2805 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2823 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2871 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2875 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2879 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2889 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2893 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "analog_em", on_analog_signal, span 2902 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2919 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2935 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2981 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2985 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2989 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3003 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3010 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "isdn", on_clear_channel_signal, span 3020 mod_freetdm/mod_freetdm.c mode, dialect, ftdm_span_get_last_error(span)); span 3024 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3029 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3043 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3066 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3072 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3073 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "pritap", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3078 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3083 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3104 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3136 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3140 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 3144 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3154 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3158 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "libpri", on_clear_channel_signal, span 3168 mod_freetdm/mod_freetdm.c ftdm_span_get_last_error(span)); span 3172 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3177 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3190 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3225 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3229 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 3233 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3243 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3246 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3247 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Error starting FreeTDM span %d error: %s\n", span_id, ftdm_span_get_last_error(span)); span 3251 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3256 mod_freetdm/mod_freetdm.c boost_spans[boosti++] = span; span 3295 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3360 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3364 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 3368 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3378 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3381 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "r2", on_r2_signal, span 3401 mod_freetdm/mod_freetdm.c span_id, ftdm_span_get_last_error(span)); span 3413 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3418 mod_freetdm/mod_freetdm.c if (ftdm_span_start(span) == FTDM_FAIL) { span 3419 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Error starting R2 FreeTDM span %d, error: %s\n", span_id, ftdm_span_get_last_error(span)); span 3447 mod_freetdm/mod_freetdm.c void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) span 3463 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 3468 mod_freetdm/mod_freetdm.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 3469 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3535 mod_freetdm/mod_freetdm.c void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) span 3548 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 3552 mod_freetdm/mod_freetdm.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 3553 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3633 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 3636 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[1], &span); span 3652 mod_freetdm/mod_freetdm.c if (!span) { span 3656 mod_freetdm/mod_freetdm.c if(chan_id > ftdm_span_get_chan_count(span)) { span 3659 mod_freetdm/mod_freetdm.c dump_chan_xml(span, chan_id, stream); span 3662 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 3664 mod_freetdm/mod_freetdm.c dump_chan_xml(span, ftdm_channel_get_id(ftdm_iterator_current(curr)), stream); span 3672 mod_freetdm/mod_freetdm.c if (!span) { span 3676 mod_freetdm/mod_freetdm.c if(chan_id > ftdm_span_get_chan_count(span)) { span 3680 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); span 3681 mod_freetdm/mod_freetdm.c dump_chan(span, chan_id, stream); span 3688 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 3690 mod_freetdm/mod_freetdm.c dump_chan(span, ftdm_channel_get_id(ftdm_iterator_current(curr)), stream); span 3701 mod_freetdm/mod_freetdm.c if (SPAN_CONFIG[j].span) { span 3712 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(SPAN_CONFIG[j].span, 1); span 3717 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_span_get_sig_status(SPAN_CONFIG[j].span, &sigstatus))) { span 3732 mod_freetdm/mod_freetdm.c ftdm_span_get_name(SPAN_CONFIG[j].span), span 3736 mod_freetdm/mod_freetdm.c ftdm_span_get_chan_count(SPAN_CONFIG[j].span), span 3758 mod_freetdm/mod_freetdm.c ftdm_span_get_name(SPAN_CONFIG[j].span), span 3761 mod_freetdm/mod_freetdm.c ftdm_span_get_chan_count(SPAN_CONFIG[j].span), span 3774 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3778 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(span_name, &span); span 3781 mod_freetdm/mod_freetdm.c if (!span) { span 3787 mod_freetdm/mod_freetdm.c status = ftdm_span_stop(span); span 3789 mod_freetdm/mod_freetdm.c status = ftdm_span_start(span); span 3799 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 3808 mod_freetdm/mod_freetdm.c if (!(span_id && (span = SPAN_CONFIG[span_id].span))) { span 3827 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "isdn", on_clear_channel_signal, "q931topcap", 1, "pcapfilename", tmp_path, FTDM_TAG_END) != FTDM_SUCCESS) { span 3834 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "isdn", on_clear_channel_signal, "q931topcap", 0, FTDM_TAG_END) != FTDM_SUCCESS) { span 3849 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3863 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[2], &span); span 3864 mod_freetdm/mod_freetdm.c if (!span) { span 3868 mod_freetdm/mod_freetdm.c schan_count = ftdm_span_get_chan_count(span); span 3878 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); span 3882 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); span 3894 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3900 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[2], &span); span 3901 mod_freetdm/mod_freetdm.c if (!span) { span 3905 mod_freetdm/mod_freetdm.c chan_count = ftdm_span_get_chan_count(span); span 3913 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3915 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, chan_id); span 3922 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, i); span 3935 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3940 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[1], &span); span 3941 mod_freetdm/mod_freetdm.c if (!span) { span 3945 mod_freetdm/mod_freetdm.c chan_count = ftdm_span_get_chan_count(span); span 3954 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); span 3958 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); span 3970 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3975 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[3], &span); span 3976 mod_freetdm/mod_freetdm.c if (!span) { span 3982 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 3995 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, chan_id); span 3999 mod_freetdm/mod_freetdm.c ccount = ftdm_span_get_chan_count(span); span 4001 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, i); span 217 sample/boost/ftdmstart.c static void place_call(const ftdm_span_t *span, const char *number) span 234 sample/boost/ftdmstart.c status = ftdm_channel_open_by_span(ftdm_span_get_id(span), FTDM_TOP_DOWN, &caller_data, &ftdmchan); span 268 sample/boost/ftdmstart.c ftdm_span_t *span; span 338 sample/boost/ftdmstart.c span = span_list[i]; span 347 sample/boost/ftdmstart.c ftdm_configure_span_channels(span, wpchans, &chan_config, &configured); span 360 sample/boost/ftdmstart.c if (ftdm_span_find_by_name(spanname, &span) != FTDM_SUCCESS) { span 361 sample/boost/ftdmstart.c ftdm_log(FTDM_LOG_ERROR, "Error finding FreeTDM span %s\n", ftdm_span_get_name(span)); span 396 sample/boost/ftdmstart.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_signaling_event, parameters) != FTDM_SUCCESS) { span 397 sample/boost/ftdmstart.c ftdm_log(FTDM_LOG_ERROR, "Error configuring sangoma_boost signaling abstraction in span %s\n", ftdm_span_get_name(span)); span 413 sample/boost/ftdmstart.c if (ftdm_span_find_by_name(spanname, &span) != FTDM_SUCCESS) { span 414 sample/boost/ftdmstart.c ftdm_log(FTDM_LOG_ERROR, "Error finding FreeTDM span %s\n", ftdm_span_get_name(span)); span 418 sample/boost/ftdmstart.c if (ftdm_span_start(span) != FTDM_SUCCESS) { span 419 sample/boost/ftdmstart.c ftdm_log(FTDM_LOG_ERROR, "Failing starting signaling on span %s\n", ftdm_span_get_name(span)); span 428 sample/boost/ftdmstart.c if (ftdm_span_find(1, &span) != FTDM_SUCCESS) { span 440 sample/boost/ftdmstart.c place_call(span, todial); span 150 src/ftdm_io.c static ftdm_status_t ftdm_group_add_channels(ftdm_span_t* span, int currindex, const char* name); span 291 src/ftdm_io.c static ftdm_status_t ftdm_set_caller_data(ftdm_span_t *span, ftdm_caller_data_t *caller_data) span 299 src/ftdm_io.c caller_data->dnis.plan = span->default_caller_data.dnis.plan; span 303 src/ftdm_io.c caller_data->dnis.type = span->default_caller_data.dnis.type; span 307 src/ftdm_io.c caller_data->cid_num.plan = span->default_caller_data.cid_num.plan; span 311 src/ftdm_io.c caller_data->cid_num.type = span->default_caller_data.cid_num.type; span 315 src/ftdm_io.c caller_data->ani.plan = span->default_caller_data.ani.plan; span 319 src/ftdm_io.c caller_data->ani.type = span->default_caller_data.ani.type; span 323 src/ftdm_io.c caller_data->rdnis.plan = span->default_caller_data.rdnis.plan; span 327 src/ftdm_io.c caller_data->rdnis.type = span->default_caller_data.rdnis.type; span 331 src/ftdm_io.c caller_data->bearer_capability = span->default_caller_data.bearer_capability; span 335 src/ftdm_io.c caller_data->bearer_layer1 = span->default_caller_data.bearer_layer1; span 353 src/ftdm_io.c if ((err = ftdm_set_caller_data(ftdmchan->span, caller_data)) != FTDM_SUCCESS) { span 454 src/ftdm_io.c if (ftdmchan->span->fio->channel_destroy) { span 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); span 456 src/ftdm_io.c if (ftdmchan->span->fio->channel_destroy(ftdmchan) == FTDM_SUCCESS) { span 470 src/ftdm_io.c static ftdm_status_t ftdm_span_destroy(ftdm_span_t *span) span 475 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 478 src/ftdm_io.c ftdm_span_stop(span); span 481 src/ftdm_io.c ftdm_clear_flag(span, FTDM_SPAN_CONFIGURED); span 482 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 483 src/ftdm_io.c ftdm_channel_t *cur_chan = span->channels[j]; span 494 src/ftdm_io.c if (span->fio && span->fio->span_destroy) { span 495 src/ftdm_io.c ftdm_log(FTDM_LOG_INFO, "Destroying span %u type (%s)\n", span->span_id, span->type); span 496 src/ftdm_io.c if (span->fio->span_destroy(span) != FTDM_SUCCESS) { span 499 src/ftdm_io.c ftdm_safe_free(span->type); span 500 src/ftdm_io.c ftdm_safe_free(span->name); span 501 src/ftdm_io.c ftdm_safe_free(span->dtmf_hangup); span 505 src/ftdm_io.c if (span->pendingchans) { span 506 src/ftdm_io.c ftdm_queue_destroy(&span->pendingchans); span 508 src/ftdm_io.c if (span->pendingsignals) { span 509 src/ftdm_io.c ftdm_queue_destroy(&span->pendingsignals); span 511 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 512 src/ftdm_io.c ftdm_mutex_destroy(&span->mutex); span 513 src/ftdm_io.c ftdm_safe_free(span->signal_data); span 529 src/ftdm_io.c if (ftdmchan->span->fio->get_alarms) { span 530 src/ftdm_io.c if ((status = ftdmchan->span->fio->get_alarms(ftdmchan)) == FTDM_SUCCESS) { span 564 src/ftdm_io.c static void ftdm_span_add(ftdm_span_t *span) span 570 src/ftdm_io.c sp->next = span; span 572 src/ftdm_io.c globals.spans = span; span 574 src/ftdm_io.c hashtable_insert(globals.span_hash, (void *)span->name, span, HASHTABLE_FLAG_FREE_VALUE); span 578 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_stop(ftdm_span_t *span) span 581 src/ftdm_io.c if (span->stop) { span 582 src/ftdm_io.c status = span->stop(span); span 583 src/ftdm_io.c span->stop = NULL; span 588 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_create(const char *iotype, const char *name, ftdm_span_t **span) span 598 src/ftdm_io.c *span = NULL; span 652 src/ftdm_io.c *span = new_span; span 661 src/ftdm_io.c ftdm_span_t *span; span 665 src/ftdm_io.c for (span = globals.spans; span; span = span->next) { span 666 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 667 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 668 src/ftdm_io.c ftdm_channel_t *toclose = span->channels[j]; span 681 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_load_tones(ftdm_span_t *span, const char *mapname) span 688 src/ftdm_io.c snprintf(span->last_error, sizeof(span->last_error), "error loading tones."); span 721 src/ftdm_io.c span->tone_detect_map[index].freqs[i++] = this; span 729 src/ftdm_io.c ftdm_copy_string(span->tone_map[index], val, sizeof(span->tone_map[index])); span 739 src/ftdm_io.c snprintf(span->last_error, sizeof(span->last_error), "error loading tones."); span 805 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_add_channel(ftdm_span_t *span, ftdm_socket_t sockfd, ftdm_chan_type_t type, ftdm_channel_t **chan) span 808 src/ftdm_io.c if (span->chan_count < FTDM_MAX_CHANNELS_SPAN) { span 809 src/ftdm_io.c ftdm_channel_t *new_chan = span->channels[++span->chan_count]; span 832 src/ftdm_io.c span->channels[span->chan_count] = new_chan; span 837 src/ftdm_io.c new_chan->fio = span->fio; span 838 src/ftdm_io.c new_chan->span_id = span->span_id; span 839 src/ftdm_io.c new_chan->chan_id = span->chan_count; span 840 src/ftdm_io.c new_chan->span = span; span 861 src/ftdm_io.c new_chan->dtmf_hangup_buf = ftdm_calloc (span->dtmf_hangup_len + 1, sizeof (char)); span 882 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_find_by_name(const char *name, ftdm_span_t **span) span 888 src/ftdm_io.c if ((*span = hashtable_search(globals.span_hash, (void *)name))) { span 893 src/ftdm_io.c ftdm_span_find(span_id, span); span 894 src/ftdm_io.c if (*span) { span 904 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_find(uint32_t id, ftdm_span_t **span) span 925 src/ftdm_io.c *span = fspan; span 931 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_poll_event(ftdm_span_t *span, uint32_t ms) span 933 src/ftdm_io.c assert(span->fio != NULL); span 935 src/ftdm_io.c if (span->fio->poll_event) { span 936 src/ftdm_io.c return span->fio->poll_event(span, ms); span 938 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "poll_event method not implemented in module %s!", span->fio->name); span 944 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_next_event(ftdm_span_t *span, ftdm_event_t **event) span 948 src/ftdm_io.c ftdm_assert_return(span->fio != NULL, FTDM_FAIL, "No I/O module attached to this span!\n"); span 950 src/ftdm_io.c if (!span->fio->next_event) { span 951 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "next_event method not implemented in module %s!", span->fio->name); span 955 src/ftdm_io.c status = span->fio->next_event(span, event); span 962 src/ftdm_io.c sigmsg.span_id = span->span_id; span 970 src/ftdm_io.c ftdm_span_send_signal(span, &sigmsg); span 977 src/ftdm_io.c ftdm_span_send_signal(span, &sigmsg); span 1240 src/ftdm_io.c if (ftdmchan->span->state_map) { span 1241 src/ftdm_io.c ok = ftdm_parse_state_map(ftdmchan, state, ftdmchan->span->state_map); span 1341 src/ftdm_io.c ftdm_mutex_lock(ftdmchan->span->mutex); span 1342 src/ftdm_io.c ftdm_set_flag(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 1343 src/ftdm_io.c if (ftdmchan->span->pendingchans) { span 1344 src/ftdm_io.c ftdm_queue_enqueue(ftdmchan->span->pendingchans, ftdmchan); span 1346 src/ftdm_io.c ftdm_mutex_unlock(ftdmchan->span->mutex); span 1437 src/ftdm_io.c if (check->span && check->span->channel_request) { span 1445 src/ftdm_io.c ftdm_set_caller_data(check->span, caller_data); span 1446 src/ftdm_io.c status = check->span->channel_request(check->span, check->chan_id, span 1468 src/ftdm_io.c if (ftdm_test_flag(check->span, FTDM_SPAN_USE_AV_RATE)) { span 1585 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_channel_use_count(ftdm_span_t *span, uint32_t *count) span 1591 src/ftdm_io.c if (!span || !ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1595 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 1596 src/ftdm_io.c if (span->channels[j]) { span 1597 src/ftdm_io.c if (ftdm_test_flag(span->channels[j], FTDM_CHANNEL_INUSE)) { span 1611 src/ftdm_io.c ftdm_span_t *span = NULL; span 1623 src/ftdm_io.c ftdm_span_find(span_id, &span); span 1625 src/ftdm_io.c if (!span || !ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1630 src/ftdm_io.c ftdm_span_channel_use_count(span, &count); span 1632 src/ftdm_io.c if (count >= span->chan_count) { span 1633 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "All circuits are busy: active=%i max=%i.\n", count, span->chan_count); span 1637 src/ftdm_io.c if (span->channel_request && !ftdm_test_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID)) { span 1638 src/ftdm_io.c ftdm_set_caller_data(span, caller_data); span 1639 src/ftdm_io.c return span->channel_request(span, 0, direction, caller_data, ftdmchan); span 1642 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 1647 src/ftdm_io.c i = span->chan_count; span 1653 src/ftdm_io.c if (i > span->chan_count) { span 1662 src/ftdm_io.c if (!(check = span->channels[i])) { span 1685 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 1719 src/ftdm_io.c memset(ftdmchan->dtmf_hangup_buf, '\0', ftdmchan->span->dtmf_hangup_len); span 1792 src/ftdm_io.c ftdm_span_t *span = NULL; span 1801 src/ftdm_io.c ftdm_span_find(span_id, &span); span 1803 src/ftdm_io.c if (!span) { span 1808 src/ftdm_io.c if (!ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1813 src/ftdm_io.c if (span->channel_request) { span 1818 src/ftdm_io.c if (chan_id < 1 || chan_id > span->chan_count) { span 1823 src/ftdm_io.c if (!(check = span->channels[chan_id])) { span 1900 src/ftdm_io.c return ftdmchan->span; span 1905 src/ftdm_io.c return ftdmchan->span->name; span 1908 src/ftdm_io.c FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t type) span 1910 src/ftdm_io.c span->trunk_type = type; span 1913 src/ftdm_io.c FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span) span 1915 src/ftdm_io.c return span->trunk_type; span 1918 src/ftdm_io.c FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span) span 1920 src/ftdm_io.c return span->span_id; span 1923 src/ftdm_io.c FT_DECLARE(const char *) ftdm_span_get_name(const ftdm_span_t *span) span 1925 src/ftdm_io.c return span->name; span 2107 src/ftdm_io.c FT_DECLARE(const char *) ftdm_span_get_last_error(const ftdm_span_t *span) span 2109 src/ftdm_io.c return span->last_error; span 2135 src/ftdm_io.c FT_DECLARE(ftdm_channel_t *) ftdm_span_get_channel(const ftdm_span_t *span, uint32_t chanid) span 2138 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 2139 src/ftdm_io.c if (chanid == 0 || chanid > span->chan_count) { span 2140 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2143 src/ftdm_io.c chan = span->channels[chanid]; span 2144 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2148 src/ftdm_io.c FT_DECLARE(uint32_t) ftdm_span_get_chan_count(const ftdm_span_t *span) span 2151 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 2152 src/ftdm_io.c count = span->chan_count; span 2153 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2237 src/ftdm_io.c if (ftdmchan->span->outgoing_call) { span 2238 src/ftdm_io.c status = ftdmchan->span->outgoing_call(ftdmchan); span 2258 src/ftdm_io.c ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n"); span 2260 src/ftdm_io.c if (ftdmchan->span->set_channel_sig_status) { span 2261 src/ftdm_io.c return ftdmchan->span->set_channel_sig_status(ftdmchan, sigstatus); span 2271 src/ftdm_io.c ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n"); span 2274 src/ftdm_io.c if (ftdmchan->span->get_channel_sig_status) { span 2275 src/ftdm_io.c return ftdmchan->span->get_channel_sig_status(ftdmchan, sigstatus); span 2282 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_set_sig_status(ftdm_span_t *span, ftdm_signaling_status_t sigstatus) span 2284 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "Null span\n"); span 2286 src/ftdm_io.c if (span->set_span_sig_status) { span 2287 src/ftdm_io.c return span->set_span_sig_status(span, sigstatus); span 2294 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_get_sig_status(ftdm_span_t *span, ftdm_signaling_status_t *sigstatus) span 2296 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "Null span\n"); span 2299 src/ftdm_io.c if (span->get_span_sig_status) { span 2300 src/ftdm_io.c return span->get_span_sig_status(span, sigstatus); span 2588 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_DIAL], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_DIAL]); span 2589 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_RING], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_RING]); span 2590 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_BUSY], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_BUSY]); span 2943 src/ftdm_io.c ftdmchan->span->tone_finder[i].tone_count = 0; span 3052 src/ftdm_io.c if (ftdmchan->span->dtmf_hangup_len) { span 3054 src/ftdm_io.c memmove (ftdmchan->dtmf_hangup_buf, ftdmchan->dtmf_hangup_buf + 1, ftdmchan->span->dtmf_hangup_len - 1); span 3055 src/ftdm_io.c ftdmchan->dtmf_hangup_buf[ftdmchan->span->dtmf_hangup_len - 1] = *p; span 3056 src/ftdm_io.c if (!strcmp(ftdmchan->dtmf_hangup_buf, ftdmchan->span->dtmf_hangup)) { span 3102 src/ftdm_io.c if (status == FTDM_SUCCESS && ftdmchan->span->sig_read) { span 3103 src/ftdm_io.c ftdmchan->span->sig_read(ftdmchan, data, *datalen); span 3411 src/ftdm_io.c if (ftdmchan->span->tone_finder[i].tone_count) { span 3412 src/ftdm_io.c if (ftdmchan->needed_tones[i] && teletone_multi_tone_detect(&ftdmchan->span->tone_finder[i], sln, (int)slen)) { span 3643 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter) span 3649 src/ftdm_io.c iter->pvt.chaniter.span = span; span 3687 src/ftdm_io.c if (iter->pvt.chaniter.index == iter->pvt.chaniter.span->chan_count) { span 3714 src/ftdm_io.c ftdm_assert_return(iter->pvt.chaniter.index <= iter->pvt.chaniter.span->chan_count, NULL, "channel iterator index bigger than span chan count!\n"); span 3715 src/ftdm_io.c return iter->pvt.chaniter.span->channels[iter->pvt.chaniter.index]; span 3749 src/ftdm_io.c ftdm_span_t *span; span 3765 src/ftdm_io.c span = val; span 3766 src/ftdm_io.c citer = ftdm_span_get_chan_iterator(span, NULL); span 3888 src/ftdm_io.c static ftdm_status_t ftdm_set_channels_gains(ftdm_span_t *span, int currindex, float rxgain, float txgain) span 3892 src/ftdm_io.c if (!span->chan_count) { span 3893 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "Failed to set channel gains because span %s has no channels\n", span->name); span 3897 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 3898 src/ftdm_io.c if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) { span 3901 src/ftdm_io.c if (ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_RX_GAIN, &rxgain) != FTDM_SUCCESS) { span 3904 src/ftdm_io.c if (ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_TX_GAIN, &txgain) != FTDM_SUCCESS) { span 3911 src/ftdm_io.c static ftdm_status_t ftdm_set_channels_alarms(ftdm_span_t *span, int currindex) { span 3914 src/ftdm_io.c if (!span->chan_count) { span 3919 src/ftdm_io.c if (!span->fio->get_alarms) { span 3920 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "%d: Span does not support alarms\n", span->span_id); span 3924 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 3926 src/ftdm_io.c if (span->fio->get_alarms(span->channels[chan_index]) != FTDM_SUCCESS) { span 3927 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:%d: Failed to get alarms\n", span->channels[chan_index]->physical_span_id, span->channels[chan_index]->physical_chan_id); span 3935 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_configure_span_channels(ftdm_span_t *span, const char* str, ftdm_channel_config_t *chan_config, unsigned *configured) span 3939 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_EINVAL, "span is null\n"); span 3942 src/ftdm_io.c ftdm_assert_return(span->fio != NULL, FTDM_EINVAL, "span with no I/O configured\n"); span 3943 src/ftdm_io.c ftdm_assert_return(span->fio->configure_span != NULL, FTDM_NOTIMPL, "span I/O with no channel configuration implemented\n"); span 3945 src/ftdm_io.c currindex = span->chan_count; span 3947 src/ftdm_io.c *configured = span->fio->configure_span(span, str, chan_config->type, chan_config->name, chan_config->number); span 3949 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to configure span", span->span_id); span 3954 src/ftdm_io.c if (ftdm_group_add_channels(span, currindex, chan_config->group_name) != FTDM_SUCCESS) { span 3955 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to add channels to group %s\n", span->span_id, chan_config->group_name); span 3960 src/ftdm_io.c if (ftdm_set_channels_gains(span, currindex, chan_config->rxgain, chan_config->txgain) != FTDM_SUCCESS) { span 3961 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to set channel gains\n", span->span_id); span 3966 src/ftdm_io.c if (ftdm_set_channels_alarms(span, currindex) != FTDM_SUCCESS) { span 3967 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to set channel alarms\n", span->span_id); span 3982 src/ftdm_io.c ftdm_span_t *span = NULL; span 4015 src/ftdm_io.c span = NULL; span 4023 src/ftdm_io.c if (ftdm_span_create(type, name, &span) == FTDM_SUCCESS) { span 4024 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "created span %d (%s) of type %s\n", span->span_id, span->name, type); span 4028 src/ftdm_io.c span = NULL; span 4033 src/ftdm_io.c if (!span) { span 4037 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "span %d [%s]=[%s]\n", span->span_id, var, val); span 4041 src/ftdm_io.c ftdm_span_set_trunk_type(span, trtype); span 4056 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXS || span->trunk_type == FTDM_TRUNK_FXO || span->trunk_type == FTDM_TRUNK_EM) { span 4058 src/ftdm_io.c span->start_type = tmp; span 4059 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "changing start type to '%s'\n", ftdm_analog_start_type2str(span->start_type)); span 4065 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4066 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_FXO; span 4067 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4068 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4070 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXO) { span 4073 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4080 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4081 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_FXS; span 4082 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4083 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4085 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXS) { span 4088 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4095 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4096 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_EM; span 4097 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4098 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4100 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_EM) { span 4103 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4112 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4126 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4135 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4139 src/ftdm_io.c span->dtmf_hangup = ftdm_strdup(val); span 4140 src/ftdm_io.c span->dtmf_hangup_len = strlen(val); span 4449 src/ftdm_io.c static ftdm_status_t post_configure_span_channels(ftdm_span_t *span) span 4454 src/ftdm_io.c for (i = 1; i <= span->chan_count; i++) { span 4455 src/ftdm_io.c ftdm_channel_get_sig_status(span->channels[i], &sigstatus); span 4457 src/ftdm_io.c ftdm_set_flag(span->channels[i], FTDM_CHANNEL_SIG_UP); span 4460 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_USE_CHAN_QUEUE)) { span 4461 src/ftdm_io.c status = ftdm_queue_create(&span->pendingchans, SPAN_PENDING_CHANS_QUEUE_SIZE); span 4463 src/ftdm_io.c if (status == FTDM_SUCCESS && ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) { span 4464 src/ftdm_io.c status = ftdm_queue_create(&span->pendingsignals, SPAN_PENDING_SIGNALS_QUEUE_SIZE); span 4469 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_configure_span(ftdm_span_t *span, const char *type, fio_signal_cb_t sig_cb, ...) span 4474 src/ftdm_io.c if (!span->chan_count) { span 4492 src/ftdm_io.c status = mod->sig_configure(span, sig_cb, ap); span 4495 src/ftdm_io.c status = post_configure_span_channels(span); span 4505 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_configure_span_signaling(ftdm_span_t *span, const char *type, fio_signal_cb_t sig_cb, ftdm_conf_parameter_t *parameters) span 4511 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "No span"); span 4515 src/ftdm_io.c if (!span->chan_count) { span 4533 src/ftdm_io.c status = mod->configure_span_signaling(span, sig_cb, parameters); span 4535 src/ftdm_io.c status = post_configure_span_channels(span); span 4544 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_start(ftdm_span_t *span) span 4546 src/ftdm_io.c if (span->start) { span 4547 src/ftdm_io.c return span->start(span); span 4622 src/ftdm_io.c static ftdm_status_t ftdm_group_add_channels(ftdm_span_t* span, int currindex, const char* name) span 4629 src/ftdm_io.c if (!span->chan_count) { span 4633 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 4634 src/ftdm_io.c if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) { span 4637 src/ftdm_io.c if (ftdm_channel_add_to_group(name, span->channels[chan_index])) { span 4731 src/ftdm_io.c static ftdm_status_t ftdm_span_trigger_signal(const ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 4733 src/ftdm_io.c return span->signal_cb(sigmsg); span 4736 src/ftdm_io.c static ftdm_status_t ftdm_span_queue_signal(const ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 4748 src/ftdm_io.c ftdm_queue_enqueue(span->pendingsignals, new_sigmsg); span 4752 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_trigger_signals(const ftdm_span_t *span) span 4755 src/ftdm_io.c while ((sigmsg = ftdm_queue_dequeue(span->pendingsignals))) { span 4756 src/ftdm_io.c ftdm_span_trigger_signal(span, sigmsg); span 4777 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 4788 src/ftdm_io.c ftdm_signaling_status_t sigstatus = ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE) ? sigmsg->sigstatus : *((ftdm_signaling_status_t*)(sigmsg->raw_data)); span 4827 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) { span 4828 src/ftdm_io.c ftdm_span_queue_signal(span, sigmsg); span 4830 src/ftdm_io.c ftdm_span_trigger_signal(span, sigmsg); span 58 src/ftdm_m3ua.c ftdm_span_t *span; span 140 src/ftdm_m3ua.c m3ua_data_t *m3ua_data = ftdmchan->span->signal_data; span 286 src/ftdm_m3ua.c static __inline__ void check_state(ftdm_span_t *span) span 288 src/ftdm_m3ua.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 290 src/ftdm_m3ua.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 291 src/ftdm_m3ua.c for(j = 1; j <= span->chan_count; j++) { span 292 src/ftdm_m3ua.c if (ftdm_test_flag((&span->channels[j]), FTDM_CHANNEL_STATE_CHANGE)) { span 293 src/ftdm_m3ua.c ftdm_clear_flag_locked((&span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 294 src/ftdm_m3ua.c state_advance(&span->channels[j]); span 295 src/ftdm_m3ua.c ftdm_channel_complete_state(&span->channels[j]); span 302 src/ftdm_m3ua.c static int parse_ss7_event(ftdm_span_t *span, m3uac_connection_t *mcon, m3uac_event_t *event) span 312 src/ftdm_m3ua.c if (ftdm_test_flag(span, FTDM_SPAN_SUSPENDED) && span 319 src/ftdm_m3ua.c event->span+1, span 336 src/ftdm_m3ua.c event->span+1, span 487 src/ftdm_m3ua.c m3ua_span_data_t *span_data = (m3ua_span_data_t *) span->mod_data; span 498 src/ftdm_m3ua.c m3ua_span_data_t *span_data = (m3ua_span_data_t *) ftdmchan->span->mod_data; span 564 src/ftdm_m3ua.c ftdm_span_t *span = (ftdm_span_t *) obj; span 565 src/ftdm_m3ua.c m3ua_data_t *m3ua_data = span->signal_data; span 640 src/ftdm_m3ua.c parse_ss7_event(span, mcon, event); span 646 src/ftdm_m3ua.c parse_ss7_event(span, mcon, event); span 651 src/ftdm_m3ua.c check_state(span); span 654 src/ftdm_m3ua.c if (mcon->hb_elapsed >= too_long && (mcon->up || !ftdm_test_flag(span, FTDM_SPAN_SUSPENDED))) { span 655 src/ftdm_m3ua.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 656 src/ftdm_m3ua.c ftdm_set_flag_locked(span, FTDM_SPAN_SUSPENDED); span 678 src/ftdm_m3ua.c ftdm_status_t m3ua_start(ftdm_span_t *span) span 680 src/ftdm_m3ua.c m3ua_data_t *m3ua_data = span->signal_data; span 682 src/ftdm_m3ua.c return ftdm_thread_create_detached(m3ua_run, span); span 118 src/ftmod/ftmod_analog/ftmod_analog.c static ftdm_status_t ftdm_analog_start(ftdm_span_t *span) span 120 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 122 src/ftmod/ftmod_analog/ftmod_analog.c return ftdm_thread_create_detached(ftdm_analog_run, span); span 130 src/ftmod/ftmod_analog/ftmod_analog.c static ftdm_status_t ftdm_analog_stop(ftdm_span_t *span) span 132 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 136 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_DEBUG, "Waiting for analog thread for span %s to stop\n", span->name); span 140 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_ERROR, "The analog thread for span %s is probably still running, we may crash :(\n", span->name); span 168 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_DEBUG, "Configuring span %s for analog signaling ...\n", span->name); span 170 src/ftmod/ftmod_analog/ftmod_analog.c if (span->signal_type) { span 171 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_ERROR, "Span %s is already configured for signaling %d\n", span->name, span->signal_type); span 172 src/ftmod/ftmod_analog/ftmod_analog.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling."); span 220 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_ERROR, "Unknown parameter %s in span %s\n", var, span->name); span 234 src/ftmod/ftmod_analog/ftmod_analog.c for (i = 1; i <= span->chan_count; i++) { span 235 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log_chan_msg(span->channels[i], FTDM_LOG_DEBUG, "Enabled call waiting\n"); span 236 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_set_feature(span->channels[i], FTDM_CHANNEL_FEATURE_CALLWAITING); span 240 src/ftmod/ftmod_analog/ftmod_analog.c span->start = ftdm_analog_start; span 241 src/ftmod/ftmod_analog/ftmod_analog.c span->stop = ftdm_analog_stop; span 245 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_cb = sig_cb; span 247 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_type = FTDM_SIGTYPE_ANALOG; span 248 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_data = analog_data; span 249 src/ftmod/ftmod_analog/ftmod_analog.c span->outgoing_call = span->trunk_type == FTDM_TRUNK_FXS ? analog_fxs_outgoing_call : analog_fxo_outgoing_call; span 250 src/ftmod/ftmod_analog/ftmod_analog.c span->get_channel_sig_status = analog_get_channel_sig_status; span 251 src/ftmod/ftmod_analog/ftmod_analog.c span->get_span_sig_status = analog_get_span_sig_status; span 253 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_load_tones(span, tonemap); span 255 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_DEBUG, "Configuration of analog signaling for span %s is done\n", span->name); span 343 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = ftdmchan->span->signal_data; span 487 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]); span 495 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 516 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 555 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 575 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 582 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 592 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]); span 606 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]); span 607 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_CAS]); span 623 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 637 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]); span 647 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]); span 658 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]); span 682 src/ftmod/ftmod_analog/ftmod_analog.c if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) { span 839 src/ftmod/ftmod_analog/ftmod_analog.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 842 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = event->channel->span->signal_data; span 896 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag_locked(event->channel->span, FTDM_SPAN_STATE_CHANGE); span 906 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(span, &sig); span 959 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_t *span = (ftdm_span_t *) obj; span 960 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 969 src/ftmod/ftmod_analog/ftmod_analog.c if ((status = ftdm_span_poll_event(span, waitms)) != FTDM_FAIL) { span 977 src/ftmod/ftmod_analog/ftmod_analog.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 981 src/ftmod/ftmod_analog/ftmod_analog.c if (process_event(span, event) != FTDM_SUCCESS) { span 989 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_ERROR, "Failure Polling event! [%s]\n", span->last_error); span 78 src/ftmod/ftmod_analog_em/ftmod_analog_em.c static ftdm_status_t ftdm_analog_em_start(ftdm_span_t *span) span 80 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_analog_em_data_t *analog_data = span->signal_data; span 82 src/ftmod/ftmod_analog_em/ftmod_analog_em.c return ftdm_thread_create_detached(ftdm_analog_em_run, span); span 130 src/ftmod/ftmod_analog_em/ftmod_analog_em.c if (span->signal_type) { span 131 src/ftmod/ftmod_analog_em/ftmod_analog_em.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling."); span 156 src/ftmod/ftmod_analog_em/ftmod_analog_em.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 171 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->start = ftdm_analog_em_start; span 174 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->signal_cb = sig_cb; span 175 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->signal_type = FTDM_SIGTYPE_ANALOG; span 176 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->signal_data = analog_data; span 177 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->outgoing_call = analog_em_outgoing_call; span 178 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->get_channel_sig_status = analog_em_get_channel_sig_status; span 179 src/ftmod/ftmod_analog_em/ftmod_analog_em.c span->get_span_sig_status = analog_em_get_span_sig_status; span 180 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_load_tones(span, tonemap); span 220 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_analog_em_data_t *analog_data = ftdmchan->span->signal_data; span 359 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 380 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 401 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 408 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 418 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]); span 427 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]); span 436 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]); span 447 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]); span 471 src/ftmod/ftmod_analog_em/ftmod_analog_em.c if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) { span 589 src/ftmod/ftmod_analog_em/ftmod_analog_em.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 651 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_t *span = (ftdm_span_t *) obj; span 652 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_analog_em_data_t *analog_data = span->signal_data; span 660 src/ftmod/ftmod_analog_em/ftmod_analog_em.c status = ftdm_span_poll_event(span, waitms); span 666 src/ftmod/ftmod_analog_em/ftmod_analog_em.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 670 src/ftmod/ftmod_analog_em/ftmod_analog_em.c if (process_event(span, event) != FTDM_SUCCESS) { span 678 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_log(FTDM_LOG_ERROR, "Failure Polling event! [%s]\n", span->last_error); span 325 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 332 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_command(span->channels[chan_id], FTDM_COMMAND_GET_NATIVE_CODEC, &codec); span 357 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 359 src/ftmod/ftmod_isdn/ftmod_isdn.c if(!FTDM_SPAN_IS_NT(span)) { span 450 src/ftmod/ftmod_isdn/ftmod_isdn.c if (caller_data->chan_id < FTDM_MAX_CHANNELS_SPAN && caller_data->chan_id <= span->chan_count) { span 451 src/ftmod/ftmod_isdn/ftmod_isdn.c new_chan = span->channels[caller_data->chan_id]; span 556 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 557 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 576 src/ftmod/ftmod_isdn/ftmod_isdn.c } else if (FTDM_SPAN_IS_NT(span)) { span 581 src/ftmod/ftmod_isdn/ftmod_isdn.c assert(span != NULL); span 661 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdmchan = span->channels[chan_id]; span 667 src/ftmod/ftmod_isdn/ftmod_isdn.c for (i = 1; i < span->chan_count; i++) { span 668 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_set_state_locked((span->channels[i]), FTDM_CHANNEL_STATE_RESTART); span 702 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 779 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span) && chan_hunt) { span 786 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= span->chan_count; x++) { span 787 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *zc = span->channels[x]; span 795 src/ftmod/ftmod_isdn/ftmod_isdn.c else if (!FTDM_SPAN_IS_NT(span) && chan_hunt) { span 810 src/ftmod/ftmod_isdn/ftmod_isdn.c if (chan_id > 0 && chan_id < FTDM_MAX_CHANNELS_SPAN && chan_id <= span->chan_count) { span 811 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdmchan = span->channels[chan_id]; span 822 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span)) { span 918 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 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 */ span 1108 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1109 src/ftmod/ftmod_isdn/ftmod_isdn.c if(writeQ931PacketToPcap(msg + offset, mlen - offset, span->span_id, 1) != FTDM_SUCCESS){ span 1136 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1138 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1148 src/ftmod/ftmod_isdn/ftmod_isdn.c assert(span != NULL); span 1159 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = ftdmchan->span->signal_data; span 1189 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1196 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(ftdmchan->span)) { span 1203 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 1233 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1243 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1251 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1271 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1304 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_command(ftdmchan->span->channels[ftdmchan->chan_id], FTDM_COMMAND_GET_NATIVE_CODEC, &codec); span 1329 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 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 */ span 1476 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1490 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ void check_state(ftdm_span_t *span) span 1492 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 1494 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 1495 src/ftmod/ftmod_isdn/ftmod_isdn.c for(j = 1; j <= span->chan_count; j++) { span 1496 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_test_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE)) { span 1497 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_mutex_lock(span->channels[j]->mutex); span 1498 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_clear_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 1499 src/ftmod/ftmod_isdn/ftmod_isdn.c state_advance(span->channels[j]); span 1500 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_complete_state(span->channels[j]); span 1501 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_mutex_unlock(span->channels[j]->mutex); span 1513 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 1557 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ void check_events(ftdm_span_t *span) span 1561 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_poll_event(span, 5); span 1567 src/ftmod/ftmod_isdn/ftmod_isdn.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1571 src/ftmod/ftmod_isdn/ftmod_isdn.c if (process_event(span, event) != FTDM_SUCCESS) { span 1613 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1614 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1633 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= span->chan_count; x++) { span 1634 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->channels[x]->type != FTDM_CHAN_TYPE_DQ921) { span 1635 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_command(span->channels[x], FTDM_COMMAND_GET_INTERVAL, &interval); span 1660 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= span->chan_count; x++) { span 1661 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *ftdmchan = span->channels[x]; span 1695 src/ftmod/ftmod_isdn/ftmod_isdn.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]); span 1705 src/ftmod/ftmod_isdn/ftmod_isdn.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]); span 1809 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1810 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1830 src/ftmod/ftmod_isdn/ftmod_isdn.c check_state(span); span 1831 src/ftmod/ftmod_isdn/ftmod_isdn.c check_events(span); span 1840 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "D-Chan Read Error!"); span 1858 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_clear_flag_all(span, FTDM_CHANNEL_SUSPENDED); span 1931 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1932 src/ftmod/ftmod_isdn/ftmod_isdn.c if(writeQ931PacketToPcap(msg + offset, mlen - offset, span->span_id, 0) != FTDM_SUCCESS){ span 1958 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1960 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log("Span", "Q.921", span->span_id, (int)level, "%s", msg); span 1974 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1976 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log("Span", "Q.931", span->span_id, (int)level, "%s", msg); span 2101 src/ftmod/ftmod_isdn/ftmod_isdn.c static ftdm_status_t ftdm_isdn_stop(ftdm_span_t *span) span 2103 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2130 src/ftmod/ftmod_isdn/ftmod_isdn.c static ftdm_status_t ftdm_isdn_start(ftdm_span_t *span) span 2133 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2140 src/ftmod/ftmod_isdn/ftmod_isdn.c ret = ftdm_thread_create_detached(ftdm_isdn_run, span); span 2146 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span) && !(isdn_data->opts & FTDM_ISDN_OPT_DISABLE_TONES)) { span 2147 src/ftmod/ftmod_isdn/ftmod_isdn.c ret = ftdm_thread_create_detached(ftdm_isdn_tones_run, span); span 2203 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->signal_type) { span 2232 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling [%d].", span->signal_type); span 2236 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->trunk_type >= FTDM_TRUNK_NONE) { span 2237 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log(FTDM_LOG_WARNING, "Invalid trunk type '%s' defaulting to T1.\n", ftdm_trunk_type2str(span->trunk_type)); span 2238 src/ftmod/ftmod_isdn/ftmod_isdn.c span->trunk_type = FTDM_TRUNK_T1; span 2241 src/ftmod/ftmod_isdn/ftmod_isdn.c for(i = 1; i <= span->chan_count; i++) { span 2242 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->channels[i]->type == FTDM_CHAN_TYPE_DQ921) { span 2244 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span has more than 2 D-Channels!"); span 2247 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_channel_open(span->span_id, i, &dchans[x]) == FTDM_SUCCESS) { span 2257 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span has no D-Channels!"); span 2313 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 2331 src/ftmod/ftmod_isdn/ftmod_isdn.c data = ftdm_malloc((span->chan_count - 1) * sizeof(ftdm_isdn_bchan_data_t)); span 2336 src/ftmod/ftmod_isdn/ftmod_isdn.c for (i = 1; i <= span->chan_count; i++, data++) { span 2337 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->channels[i]->type == FTDM_CHAN_TYPE_B) { span 2338 src/ftmod/ftmod_isdn/ftmod_isdn.c span->channels[i]->mod_data = data; span 2344 src/ftmod/ftmod_isdn/ftmod_isdn.c span->start = ftdm_isdn_start; span 2345 src/ftmod/ftmod_isdn/ftmod_isdn.c span->stop = ftdm_isdn_stop; span 2346 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_cb = sig_cb; span 2356 src/ftmod/ftmod_isdn/ftmod_isdn.c span->trunk_type == FTDM_TRUNK_BRI_PTMP ? Q921_PTMP : Q921_PTP, span 2360 src/ftmod/ftmod_isdn/ftmod_isdn.c span, span 2369 src/ftmod/ftmod_isdn/ftmod_isdn.c span->trunk_type, span 2374 src/ftmod/ftmod_isdn/ftmod_isdn.c span); span 2382 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_data = isdn_data; span 2383 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_type = FTDM_SIGTYPE_ISDN; span 2384 src/ftmod/ftmod_isdn/ftmod_isdn.c span->outgoing_call = isdn_outgoing_call; span 2387 src/ftmod/ftmod_isdn/ftmod_isdn.c span->channel_request = isdn_channel_request; span 2388 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_set_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID); span 2390 src/ftmod/ftmod_isdn/ftmod_isdn.c span->state_map = &isdn_state_map; span 2392 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_load_tones(span, tonemap); span 57 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = ftdmchan->span->signal_data; span 75 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 236 src/ftmod/ftmod_libpri/ftmod_libpri.c static ftdm_status_t ftdm_libpri_start(ftdm_span_t *span); span 257 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = NULL; span 259 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 260 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 262 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->start != ftdm_libpri_start) { span 279 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = NULL; span 281 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS) { span 282 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 283 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->start != ftdm_libpri_start) { span 460 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = ftdmchan->span->signal_data; span 494 src/ftmod/ftmod_libpri/ftmod_libpri.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 508 src/ftmod/ftmod_libpri/ftmod_libpri.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 524 src/ftmod/ftmod_libpri/ftmod_libpri.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 537 src/ftmod/ftmod_libpri/ftmod_libpri.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 545 src/ftmod/ftmod_libpri/ftmod_libpri.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 619 src/ftmod/ftmod_libpri/ftmod_libpri.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 636 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ void check_state(ftdm_span_t *span) span 638 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 640 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 641 src/ftmod/ftmod_libpri/ftmod_libpri.c for(j = 1; j <= span->chan_count; j++) { span 642 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_test_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE)) { span 643 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_mutex_lock(span->channels[j]->mutex); span 644 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 645 src/ftmod/ftmod_libpri/ftmod_libpri.c state_advance(span->channels[j]); span 646 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_complete_state(span->channels[j]); span 647 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_mutex_unlock(span->channels[j]->mutex); span 680 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 683 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->hangup.channel]; span 687 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Hangup on channel %d:%d\n", spri->span->span_id, pevent->hangup.channel); span 693 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Hangup on channel %d:%d %s but it's not in use?\n", spri->span->span_id, span 709 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 712 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->answer.channel]; span 715 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Answer on channel %d:%d\n", spri->span->span_id, pevent->answer.channel); span 718 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); span 734 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 737 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->proceeding.channel]; span 740 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Proceeding on channel %d:%d\n", spri->span->span_id, pevent->proceeding.channel); span 743 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Proceeding on channel %d:%d %s but it's not in use?\n", spri->span->span_id, span 759 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 762 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->ringing.channel]; span 765 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Ringing on channel %d:%d\n", spri->span->span_id, pevent->ringing.channel); span 773 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Ringing on channel %d:%d %s but it's not in use?\n", spri->span->span_id, span 789 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 795 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->ring.channel]; span 797 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_WARNING, "--Duplicate Ring on channel %d:%d (ignored)\n", spri->span->span_id, pevent->ring.channel); span 803 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_WARNING, "--Failure opening channel %d:%d (ignored)\n", spri->span->span_id, pevent->ring.channel); span 809 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "-- Ring on channel %d:%d (from %s to %s)\n", spri->span->span_id, pevent->ring.channel, span 844 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 889 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ void check_events(ftdm_span_t *span) span 893 src/ftmod/ftmod_libpri/ftmod_libpri.c status = ftdm_span_poll_event(span, 5); span 899 src/ftmod/ftmod_libpri/ftmod_libpri.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 903 src/ftmod/ftmod_libpri/ftmod_libpri.c if (process_event(span, event) != FTDM_SUCCESS) { span 927 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 929 src/ftmod/ftmod_libpri/ftmod_libpri.c if (!ftdm_running() || ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 933 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 934 src/ftmod/ftmod_libpri/ftmod_libpri.c check_events(span); span 949 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->private_info; span 952 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "-- Restarting %d:%d\n", spri->span->span_id, pevent->restart.channel); span 955 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = span->channels[pevent->restart.channel]; span 962 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(ftdmchan->span, FTDM_CHANNEL_STATE_RESTART); span 984 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "Span %d D-Chan UP!\n", spri->span->span_id); span 986 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(spri->span, FTDM_CHANNEL_STATE_RESTART); span 988 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "%d:Signaling link status changed to %s\n", spri->span->span_id, ftdm_signaling_status2str(status)); span 989 src/ftmod/ftmod_libpri/ftmod_libpri.c for(i=1; i <= spri->span->chan_count; i++) { span 990 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = spri->span->channels[i]; span 997 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_send_signal(spri->span, &sig); span 1017 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "Span %d D-Chan DOWN!\n", spri->span->span_id); span 1019 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(spri->span, FTDM_CHANNEL_STATE_RESTART); span 1022 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "%d:Signaling link status changed to %s\n", spri->span->span_id, ftdm_signaling_status2str(status)); span 1023 src/ftmod/ftmod_libpri/ftmod_libpri.c for(i=1; i <= spri->span->chan_count; i++) { span 1024 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdmchan = spri->span->channels[i]; span 1031 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_send_signal(spri->span, &sig); span 1048 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "Caught Event span %d %u (%s)\n", spri->span->span_id, event_type, lpwrap_pri_event_str(event_type)); span 1062 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "Caught Event span %d %u (%s)\n", spri->span->span_id, event_type, lpwrap_pri_event_str(event_type)); span 1073 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1074 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1079 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 1081 src/ftmod/ftmod_libpri/ftmod_libpri.c while(ftdm_running() && !ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 1083 src/ftmod/ftmod_libpri/ftmod_libpri.c for(i = 1; i <= span->chan_count; i++) { span 1084 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->channels[i]->type == FTDM_CHAN_TYPE_DQ921) { span 1085 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_channel_open(span->span_id, i, &isdn_data->dchan) == FTDM_SUCCESS) { span 1091 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "failed to open d-channel #%d %d:%d\n", x, span->channels[i]->span_id, span->channels[i]->chan_id); span 1098 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "Failed to get a D-channel in span %d\n", span->span_id); span 1104 src/ftmod/ftmod_libpri/ftmod_libpri.c span, // span span 1109 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "PRI init FAIL!"); span 1127 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "PRI back up on span %d\n", isdn_data->spri.span->span_id); span 1128 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1133 src/ftmod/ftmod_libpri/ftmod_libpri.c isdn_data->spri.private_info = span; span 1138 src/ftmod/ftmod_libpri/ftmod_libpri.c if (!ftdm_running() || ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 1142 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_CRIT, "PRI down on span %d\n", isdn_data->spri.span->span_id); span 1148 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1149 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1152 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1153 src/ftmod/ftmod_libpri/ftmod_libpri.c check_events(span); span 1159 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "PRI thread ended on span %d\n", span->span_id); span 1161 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 1174 src/ftmod/ftmod_libpri/ftmod_libpri.c static ftdm_status_t ftdm_libpri_stop(ftdm_span_t *span) span 1176 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1182 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1183 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1184 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 1185 src/ftmod/ftmod_libpri/ftmod_libpri.c while(ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 1188 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1200 src/ftmod/ftmod_libpri/ftmod_libpri.c static ftdm_status_t ftdm_libpri_start(ftdm_span_t *span) span 1203 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1209 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 1210 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 1213 src/ftmod/ftmod_libpri/ftmod_libpri.c ret = ftdm_thread_create_detached(ftdm_libpri_run, span); span 1311 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->trunk_type >= FTDM_TRUNK_NONE) { span 1312 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_WARNING, "Invalid trunk type '%s' defaulting to T1.\n", ftdm_trunk_type2str(span->trunk_type)); span 1313 src/ftmod/ftmod_libpri/ftmod_libpri.c span->trunk_type = FTDM_TRUNK_T1; span 1316 src/ftmod/ftmod_libpri/ftmod_libpri.c for(i = 1; i <= span->chan_count; i++) { span 1317 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->channels[i]->type == FTDM_CHAN_TYPE_DQ921) { span 1319 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Span has more than 2 D-Channels!"); span 1323 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_channel_open(span->span_id, i, &dchans[x]) == FTDM_SUCCESS) { span 1335 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Span has no D-Channels!"); span 1344 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->trunk_type == FTDM_TRUNK_E1) { span 1347 src/ftmod/ftmod_libpri/ftmod_libpri.c } else if (span->trunk_type == FTDM_TRUNK_T1) { span 1390 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 1395 src/ftmod/ftmod_libpri/ftmod_libpri.c span->start = ftdm_libpri_start; span 1396 src/ftmod/ftmod_libpri/ftmod_libpri.c span->stop = ftdm_libpri_stop; span 1397 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_cb = sig_cb; span 1405 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_data = isdn_data; span 1406 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_type = FTDM_SIGTYPE_ISDN; span 1407 src/ftmod/ftmod_libpri/ftmod_libpri.c span->outgoing_call = isdn_outgoing_call; span 1409 src/ftmod/ftmod_libpri/ftmod_libpri.c span->get_channel_sig_status = isdn_get_channel_sig_status; span 1410 src/ftmod/ftmod_libpri/ftmod_libpri.c span->get_span_sig_status = isdn_get_span_sig_status; span 1413 src/ftmod/ftmod_libpri/ftmod_libpri.c span->channel_request = isdn_channel_request; span 1414 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID); span 1417 src/ftmod/ftmod_libpri/ftmod_libpri.c span->state_map = &isdn_state_map; span 122 src/ftmod/ftmod_libpri/lpwrap_pri.c ftdm_log(FTDM_LOG_CRIT, "span %d D-READ FAIL! [%s]\n", spri->span->span_id, spri->dchan->last_error); span 125 src/ftmod/ftmod_libpri/lpwrap_pri.c ftdm_log(FTDM_LOG_CRIT, "span %d D-READ TIMEOUT\n", spri->span->span_id); span 154 src/ftmod/ftmod_libpri/lpwrap_pri.c ftdm_log(FTDM_LOG_CRIT, "span %d D-WRITE FAIL! [%s]\n", spri->span->span_id, spri->dchan->last_error); span 171 src/ftmod/ftmod_libpri/lpwrap_pri.c int lpwrap_init_pri(struct lpwrap_pri *spri, ftdm_span_t *span, ftdm_channel_t *dchan, int swtype, int node, int debug) span 178 src/ftmod/ftmod_libpri/lpwrap_pri.c spri->span = span; span 100 src/ftmod/ftmod_libpri/lpwrap_pri.h ftdm_span_t *span; span 123 src/ftmod/ftmod_libpri/lpwrap_pri.h int lpwrap_init_pri(struct lpwrap_pri *spri, ftdm_span_t *span, ftdm_channel_t *dchan, int swtype, int node, int debug); span 319 src/ftmod/ftmod_pika/ftmod_pika.c static unsigned pika_open_range(ftdm_span_t *span, unsigned boardno, unsigned spanno, unsigned start, unsigned end, span 348 src/ftmod/ftmod_pika/ftmod_pika.c if (span->mod_data) { span 349 src/ftmod/ftmod_pika/ftmod_pika.c span_data = span->mod_data; span 367 src/ftmod/ftmod_pika/ftmod_pika.c span->mod_data = span_data; span 382 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_span_add_channel(span, 0, type, &chan); span 390 src/ftmod/ftmod_pika/ftmod_pika.c if (span->trunk_type == FTDM_TRUNK_T1) { span 393 src/ftmod/ftmod_pika/ftmod_pika.c span->trunk_type = FTDM_TRUNK_E1; span 396 src/ftmod/ftmod_pika/ftmod_pika.c if (span->trunk_type == FTDM_TRUNK_T1) { span 400 src/ftmod/ftmod_pika/ftmod_pika.c } else if (span->trunk_type == FTDM_TRUNK_E1) { span 411 src/ftmod/ftmod_pika/ftmod_pika.c TRY_OR_DIE(PKH_QUEUE_Attach(span_data->event_queue, span_data->handle, (PK_VOID*) span), PK_SUCCESS, error); span 495 src/ftmod/ftmod_pika/ftmod_pika.c if (span->trunk_type == FTDM_TRUNK_E1) { span 667 src/ftmod/ftmod_pika/ftmod_pika.c configured += pika_open_range(span, boardno, spanno, channo, top, type, name, number, profile); span 959 src/ftmod/ftmod_pika/ftmod_pika.c pika_span_data_t *span_data = (pika_span_data_t *) span->mod_data; span 1025 src/ftmod/ftmod_pika/ftmod_pika.c for(x = 1; x <= span->chan_count; x++) { span 1026 src/ftmod/ftmod_pika/ftmod_pika.c ftdmchan = span->channels[x]; span 1069 src/ftmod/ftmod_pika/ftmod_pika.c for(i = 1; i <= span->chan_count; i++) { span 1070 src/ftmod/ftmod_pika/ftmod_pika.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 1071 src/ftmod/ftmod_pika/ftmod_pika.c pika_chan_data_t *chan_data = (pika_chan_data_t *) span->channels[i]->mod_data; span 1074 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_clear_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 1093 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1100 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1107 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RED); span 1108 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "RED ALARM"); span 1112 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_YELLOW); span 1113 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "YELLOW ALARM"); span 1117 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_AIS); span 1118 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "AIS ALARM"); span 1122 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RED); span 1123 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "RED ALARM"); span 1127 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RAI); span 1128 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "RAI ALARM"); span 1132 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_AIS); span 1133 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "AIS ALARM"); span 1144 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_GENERAL); span 1145 src/ftmod/ftmod_pika/ftmod_pika.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "GENERAL ALARM"); span 1149 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RED); span 1151 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_YELLOW); span 1153 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_AIS); span 1155 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RED); span 1157 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_RAI); span 1159 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_set_alarm_flag(span->channels[i], FTDM_ALARM_AIS); span 1167 src/ftmod/ftmod_pika/ftmod_pika.c ftdm_clear_alarm_flag(span->channels[i], FTDM_ALARM_GENERAL); span 1191 src/ftmod/ftmod_pika/ftmod_pika.c span->channels[i]->last_event_time = 0; span 1192 src/ftmod/ftmod_pika/ftmod_pika.c span->event_header.e_type = FTDM_EVENT_OOB; span 1193 src/ftmod/ftmod_pika/ftmod_pika.c span->event_header.enum_id = event_id; span 1194 src/ftmod/ftmod_pika/ftmod_pika.c span->event_header.channel = span->channels[i]; span 1195 src/ftmod/ftmod_pika/ftmod_pika.c *event = &span->event_header; span 1210 src/ftmod/ftmod_pika/ftmod_pika.c pika_span_data_t *span_data = (pika_span_data_t *) span->mod_data; span 1228 src/ftmod/ftmod_pika/ftmod_pika.c pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->mod_data; span 61 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_span_t *span; span 158 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_start(ftdm_span_t *span); span 172 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_span_t *span = NULL; span 174 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS) { span 175 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 176 src/ftmod/ftmod_pritap/ftmod_pritap.c if (span->start != ftdm_pritap_start) { span 301 src/ftmod/ftmod_pritap/ftmod_pritap.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 311 src/ftmod/ftmod_pritap/ftmod_pritap.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 327 src/ftmod/ftmod_pritap/ftmod_pritap.c static __inline__ void pritap_check_state(ftdm_span_t *span) span 329 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 331 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 332 src/ftmod/ftmod_pritap/ftmod_pritap.c for(j = 1; j <= span->chan_count; j++) { span 333 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_test_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE)) { span 334 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_mutex_lock(span->channels[j]->mutex); span 335 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 336 src/ftmod/ftmod_pritap/ftmod_pritap.c state_advance(span->channels[j]); span 337 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_channel_complete_state(span->channels[j]); span 338 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_mutex_unlock(span->channels[j]->mutex); span 353 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_CRIT, "span %d D channel read fail! [%s]\n", pritap->span->span_id, pritap->dchan->last_error); span 355 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_CRIT, "span %d D channel read timeout!\n", pritap->span->span_id); span 375 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_CRIT, "span %d D channel write failed! [%s]\n", pritap->span->span_id, pritap->dchan->last_error); span 403 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, i, pritap->span->name, pritap->pcalls[i].callref); span 430 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, pritap->pcalls[i].callref, pritap->span->name, i); span 455 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "Cannot put pcall for null callref in span %s\n", pritap->span->name); span 469 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, crv, pritap->pcalls[i].callref); span 472 src/ftmod/ftmod_pritap/ftmod_pritap.c i, pritap->span->name, crv, pritap->pcalls[i].callref); span 485 src/ftmod/ftmod_pritap/ftmod_pritap.c if (!chanpos || chanpos > pritap->span->chan_count) { span 486 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_CRIT, "Invalid pri tap channel %d requested in span %s\n", channel, pritap->span->name); span 490 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan = pritap->span->channels[PRI_CHANNEL(channel)]; span 492 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "Channel %d requested in span %s is already in use!\n", channel, pritap->span->name); span 497 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "Could not open tap channel %d requested in span %s\n", channel, pritap->span->name); span 532 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->ring.channel), PRI_CHANNEL(e->ring.channel), crv); span 553 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 561 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 567 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 577 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, pritap->span->name); span 599 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 607 src/ftmod/ftmod_pritap/ftmod_pritap.c peertap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 621 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 625 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 634 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 639 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 650 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 656 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_DEBUG, "Ignoring passive event %s on span %s\n", pri_event2str(e->gen.e), pritap->span->name); span 664 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_span_t *span = (ftdm_span_t *) obj; span 665 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 670 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_DEBUG, "Tapping PRI thread started on span %d\n", span->span_id); span 672 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span = span; span 674 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 676 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_channel_open(span->span_id, pritap->dchan->chan_id, &pritap->dchan) != FTDM_SUCCESS) { span 677 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "Failed to open D-channel for span %s\n", span->name); span 690 src/ftmod/ftmod_pritap/ftmod_pritap.c while (ftdm_running() && !ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 693 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_check_state(span); span 722 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_check_state(span); span 726 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_DEBUG, "Tapping PRI thread ended on span %d\n", span->span_id); span 728 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 734 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_stop(ftdm_span_t *span) span 736 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 742 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 744 src/ftmod/ftmod_pritap/ftmod_pritap.c while (ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 805 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_start(ftdm_span_t *span) span 808 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 816 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 817 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 820 src/ftmod/ftmod_pritap/ftmod_pritap.c ret = ftdm_thread_create_detached(ftdm_pritap_run, span); span 839 src/ftmod/ftmod_pritap/ftmod_pritap.c if (span->trunk_type >= FTDM_TRUNK_NONE) { span 840 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_WARNING, "Invalid trunk type '%s' defaulting to T1.\n", ftdm_trunk_type2str(span->trunk_type)); span 841 src/ftmod/ftmod_pritap/ftmod_pritap.c span->trunk_type = FTDM_TRUNK_T1; span 844 src/ftmod/ftmod_pritap/ftmod_pritap.c for (i = 1; i <= span->chan_count; i++) { span 845 src/ftmod/ftmod_pritap/ftmod_pritap.c if (span->channels[i]->type == FTDM_CHAN_TYPE_DQ921) { span 846 src/ftmod/ftmod_pritap/ftmod_pritap.c dchan = span->channels[i]; span 851 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "No d-channel specified in freetdm.conf!\n", ftdm_trunk_type2str(span->trunk_type)); span 886 src/ftmod/ftmod_pritap/ftmod_pritap.c span->start = ftdm_pritap_start; span 887 src/ftmod/ftmod_pritap/ftmod_pritap.c span->stop = ftdm_pritap_stop; span 888 src/ftmod/ftmod_pritap/ftmod_pritap.c span->sig_read = ftdm_pritap_sig_read; span 889 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_cb = sig_cb; span 891 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_data = pritap; span 892 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_type = FTDM_SIGTYPE_ISDN; span 893 src/ftmod/ftmod_pritap/ftmod_pritap.c span->outgoing_call = pritap_outgoing_call; span 895 src/ftmod/ftmod_pritap/ftmod_pritap.c span->get_channel_sig_status = pritap_get_channel_sig_status; span 896 src/ftmod/ftmod_pritap/ftmod_pritap.c span->get_span_sig_status = pritap_get_span_sig_status; span 898 src/ftmod/ftmod_pritap/ftmod_pritap.c span->state_map = &pritap_state_map; span 193 src/ftmod/ftmod_r2/ftmod_r2.c static ftdm_status_t ftdm_r2_start(ftdm_span_t *span) span 195 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2_data = span->signal_data; span 197 src/ftmod/ftmod_r2/ftmod_r2.c return ftdm_thread_create_detached(ftdm_r2_run, span); span 253 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) { span 321 src/ftmod/ftmod_r2/ftmod_r2.c r2data = ftdmchan->span->signal_data; span 323 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 375 src/ftmod/ftmod_r2/ftmod_r2.c r2data = ftdmchan->span->signal_data; span 377 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 459 src/ftmod/ftmod_r2/ftmod_r2.c r2data = ftdmchan->span->signal_data; span 460 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sigev) == FTDM_BREAK) { span 680 src/ftmod/ftmod_r2/ftmod_r2.c if (span->signal_type) { span 681 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling."); span 686 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Reading R2 parameter %s for span %d\n", var, span->span_id); span 701 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d for variant %s\n", span->span_id, val); span 716 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with default category %s\n", span->span_id, val); span 726 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with logdir %s\n", span->span_id, val); span 750 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with loglevel %s\n", span->span_id, clevel); span 762 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with advanced protocol file %s\n", span->span_id, val); span 765 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with allow collect calls max ani = %d\n", span->span_id, r2conf.allow_collect_calls); span 768 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with double answer = %d\n", span->span_id, r2conf.double_answer); span 771 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with immediate accept = %d\n", span->span_id, r2conf.immediate_accept); span 774 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with skip category = %d\n", span->span_id, r2conf.skip_category); span 777 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with forced release = %d\n", span->span_id, r2conf.forced_release); span 780 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with charge calls = %d\n", span->span_id, r2conf.charge_calls); span 783 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with get ani first = %d\n", span->span_id, r2conf.get_ani_first); span 786 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with call files = %d\n", span->span_id, r2conf.call_files); span 789 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with MF backward timeout = %dms\n", span->span_id, r2conf.mfback_timeout); span 792 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with metering pulse timeout = %dms\n", span->span_id, r2conf.metering_pulse_timeout); span 795 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with max ani = %d\n", span->span_id, r2conf.max_ani); span 798 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with max dnis = %d\n", span->span_id, r2conf.max_dnis); span 800 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Unknown R2 parameter [%s]", var); span 806 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "R2 configuration error"); span 812 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Failed to allocate R2 data."); span 819 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Failed to allocate private span data container."); span 826 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create openr2 context for span."); span 846 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create channel calls hash for span."); span 850 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; (i <= span->chan_count) && (i <= FTDM_MAX_CHANNELS_SPAN); i++) { span 851 src/ftmod/ftmod_r2/ftmod_r2.c r2chan = openr2_chan_new_from_fd(r2data->r2context, span->channels[i], span->channels[i]->physical_chan_id); span 853 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create all openr2 channels for span."); span 863 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create all R2 call data structures for the span."); span 869 src/ftmod/ftmod_r2/ftmod_r2.c openr2_chan_set_client_data(r2chan, span->channels[i]); span 871 src/ftmod/ftmod_r2/ftmod_r2.c span->channels[i]->call_data = r2call; span 880 src/ftmod/ftmod_r2/ftmod_r2.c hashtable_insert(g_mod_data_hash, (void *)span->name, spanpvt, HASHTABLE_FLAG_FREE_VALUE); span 882 src/ftmod/ftmod_r2/ftmod_r2.c span->start = ftdm_r2_start; span 884 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_cb = sig_cb; span 885 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_type = FTDM_SIGTYPE_R2; span 886 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_data = r2data; span 887 src/ftmod/ftmod_r2/ftmod_r2.c span->outgoing_call = r2_outgoing_call; span 1003 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) { span 1026 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sigev) != FTDM_SUCCESS) { span 1120 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1121 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = span->signal_data; span 1127 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; i <= span->chan_count; i++) { span 1128 src/ftmod/ftmod_r2/ftmod_r2.c r2chan = R2CALL(span->channels[i])->r2chan; span 1134 src/ftmod/ftmod_r2/ftmod_r2.c status = ftdm_span_poll_event(span, waitms); span 1136 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_ERROR, "Failure Polling event! [%s]\n", span->last_error); span 1141 src/ftmod/ftmod_r2/ftmod_r2.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1188 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_t *span = NULL; span 1190 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 1191 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = span->signal_data; span 1193 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 1210 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_t *span = NULL; span 1215 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 1216 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 1220 src/ftmod/ftmod_r2/ftmod_r2.c if (!(r2data = span->signal_data)) { span 1239 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; i <= span->chan_count; i++) { span 1241 src/ftmod/ftmod_r2/ftmod_r2.c r2chan = R2CALL(span->channels[i])->r2chan; span 1243 src/ftmod/ftmod_r2/ftmod_r2.c span->channels[i]->physical_chan_id, span 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 span 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 span 101 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span; span 139 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void __release_request_id_span_chan(int span, int chan, const char *func, int line) span 144 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((id = SETUP_GRID[span][chan])) { span 147 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c SETUP_GRID[span][chan] = 0; span 243 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_channel_t *find_ftdmchan(ftdm_span_t *span, sangomabc_short_event_t *event, int force) span 248 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 257 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!span) { span 267 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for(i = 1; i <= span->chan_count; i++) { span 268 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (span->channels[i]->physical_span_id == targetspan && span->channels[i]->physical_chan_id == targetchan) { span 269 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdmchan = span->channels[i]; span 275 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[i]->span_id, span 276 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[i]->chan_id, span 277 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[i]->physical_span_id, span 278 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[i]->physical_chan_id, span 279 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_channel_state2str(span->channels[i]->state)); span 315 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 345 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_test_flag(span, FTDM_SPAN_SUSPENDED)) { span 357 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (count >= span->chan_count) { span 391 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_channel_use_count(span, &count); span 440 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c OUTBOUND_REQUESTS[r].span = span; span 518 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 536 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_progress(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 541 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 542 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 592 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdmchan = find_ftdmchan(OUTBOUND_REQUESTS[event->call_setup_id].span, event, 0); span 597 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 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))) { span 684 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, span 699 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_done(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 704 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 705 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 750 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_start_nack(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 753 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 760 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_channel_use_count(span, &count); span 803 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 828 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, span 835 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_released(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 839 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 855 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_stop(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 859 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 919 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_answer(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 923 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, event, 1))) { span 946 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, span 963 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_start(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_event_t *event) span 971 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) { span 972 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) { span 1028 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, event->chan, span 1083 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, span 1091 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_loop_start(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 1096 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) { span 1128 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_call_loop_stop(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 1131 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) { span 1165 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_restart_ack(sangomabc_connection_t *mcon, ftdm_span_t *span, sangomabc_short_event_t *event) span 1176 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_restart(sangomabc_connection_t *mcon, ftdm_span_t *span, sangomabc_short_event_t *event) span 1178 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1182 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_flag_locked(span, FTDM_SPAN_SUSPENDED); span 1193 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void handle_incoming_digit(sangomabc_connection_t *mcon, ftdm_span_t *span, sangomabc_event_t *event) span 1198 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t *)event, 1))) { span 1229 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_channel_t* event_process_states(ftdm_span_t *span, sangomabc_short_event_t *event) span 1232 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *signal_data = span->signal_data; span 1251 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) { span 1279 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static int parse_sangoma_event(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_short_event_t *event) span 1292 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdmchan = event_process_states(span, event); span 1296 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_start(span, mcon, (sangomabc_event_t*)event); span 1299 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_stop(span, mcon, event); span 1302 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_released(span, mcon, event); span 1308 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_progress(span, mcon, event); span 1311 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_start_nack(span, mcon, event); span 1314 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_answer(span, mcon, event); span 1320 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_done(span, mcon, event); span 1329 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_done(span, mcon, event); span 1333 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_loop_start(span, mcon, event); span 1336 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_call_loop_stop(span, mcon, event); span 1339 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_restart_ack(mcon, span, event); span 1342 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_restart(mcon, span, event); span 1348 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c handle_incoming_digit(mcon, span, (sangomabc_event_t*)event); span 1370 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 1395 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 1441 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1467 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1493 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1502 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1511 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1552 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event.span = (uint8_t)ftdmchan->physical_span_id; span 1555 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c SETUP_GRID[event.span][event.chan] = event.call_setup_id; span 1580 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c OUTBOUND_REQUESTS[r].span = ftdmchan->span; span 1630 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1665 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void check_state(ftdm_span_t *span) span 1668 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1669 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c int susp = ftdm_test_flag(span, FTDM_SPAN_SUSPENDED); span 1671 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (susp && ftdm_check_state_all(span, FTDM_CHANNEL_STATE_DOWN)) { span 1675 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE) || susp) { span 1677 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 1679 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for(j = 1; j <= span->chan_count; j++) { span 1680 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_test_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE) || susp) { span 1681 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_mutex_lock(span->channels[j]->mutex); span 1682 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 1683 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (susp && span->channels[j]->state != FTDM_CHANNEL_STATE_DOWN) { span 1684 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_state(span->channels[j], FTDM_CHANNEL_STATE_RESTART); span 1686 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c state_advance(span->channels[j]); span 1687 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_mutex_unlock(span->channels[j]->mutex); span 1691 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) { span 1703 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_check_state_all(span, FTDM_CHANNEL_STATE_DOWN)) { span 1711 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_SUSPENDED); span 1723 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ ftdm_status_t check_events(ftdm_span_t *span, int ms_timeout) span 1726 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1728 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_poll_event(span, ms_timeout); span 1734 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1755 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_ERROR, "Boost Check Event Failure Failure: %s\n", span->last_error); span 1773 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1774 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1778 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (check_events(span, 100) != FTDM_SUCCESS) { span 1793 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_boost_connection_open(ftdm_span_t *span) span 1795 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1797 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (sangoma_boost_data->sigmod->start_span(span) != FTDM_SUCCESS) { span 1801 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_SUSPENDED); span 1828 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_ERROR, "Span %s could not create its boost msock interrupt!\n", span->name); span 1833 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_ERROR, "Span %s could not create its boost psock interrupt!\n", span->name); span 1844 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static int ftdm_boost_wait_event(ftdm_span_t *span) span 1849 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1851 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_queue_get_interrupt(span->pendingchans, &ints[0]); span 1876 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static sangomabc_event_t *ftdm_boost_read_event(ftdm_span_t *span) span 1880 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1902 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1904 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1911 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c mcon->span = span; span 1912 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c pcon->span = span; span 1920 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_boost_connection_open(span) != FTDM_SUCCESS) { span 1953 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_boost_wait_event(span) < 0) { span 1957 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while ((event = ftdm_boost_read_event(span))) { span 1958 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c parse_sangoma_event(span, pcon, (sangomabc_short_event_t*)event); span 1962 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c check_state(span); span 2009 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void ftdm_cli_span_state_cmd(ftdm_span_t *span, char *state) span 2017 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for(j = 1; j <= span->chan_count; j++) { span 2018 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (span->channels[j]->state != state_e) { span 2019 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_channel_t *ftdmchan = span->channels[j]; span 2064 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span; span 2071 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_find_by_name(argv[1], &span); span 2077 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (span->signal_type != FTDM_SIGTYPE_SANGOMABOOST) { span 2093 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2125 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span; span 2132 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_span_find_by_name(argv[1], &span); span 2139 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2155 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_cli_span_state_cmd(span,argv[3]); span 2250 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_sangoma_boost_start(ftdm_span_t *span) span 2254 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2257 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_thread_create_detached(ftdm_sangoma_boost_run, span); span 2266 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_thread_create_detached(ftdm_sangoma_events_run, span); span 2275 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_sangoma_boost_stop(ftdm_span_t *span) span 2279 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2284 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = sangoma_boost_data->sigmod->stop_span(span); span 2286 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_CRIT, "Failed to stop span %s boost signaling\n", span->name); span 2298 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_CRIT, "it seems boost thread in span %s may be stuck, we may segfault :-(\n", span->name); span 2309 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_CRIT, "it seems boost events thread in span %s may be stuck, we may segfault :-(\n", span->name); span 2452 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!span) { span 2465 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2480 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_send_signal(ftdmchan->span, &sig); span 2486 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 2500 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 2512 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2521 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c return sangoma_boost_data->sigmod->set_span_sig_status(span, status); span 2526 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2534 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c return sangoma_boost_data->sigmod->get_span_sig_status(span, status); span 2585 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_ton(val, &span->default_caller_data.dnis.type); span 2587 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_npi(val, &span->default_caller_data.dnis.plan); span 2589 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_ton(val, &span->default_caller_data.cid_num.type); span 2591 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_npi(val, &span->default_caller_data.cid_num.plan); span 2593 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_ton(val, &span->default_caller_data.rdnis.type); span 2595 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_set_npi(val, &span->default_caller_data.rdnis.plan); span 2597 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 2604 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_CRIT, "No sigmod attribute in span %s, you must either specify a sigmod or re-compile with SCTP available to use socket mode boost!\n", span->name); span 2605 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_string(span->last_error, "No sigmod configuration was set and there is no SCTP available!"); span 2609 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_string(span->last_error, "missing Sangoma boost IP parameters"); span 2628 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c snprintf(span->last_error, sizeof(span->last_error), "Failed to load sangoma boost signaling module %s", path); span 2634 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c snprintf(span->last_error, sizeof(span->last_error), "Failed to read Sangoma boost signaling module interface '%s': %s", path, err); span 2655 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_ERROR, "Span %s could not create its boost queue!\n", span->name); span 2658 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_NOTICE, "Span %s will use Sangoma Boost Signaling Module %s\n", span->name, sigmod_iface->name); span 2660 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sigmod_iface->configure_span(span, ftdm_parameters); span 2662 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_log(FTDM_LOG_NOTICE, "Span %s will use boost socket mode\n", span->name); span 2669 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for (j = 1; j <= span->chan_count; j++) { span 2670 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[j]->call_data = ftdm_calloc(1, sizeof(sangoma_boost_call_t)); span 2671 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!span->channels[j]->call_data) { span 2676 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_cb = sig_cb; span 2677 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->start = ftdm_sangoma_boost_start; span 2678 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->stop = ftdm_sangoma_boost_stop; span 2679 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_data = sangoma_boost_data; span 2680 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_type = FTDM_SIGTYPE_SANGOMABOOST; span 2681 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->outgoing_call = sangoma_boost_outgoing_call; span 2682 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channel_request = sangoma_boost_channel_request; span 2683 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->get_channel_sig_status = sangoma_boost_get_channel_sig_status; span 2684 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->set_channel_sig_status = sangoma_boost_set_channel_sig_status; span 2685 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->get_span_sig_status = sangoma_boost_get_span_sig_status; span 2686 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->set_span_sig_status = sangoma_boost_set_span_sig_status; span 2687 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->state_map = &boost_state_map; span 2690 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID); span 2691 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_flag(span, FTDM_SPAN_USE_CHAN_QUEUE); span 2694 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channel_request = NULL; span 2696 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_flag_locked(span, FTDM_SPAN_SUSPENDED); span 224 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c int sangomabc_exec_command(sangomabc_connection_t *mcon, int span, int chan, int id, int cmd, int cause, int flags) span 232 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init((void *)&fevent, cmd, chan, span); span 235 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init(&sevent, cmd, chan, span); span 266 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c int sangomabc_exec_commandp(sangomabc_connection_t *pcon, int span, int chan, int id, int cmd, int cause) span 271 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init(&oevent, cmd, chan, span); span 437 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c ftdm_assert_return(event->span <= FTDM_MAX_PHYSICAL_SPANS_PER_LOGICAL_SPAN, -1, "Invalid span when writing boost event\n"); span 472 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c mcon->sigmod->write_msg(mcon->span, event, event_size); span 507 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c mcon->sigmod->write_msg(mcon->span, event, event_size); span 549 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c void sangomabc_event_init(sangomabc_short_event_t *event, sangomabc_event_id_t event_id, int chan, int span) span 558 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c event->span = (uint8_t)span; span 112 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.h ftdm_span_t *span; span 142 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.h void sangomabc_event_init(sangomabc_short_event_t *event, sangomabc_event_id_t event_id, int chan, int span); span 145 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.h int sangomabc_exec_command(sangomabc_connection_t *mcon, int span, int chan, int id, int cmd, int cause, int flags); span 146 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.h int sangomabc_exec_commandp(sangomabc_connection_t *pcon, int span, int chan, int id, int cmd, int cause); span 148 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.h #define BOOST_EVENT_SPAN(sigmod, event) ((sigmod) ? event->span : event->span + 1) span 65 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_WRITE_MSG_ARGS (ftdm_span_t *span, void *msg, ftdm_size_t msglen) span 125 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_GET_SPAN_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t *status) span 135 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_SET_SPAN_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t status) span 145 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_CONFIGURE_SPAN_ARGS (ftdm_span_t *span, ftdm_conf_parameter_t *parameters) span 154 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_START_SPAN_ARGS (ftdm_span_t *span) span 163 src/ftmod/ftmod_sangoma_boost/sangoma_boost_interface.h #define BOOST_STOP_SPAN_ARGS (ftdm_span_t *span) span 160 src/ftmod/ftmod_sangoma_boost/sigboost.h uint8_t span; span 198 src/ftmod/ftmod_sangoma_boost/sigboost.h uint8_t span; span 45 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_stop(ftdm_span_t *span); span 46 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_start(ftdm_span_t *span); span 48 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_channel_t* ftdm_sangoma_isdn_process_event_states(ftdm_span_t *span, sngisdn_event_data_t *sngisdn_event); span 52 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_stack_event (ftdm_span_t *span, sngisdn_event_data_t *sngisdn_event); span 59 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c extern ftdm_status_t sng_isdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt); span 245 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 247 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 251 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "ftmod_sangoma_isdn monitor thread for span=%u started.\n", span->span_id); span 254 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 257 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_queue_get_interrupt(span->pendingchans, &ftdm_sangoma_isdn_int[0]) != FTDM_SUCCESS) { span 258 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to get a ftdm_interrupt for span = %s!\n", span->name); span 263 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to get a event interrupt for span = %s!\n", span->name); span 267 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_running() && !(ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD))) { span 275 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) { span 283 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_sangoma_isdn_process_stack_event(span, sngisdn_event); span 286 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_trigger_signals(span); span 292 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_ERROR,"ftdm_interrupt_wait returned error!\non span = %s\n", span->name); span 296 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_ERROR,"ftdm_interrupt_wait returned with unknown code on span = %s\n", span->name); span 307 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 309 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "ftmod_sangoma_isdn monitor thread for span %s stopping.\n", span->name); span 316 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 318 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "ftmod_sangoma_isdn monitor thread for span %s stopping due to error.\n", span->name); span 331 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_channel_t* ftdm_sangoma_isdn_process_event_states(ftdm_span_t *span, sngisdn_event_data_t *sngisdn_event) span 366 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_stack_event (ftdm_span_t *span, sngisdn_event_data_t *sngisdn_event) span 370 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdmchan = ftdm_sangoma_isdn_process_event_states(span, sngisdn_event); span 478 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 492 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 503 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 515 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 517 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 518 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) { span 542 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 576 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sng_isdn_set_avail_rate(ftdmchan->span, SNGISDN_AVAIL_DOWN); span 713 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_test_flag(span->channels[1], FTDM_CHANNEL_SIG_UP)) { span 728 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_start(ftdm_span_t *span) span 730 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO,"Starting span %s:%u.\n",span->name,span->span_id); span 731 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sng_isdn_stack_start(span) != FTDM_SUCCESS) { span 732 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "Failed to start span %s\n", span->name); span 736 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 737 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 740 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_thread_create_detached(ftdm_sangoma_isdn_run, span) != FTDM_SUCCESS) { span 745 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_DEBUG,"Finished starting span %s\n", span->name); span 749 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_stop(ftdm_span_t *span) span 753 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "Stopping span %s\n", span->name); span 756 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 759 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 760 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_DEBUG, "Waiting for monitor thread to end for span %s\n", span->name); span 764 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sng_isdn_stack_stop(span) != FTDM_SUCCESS) { span 765 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "Failed to stop span %s\n", span->name); span 768 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 775 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_sched_destroy(&((sngisdn_span_data_t*)span->signal_data)->sched); span 776 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_queue_destroy(&((sngisdn_span_data_t*)span->signal_data)->event_queue); span 777 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_safe_free(span->signal_data); span 779 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_DEBUG, "Finished stopping span %s\n", span->name); span 791 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "Configuring ftmod_sangoma_isdn span = %s\n", span->name); span 794 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span_data->ftdm_span = span; span 795 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_data = span_data; span 797 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 806 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftmod_isdn_parse_cfg(ftdm_parameters, span) != FTDM_SUCCESS) { span 811 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sng_isdn_stack_cfg(span) != FTDM_SUCCESS) { span 817 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->start = ftdm_sangoma_isdn_start; span 818 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->stop = ftdm_sangoma_isdn_stop; span 819 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_type = FTDM_SIGTYPE_ISDN; span 820 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->outgoing_call = ftdm_sangoma_isdn_outgoing_call; span 821 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->channel_request = NULL; span 822 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_cb = sig_cb; span 823 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->get_channel_sig_status = ftdm_sangoma_isdn_get_chan_sig_status; span 824 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->set_channel_sig_status = ftdm_sangoma_isdn_set_chan_sig_status; span 825 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->get_span_sig_status = ftdm_sangoma_isdn_get_span_sig_status; span 826 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->set_span_sig_status = ftdm_sangoma_isdn_set_span_sig_status; span 827 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->state_map = &sangoma_isdn_state_map; span 828 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_CHAN_QUEUE); span 829 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE); span 831 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP || span 832 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->trunk_type == FTDM_TRUNK_BRI) { span 834 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_AV_RATE); span 835 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sng_isdn_set_avail_rate(span, SNGISDN_AVAIL_PWR_SAVING); span 839 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_assert(ftdm_sched_create(&((sngisdn_span_data_t*)span->signal_data)->sched, "sngisdn_schedule") == FTDM_SUCCESS, "Failed to create a new schedule!!"); span 842 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_assert(ftdm_queue_create(&((sngisdn_span_data_t*)span->signal_data)->event_queue, SNGISDN_EVENT_QUEUE_SIZE) == FTDM_SUCCESS, "Failed to create a new queue!!"); span 844 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "Finished configuring ftmod_sangoma_isdn span = %s\n", span->name); span 929 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span; span 938 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[2], &span); span 944 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sng_isdn_activate_trace(span, SNGISDN_TRACE_Q921); span 946 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sng_isdn_activate_trace(span, SNGISDN_TRACE_Q931); span 948 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sng_isdn_activate_trace(span, SNGISDN_TRACE_DISABLE); span 954 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span; span 960 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[1], &span); span 967 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_print_phy_stats(stream, span); span 971 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span = NULL; span 973 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[1], &span); span 980 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_print_span(stream, span); span 259 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t ftmod_isdn_parse_cfg(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span); span 366 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sng_isdn_stack_cfg(ftdm_span_t *span); span 367 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sng_isdn_stack_start(ftdm_span_t *span); span 368 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sng_isdn_stack_stop(ftdm_span_t *span); span 370 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_print_phy_stats(ftdm_stream_handle_t *stream, ftdm_span_t *span); span 372 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_print_span(ftdm_stream_handle_t *stream, ftdm_span_t *span); span 37 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_status_t parse_switchtype(const char* switch_name, ftdm_span_t *span); span 38 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_status_t parse_signalling(const char* signalling, ftdm_span_t *span); span 42 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_status_t parse_switchtype(const char* switch_name, ftdm_span_t *span) span 47 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 48 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c switch(span->trunk_type) { span 60 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported switchtype %s for trunktype:%s\n", span->name, switch_name, ftdm_trunk_type2str(span->trunk_type)); span 71 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported switchtype %s for trunktype:%s\n", span->name, switch_name, ftdm_trunk_type2str(span->trunk_type)); span 84 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported switchtype %s for trunktype:%s\n", span->name, switch_name, ftdm_trunk_type2str(span->trunk_type)); span 90 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported trunktype:%s\n", span->name, switch_name, ftdm_trunk_type2str(span->trunk_type)); span 96 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c g_sngisdn_data.ccs[i].trunktype == span->trunk_type) { span 104 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c g_sngisdn_data.ccs[i].trunktype = span->trunk_type; span 105 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s: New switchtype:%s cc_id:%u\n", span->name, switch_name, i); span 123 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s: cc_id:%d dchan_id:%d span_id:%d\n", span->name, signal_data->cc_id, signal_data->dchan_id, signal_data->span_id); span 126 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c for (i=1;i<=span->chan_count;i++) { span 128 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_channel_t *ftdmchan = span->channels[i]; span 138 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_status_t parse_signalling(const char* signalling, ftdm_span_t *span) span 140 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 158 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_status_t ftmod_isdn_parse_cfg(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span) span 162 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 169 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c signal_data->link_id = span->span_id; span 170 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_capability = IN_ITC_SPEECH; span 173 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_layer1 = FTDM_INVALID_INT_PARM; span 175 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI || span 176 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 178 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("unknown", &span->default_caller_data.dnis.plan); span 179 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("unknown", &span->default_caller_data.dnis.type); span 180 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("unknown", &span->default_caller_data.cid_num.plan); span 181 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("unknown", &span->default_caller_data.cid_num.type); span 182 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("unknown", &span->default_caller_data.rdnis.plan); span 183 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("unknown", &span->default_caller_data.rdnis.type); span 185 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("e164", &span->default_caller_data.dnis.plan); span 186 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("national", &span->default_caller_data.dnis.type); span 187 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("e164", &span->default_caller_data.cid_num.plan); span 188 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("national", &span->default_caller_data.cid_num.type); span 189 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi("e164", &span->default_caller_data.rdnis.plan); span 190 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton("national", &span->default_caller_data.rdnis.type); span 199 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (parse_switchtype(val, span) != FTDM_SUCCESS) { span 204 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (parse_signalling(val, span) != FTDM_SUCCESS) { span 241 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton(val, &span->default_caller_data.dnis.type); span 243 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi(val, &span->default_caller_data.dnis.plan); span 245 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton(val, &span->default_caller_data.cid_num.type); span 247 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi(val, &span->default_caller_data.cid_num.plan); span 249 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_ton(val, &span->default_caller_data.rdnis.type); span 251 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_npi(val, &span->default_caller_data.rdnis.plan); span 253 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_bearer_capability(val, &span->default_caller_data.bearer_capability); span 255 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_span_set_bearer_layer1(val, &span->default_caller_data.bearer_layer1); span 267 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: switchtype not specified", span->name); span 271 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: signalling not specified", span->name); span 275 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.bearer_layer1 == FTDM_INVALID_INT_PARM) { span 277 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_layer1 = IN_UIL1_G711ULAW; span 279 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_layer1 = IN_UIL1_G711ALAW; span 51 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c ftdm_span_send_signal(ftdmchan->span, &sig); span 55 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c void sngisdn_set_span_sig_status(ftdm_span_t *span, ftdm_signaling_status_t status) span 61 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cntrl.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 41 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_cfg_phy(ftdm_span_t *span); span 42 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_cfg_q921(ftdm_span_t *span); span 43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_cfg_q931(ftdm_span_t *span); span 44 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_cfg_cc(ftdm_span_t *span); span 52 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_phy_psap(ftdm_span_t *span); span 53 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q921_msap(ftdm_span_t *span); span 54 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q921_dlsap(ftdm_span_t *span, uint8_t management); span 55 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_tsap(ftdm_span_t *span); span 56 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_dlsap(ftdm_span_t *span); span 57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_lce(ftdm_span_t *span); span 59 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_cc_sap(ftdm_span_t *span); span 61 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg(ftdm_span_t *span) span 63 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 95 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_phy_psap(span) != FTDM_SUCCESS) { span 96 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:phy_psap configuration failed\n", span->name); span 99 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:phy_psap configuration done\n", span->name); span 101 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q921_msap(span) != FTDM_SUCCESS) { span 102 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q921_msap configuration failed\n", span->name); span 105 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q921_msap configuration done\n", span->name); span 107 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q921_dlsap(span, 0) != FTDM_SUCCESS) { span 108 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q921_dlsap configuration failed\n", span->name); span 111 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q921_dlsap configuration done\n", span->name); span 113 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 114 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q921_dlsap(span, 1) != FTDM_SUCCESS) { span 115 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q921_dlsap management configuration failed\n", span->name); span 118 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q921_dlsap management configuration done\n", span->name); span 122 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q931_dlsap(span) != FTDM_SUCCESS) { span 123 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q931_dlsap configuration failed\n", span->name); span 126 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q931_dlsap configuration done\n", span->name); span 128 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q931_lce(span) != FTDM_SUCCESS) { span 129 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q931_lce configuration failed\n", span->name); span 132 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q931_lce configuration done\n", span->name); span 137 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_q931_tsap(span) != FTDM_SUCCESS) { span 138 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:q931_tsap configuration failed\n", span->name); span 141 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:q931_tsap configuration done\n", span->name); span 143 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (sng_isdn_stack_cfg_cc_sap(span) != FTDM_SUCCESS) { span 144 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:cc_sap configuration failed\n", span->name); span 147 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_DEBUG, "%s:cc_sap configuration done\n", span->name); span 150 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_INFO, "%s:stack configuration done\n", span->name); span 194 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_phy_psap(ftdm_span_t *span) span 202 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 226 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 237 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:No d-channels specified\n", span->name); span 243 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c switch(span->trunk_type) { span 256 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s:Unsupported trunk type %d\n", span->name, span->trunk_type); span 311 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q921_msap(ftdm_span_t *span) span 316 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 354 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 377 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 404 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q921_dlsap(ftdm_span_t *span, uint8_t management) span 409 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 429 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP || span 430 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c span->trunk_type == FTDM_TRUNK_BRI) { span 455 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 541 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_tsap(ftdm_span_t *span) span 546 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 604 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_dlsap(ftdm_span_t *span) span 610 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 712 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 808 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c switch (span->trunk_type) { span 844 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: Unsupported trunk_type\n", span->name); span 854 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_q931_lce(ftdm_span_t *span) span 861 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 862 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP && signal_data->signalling == SNGISDN_SIGNALING_NET) { span 969 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sng_isdn_stack_cfg_cc_sap(ftdm_span_t *span) span 974 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 40 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_phy(ftdm_span_t *span); span 41 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_deactivate_phy(ftdm_span_t *span); span 43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_cc(ftdm_span_t *span); span 44 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt); span 46 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_cntrl_q931(ftdm_span_t *span, uint8_t action, uint8_t subaction); span 47 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_cntrl_q921(ftdm_span_t *span, uint8_t action, uint8_t subaction); span 52 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_stack_stop(ftdm_span_t *span); span 55 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_stack_start(ftdm_span_t *span) span 57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 60 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q921(span, ABND_ENA, NOTUSED) != FTDM_SUCCESS) { span 61 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to activate stack q921\n", span->name); span 72 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack q921 activated\n", span->name); span 75 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_activate_cc(span) != FTDM_SUCCESS) { span 76 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to activate stack CC\n", span->name); span 79 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack CC activated\n", span->name); span 83 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q931(span, ABND_ENA, SAELMNT) != FTDM_SUCCESS) { span 84 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to activate stack q931\n", span->name); span 87 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack q931 activated\n", span->name); span 89 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_INFO, "%s:Stack activated\n",span->name); span 93 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_stack_stop(ftdm_span_t *span) span 96 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_deactivate_phy(span) != FTDM_SUCCESS) { span 97 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to deactivate stack phy\n", span->name); span 101 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q931(span, AUBND_DIS, SAELMNT) != FTDM_SUCCESS) { span 102 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to deactivate stack q931\n", span->name); span 106 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q921(span, AUBND_DIS, SAELMNT) != FTDM_SUCCESS) { span 107 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to deactivate stack q921\n", span->name); span 111 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_INFO, "%s:Signalling stopped\n", span->name); span 116 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_phy(ftdm_span_t *span) span 124 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_deactivate_phy(ftdm_span_t *span) span 129 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 159 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_cc(ftdm_span_t *span) span 164 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 193 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt) span 195 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 202 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q921(span, ADISIMM, SATRC) != FTDM_SUCCESS) { span 210 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q931(span, ADISIMM, SATRC) != FTDM_SUCCESS) { span 220 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q921(span, AENA, SATRC) != FTDM_SUCCESS) { span 230 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sng_isdn_cntrl_q931(span, AENA, SATRC) != FTDM_SUCCESS) { span 240 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_cntrl_q931(ftdm_span_t *span, uint8_t action, uint8_t subaction) span 244 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 279 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sng_isdn_cntrl_q921(ftdm_span_t *span, uint8_t action, uint8_t subaction) span 283 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 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; span 95 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 242 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 243 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c ((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) { span 305 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; span 388 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; span 519 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c sng_isdn_set_avail_rate(ftdmchan->span, SNGISDN_AVAIL_DOWN); span 694 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; span 826 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); span 871 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); span 904 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); span 919 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); span 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; span 86 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 87 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 142 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 166 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; span 186 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 187 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 226 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; span 245 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 246 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 284 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; span 303 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 304 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 341 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; span 378 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; span 410 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; span 430 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 431 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 475 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; span 477 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type != FTDM_TRUNK_BRI && span 478 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type != FTDM_TRUNK_BRI_PTMP) { span 502 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; span 521 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; span 556 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; span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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); span 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; span 137 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_status_t sng_isdn_set_avail_rate(ftdm_span_t *span, sngisdn_avail_t avail) span 140 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (span->trunk_type == FTDM_TRUNK_BRI || span 141 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 147 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 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; span 341 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 342 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 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; span 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; span 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; span 442 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data; span 563 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c void sngisdn_print_phy_stats(ftdm_stream_handle_t *stream, ftdm_span_t *span) span 566 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 572 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c stream->write_function(stream, " Span:%s", span->name); span 605 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c void sngisdn_print_span(ftdm_stream_handle_t *stream, ftdm_span_t *span) span 611 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c fchan = ftdm_span_get_channel(span, 1); span 616 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_span_get_sig_status(span, &sigstatus); span 618 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c span->name, alarmbits ? "ALARMED" : "OK", span 600 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cfg.c cfg.t.cfg.s.l1PSAP.span = k->mtp1.span; span 54 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_free(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 55 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_inuse(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 56 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_inreset(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 57 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_flags(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 58 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_blocks(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 59 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_status(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 61 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_rsc(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 62 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_grs(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose); span 64 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_blo(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 65 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_ubl(ftdm_stream_handle_t *stream, int span, int chan, int verbose); span 67 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_cgb(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose); span 68 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_cgu(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose); span 82 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t extract_span_chan(char *argv[10], int pos, int *span, int *chan); span 92 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c int span = 0; span 130 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 132 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_status(stream, span, chan, verbose); span 150 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 152 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_inuse(stream, span, chan, verbose); span 170 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 172 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_inreset(stream, span, chan, verbose); span 190 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 192 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_free(stream, span, chan, verbose); span 210 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 212 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_blocks(stream, span, chan, verbose); span 230 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 232 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_flags(stream, span, chan, verbose); span 345 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 347 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_blo(stream, span, chan, verbose); span 365 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 367 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_ubl(stream, span, chan, verbose); span 385 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 402 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_cgb(stream, span, chan, range, verbose); span 420 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 437 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_cgu(stream, span, chan, range, verbose); span 455 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 457 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_rsc(stream, span, chan, verbose); span 475 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (extract_span_chan(argv, c, &span, &chan)) goto handle_cli_error_span_chan; span 492 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_grs(stream, span, chan, range, verbose); span 689 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_free(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 706 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 709 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 752 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_inuse(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 769 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 772 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 822 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_inreset(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 839 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 842 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 881 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_flags(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 897 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 900 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 938 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_blocks(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 953 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 956 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1021 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_show_status(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 1037 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1038 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = ckt->span; span 1040 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1051 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ckt->span == lspan) && (ckt->chan == lchan)) { span 1054 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1059 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1070 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1124 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_blo(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 1139 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1142 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1184 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_blocks(stream, span, chan, verbose); span 1190 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_ubl(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 1205 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1208 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1253 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_blocks(stream, span, chan, verbose); span 1278 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c g_ftdm_sngss7_data.cfg.mtpLink[x].mtp1.span, span 1387 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_rsc(ftdm_stream_handle_t *stream, int span, int chan, int verbose) span 1402 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1405 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1451 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_grs(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose) span 1469 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->mod_data; span 1471 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1515 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_cgb(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose) span 1541 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->mod_data; span 1544 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1559 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1596 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t handle_tx_cgu(ftdm_stream_handle_t *stream, int span, int chan, int range, int verbose) span 1622 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->mod_data; span 1625 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1640 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1864 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c static ftdm_status_t extract_span_chan(char *argv[10], int pos, int *span, int *chan) span 1870 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c *span = atoi(argv[pos]); span 1886 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c *span = atoi(argv[pos]); span 1055 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c if (ftdm_test_flag(ftdmchan->span, FTDM_SPAN_IN_THREAD)) { span 1223 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c g_ftdm_sngss7_data.cfg.isupCkt[circuit].span, span 1557 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->mod_data; span 1593 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->mod_data; span 1741 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->mod_data; span 1829 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1882 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->mod_data; span 1960 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 91 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); span 129 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); span 168 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); span 206 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); span 244 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); span 282 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); span 321 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); span 360 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); span 397 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); span 439 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); span 52 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_stop (ftdm_span_t * span); span 53 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_start (ftdm_span_t * span); span 558 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 589 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 620 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 654 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 760 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span_data_t *span = ftdmchan->span->mod_data; span 761 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (span->rx_grs.circuit == sngss7_info->circuit->id) { span 766 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span_data_t *span = ftdmchan->span->mod_data; span 767 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->rx_grs.circuit = 0; span 768 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->rx_grs.range = 0; span 786 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span_data_t *span = ftdmchan->span->mod_data; span 787 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->rx_gra.circuit = 0; span 788 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->rx_gra.range = 0; span 816 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 919 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 995 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1008 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1020 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1038 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1054 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1072 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1111 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 1290 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_start(ftdm_span_t * span) span 1299 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c SS7_INFO ("Starting span %s:%u.\n", span->name, span->span_id); span 1302 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c for (x = 1; x < (span->chan_count + 1); x++) { span 1304 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdmchan = span->channels[x]; span 1307 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span = ftdmchan->span->mod_data; span 1330 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span->tx_grs.range = span->chan_count -1; span 1344 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_clear_flag (span, FTDM_SPAN_STOP_THREAD); span 1345 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_clear_flag (span, FTDM_SPAN_IN_THREAD); span 1354 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (ftdm_thread_create_detached (ftdm_sangoma_ss7_run, span) != FTDM_SUCCESS) { span 1359 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c SS7_DEBUG ("Finished starting span %s:%u.\n", span->name, span->span_id); span 1365 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_stop(ftdm_span_t * span) span 1369 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_log (FTDM_LOG_INFO, "Stopping span %s:%u.\n", span->name,span->span_id); span 1372 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_STOP_THREAD); span 1375 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c while (ftdm_test_flag (span, FTDM_SPAN_IN_THREAD)) { span 1377 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1378 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 1384 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_log (FTDM_LOG_DEBUG, "Finished stopping span %s:%u.\n", span->name, span->span_id); span 1395 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1396 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 1421 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->start = ftdm_sangoma_ss7_start; span 1422 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->stop = ftdm_sangoma_ss7_stop; span 1423 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_type = FTDM_SIGTYPE_SS7; span 1424 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_data = NULL; span 1425 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->outgoing_call = ftdm_sangoma_ss7_outgoing_call; span 1426 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->channel_request = NULL; span 1427 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_cb = sig_cb; span 1428 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->get_channel_sig_status = ftdm_sangoma_ss7_get_sig_status; span 1429 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->set_channel_sig_status = ftdm_sangoma_ss7_set_sig_status; span 1430 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->state_map = &sangoma_ss7_state_map; span 1431 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->mod_data = ss7_span_info; span 1434 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_USE_CHAN_QUEUE); span 1436 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_USE_SIGNALS_QUEUE); span 1439 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (ftmod_ss7_parse_xml(ftdm_parameters, span)) { span 1451 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1452 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 91 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h uint32_t span; span 237 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h uint32_t span; span 547 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span); span 495 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 539 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 572 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 621 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 670 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 720 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->mod_data; span 54 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span); span 80 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c static int ftmod_ss7_fill_in_circuits(char *ch_map, int cicbase, int typeCntrl, int isup_id, ftdm_span_t *span); span 86 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c int ftmod_ss7_parse_xml(ftdm_conf_parameter_t *ftdm_parameters, ftdm_span_t *span) span 198 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupIntf[x].id, span)) { span 415 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c while (mtpLink[i].mtp1.span != 0 ){ span 462 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span = atoi(parm->val); span 463 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c SS7_DEBUG("\tFound mtpLink->span = %d\n", mtpLink->mtp1.span); span 882 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if ((g_ftdm_sngss7_data.cfg.mtpLink[i].mtp1.span == mtpLink->mtp1.span) && span 896 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span, span 902 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span, span 912 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.mtpLink[i].mtp1.span = mtpLink->mtp1.span; span 1547 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c static int ftmod_ss7_fill_in_circuits(char *ch_map, int cicbase, int typeCntrl, int isup_id, ftdm_span_t *span) span 1571 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c (g_ftdm_sngss7_data.cfg.isupCkt[x].span == span->channels[1]->physical_span_id)) { span 1574 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c span->channels[1]->physical_span_id, span 1588 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c span->channels[1]->physical_span_id, span 1599 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span = span->channels[1]->physical_span_id; span 1634 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c while (span->channels[i] != NULL) { span 1635 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if (span->channels[i]->physical_chan_id == timeslot.channel) { span 1641 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if (span->channels[i] == NULL) { span 1646 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c ftdmchan = span->channels[i]; span 1653 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c && (g_ftdm_sngss7_data.cfg.isupCkt[x].span == ftdmchan->physical_span_id)) { span 1676 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c ss7_info->t35.sched = ((sngss7_span_data_t *)span->mod_data)->sched; span 1684 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span = ftdmchan->physical_span_id; span 1726 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span, span 1733 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span, span 163 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static __inline__ sng_fd_t tdmv_api_open_span_chan(int span, int chan) span 165 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c return sangoma_open_tdmapi_span_chan(span, chan); span 169 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static __inline__ sng_fd_t __tdmv_api_open_span_chan(int span, int chan) span 171 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c return __sangoma_open_tdmapi_span_chan(span, chan); span 212 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static unsigned wp_open_range(ftdm_span_t *span, unsigned spanno, unsigned start, unsigned end, ftdm_chan_type_t type, char *name, char *number, unsigned char cas_bits) span 227 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (!strncasecmp(span->name, "smg_prid_nfas", 8) && span->trunk_type == FTDM_TRUNK_T1 && x == 24) { span 242 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_span_add_channel(span, sockfd, type, &chan) == FTDM_SUCCESS) { span 295 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->trunk_type == FTDM_TRUNK_BRI || span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 496 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c configured += wp_open_range(span, spanno, channo, top, type, name, number, cas_bits); span 895 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 896 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 905 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c pfds[j].fd = span->channels[i]->sockfd; span 966 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 970 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 971 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1003 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 1009 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 1049 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 1050 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->channels[i]->last_event_time && !ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 1051 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c uint32_t diff = (uint32_t)(ftdm_current_time_in_ms() - span->channels[i]->last_event_time); span 1053 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_WINK)) { span 1055 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1056 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1057 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1063 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_FLASH)) { span 1065 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1066 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1067 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1070 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->channels[i]->type == FTDM_CHAN_TYPE_FXO) { span 1071 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1081 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 1083 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1085 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 1089 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 1093 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(span->channels[i], FTDM_LOG_DEBUG, "read wanpipe event %d\n", tdm_api.wp_tdm_cmd.event.wp_tdm_api_event_type); span 1111 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->channels[i]->type == FTDM_CHAN_TYPE_FXS) { span 1114 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_FLASH)) { span 1115 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1116 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1120 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1123 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_WINK)) { span 1124 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1125 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1129 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1135 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1138 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(span->channels[i]->last_error, sizeof(span->channels[i]->last_error), "ONHOOK Failed"); span 1161 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->channels[i]->rx_cas_bits = wanpipe_swap_bits(tdm_api.wp_tdm_cmd.event.wp_tdm_api_event_rbs_bits); span 1198 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->channels[i]->last_event_time = 0; span 1199 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.e_type = FTDM_EVENT_OOB; span 1200 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.enum_id = event_id; span 1201 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.channel = span->channels[i]; span 1202 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c *event = &span->event_header; span 195 src/ftmod/ftmod_wanpipe/wanpipe_tdm_api_iface.h u_int8_t span; span 250 src/ftmod/ftmod_zt/ftmod_zt.c static unsigned zt_open_range(ftdm_span_t *span, unsigned start, unsigned end, ftdm_chan_type_t type, char *name, char *number, unsigned char cas_bits) span 266 src/ftmod/ftmod_zt/ftmod_zt.c if (sockfd != ZT_INVALID_SOCKET && ftdm_span_add_channel(span, sockfd, type, &ftdmchan) == FTDM_SUCCESS) { span 296 src/ftmod/ftmod_zt/ftmod_zt.c switch(span->start_type) { span 313 src/ftmod/ftmod_zt/ftmod_zt.c switch(span->start_type) { span 399 src/ftmod/ftmod_zt/ftmod_zt.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_E1) { span 496 src/ftmod/ftmod_zt/ftmod_zt.c configured += zt_open_range(span, channo, top, type, name, number, cas_bits); span 850 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 938 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 940 src/ftmod/ftmod_zt/ftmod_zt.c pfds[j].fd = span->channels[i]->sockfd; span 950 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 954 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 956 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_set_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 957 src/ftmod/ftmod_zt/ftmod_zt.c span->channels[i]->last_event_time = ftdm_current_time_in_ms(); span 963 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "no matching descriptor"); span 980 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 981 src/ftmod/ftmod_zt/ftmod_zt.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 982 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_clear_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 983 src/ftmod/ftmod_zt/ftmod_zt.c if (ioctl(span->channels[i]->sockfd, codes.GETEVENT, &zt_event_id) == -1) { span 984 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 1011 src/ftmod/ftmod_zt/ftmod_zt.c if (span->channels[i]->state == FTDM_CHANNEL_STATE_DOWN || span->channels[i]->state == FTDM_CHANNEL_STATE_DIALING) { span 1020 src/ftmod/ftmod_zt/ftmod_zt.c if (span->channels[i]->type == FTDM_CHAN_TYPE_FXS || (span->channels[i]->type == FTDM_CHAN_TYPE_EM && span->channels[i]->state != FTDM_CHANNEL_STATE_UP)) { span 1021 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1023 src/ftmod/ftmod_zt/ftmod_zt.c } else if (span->channels[i]->type == FTDM_CHAN_TYPE_FXO) { span 1044 src/ftmod/ftmod_zt/ftmod_zt.c int err = ioctl(span->channels[i]->sockfd, codes.GETRXBITS, &bits); span 1048 src/ftmod/ftmod_zt/ftmod_zt.c span->channels[i]->rx_cas_bits = bits; span 1053 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_log(FTDM_LOG_WARNING, "Unhandled event %d for %d:%d\n", zt_event_id, span->span_id, i); span 1059 src/ftmod/ftmod_zt/ftmod_zt.c span->channels[i]->last_event_time = 0; span 1060 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.e_type = FTDM_EVENT_OOB; span 1061 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.enum_id = event_id; span 1062 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.channel = span->channels[i]; span 1063 src/ftmod/ftmod_zt/ftmod_zt.c *event = &span->event_header; span 136 src/ftmod/ftmod_zt/ftmod_zt.h int span; /* Which span number (0 to use name) */ span 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) span 460 src/include/freetdm.h #define FIO_SPAN_SET_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t status) span 461 src/include/freetdm.h #define FIO_SPAN_GET_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t *status) span 462 src/include/freetdm.h #define FIO_SPAN_POLL_EVENT_ARGS (ftdm_span_t *span, uint32_t ms) span 463 src/include/freetdm.h #define FIO_SPAN_NEXT_EVENT_ARGS (ftdm_span_t *span, ftdm_event_t **event) span 466 src/include/freetdm.h #define FIO_CONFIGURE_SPAN_ARGS (ftdm_span_t *span, const char *str, ftdm_chan_type_t type, char *name, char *number) span 471 src/include/freetdm.h #define FIO_SPAN_DESTROY_ARGS (ftdm_span_t *span) span 480 src/include/freetdm.h #define FIO_SIG_CONFIGURE_ARGS (ftdm_span_t *span, fio_signal_cb_t sig_cb, va_list ap) span 481 src/include/freetdm.h #define FIO_CONFIGURE_SPAN_SIGNALING_ARGS (ftdm_span_t *span, fio_signal_cb_t sig_cb, ftdm_conf_parameter_t *ftdm_parameters) span 665 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_set_sig_status(ftdm_span_t *span, ftdm_signaling_status_t status); span 668 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_get_sig_status(ftdm_span_t *span, ftdm_signaling_status_t *status); span 825 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_poll_event(ftdm_span_t *span, uint32_t ms); span 836 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_find(uint32_t id, ftdm_span_t **span); span 845 src/include/freetdm.h FT_DECLARE(const char *) ftdm_span_get_last_error(const ftdm_span_t *span); span 861 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_create(const char *iotype, const char *name, ftdm_span_t **span); span 874 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_add_channel(ftdm_span_t *span, ftdm_socket_t sockfd, ftdm_chan_type_t type, ftdm_channel_t **chan); span 892 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_channel_use_count(ftdm_span_t *span, uint32_t *count); span 1095 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_configure_span(ftdm_span_t *span, const char *type, fio_signal_cb_t sig_cb, ...); span 1110 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_configure_span_signaling(ftdm_span_t *span, const char *type, fio_signal_cb_t sig_cb, ftdm_conf_parameter_t *parameters); span 1125 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_start(ftdm_span_t *span); span 1139 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_stop(ftdm_span_t *span); span 1152 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_find_by_name(const char *name, ftdm_span_t **span); span 1155 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span); span 1158 src/include/freetdm.h FT_DECLARE(const char *) ftdm_span_get_name(const ftdm_span_t *span); span 1164 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter); span 1221 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_configure_span_channels(ftdm_span_t *span, const char *str, ftdm_channel_config_t *chan_config, unsigned *configured); span 1231 src/include/freetdm.h FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t type); span 1240 src/include/freetdm.h FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span); span 1250 src/include/freetdm.h FT_DECLARE(ftdm_channel_t *) ftdm_span_get_channel(const ftdm_span_t *span, uint32_t chanid); span 1253 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_span_get_chan_count(const ftdm_span_t *span); span 428 src/include/private/ftdm_core.h struct ftdm_span *span; span 531 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_load_tones(ftdm_span_t *span, const char *mapname); span 551 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg); span 582 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_next_event(ftdm_span_t *span, ftdm_event_t **event); span 596 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_trigger_signals(const ftdm_span_t *span); span 638 src/include/private/ftdm_core.h #define ftdm_span_lock(span) ftdm_mutex_lock(span->mutex) span 639 src/include/private/ftdm_core.h #define ftdm_span_unlock(span) ftdm_mutex_unlock(span->mutex) span 652 src/include/private/ftdm_core.h static __inline__ void ftdm_set_state_all(ftdm_span_t *span, ftdm_channel_state_t state) span 655 src/include/private/ftdm_core.h ftdm_mutex_lock(span->mutex); span 656 src/include/private/ftdm_core.h for(j = 1; j <= span->chan_count; j++) { span 657 src/include/private/ftdm_core.h if (!FTDM_IS_DCHAN(span->channels[j])) { span 658 src/include/private/ftdm_core.h ftdm_set_state_locked((span->channels[j]), state); span 661 src/include/private/ftdm_core.h ftdm_mutex_unlock(span->mutex); span 664 src/include/private/ftdm_core.h static __inline__ int ftdm_check_state_all(ftdm_span_t *span, ftdm_channel_state_t state) span 667 src/include/private/ftdm_core.h for(j = 1; j <= span->chan_count; j++) { span 668 src/include/private/ftdm_core.h if (span->channels[j]->state != state || ftdm_test_flag(span->channels[j], FTDM_CHANNEL_STATE_CHANGE)) { span 676 src/include/private/ftdm_core.h static __inline__ void ftdm_set_flag_all(ftdm_span_t *span, uint32_t flag) span 679 src/include/private/ftdm_core.h ftdm_mutex_lock(span->mutex); span 680 src/include/private/ftdm_core.h for(j = 1; j <= span->chan_count; j++) { span 681 src/include/private/ftdm_core.h ftdm_set_flag_locked((span->channels[j]), flag); span 683 src/include/private/ftdm_core.h ftdm_mutex_unlock(span->mutex); span 686 src/include/private/ftdm_core.h static __inline__ void ftdm_clear_flag_all(ftdm_span_t *span, uint32_t flag) span 689 src/include/private/ftdm_core.h ftdm_mutex_lock(span->mutex); span 690 src/include/private/ftdm_core.h for(j = 1; j <= span->chan_count; j++) { span 691 src/include/private/ftdm_core.h ftdm_clear_flag_locked((span->channels[j]), flag); span 693 src/include/private/ftdm_core.h ftdm_mutex_unlock(span->mutex); span 118 src/include/private/ftdm_m3ua.h ftdm_status_t m3ua_start(ftdm_span_t *span); span 373 src/include/private/ftdm_types.h typedef ftdm_status_t (*ftdm_span_start_t)(ftdm_span_t *span); span 374 src/include/private/ftdm_types.h typedef ftdm_status_t (*ftdm_span_stop_t)(ftdm_span_t *span); span 388 src/include/private/ftdm_types.h const ftdm_span_t *span; span 145 src/m3ua_client.c int m3uac_exec_command(m3uac_connection_t *mcon, int span, int chan, int id, int cmd, int cause) span 150 src/m3ua_client.c m3uac_event_init(&oevent, cmd, chan, span); span 248 src/m3ua_client.c if (event->span > 16 || event->chan > 31) { span 249 src/m3ua_client.c ftdm_log(FTDM_LOG_CRIT, "Critical Error: TX Cmd=%s Invalid Span=%i Chan=%i\n", m3uac_event_id_name(event->event_id), event->span,event->chan); span 268 src/m3ua_client.c event->span+1, span 299 src/m3ua_client.c void m3uac_event_init(m3uac_event_t *event, m3uac_event_id_t event_id, int chan, int span) span 304 src/m3ua_client.c event->span = span; span 84 src/m3ua_client.h uint32_t span; span 147 src/m3ua_client.h void m3uac_event_init(m3uac_event_t *event, m3uac_event_id_t event_id, int chan, int span); span 150 src/m3ua_client.h int m3uac_exec_command(m3uac_connection_t *mcon, int span, int chan, int id, int cmd, int cause); span 91 src/priserver.c if (ftdm_channel_open(spri->span, channo, &chan) != FTDM_SUCCESS) { span 132 src/sangoma_pri.c int sangoma_init_pri(struct sangoma_pri *spri, int span, int dchan, int swtype, int node, int debug) span 139 src/sangoma_pri.c if (ftdm_channel_open(span, dchan, &spri->zdchan) != FTDM_SUCCESS) { span 140 src/sangoma_pri.c fprintf(stderr, "Unable to open DCHAN %d for span %d (%s)\n", dchan, span, strerror(errno)); span 143 src/sangoma_pri.c spri->span = span; span 76 src/sangoma_pri.h int span; span 97 src/sangoma_pri.h int sangoma_init_pri(struct sangoma_pri *spri, int span, int dchan, int swtype, int node, int debug); span 76 src/testanalog.c ftdm_span_t *span; span 97 src/testanalog.c if (ftdm_span_find(span_id, &span) != FTDM_SUCCESS) { span 103 src/testanalog.c if (ftdm_configure_span(span, "analog", on_signal, span 112 src/testanalog.c ftdm_span_start(span); span 21 src/testboost.c ftdm_span_t *span; span 45 src/testboost.c if (ftdm_span_find_by_name("wp1", &span) != FTDM_SUCCESS) { span 56 src/testboost.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_signal, parameters) == FTDM_SUCCESS) { span 57 src/testboost.c ftdm_span_start(span); span 20 src/testisdn.c ftdm_span_t *span; span 36 src/testisdn.c if (ftdm_span_find(atoi(argv[1]), &span) != FTDM_SUCCESS) { span 41 src/testisdn.c if (ftdm_configure_span("isdn", span, on_signal, span 45 src/testisdn.c ftdm_span_start(span); span 21 src/testm3ua.c ftdm_span_t *span; span 38 src/testm3ua.c if (ftdm_span_find(atoi(argv[1]), &span) != FTDM_SUCCESS) { span 44 src/testm3ua.c if (ftdm_m3ua_configure_span(span) == FTDM_SUCCESS) { span 46 src/testm3ua.c ftdm_m3ua_start(span); span 106 src/testpri.c ftdm_span_t *span; span 123 src/testpri.c if (ftdm_span_find(atoi(argv[1]), &span) != FTDM_SUCCESS) { span 131 src/testpri.c span, "libpri", on_signal, span 141 src/testpri.c ftdm_span_start(span); span 25 src/testr2.c ftdm_span_t *span; span 42 src/testr2.c if (ftdm_span_find(atoi(argv[1]), &span) != FTDM_SUCCESS) { span 49 src/testr2.c if (ftdm_configure_span(span, "r2", on_r2_signal, span 57 src/testr2.c ftdm_span_start(span); span 232 src/testsangomaboost.c static void place_call(const ftdm_span_t *span, const char *number) span 249 src/testsangomaboost.c status = ftdm_channel_open_by_span(ftdm_span_get_id(span), FTDM_TOP_DOWN, &caller_data, &ftdmchan); span 320 src/testsangomaboost.c ftdm_span_t *span; span 385 src/testsangomaboost.c if (ftdm_span_find_by_name(argv[1], &span) != FTDM_SUCCESS) { span 420 src/testsangomaboost.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_signaling_event, parameters) != FTDM_SUCCESS) { span 421 src/testsangomaboost.c fprintf(stderr, "Error configuring sangoma_boost signaling abstraction in span %s\n", ftdm_span_get_name(span)); span 431 src/testsangomaboost.c ftdm_span_start(span); span 447 src/testsangomaboost.c place_call(span, todial);