span 121 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 154 mod_freetdm/mod_freetdm.c void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream); span 155 mod_freetdm/mod_freetdm.c void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream); span 1218 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 1219 mod_freetdm/mod_freetdm.c ftdm_status_t zstatus = ftdm_span_find_by_name(span_name, &span); span 1220 mod_freetdm/mod_freetdm.c if (zstatus == FTDM_SUCCESS && span) { span 1221 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 1383 mod_freetdm/mod_freetdm.c hunting.mode_data.span.span_id = span_id; span 1384 mod_freetdm/mod_freetdm.c hunting.mode_data.span.direction = direction; span 2488 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2498 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2502 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2506 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2516 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2575 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, span 2582 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2587 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2649 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2661 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2665 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2669 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2679 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2713 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, span 2720 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2725 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2750 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2754 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2758 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2762 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2772 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2857 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2861 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2865 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 2875 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 2878 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "analog", on_analog_signal, span 2889 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Error configuring FreeTDM analog span %s\n", ftdm_span_get_name(span)); span 2893 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 2898 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 2918 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 2936 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 2984 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 2988 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 2992 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3002 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3006 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "analog_em", on_analog_signal, span 3015 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3032 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3044 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3079 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3085 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3086 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "isdn", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3091 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3096 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3110 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3140 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3146 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3147 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "pritap", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3152 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3157 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3170 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3205 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3211 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3212 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "libpri", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3217 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3222 mod_freetdm/mod_freetdm.c ftdm_span_start(span); span 3235 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3271 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3275 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find(span_id, &span); span 3279 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(id, &span); span 3289 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3292 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_clear_channel_signal, spanparameters) != FTDM_SUCCESS) { span 3293 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 3297 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3302 mod_freetdm/mod_freetdm.c boost_spans[boosti++] = span; span 3318 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3357 mod_freetdm/mod_freetdm.c zstatus = ftdm_span_find_by_name(name, &span); span 3362 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3364 mod_freetdm/mod_freetdm.c if (ftdm_configure_span_signaling(span, "r2", on_r2_signal, spanparameters) != FTDM_SUCCESS) { span 3366 mod_freetdm/mod_freetdm.c name, ftdm_span_get_last_error(span)); span 3378 mod_freetdm/mod_freetdm.c SPAN_CONFIG[span_id].span = span; span 3383 mod_freetdm/mod_freetdm.c if (ftdm_span_start(span) == FTDM_FAIL) { span 3384 mod_freetdm/mod_freetdm.c ftdm_log(FTDM_LOG_ERROR, "Error starting FreeTDM R2 span %s, error: %s\n", name, ftdm_span_get_last_error(span)); span 3412 mod_freetdm/mod_freetdm.c void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) span 3428 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 3433 mod_freetdm/mod_freetdm.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 3434 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3500 mod_freetdm/mod_freetdm.c void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stream) span 3513 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 3517 mod_freetdm/mod_freetdm.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 3518 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3605 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3621 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[2], &span); span 3622 mod_freetdm/mod_freetdm.c if (!span) { span 3630 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); span 3643 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_span_get_sig_status(span, &sigstatus))) { span 3646 mod_freetdm/mod_freetdm.c stream->write_function(stream, "-ERR failed to read span status: %s\n", ftdm_span_get_last_error(span)); span 3655 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_span_set_sig_status(span, sigstatus))) { span 3657 mod_freetdm/mod_freetdm.c ftdm_span_get_name(span), ftdm_signaling_status2str(sigstatus)); span 3664 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); span 3686 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 3689 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[1], &span); span 3705 mod_freetdm/mod_freetdm.c if (!span) { span 3709 mod_freetdm/mod_freetdm.c if(chan_id > ftdm_span_get_chan_count(span)) { span 3712 mod_freetdm/mod_freetdm.c dump_chan_xml(span, chan_id, stream); span 3715 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 3717 mod_freetdm/mod_freetdm.c dump_chan_xml(span, ftdm_channel_get_id(ftdm_iterator_current(curr)), stream); span 3725 mod_freetdm/mod_freetdm.c if (!span) { span 3729 mod_freetdm/mod_freetdm.c if(chan_id > ftdm_span_get_chan_count(span)) { span 3733 mod_freetdm/mod_freetdm.c ftdm_channel_t *fchan = ftdm_span_get_channel(span, chan_id); span 3734 mod_freetdm/mod_freetdm.c dump_chan(span, chan_id, stream); span 3741 mod_freetdm/mod_freetdm.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 3743 mod_freetdm/mod_freetdm.c dump_chan(span, ftdm_channel_get_id(ftdm_iterator_current(curr)), stream); span 3754 mod_freetdm/mod_freetdm.c if (SPAN_CONFIG[j].span) { span 3765 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(SPAN_CONFIG[j].span, 1); span 3770 mod_freetdm/mod_freetdm.c if ((FTDM_SUCCESS == ftdm_span_get_sig_status(SPAN_CONFIG[j].span, &sigstatus))) { span 3785 mod_freetdm/mod_freetdm.c ftdm_span_get_name(SPAN_CONFIG[j].span), span 3789 mod_freetdm/mod_freetdm.c ftdm_span_get_chan_count(SPAN_CONFIG[j].span), span 3811 mod_freetdm/mod_freetdm.c ftdm_span_get_name(SPAN_CONFIG[j].span), span 3814 mod_freetdm/mod_freetdm.c ftdm_span_get_chan_count(SPAN_CONFIG[j].span), span 3827 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3831 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(span_name, &span); span 3834 mod_freetdm/mod_freetdm.c if (!span) { span 3840 mod_freetdm/mod_freetdm.c status = ftdm_span_stop(span); span 3842 mod_freetdm/mod_freetdm.c status = ftdm_span_start(span); span 3852 mod_freetdm/mod_freetdm.c ftdm_span_t *span; span 3861 mod_freetdm/mod_freetdm.c if (!(span_id && (span = SPAN_CONFIG[span_id].span))) { span 3880 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 3887 mod_freetdm/mod_freetdm.c if (ftdm_configure_span(span, "isdn", on_clear_channel_signal, "q931topcap", 0, FTDM_TAG_END) != FTDM_SUCCESS) { span 3902 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3916 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[2], &span); span 3917 mod_freetdm/mod_freetdm.c if (!span) { span 3921 mod_freetdm/mod_freetdm.c schan_count = ftdm_span_get_chan_count(span); span 3931 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); span 3935 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); span 3947 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3953 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[2], &span); span 3954 mod_freetdm/mod_freetdm.c if (!span) { span 3958 mod_freetdm/mod_freetdm.c chan_count = ftdm_span_get_chan_count(span); span 3966 mod_freetdm/mod_freetdm.c span_id = ftdm_span_get_id(span); span 3968 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, chan_id); span 3975 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, i); span 3988 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 3993 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[1], &span); span 3994 mod_freetdm/mod_freetdm.c if (!span) { span 3998 mod_freetdm/mod_freetdm.c chan_count = ftdm_span_get_chan_count(span); span 4007 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, chan_id); span 4011 mod_freetdm/mod_freetdm.c fchan = ftdm_span_get_channel(span, i); span 4023 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 4028 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[3], &span); span 4029 mod_freetdm/mod_freetdm.c if (!span) { span 4035 mod_freetdm/mod_freetdm.c if (chan_id > ftdm_span_get_chan_count(span)) { span 4048 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, chan_id); span 4052 mod_freetdm/mod_freetdm.c ccount = ftdm_span_get_chan_count(span); span 4054 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, i); span 4063 mod_freetdm/mod_freetdm.c ftdm_span_t *span = NULL; span 4068 mod_freetdm/mod_freetdm.c ftdm_span_find_by_name(argv[1], &span); span 4069 mod_freetdm/mod_freetdm.c if (!span) { span 4075 mod_freetdm/mod_freetdm.c chan = ftdm_span_get_channel(span, chan_id); 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 310 src/ftdm_io.c static ftdm_status_t ftdm_group_add_channels(ftdm_span_t* span, int currindex, const char* name); span 451 src/ftdm_io.c static ftdm_status_t ftdm_set_caller_data(ftdm_span_t *span, ftdm_caller_data_t *caller_data) span 459 src/ftdm_io.c caller_data->dnis.plan = span->default_caller_data.dnis.plan; span 463 src/ftdm_io.c caller_data->dnis.type = span->default_caller_data.dnis.type; span 467 src/ftdm_io.c caller_data->cid_num.plan = span->default_caller_data.cid_num.plan; span 471 src/ftdm_io.c caller_data->cid_num.type = span->default_caller_data.cid_num.type; span 475 src/ftdm_io.c caller_data->ani.plan = span->default_caller_data.ani.plan; span 479 src/ftdm_io.c caller_data->ani.type = span->default_caller_data.ani.type; span 483 src/ftdm_io.c caller_data->rdnis.plan = span->default_caller_data.rdnis.plan; span 487 src/ftdm_io.c caller_data->rdnis.type = span->default_caller_data.rdnis.type; span 491 src/ftdm_io.c caller_data->bearer_capability = span->default_caller_data.bearer_capability; span 495 src/ftdm_io.c caller_data->bearer_layer1 = span->default_caller_data.bearer_layer1; span 513 src/ftdm_io.c if ((err = ftdm_set_caller_data(ftdmchan->span, caller_data)) != FTDM_SUCCESS) { span 610 src/ftdm_io.c if (ftdmchan->span->fio->channel_destroy) { span 611 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 612 src/ftdm_io.c if (ftdmchan->span->fio->channel_destroy(ftdmchan) == FTDM_SUCCESS) { span 629 src/ftdm_io.c static ftdm_status_t ftdm_span_destroy(ftdm_span_t *span) span 634 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 639 src/ftdm_io.c ftdm_clear_flag(span, FTDM_SPAN_NON_STOPPABLE); span 641 src/ftdm_io.c ftdm_span_stop(span); span 644 src/ftdm_io.c ftdm_clear_flag(span, FTDM_SPAN_CONFIGURED); span 645 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 646 src/ftdm_io.c ftdm_channel_t *cur_chan = span->channels[j]; span 657 src/ftdm_io.c if (span->fio && span->fio->span_destroy) { span 658 src/ftdm_io.c ftdm_log(FTDM_LOG_INFO, "Destroying span %u type (%s)\n", span->span_id, span->type); span 659 src/ftdm_io.c if (span->fio->span_destroy(span) != FTDM_SUCCESS) { span 662 src/ftdm_io.c ftdm_safe_free(span->type); span 663 src/ftdm_io.c ftdm_safe_free(span->name); span 664 src/ftdm_io.c ftdm_safe_free(span->dtmf_hangup); span 668 src/ftdm_io.c if (span->pendingchans) { span 669 src/ftdm_io.c ftdm_queue_destroy(&span->pendingchans); span 671 src/ftdm_io.c if (span->pendingsignals) { span 672 src/ftdm_io.c ftdm_queue_destroy(&span->pendingsignals); span 674 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 675 src/ftdm_io.c ftdm_mutex_destroy(&span->mutex); span 676 src/ftdm_io.c ftdm_safe_free(span->signal_data); span 692 src/ftdm_io.c if (ftdmchan->span->fio->get_alarms) { span 693 src/ftdm_io.c if ((status = ftdmchan->span->fio->get_alarms(ftdmchan)) == FTDM_SUCCESS) { span 727 src/ftdm_io.c static void ftdm_span_add(ftdm_span_t *span) span 733 src/ftdm_io.c sp->next = span; span 735 src/ftdm_io.c globals.spans = span; span 737 src/ftdm_io.c hashtable_insert(globals.span_hash, (void *)span->name, span, HASHTABLE_FLAG_FREE_VALUE); span 741 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_stop(ftdm_span_t *span) span 745 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 747 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_NON_STOPPABLE)) { span 752 src/ftdm_io.c if (!ftdm_test_flag(span, FTDM_SPAN_STARTED)) { span 757 src/ftdm_io.c if (!span->stop) { span 762 src/ftdm_io.c status = span->stop(span); span 764 src/ftdm_io.c ftdm_clear_flag(span, FTDM_SPAN_STARTED); span 768 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 773 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_create(const char *iotype, const char *name, ftdm_span_t **span) span 783 src/ftdm_io.c *span = NULL; span 837 src/ftdm_io.c *span = new_span; span 846 src/ftdm_io.c ftdm_span_t *span; span 850 src/ftdm_io.c for (span = globals.spans; span; span = span->next) { span 851 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 852 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 853 src/ftdm_io.c ftdm_channel_t *toclose = span->channels[j]; span 866 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_load_tones(ftdm_span_t *span, const char *mapname) span 873 src/ftdm_io.c snprintf(span->last_error, sizeof(span->last_error), "error loading tones."); span 906 src/ftdm_io.c span->tone_detect_map[index].freqs[i++] = this; span 914 src/ftdm_io.c ftdm_copy_string(span->tone_map[index], val, sizeof(span->tone_map[index])); span 924 src/ftdm_io.c snprintf(span->last_error, sizeof(span->last_error), "error loading tones."); span 990 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 993 src/ftdm_io.c if (span->chan_count < FTDM_MAX_CHANNELS_SPAN) { span 994 src/ftdm_io.c ftdm_channel_t *new_chan = span->channels[++span->chan_count]; span 1017 src/ftdm_io.c span->channels[span->chan_count] = new_chan; span 1022 src/ftdm_io.c new_chan->fio = span->fio; span 1023 src/ftdm_io.c new_chan->span_id = span->span_id; span 1024 src/ftdm_io.c new_chan->chan_id = span->chan_count; span 1025 src/ftdm_io.c new_chan->span = span; span 1043 src/ftdm_io.c new_chan->dtmf_hangup_buf = ftdm_calloc (span->dtmf_hangup_len + 1, sizeof (char)); span 1066 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_find_by_name(const char *name, ftdm_span_t **span) span 1072 src/ftdm_io.c if ((*span = hashtable_search(globals.span_hash, (void *)name))) { span 1077 src/ftdm_io.c ftdm_span_find(span_id, span); span 1078 src/ftdm_io.c if (*span) { span 1088 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_find(uint32_t id, ftdm_span_t **span) span 1109 src/ftdm_io.c *span = fspan; span 1115 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_poll_event(ftdm_span_t *span, uint32_t ms, short *poll_events) span 1117 src/ftdm_io.c assert(span->fio != NULL); span 1119 src/ftdm_io.c if (span->fio->poll_event) { span 1120 src/ftdm_io.c return span->fio->poll_event(span, ms, poll_events); span 1122 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "poll_event method not implemented in module %s!", span->fio->name); span 1134 src/ftdm_io.c ftdm_span_t *span = fchan->span; span 1137 src/ftdm_io.c sigmsg.span_id = span->span_id; span 1145 src/ftdm_io.c status = ftdm_span_send_signal(span, &sigmsg); span 1152 src/ftdm_io.c status = ftdm_span_send_signal(span, &sigmsg); span 1162 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_next_event(ftdm_span_t *span, ftdm_event_t **event) span 1165 src/ftdm_io.c ftdm_assert_return(span->fio != NULL, FTDM_FAIL, "No I/O module attached to this span!\n"); span 1167 src/ftdm_io.c if (!span->fio->next_event) { span 1168 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "next_event method not implemented in module %s!", span->fio->name); span 1172 src/ftdm_io.c status = span->fio->next_event(span, event); span 1187 src/ftdm_io.c ftdm_span_t *span = ftdmchan->span; span 1188 src/ftdm_io.c ftdm_assert_return(span->fio != NULL, FTDM_FAIL, "No I/O module attached to this span!\n"); span 1192 src/ftdm_io.c if (!span->fio->channel_next_event) { span 1193 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "channel_next_event method not implemented in module %s!", span->fio->name); span 1198 src/ftdm_io.c status = span->fio->channel_next_event(ftdmchan, event); span 1432 src/ftdm_io.c if (check->span && check->span->channel_request) { span 1441 src/ftdm_io.c ftdm_set_caller_data(check->span, caller_data); span 1442 src/ftdm_io.c status = check->span->channel_request(check->span, check->chan_id, span 1466 src/ftdm_io.c if (ftdm_test_flag(check->span, FTDM_SPAN_USE_AV_RATE)) { span 1531 src/ftdm_io.c if (ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_AV_RATE)) { span 1630 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_channel_use_count(ftdm_span_t *span, uint32_t *count) span 1636 src/ftdm_io.c if (!span || !ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1640 src/ftdm_io.c for(j = 1; j <= span->chan_count && span->channels[j]; j++) { span 1641 src/ftdm_io.c if (span->channels[j]) { span 1642 src/ftdm_io.c if (ftdm_test_flag(span->channels[j], FTDM_CHANNEL_INUSE)) { span 1657 src/ftdm_io.c ftdm_span_t *span = NULL; span 1669 src/ftdm_io.c ftdm_span_find(span_id, &span); span 1671 src/ftdm_io.c if (!span || !ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1676 src/ftdm_io.c ftdm_span_channel_use_count(span, &count); span 1678 src/ftdm_io.c if (count >= span->chan_count) { span 1679 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "All circuits are busy: active=%i max=%i.\n", count, span->chan_count); span 1683 src/ftdm_io.c if (span->channel_request && !ftdm_test_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID)) { span 1684 src/ftdm_io.c ftdm_set_caller_data(span, caller_data); span 1685 src/ftdm_io.c return span->channel_request(span, 0, direction, caller_data, ftdmchan); span 1688 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 1693 src/ftdm_io.c i = rr_next(span->last_used_index, 1, span->chan_count, direction); span 1695 src/ftdm_io.c i = span->chan_count; span 1701 src/ftdm_io.c if (i > span->chan_count) { span 1705 src/ftdm_io.c if (i == span->last_used_index) { span 1714 src/ftdm_io.c if (!(check = span->channels[i])) { span 1722 src/ftdm_io.c span->last_used_index = i; span 1733 src/ftdm_io.c span->last_used_index = i; span 1735 src/ftdm_io.c i = rr_next(i, 1, span->chan_count, direction); span 1745 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 1776 src/ftdm_io.c if (ftdm_test_flag(ftdmchan, FTDM_CHANNEL_IN_ALARM) && !ftdm_test_flag(ftdmchan->span, FTDM_SPAN_PWR_SAVING)) { span 1814 src/ftdm_io.c ftdm_span_t *span = NULL; span 1823 src/ftdm_io.c ftdm_span_find(span_id, &span); span 1825 src/ftdm_io.c if (!span) { span 1830 src/ftdm_io.c if (!ftdm_test_flag(span, FTDM_SPAN_CONFIGURED)) { span 1835 src/ftdm_io.c if (span->channel_request) { span 1840 src/ftdm_io.c if (chan_id < 1 || chan_id > span->chan_count) { span 1845 src/ftdm_io.c if (!(check = span->channels[chan_id])) { span 1937 src/ftdm_io.c return ftdmchan->span; span 1942 src/ftdm_io.c return ftdmchan->span->name; span 1945 src/ftdm_io.c FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t type) span 1947 src/ftdm_io.c span->trunk_type = type; span 1950 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_set_blocking_mode(const ftdm_span_t *span, ftdm_bool_t enabled) span 1956 src/ftdm_io.c citer = ftdm_span_get_chan_iterator(span, NULL); span 1972 src/ftdm_io.c FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span) span 1974 src/ftdm_io.c return span->trunk_type; span 1977 src/ftdm_io.c FT_DECLARE(const char *) ftdm_span_get_trunk_type_str(const ftdm_span_t *span) span 1979 src/ftdm_io.c return ftdm_trunk_type2str(span->trunk_type); span 1982 src/ftdm_io.c FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span) span 1984 src/ftdm_io.c return span->span_id; span 1987 src/ftdm_io.c FT_DECLARE(const char *) ftdm_span_get_name(const ftdm_span_t *span) span 1989 src/ftdm_io.c return span->name; span 2097 src/ftdm_io.c ftdm_span_send_signal(fchan->span, &msg); span 2105 src/ftdm_io.c if (!ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_SKIP_STATES)) { span 2231 src/ftdm_io.c FT_DECLARE(const char *) ftdm_span_get_last_error(const ftdm_span_t *span) span 2233 src/ftdm_io.c return span->last_error; span 2241 src/ftdm_io.c FT_DECLARE(ftdm_channel_t *) ftdm_span_get_channel(const ftdm_span_t *span, uint32_t chanid) span 2244 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 2245 src/ftdm_io.c if (chanid == 0 || chanid > span->chan_count) { span 2246 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2249 src/ftdm_io.c chan = span->channels[chanid]; span 2250 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2254 src/ftdm_io.c FT_DECLARE(uint32_t) ftdm_span_get_chan_count(const ftdm_span_t *span) span 2257 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 2258 src/ftdm_io.c count = span->chan_count; span 2259 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 2329 src/ftdm_io.c if (!ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_PROCEED_STATE) || span 2340 src/ftdm_io.c if (!ftdm_test_flag(ftdmchan->span, FTDM_SPAN_USE_SKIP_STATES)) { span 2382 src/ftdm_io.c if (ftdmchan->span->send_msg) { span 2383 src/ftdm_io.c status = ftdmchan->span->send_msg(ftdmchan, sigmsg); span 2411 src/ftdm_io.c if (!ftdmchan->span->outgoing_call) { span 2432 src/ftdm_io.c status = ftdmchan->span->outgoing_call(ftdmchan); span 2483 src/ftdm_io.c status = _ftdm_channel_open_by_span(hunting->mode_data.span.span_id, span 2484 src/ftdm_io.c hunting->mode_data.span.direction, caller_data, &fchan); span 2524 src/ftdm_io.c ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n"); span 2531 src/ftdm_io.c if (ftdmchan->span->set_channel_sig_status) { span 2534 src/ftdm_io.c res = ftdmchan->span->set_channel_sig_status(ftdmchan, sigstatus); span 2546 src/ftdm_io.c ftdm_assert_return(ftdmchan->span != NULL, FTDM_FAIL, "Null span\n"); span 2549 src/ftdm_io.c if (ftdmchan->span->get_channel_sig_status) { span 2552 src/ftdm_io.c res = ftdmchan->span->get_channel_sig_status(ftdmchan, sigstatus); span 2561 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_set_sig_status(ftdm_span_t *span, ftdm_signaling_status_t sigstatus) span 2563 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "Null span\n"); span 2570 src/ftdm_io.c if (span->set_span_sig_status) { span 2571 src/ftdm_io.c return span->set_span_sig_status(span, sigstatus); span 2578 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_get_sig_status(ftdm_span_t *span, ftdm_signaling_status_t *sigstatus) span 2580 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "Null span\n"); span 2583 src/ftdm_io.c if (span->get_span_sig_status) { span 2584 src/ftdm_io.c return span->get_span_sig_status(span, sigstatus); span 2637 src/ftdm_io.c ftdm_span_send_signal(ftdmchan->span, &sigmsg); span 2672 src/ftdm_io.c memset(ftdmchan->dtmf_hangup_buf, '\0', ftdmchan->span->dtmf_hangup_len); span 3033 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_DIAL], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_DIAL]); span 3034 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_RING], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_RING]); span 3035 src/ftdm_io.c teletone_multi_tone_init(&ftdmchan->span->tone_finder[FTDM_TONEMAP_BUSY], &ftdmchan->span->tone_detect_map[FTDM_TONEMAP_BUSY]); span 3388 src/ftdm_io.c ftdmchan->span->tone_finder[i].tone_count = 0; span 3487 src/ftdm_io.c if (ftdmchan->span->dtmf_hangup_len) { span 3489 src/ftdm_io.c memmove (ftdmchan->dtmf_hangup_buf, ftdmchan->dtmf_hangup_buf + 1, ftdmchan->span->dtmf_hangup_len - 1); span 3490 src/ftdm_io.c ftdmchan->dtmf_hangup_buf[ftdmchan->span->dtmf_hangup_len - 1] = *p; span 3491 src/ftdm_io.c if (!strcmp(ftdmchan->dtmf_hangup_buf, ftdmchan->span->dtmf_hangup)) { span 3547 src/ftdm_io.c if (status == FTDM_SUCCESS && ftdmchan->span->sig_read) { span 3548 src/ftdm_io.c ftdmchan->span->sig_read(ftdmchan, data, *datalen); span 3842 src/ftdm_io.c if (ftdmchan->span->tone_finder[i].tone_count) { span 3843 src/ftdm_io.c if (ftdmchan->needed_tones[i] && teletone_multi_tone_detect(&ftdmchan->span->tone_finder[i], sln, (int)slen)) { span 3971 src/ftdm_io.c if (ftdmchan->span->sig_write) { span 3972 src/ftdm_io.c status = ftdmchan->span->sig_write(ftdmchan, data, *datalen); span 4190 src/ftdm_io.c FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter) span 4196 src/ftdm_io.c iter->pvt.chaniter.span = span; span 4234 src/ftdm_io.c if (iter->pvt.chaniter.index == iter->pvt.chaniter.span->chan_count) { span 4261 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 4262 src/ftdm_io.c return iter->pvt.chaniter.span->channels[iter->pvt.chaniter.index]; span 4296 src/ftdm_io.c ftdm_span_t *span; span 4313 src/ftdm_io.c span = val; span 4314 src/ftdm_io.c citer = ftdm_span_get_chan_iterator(span, NULL); span 4343 src/ftdm_io.c ftdm_span_t *span; span 4359 src/ftdm_io.c span = val; span 4360 src/ftdm_io.c citer = ftdm_span_get_chan_iterator(span, NULL); span 4539 src/ftdm_io.c static ftdm_status_t ftdm_set_channels_gains(ftdm_span_t *span, int currindex, float rxgain, float txgain) span 4543 src/ftdm_io.c if (!span->chan_count) { span 4544 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "Failed to set channel gains because span %s has no channels\n", span->name); span 4548 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 4549 src/ftdm_io.c if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) { span 4552 src/ftdm_io.c if (ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_RX_GAIN, &rxgain) != FTDM_SUCCESS) { span 4555 src/ftdm_io.c if (ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_TX_GAIN, &txgain) != FTDM_SUCCESS) { span 4562 src/ftdm_io.c static ftdm_status_t ftdm_set_channels_alarms(ftdm_span_t *span, int currindex) { span 4565 src/ftdm_io.c if (!span->chan_count) { span 4570 src/ftdm_io.c if (!span->fio->get_alarms) { span 4571 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "%d: Span does not support alarms\n", span->span_id); span 4575 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 4577 src/ftdm_io.c if (span->fio->get_alarms(span->channels[chan_index]) != FTDM_SUCCESS) { span 4578 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 4581 src/ftdm_io.c if (span->channels[chan_index]->alarm_flags) { span 4582 src/ftdm_io.c ftdm_set_flag_locked(span->channels[chan_index], FTDM_CHANNEL_IN_ALARM); span 4584 src/ftdm_io.c ftdm_clear_flag_locked(span->channels[chan_index], FTDM_CHANNEL_IN_ALARM); span 4591 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 4596 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_EINVAL, "span is null\n"); span 4599 src/ftdm_io.c ftdm_assert_return(span->fio != NULL, FTDM_EINVAL, "span with no I/O configured\n"); span 4600 src/ftdm_io.c ftdm_assert_return(span->fio->configure_span != NULL, FTDM_NOTIMPL, "span I/O with no channel configuration implemented\n"); span 4602 src/ftdm_io.c currindex = span->chan_count; span 4604 src/ftdm_io.c *configured = span->fio->configure_span(span, str, chan_config->type, chan_config->name, chan_config->number); span 4606 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to configure span", span->span_id); span 4611 src/ftdm_io.c if (ftdm_group_add_channels(span, currindex, chan_config->group_name) != FTDM_SUCCESS) { span 4612 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 4617 src/ftdm_io.c if (ftdm_set_channels_gains(span, currindex, chan_config->rxgain, chan_config->txgain) != FTDM_SUCCESS) { span 4618 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to set channel gains\n", span->span_id); span 4623 src/ftdm_io.c if (ftdm_set_channels_alarms(span, currindex) != FTDM_SUCCESS) { span 4624 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "%d:Failed to set channel alarms\n", span->span_id); span 4629 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 4630 src/ftdm_io.c if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) { span 4633 src/ftdm_io.c span->channels[chan_index]->dtmfdbg.requested = 1; span 4647 src/ftdm_io.c ftdm_span_t *span = NULL; span 4680 src/ftdm_io.c span = NULL; span 4688 src/ftdm_io.c if (ftdm_span_create(type, name, &span) == FTDM_SUCCESS) { span 4689 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "created span %d (%s) of type %s\n", span->span_id, span->name, type); span 4696 src/ftdm_io.c span = NULL; span 4701 src/ftdm_io.c if (!span) { span 4705 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "span %d [%s]=[%s]\n", span->span_id, var, val); span 4709 src/ftdm_io.c ftdm_span_set_trunk_type(span, trtype); span 4724 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXS || span->trunk_type == FTDM_TRUNK_FXO || span->trunk_type == FTDM_TRUNK_EM) { span 4726 src/ftdm_io.c span->start_type = tmp; span 4727 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "changing start type to '%s'\n", ftdm_analog_start_type2str(span->start_type)); span 4733 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4734 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_FXO; span 4735 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4736 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4738 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXO) { span 4741 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4748 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4749 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_FXS; span 4750 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4751 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4753 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_FXS) { span 4756 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4763 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_NONE) { span 4764 src/ftdm_io.c span->trunk_type = FTDM_TRUNK_EM; span 4765 src/ftdm_io.c ftdm_log(FTDM_LOG_DEBUG, "setting trunk type to '%s' start(%s)\n", ftdm_trunk_type2str(span->trunk_type), span 4766 src/ftdm_io.c ftdm_analog_start_type2str(span->start_type)); span 4768 src/ftdm_io.c if (span->trunk_type == FTDM_TRUNK_EM) { span 4771 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4780 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4794 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4803 src/ftdm_io.c if (ftdm_configure_span_channels(span, val, &chan_config, &chans_configured) == FTDM_SUCCESS) { span 4807 src/ftdm_io.c span->dtmf_hangup = ftdm_strdup(val); span 4808 src/ftdm_io.c span->dtmf_hangup_len = strlen(val); span 5120 src/ftdm_io.c static ftdm_status_t post_configure_span_channels(ftdm_span_t *span) span 5125 src/ftdm_io.c for (i = 1; i <= span->chan_count; i++) { span 5126 src/ftdm_io.c ftdm_channel_get_sig_status(span->channels[i], &sigstatus); span 5128 src/ftdm_io.c ftdm_set_flag(span->channels[i], FTDM_CHANNEL_SIG_UP); span 5131 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_USE_CHAN_QUEUE)) { span 5132 src/ftdm_io.c status = ftdm_queue_create(&span->pendingchans, SPAN_PENDING_CHANS_QUEUE_SIZE); span 5134 src/ftdm_io.c if (status == FTDM_SUCCESS && ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) { span 5135 src/ftdm_io.c status = ftdm_queue_create(&span->pendingsignals, SPAN_PENDING_SIGNALS_QUEUE_SIZE); span 5140 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 5145 src/ftdm_io.c if (!span->chan_count) { span 5163 src/ftdm_io.c status = mod->sig_configure(span, sig_cb, ap); span 5166 src/ftdm_io.c status = post_configure_span_channels(span); span 5176 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 5182 src/ftdm_io.c ftdm_assert_return(span != NULL, FTDM_FAIL, "No span"); span 5186 src/ftdm_io.c if (!span->chan_count) { span 5187 src/ftdm_io.c ftdm_log(FTDM_LOG_WARNING, "Cannot configure signaling on span %s with no channels\n", span->name); span 5204 src/ftdm_io.c status = mod->configure_span_signaling(span, sig_cb, parameters); span 5206 src/ftdm_io.c status = post_configure_span_channels(span); span 5215 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_start(ftdm_span_t *span) span 5219 src/ftdm_io.c ftdm_mutex_lock(span->mutex); span 5221 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_STARTED)) { span 5226 src/ftdm_io.c if (!span->start) { span 5235 src/ftdm_io.c if (ftdm_set_channels_alarms(span, 0) != FTDM_SUCCESS) { span 5236 src/ftdm_io.c ftdm_log(FTDM_LOG_ERROR, "Failed to set channel alarms in span %s\n", span->name); span 5241 src/ftdm_io.c status = span->start(span); span 5243 src/ftdm_io.c ftdm_set_flag_locked(span, FTDM_SPAN_STARTED); span 5247 src/ftdm_io.c ftdm_mutex_unlock(span->mutex); span 5320 src/ftdm_io.c static ftdm_status_t ftdm_group_add_channels(ftdm_span_t* span, int currindex, const char* name) span 5327 src/ftdm_io.c if (!span->chan_count) { span 5331 src/ftdm_io.c for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) { span 5332 src/ftdm_io.c if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) { span 5335 src/ftdm_io.c if (ftdm_channel_add_to_group(name, span->channels[chan_index])) { span 5428 src/ftdm_io.c static ftdm_status_t ftdm_span_trigger_signal(const ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 5430 src/ftdm_io.c ftdm_status_t status = span->signal_cb(sigmsg); span 5442 src/ftdm_io.c static ftdm_status_t ftdm_span_queue_signal(const ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 5452 src/ftdm_io.c ftdm_queue_enqueue(span->pendingsignals, new_sigmsg); span 5456 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_trigger_signals(const ftdm_span_t *span) span 5459 src/ftdm_io.c while ((sigmsg = ftdm_queue_dequeue(span->pendingsignals))) { span 5460 src/ftdm_io.c ftdm_span_trigger_signal(span, sigmsg); span 5481 src/ftdm_io.c FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg) span 5549 src/ftdm_io.c if (ftdm_test_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE)) { span 5550 src/ftdm_io.c ftdm_span_queue_signal(span, sigmsg); span 5552 src/ftdm_io.c ftdm_span_trigger_signal(span, sigmsg); span 85 src/ftdm_state.c ftdm_span_send_signal(fchan->span, &msg); span 263 src/ftdm_state.c if (ftdmchan->span->state_map) { span 264 src/ftdm_state.c ok = ftdm_parse_state_map(ftdmchan, state, ftdmchan->span->state_map); span 370 src/ftdm_state.c ftdm_mutex_lock(ftdmchan->span->mutex); span 371 src/ftdm_state.c ftdm_set_flag(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 372 src/ftdm_state.c if (ftdmchan->span->pendingchans) { span 373 src/ftdm_state.c ftdm_queue_enqueue(ftdmchan->span->pendingchans, ftdmchan); span 375 src/ftdm_state.c ftdm_mutex_unlock(ftdmchan->span->mutex); span 504 src/ftdm_state.c ftdm_assert_return(fchan->span->state_processor, FTDM_FAIL, "Cannot process states without a state processor!\n"); span 509 src/ftdm_state.c fchan->span->state_processor(fchan); span 522 src/ftdm_state.c FT_DECLARE(int) ftdm_check_state_all(ftdm_span_t *span, ftdm_channel_state_t state) span 525 src/ftdm_state.c for(j = 1; j <= span->chan_count; j++) { span 526 src/ftdm_state.c if (span->channels[j]->state != state || ftdm_test_flag(span->channels[j], FTDM_CHANNEL_STATE_CHANGE)) { span 52 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = ftdmchan->span->signal_data; span 117 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_iterator_t *chaniter = ftdm_span_get_chan_iterator(span, NULL); span 119 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_CRIT, "Failed to allocate channel iterator for span %s!\n", span->name); span 143 src/ftmod/ftmod_analog/ftmod_analog.c static ftdm_status_t ftdm_analog_start(ftdm_span_t *span) span 145 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 147 src/ftmod/ftmod_analog/ftmod_analog.c return ftdm_thread_create_detached(ftdm_analog_run, span); span 155 src/ftmod/ftmod_analog/ftmod_analog.c static ftdm_status_t ftdm_analog_stop(ftdm_span_t *span) span 157 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 161 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 165 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 195 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_DEBUG, "Configuring span %s for analog signaling ...\n", span->name); span 197 src/ftmod/ftmod_analog/ftmod_analog.c if (span->signal_type) { span 198 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 199 src/ftmod/ftmod_analog/ftmod_analog.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling."); span 229 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log_chan(span->channels[i], FTDM_LOG_DEBUG, "Wait dial tone ms = %d\n", wait_dialtone_timeout); span 279 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log(FTDM_LOG_ERROR, "Unknown parameter %s in span %s\n", var, span->name); span 292 src/ftmod/ftmod_analog/ftmod_analog.c for (i = 1; i <= span->chan_count; i++) { span 293 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_log_chan_msg(span->channels[i], FTDM_LOG_DEBUG, "Enabled call waiting\n"); span 294 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_channel_set_feature(span->channels[i], FTDM_CHANNEL_FEATURE_CALLWAITING); span 298 src/ftmod/ftmod_analog/ftmod_analog.c span->start = ftdm_analog_start; span 299 src/ftmod/ftmod_analog/ftmod_analog.c span->stop = ftdm_analog_stop; span 305 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_cb = sig_cb; span 307 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_type = FTDM_SIGTYPE_ANALOG; span 308 src/ftmod/ftmod_analog/ftmod_analog.c span->signal_data = analog_data; span 309 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 310 src/ftmod/ftmod_analog/ftmod_analog.c span->get_channel_sig_status = analog_get_channel_sig_status; span 311 src/ftmod/ftmod_analog/ftmod_analog.c span->get_span_sig_status = analog_get_span_sig_status; span 313 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_load_tones(span, tonemap); span 315 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 424 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = ftdmchan->span->signal_data; span 581 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]); span 588 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 631 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 683 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 703 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 726 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 736 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]); span 750 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_SAS]); span 751 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_CALLWAITING_CAS]); span 767 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(ftdmchan->span, &sig); span 781 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]); span 791 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]); span 802 src/ftmod/ftmod_analog/ftmod_analog.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]); span 826 src/ftmod/ftmod_analog/ftmod_analog.c if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) { span 977 src/ftmod/ftmod_analog/ftmod_analog.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 980 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = event->channel->span->signal_data; span 1055 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_clear_flag(event->channel->span, FTDM_SPAN_STATE_CHANGE); span 1066 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(span, &sig); span 1102 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(span, &sig); span 1109 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_send_signal(span, &sig); span 1163 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1164 src/ftmod/ftmod_analog/ftmod_analog.c ftdm_analog_data_t *analog_data = span->signal_data; span 1173 src/ftmod/ftmod_analog/ftmod_analog.c if ((status = ftdm_span_poll_event(span, waitms, NULL)) != FTDM_FAIL) { span 1181 src/ftmod/ftmod_analog/ftmod_analog.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1185 src/ftmod/ftmod_analog/ftmod_analog.c if (process_event(span, event) != FTDM_SUCCESS) { span 1193 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 358 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_clear_flag_locked(ftdmchan->span, FTDM_SPAN_STATE_CHANGE); span 379 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 400 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 407 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_send_signal(ftdmchan->span, &sig); span 417 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_DIAL]); span 426 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_RING]); span 435 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_BUSY]); span 446 src/ftmod/ftmod_analog_em/ftmod_analog_em.c teletone_run(&ts, ftdmchan->span->tone_map[FTDM_TONEMAP_ATTN]); span 470 src/ftmod/ftmod_analog_em/ftmod_analog_em.c if (ftdm_span_send_signal(ftdmchan->span, &sig) == FTDM_BREAK) { span 588 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 650 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_span_t *span = (ftdm_span_t *) obj; span 651 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_analog_em_data_t *analog_data = span->signal_data; span 659 src/ftmod/ftmod_analog_em/ftmod_analog_em.c status = ftdm_span_poll_event(span, waitms, NULL); span 665 src/ftmod/ftmod_analog_em/ftmod_analog_em.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 669 src/ftmod/ftmod_analog_em/ftmod_analog_em.c if (process_event(span, event) != FTDM_SUCCESS) { span 677 src/ftmod/ftmod_analog_em/ftmod_analog_em.c ftdm_log(FTDM_LOG_ERROR, "Failure Polling event! [%s]\n", span->last_error); span 257 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = ftdmchan->span->signal_data; span 274 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 314 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 321 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_command(span->channels[chan_id], FTDM_COMMAND_GET_NATIVE_CODEC, &codec); span 346 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 348 src/ftmod/ftmod_isdn/ftmod_isdn.c if (!FTDM_SPAN_IS_NT(span)) { span 375 src/ftmod/ftmod_isdn/ftmod_isdn.c if (!(isdn_data->opts & FTDM_ISDN_OPT_OMIT_DISPLAY_IE) && FTDM_SPAN_IS_NT(span)) { span 439 src/ftmod/ftmod_isdn/ftmod_isdn.c if (caller_data->chan_id > 0 && caller_data->chan_id <= ftdm_span_get_chan_count(span)) { span 440 src/ftmod/ftmod_isdn/ftmod_isdn.c new_chan = ftdm_span_get_channel(span, caller_data->chan_id); span 736 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 737 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 754 src/ftmod/ftmod_isdn/ftmod_isdn.c } else if (FTDM_SPAN_IS_NT(span)) { span 759 src/ftmod/ftmod_isdn/ftmod_isdn.c assert(span != NULL); span 773 src/ftmod/ftmod_isdn/ftmod_isdn.c Q931CallSetPrivate(call, span); span 779 src/ftmod/ftmod_isdn/ftmod_isdn.c Q931CallSetPrivate(call, span); span 865 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 872 src/ftmod/ftmod_isdn/ftmod_isdn.c for (i = 1; i < ftdm_span_get_chan_count(span); i++) { span 874 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_channel_get_state(span->channels[i]) == FTDM_CHANNEL_STATE_DOWN || span 875 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_get_type(span->channels[i]) == FTDM_CHAN_TYPE_DQ921) span 878 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_set_state_locked(span->channels[i], FTDM_CHANNEL_STATE_RESTART); span 914 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(span, &sig); span 997 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span) && chan_hunt) { span 1004 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= ftdm_span_get_chan_count(span); x++) { span 1005 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *zc = ftdm_span_get_channel(span, x); span 1013 src/ftmod/ftmod_isdn/ftmod_isdn.c else if (!FTDM_SPAN_IS_NT(span) && chan_hunt) { span 1028 src/ftmod/ftmod_isdn/ftmod_isdn.c if (chan_id > 0 && chan_id < FTDM_MAX_CHANNELS_SPAN && chan_id <= ftdm_span_get_chan_count(span)) { span 1029 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdmchan = ftdm_span_get_channel(span, chan_id); span 1040 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span)) { span 1142 src/ftmod/ftmod_isdn/ftmod_isdn.c ChanID.IntType = FTDM_SPAN_IS_BRI(ftdmchan->span) ? 0 : 1; /* PRI = 1, BRI = 0 */ span 1143 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 1258 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = pvt; span 1259 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1285 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 1287 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1289 src/ftmod/ftmod_isdn/ftmod_isdn.c assert(span != NULL); span 1302 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = ftdmchan->span->signal_data; span 1303 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = ftdm_channel_get_span(ftdmchan); span 1383 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(span, &sig) != FTDM_SUCCESS)) { span 1393 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(span, &sig); span 1401 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(span, &sig) != FTDM_SUCCESS)) { span 1421 src/ftmod/ftmod_isdn/ftmod_isdn.c if ((status = ftdm_span_send_signal(span, &sig) != FTDM_SUCCESS)) { span 1642 src/ftmod/ftmod_isdn/ftmod_isdn.c status = ftdm_span_send_signal(span, &sig); span 1653 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ void check_state(ftdm_span_t *span) span 1655 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 1658 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 1660 src/ftmod/ftmod_isdn/ftmod_isdn.c for (j = 1; j <= ftdm_span_get_chan_count(span); j++) { span 1661 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *chan = ftdm_span_get_channel(span, j); span 1677 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 1702 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_send_signal(span, &sig); span 1717 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_send_signal(span, &sig); span 1729 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->event_callback) { span 1730 src/ftmod/ftmod_isdn/ftmod_isdn.c event_callback = span->event_callback; span 1754 src/ftmod/ftmod_isdn/ftmod_isdn.c static __inline__ void check_events(ftdm_span_t *span) span 1756 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_status_t status = ftdm_span_poll_event(span, 5, NULL); span 1763 src/ftmod/ftmod_isdn/ftmod_isdn.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1767 src/ftmod/ftmod_isdn/ftmod_isdn.c if (process_event(span, event) != FTDM_SUCCESS) { span 1800 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1801 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 1819 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= ftdm_span_get_chan_count(span); x++) { span 1820 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *chan = ftdm_span_get_channel(span, x); span 1848 src/ftmod/ftmod_isdn/ftmod_isdn.c for (x = 1; x <= ftdm_span_get_chan_count(span); x++) { span 1849 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *chan = ftdm_span_get_channel(span, x); span 1884 src/ftmod/ftmod_isdn/ftmod_isdn.c teletone_run(&ts, span->tone_map[FTDM_TONEMAP_DIAL]); span 1894 src/ftmod/ftmod_isdn/ftmod_isdn.c teletone_run(&ts, span->tone_map[FTDM_TONEMAP_RING]); span 1995 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1996 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2017 src/ftmod/ftmod_isdn/ftmod_isdn.c check_state(span); span 2018 src/ftmod/ftmod_isdn/ftmod_isdn.c check_events(span); span 2027 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "D-Chan Read Error!"); span 2079 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = pvt; span 2080 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2107 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 2109 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log("Span", "Q.921", span->span_id, (int)level, "%s", msg); span 2115 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = (ftdm_span_t *) pvt; span 2117 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log("Span", "Q.931", span->span_id, (int)level, "%s", msg); span 2234 src/ftmod/ftmod_isdn/ftmod_isdn.c static ftdm_status_t ftdm_isdn_stop(ftdm_span_t *span) span 2236 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2258 src/ftmod/ftmod_isdn/ftmod_isdn.c static ftdm_status_t ftdm_isdn_start(ftdm_span_t *span) span 2260 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_isdn_data_t *isdn_data = span->signal_data; span 2268 src/ftmod/ftmod_isdn/ftmod_isdn.c ret = ftdm_thread_create_detached(ftdm_isdn_run, span); span 2274 src/ftmod/ftmod_isdn/ftmod_isdn.c if (FTDM_SPAN_IS_NT(span) && !(isdn_data->opts & FTDM_ISDN_OPT_DISABLE_TONES)) { span 2275 src/ftmod/ftmod_isdn/ftmod_isdn.c ret = ftdm_thread_create_detached(ftdm_isdn_tones_run, span); span 2394 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = NULL; span 2406 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 2407 src/ftmod/ftmod_isdn/ftmod_isdn.c isdn_data = span->signal_data; span 2422 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = NULL; span 2436 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 2437 src/ftmod/ftmod_isdn/ftmod_isdn.c isdn_data = span->signal_data; span 2485 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_t *span = NULL; span 2498 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS || ftdm_span_find(span_id, &span) == FTDM_SUCCESS) { span 2499 src/ftmod/ftmod_isdn/ftmod_isdn.c isdn_data = span->signal_data; span 2610 src/ftmod/ftmod_isdn/ftmod_isdn.c if (span->signal_type) { span 2611 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log(FTDM_LOG_ERROR, "Span is already configured for signalling [%d]\n", span->signal_type); span 2612 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 2616 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_span_get_trunk_type(span) >= FTDM_TRUNK_NONE) { span 2617 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_log(FTDM_LOG_WARNING, "Invalid trunk type '%s' defaulting to T1\n", ftdm_span_get_trunk_type_str(span)); span 2618 src/ftmod/ftmod_isdn/ftmod_isdn.c span->trunk_type = FTDM_TRUNK_T1; span 2621 src/ftmod/ftmod_isdn/ftmod_isdn.c for (i = 1; i <= ftdm_span_get_chan_count(span); i++) { span 2622 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 2628 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span has more than 1 D-Channel!"); span 2632 src/ftmod/ftmod_isdn/ftmod_isdn.c if (ftdm_channel_open(ftdm_span_get_id(span), i, &dchan) == FTDM_SUCCESS) { span 2651 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span has no D-Channel!"); span 2656 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Span has no B-Channels!"); span 2684 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Invalid/unknown mode [%s]!", val); span 2690 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Invalid/unknown dialect [%s]!", val); span 2696 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Invalid/unknown options [%s]!", val); span 2710 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Invalid/unknown loglevel [%s]!", val); span 2716 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Invalid/unknown loglevel [%s]!", val); span 2721 src/ftmod/ftmod_isdn/ftmod_isdn.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 2739 src/ftmod/ftmod_isdn/ftmod_isdn.c for (i = 1; i <= ftdm_span_get_chan_count(span); i++, data++) { span 2740 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 2756 src/ftmod/ftmod_isdn/ftmod_isdn.c (ftdm_span_get_trunk_type(span) == FTDM_TRUNK_BRI_PTMP) ? Q921_PTMP : Q921_PTP, span 2760 src/ftmod/ftmod_isdn/ftmod_isdn.c span, span 2761 src/ftmod/ftmod_isdn/ftmod_isdn.c span); span 2763 src/ftmod/ftmod_isdn/ftmod_isdn.c Q921SetLogCB(&isdn_data->q921, &ftdm_isdn_q921_log, span); span 2769 src/ftmod/ftmod_isdn/ftmod_isdn.c span->trunk_type, span 2773 src/ftmod/ftmod_isdn/ftmod_isdn.c span, span 2774 src/ftmod/ftmod_isdn/ftmod_isdn.c span); span 2776 src/ftmod/ftmod_isdn/ftmod_isdn.c Q931SetLogCB(&isdn_data->q931, &ftdm_isdn_q931_log, span); span 2780 src/ftmod/ftmod_isdn/ftmod_isdn.c Q931SetCallEventCB(&isdn_data->q931, ftdm_isdn_call_event, span); span 2788 src/ftmod/ftmod_isdn/ftmod_isdn.c span->state_map = &isdn_state_map; span 2789 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_data = isdn_data; span 2790 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_type = FTDM_SIGTYPE_ISDN; span 2791 src/ftmod/ftmod_isdn/ftmod_isdn.c span->signal_cb = sig_cb; span 2792 src/ftmod/ftmod_isdn/ftmod_isdn.c span->start = ftdm_isdn_start; span 2793 src/ftmod/ftmod_isdn/ftmod_isdn.c span->stop = ftdm_isdn_stop; span 2794 src/ftmod/ftmod_isdn/ftmod_isdn.c span->outgoing_call = isdn_outgoing_call; span 2796 src/ftmod/ftmod_isdn/ftmod_isdn.c span->get_channel_sig_status = isdn_get_channel_sig_status; span 2797 src/ftmod/ftmod_isdn/ftmod_isdn.c span->get_span_sig_status = isdn_get_span_sig_status; span 2801 src/ftmod/ftmod_isdn/ftmod_isdn.c span->channel_request = isdn_channel_request; span 2802 src/ftmod/ftmod_isdn/ftmod_isdn.c span->flags |= FTDM_SPAN_SUGGEST_CHAN_ID; span 2805 src/ftmod/ftmod_isdn/ftmod_isdn.c ftdm_span_load_tones(span, tonemap); span 63 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = ftdmchan->span->signal_data; span 81 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 288 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = NULL; span 290 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 291 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 293 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->start != ftdm_libpri_start) { span 310 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = NULL; span 312 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_span_find_by_name(argv[1], &span) == FTDM_SUCCESS) { span 313 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 316 src/ftmod/ftmod_libpri/ftmod_libpri.c if (span->start != ftdm_libpri_start) { span 556 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = chan->span->signal_data; span 815 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ void check_state(ftdm_span_t *span) span 817 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 820 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 822 src/ftmod/ftmod_libpri/ftmod_libpri.c for (j = 1; j <= ftdm_span_get_chan_count(span); j++) { span 823 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, j); span 858 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 859 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->hangup.channel); span 863 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_CRIT, "-- Hangup on channel %d:%d %s but it's not in use?\n", ftdm_span_get_id(spri->span), pevent->hangup.channel); span 881 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Hangup on channel %d:%d\n", ftdm_span_get_id(spri->span), pevent->hangup.channel); span 904 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 905 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->answer.channel); span 925 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Answer on channel %d:%d\n", ftdm_span_get_id(span), pevent->answer.channel); span 929 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_get_id(span), pevent->answer.channel); span 944 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 945 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->proceeding.channel); span 966 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Proceeding on channel %d:%d\n", ftdm_span_get_id(span), pevent->proceeding.channel); span 970 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_get_id(span), pevent->proceeding.channel); span 986 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 987 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->proceeding.channel); span 1007 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Progress on channel %d:%d with media\n", ftdm_span_get_id(span), pevent->proceeding.channel); span 1010 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Progress on channel %d:%d\n", ftdm_span_get_id(span), pevent->proceeding.channel); span 1015 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_get_id(span), pevent->proceeding.channel); span 1030 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1031 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->ringing.channel); span 1034 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Ringing on channel %d:%d\n", ftdm_span_get_id(span), pevent->ringing.channel); span 1064 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_get_id(span), pevent->ringing.channel); span 1079 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1080 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->ring.channel); span 1085 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "-- Unable to get channel %d:%d\n", ftdm_span_get_id(span), pevent->ring.channel); span 1099 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_WARNING, "-- Duplicate Ring on channel %d:%d (ignored)\n", ftdm_span_get_id(span), pevent->ring.channel); span 1124 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_get_id(span), pevent->ring.channel); span 1129 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "-- Ring on channel %d:%d (from %s to %s)\n", ftdm_span_get_id(span), pevent->ring.channel, span 1168 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ ftdm_status_t process_event(ftdm_span_t *span, ftdm_event_t *event) span 1215 src/ftmod/ftmod_libpri/ftmod_libpri.c static __inline__ void check_events(ftdm_span_t *span) span 1219 src/ftmod/ftmod_libpri/ftmod_libpri.c status = ftdm_span_poll_event(span, 5, NULL); span 1226 src/ftmod/ftmod_libpri/ftmod_libpri.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1230 src/ftmod/ftmod_libpri/ftmod_libpri.c if (process_event(span, event) != FTDM_SUCCESS) { span 1254 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1256 src/ftmod/ftmod_libpri/ftmod_libpri.c if (!ftdm_running() || ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 1260 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1261 src/ftmod/ftmod_libpri/ftmod_libpri.c check_events(span); span 1274 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1275 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, pevent->restart.channel); span 1277 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "-- Restarting %d:%d\n", ftdm_span_get_id(span), pevent->restart.channel); span 1285 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1428 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "Got a FACILITY event on span %d:%d\n", ftdm_span_get_id(spri->span), pfac->channel); span 1463 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "Caught Event on span %d %u (%s)\n", ftdm_span_get_id(spri->span), event_type, lpwrap_pri_event_str(event_type)); span 1479 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1483 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "Span %d D-Channel UP!\n", ftdm_span_get_id(span)); span 1485 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1487 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "%d:Signaling link status changed to %s\n", ftdm_span_get_id(span), ftdm_signaling_status2str(status)); span 1489 src/ftmod/ftmod_libpri/ftmod_libpri.c for (i = 1; i <= ftdm_span_get_chan_count(span); i++) { span 1490 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 1498 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_send_signal(span, &sig); span 1515 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = spri->span; span 1519 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "Span %d D-Channel DOWN!\n", ftdm_span_get_id(span)); span 1521 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1523 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_NOTICE, "%d:Signaling link status changed to %s\n", ftdm_span_get_id(span), ftdm_signaling_status2str(status)); span 1525 src/ftmod/ftmod_libpri/ftmod_libpri.c for (i = 1; i <= ftdm_span_get_chan_count(span); i++) { span 1526 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 1535 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_send_signal(span, &sig); span 1551 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Caught Event span %d %u (%s)\n", ftdm_span_get_id(spri->span), event_type, lpwrap_pri_event_str(event_type)); span 1564 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "-- Caught Event span %d %u (%s)\n", ftdm_span_get_id(spri->span), event_type, lpwrap_pri_event_str(event_type)); span 1577 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1578 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1583 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 1585 src/ftmod/ftmod_libpri/ftmod_libpri.c while (ftdm_running() && !ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 1589 src/ftmod/ftmod_libpri/ftmod_libpri.c for (i = 1, x = 0; i <= ftdm_span_get_chan_count(span); i++) { span 1590 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 1593 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_channel_open(ftdm_span_get_id(span), i, &isdn_data->dchan) == FTDM_SUCCESS) { span 1607 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "Failed to get a D-Channel in span %d\n", ftdm_span_get_id(span)); span 1612 src/ftmod/ftmod_libpri/ftmod_libpri.c switch (ftdm_span_get_trunk_type(span)) { span 1616 src/ftmod/ftmod_libpri/ftmod_libpri.c res = lpwrap_init_pri(&isdn_data->spri, span, isdn_data->dchan, span 1620 src/ftmod/ftmod_libpri/ftmod_libpri.c res = lpwrap_init_bri(&isdn_data->spri, span, isdn_data->dchan, span 1627 src/ftmod/ftmod_libpri/ftmod_libpri.c res = lpwrap_init_bri(&isdn_data->spri, span, isdn_data->dchan, span 1634 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Invalid trunk type"); span 1666 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_INFO, "PRI back up on span %d\n", ftdm_span_get_id(span)); span 1667 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1676 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "PRI init failed!"); span 1680 src/ftmod/ftmod_libpri/ftmod_libpri.c if (!ftdm_running() || ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 1684 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_CRIT, "PRI down on span %d\n", ftdm_span_get_id(span)); span 1690 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1691 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1694 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1695 src/ftmod/ftmod_libpri/ftmod_libpri.c check_events(span); span 1701 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_DEBUG, "PRI thread ended on span %d\n", ftdm_span_get_id(span)); span 1703 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 1716 src/ftmod/ftmod_libpri/ftmod_libpri.c static ftdm_status_t ftdm_libpri_stop(ftdm_span_t *span) span 1718 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1724 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_state_all(span, FTDM_CHANNEL_STATE_RESTART); span 1726 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1728 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 1730 src/ftmod/ftmod_libpri/ftmod_libpri.c while (ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 1734 src/ftmod/ftmod_libpri/ftmod_libpri.c check_state(span); span 1746 src/ftmod/ftmod_libpri/ftmod_libpri.c static ftdm_status_t ftdm_libpri_start(ftdm_span_t *span) span 1748 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_libpri_data_t *isdn_data = span->signal_data; span 1754 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 1755 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 1759 src/ftmod/ftmod_libpri/ftmod_libpri.c return ftdm_thread_create_detached(ftdm_libpri_run, span); span 1881 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_span_get_trunk_type(span) >= FTDM_TRUNK_NONE) { span 1882 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_WARNING, "Invalid trunk type '%s' defaulting to T1.\n", ftdm_span_get_trunk_type_str(span)); span 1883 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_span_set_trunk_type(span, FTDM_TRUNK_T1); span 1886 src/ftmod/ftmod_libpri/ftmod_libpri.c for (i = 1; i <= ftdm_span_get_chan_count(span); i++) { span 1887 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_channel_t *chan = ftdm_span_get_channel(span, i); span 1893 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Span has more than 2 D-Channels!"); span 1897 src/ftmod/ftmod_libpri/ftmod_libpri.c if (ftdm_channel_open(ftdm_span_get_id(span), i, &dchan) == FTDM_SUCCESS) { span 1902 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Failed to open D-Channel %d:%d\n", ftdm_channel_get_span_id(chan), ftdm_channel_getid(chan)); span 1919 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Span has no D-Channel!"); span 1924 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Span has no B-Channels!"); span 1932 src/ftmod/ftmod_libpri/ftmod_libpri.c switch (ftdm_span_get_trunk_type(span)) { span 1936 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "Unsupported trunk type: '%s', libpri too old\n", ftdm_span_get_trunk_type_str(span)); span 1937 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Unsupported trunk type [%s], libpri too old", ftdm_span_get_trunk_type_str(span)); span 1950 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_log(FTDM_LOG_ERROR, "Invalid trunk type: '%s'\n", ftdm_span_get_trunk_type_str(span)); span 1951 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Invalid trunk type [%s]", ftdm_span_get_trunk_type_str(span)); span 1966 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Parameter [%s] has no value", var); span 1996 src/ftmod/ftmod_libpri/ftmod_libpri.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 2001 src/ftmod/ftmod_libpri/ftmod_libpri.c span->start = ftdm_libpri_start; span 2002 src/ftmod/ftmod_libpri/ftmod_libpri.c span->stop = ftdm_libpri_stop; span 2003 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_cb = sig_cb; span 2005 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_data = isdn_data; span 2006 src/ftmod/ftmod_libpri/ftmod_libpri.c span->signal_type = FTDM_SIGTYPE_ISDN; span 2007 src/ftmod/ftmod_libpri/ftmod_libpri.c span->outgoing_call = isdn_outgoing_call; span 2009 src/ftmod/ftmod_libpri/ftmod_libpri.c span->state_map = &isdn_state_map; span 2010 src/ftmod/ftmod_libpri/ftmod_libpri.c span->state_processor = state_advance; span 2012 src/ftmod/ftmod_libpri/ftmod_libpri.c span->get_channel_sig_status = isdn_get_channel_sig_status; span 2013 src/ftmod/ftmod_libpri/ftmod_libpri.c span->get_span_sig_status = isdn_get_span_sig_status; span 2016 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_USE_PROCEED_STATE); span 2019 src/ftmod/ftmod_libpri/ftmod_libpri.c span->channel_request = isdn_channel_request; span 2020 src/ftmod/ftmod_libpri/ftmod_libpri.c ftdm_set_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID); span 125 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 128 src/ftmod/ftmod_libpri/lpwrap_pri.c ftdm_log(FTDM_LOG_CRIT, "span %d D-READ TIMEOUT\n", spri->span->span_id); span 157 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 173 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 179 src/ftmod/ftmod_libpri/lpwrap_pri.c spri->span = span; span 203 src/ftmod/ftmod_libpri/lpwrap_pri.c int lpwrap_init_bri(struct lpwrap_pri *spri, ftdm_span_t *span, ftdm_channel_t *dchan, int swtype, int node, int ptp, int debug) span 210 src/ftmod/ftmod_libpri/lpwrap_pri.c spri->span = span; span 104 src/ftmod/ftmod_libpri/lpwrap_pri.h ftdm_span_t *span; span 127 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 128 src/ftmod/ftmod_libpri/lpwrap_pri.h int lpwrap_init_bri(struct lpwrap_pri *spri, ftdm_span_t *span, ftdm_channel_t *dchan, int swtype, int node, int ptp, 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->io_data) { span 349 src/ftmod/ftmod_pika/ftmod_pika.c span_data = span->io_data; span 367 src/ftmod/ftmod_pika/ftmod_pika.c span->io_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->io_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]->io_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->io_data; span 1228 src/ftmod/ftmod_pika/ftmod_pika.c pika_span_data_t *span_data = (pika_span_data_t *) ftdmchan->span->io_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 303 src/ftmod/ftmod_pritap/ftmod_pritap.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 313 src/ftmod/ftmod_pritap/ftmod_pritap.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 329 src/ftmod/ftmod_pritap/ftmod_pritap.c static __inline__ void pritap_check_state(ftdm_span_t *span) span 331 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE)) { span 333 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 334 src/ftmod/ftmod_pritap/ftmod_pritap.c for(j = 1; j <= span->chan_count; j++) { span 335 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_mutex_lock(span->channels[j]->mutex); span 336 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_channel_advance_states(span->channels[j]); span 337 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_mutex_unlock(span->channels[j]->mutex); span 351 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 353 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_CRIT, "span %d D channel read timeout!\n", pritap->span->span_id); span 373 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 401 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, i, pritap->span->name, pritap->pcalls[i].callref); span 428 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, pritap->pcalls[i].callref, pritap->span->name, i); span 453 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 467 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, crv, pritap->pcalls[i].callref); span 470 src/ftmod/ftmod_pritap/ftmod_pritap.c i, pritap->span->name, crv, pritap->pcalls[i].callref); span 483 src/ftmod/ftmod_pritap/ftmod_pritap.c if (!chanpos || chanpos > pritap->span->chan_count) { span 484 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 488 src/ftmod/ftmod_pritap/ftmod_pritap.c fchan = pritap->span->channels[PRI_CHANNEL(channel)]; span 490 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 495 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 530 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->ring.channel), PRI_CHANNEL(e->ring.channel), crv); span 551 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 559 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 565 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 575 src/ftmod/ftmod_pritap/ftmod_pritap.c crv, pritap->span->name); span 597 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 605 src/ftmod/ftmod_pritap/ftmod_pritap.c peertap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 619 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 623 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 632 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 637 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->proceeding.channel), PRI_CHANNEL(e->proceeding.channel), crv); span 648 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span->name, PRI_SPAN(e->answer.channel), PRI_CHANNEL(e->answer.channel), crv); span 654 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 662 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_span_t *span = (ftdm_span_t *) obj; span 663 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 668 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_DEBUG, "Tapping PRI thread started on span %d\n", span->span_id); span 670 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap->span = span; span 672 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 674 src/ftmod/ftmod_pritap/ftmod_pritap.c if (ftdm_channel_open(span->span_id, pritap->dchan->chan_id, &pritap->dchan) != FTDM_SUCCESS) { span 675 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_ERROR, "Failed to open D-channel for span %s\n", span->name); span 688 src/ftmod/ftmod_pritap/ftmod_pritap.c while (ftdm_running() && !ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD)) { span 691 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_check_state(span); span 720 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_check_state(span); span 724 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_log(FTDM_LOG_DEBUG, "Tapping PRI thread ended on span %d\n", span->span_id); span 726 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 732 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_stop(ftdm_span_t *span) span 734 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 740 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 742 src/ftmod/ftmod_pritap/ftmod_pritap.c while (ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 803 src/ftmod/ftmod_pritap/ftmod_pritap.c static ftdm_status_t ftdm_pritap_start(ftdm_span_t *span) span 806 src/ftmod/ftmod_pritap/ftmod_pritap.c pritap_t *pritap = span->signal_data; span 814 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 815 src/ftmod/ftmod_pritap/ftmod_pritap.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 818 src/ftmod/ftmod_pritap/ftmod_pritap.c ret = ftdm_thread_create_detached(ftdm_pritap_run, span); span 837 src/ftmod/ftmod_pritap/ftmod_pritap.c if (span->trunk_type >= FTDM_TRUNK_NONE) { span 838 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 839 src/ftmod/ftmod_pritap/ftmod_pritap.c span->trunk_type = FTDM_TRUNK_T1; span 842 src/ftmod/ftmod_pritap/ftmod_pritap.c for (i = 1; i <= span->chan_count; i++) { span 843 src/ftmod/ftmod_pritap/ftmod_pritap.c if (span->channels[i]->type == FTDM_CHAN_TYPE_DQ921) { span 844 src/ftmod/ftmod_pritap/ftmod_pritap.c dchan = span->channels[i]; span 849 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 884 src/ftmod/ftmod_pritap/ftmod_pritap.c span->start = ftdm_pritap_start; span 885 src/ftmod/ftmod_pritap/ftmod_pritap.c span->stop = ftdm_pritap_stop; span 886 src/ftmod/ftmod_pritap/ftmod_pritap.c span->sig_read = ftdm_pritap_sig_read; span 887 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_cb = sig_cb; span 889 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_data = pritap; span 890 src/ftmod/ftmod_pritap/ftmod_pritap.c span->signal_type = FTDM_SIGTYPE_ISDN; span 891 src/ftmod/ftmod_pritap/ftmod_pritap.c span->outgoing_call = pritap_outgoing_call; span 893 src/ftmod/ftmod_pritap/ftmod_pritap.c span->get_channel_sig_status = pritap_get_channel_sig_status; span 894 src/ftmod/ftmod_pritap/ftmod_pritap.c span->get_span_sig_status = pritap_get_span_sig_status; span 896 src/ftmod/ftmod_pritap/ftmod_pritap.c span->state_map = &pritap_state_map; span 897 src/ftmod/ftmod_pritap/ftmod_pritap.c span->state_processor = state_advance; span 254 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS) { span 446 src/ftmod/ftmod_r2/ftmod_r2.c r2data = ftdmchan->span->signal_data; span 482 src/ftmod/ftmod_r2/ftmod_r2.c static ftdm_status_t ftdm_r2_start(ftdm_span_t *span) span 484 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2_data = span->signal_data; span 486 src/ftmod/ftmod_r2/ftmod_r2.c return ftdm_thread_create_detached(ftdm_r2_run, span); span 489 src/ftmod/ftmod_r2/ftmod_r2.c static ftdm_status_t ftdm_r2_stop(ftdm_span_t *span) span 491 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2_data = span->signal_data; span 494 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Waiting for R2 span %s\n", span->name); span 554 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_iterator_t *chaniter = ftdm_span_get_chan_iterator(span, NULL); span 556 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_CRIT, "Failed to allocate channel iterator for span %s!\n", span->name); span 580 src/ftmod/ftmod_r2/ftmod_r2.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 582 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_CRIT, "Failed to allocate channel iterator for span %s!\n", span->name); span 605 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = ftdmchan->span->signal_data; span 663 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = ftdmchan->span->signal_data; span 713 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = ftdmchan->span->signal_data; span 737 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = ftdmchan->span->signal_data; span 960 src/ftmod/ftmod_r2/ftmod_r2.c r2data = ftdmchan->span->signal_data; span 961 src/ftmod/ftmod_r2/ftmod_r2.c if (ftdm_span_send_signal(ftdmchan->span, &sigev) == FTDM_BREAK) { span 1011 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(fchan->span, &sigev); span 1398 src/ftmod/ftmod_r2/ftmod_r2.c if (span->signal_type) { span 1399 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Span is already configured for signalling."); span 1406 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 1421 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 1436 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 1446 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 1456 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with loglevel %s\n", span->name, val); span 1466 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with advanced protocol file %s\n", span->name, val); span 1471 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with default mf_dump_size = %d bytes\n", span->name, r2conf.mf_dump_size); span 1474 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with mf_dump_size = %d bytes\n", span->name, r2conf.mf_dump_size); span 1478 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with allow collect calls max ani = %d\n", span->name, r2conf.allow_collect_calls); span 1481 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with double answer = %d\n", span->name, r2conf.double_answer); span 1484 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with immediate accept = %d\n", span->name, r2conf.immediate_accept); span 1487 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with skip category = %d\n", span->name, r2conf.skip_category); span 1490 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with forced release = %d\n", span->name, r2conf.forced_release); span 1493 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with charge calls = %d\n", span->name, r2conf.charge_calls); span 1496 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with get ani first = %d\n", span->name, r2conf.get_ani_first); span 1499 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with call files = %d\n", span->name, r2conf.call_files); span 1502 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with MF backward timeout = %dms\n", span->name, r2conf.mfback_timeout); span 1505 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with metering pulse timeout = %dms\n", span->name, r2conf.metering_pulse_timeout); span 1508 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with max ani = %d\n", span->name, r2conf.max_ani); span 1511 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %s with max dnis = %d\n", span->name, r2conf.max_dnis); span 1513 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Unknown R2 parameter [%s]", var); span 1519 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "R2 configuration error"); span 1525 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Configuring R2 span %d with loglevel %s\n", span->span_id, log_level); span 1529 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Failed to allocate R2 data."); span 1536 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Failed to allocate private span data container."); span 1543 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create openr2 context for span."); span 1555 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_DEBUG, "Setting span %s logdir to %s\n", span->name, r2conf.logdir); span 1565 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create channel calls hash for span."); span 1569 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; (i <= span->chan_count) && (i <= FTDM_MAX_CHANNELS_SPAN); i++) { span 1570 src/ftmod/ftmod_r2/ftmod_r2.c r2chan = openr2_chan_new_from_fd(r2data->r2context, span->channels[i], span->channels[i]->chan_id); span 1572 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(span->last_error, sizeof(span->last_error), "Cannot create all openr2 channels for span."); span 1582 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 1588 src/ftmod/ftmod_r2/ftmod_r2.c openr2_chan_set_client_data(r2chan, span->channels[i]); span 1590 src/ftmod/ftmod_r2/ftmod_r2.c span->channels[i]->call_data = r2call; span 1601 src/ftmod/ftmod_r2/ftmod_r2.c hashtable_insert(g_mod_data_hash, (void *)span->name, spanpvt, HASHTABLE_FLAG_FREE_VALUE); span 1603 src/ftmod/ftmod_r2/ftmod_r2.c span->start = ftdm_r2_start; span 1604 src/ftmod/ftmod_r2/ftmod_r2.c span->stop = ftdm_r2_stop; span 1605 src/ftmod/ftmod_r2/ftmod_r2.c span->sig_read = NULL; span 1606 src/ftmod/ftmod_r2/ftmod_r2.c span->sig_write = NULL; span 1608 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_cb = sig_cb; span 1609 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_type = FTDM_SIGTYPE_R2; span 1610 src/ftmod/ftmod_r2/ftmod_r2.c span->signal_data = r2data; span 1611 src/ftmod/ftmod_r2/ftmod_r2.c span->outgoing_call = r2_outgoing_call; span 1612 src/ftmod/ftmod_r2/ftmod_r2.c span->get_span_sig_status = ftdm_r2_get_span_sig_status; span 1613 src/ftmod/ftmod_r2/ftmod_r2.c span->set_span_sig_status = ftdm_r2_set_span_sig_status; span 1614 src/ftmod/ftmod_r2/ftmod_r2.c span->get_channel_sig_status = ftdm_r2_get_channel_sig_status; span 1615 src/ftmod/ftmod_r2/ftmod_r2.c span->set_channel_sig_status = ftdm_r2_set_channel_sig_status; span 1617 src/ftmod/ftmod_r2/ftmod_r2.c span->state_map = &r2_state_map; span 1618 src/ftmod/ftmod_r2/ftmod_r2.c span->state_processor = ftdm_r2_state_advance; span 1621 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_set_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE); span 1624 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_set_flag(span, FTDM_SPAN_USE_SKIP_STATES); span 1627 src/ftmod/ftmod_r2/ftmod_r2.c snprintf(schedname, sizeof(schedname), "ftmod_r2_%s", span->name); span 1654 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = ftdmchan->span->signal_data; span 1709 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1724 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1745 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1780 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1835 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1836 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_r2_data_t *r2data = span->signal_data; span 1845 src/ftmod/ftmod_r2/ftmod_r2.c short *poll_events = ftdm_malloc(sizeof(short) * span->chan_count); span 1856 src/ftmod/ftmod_r2/ftmod_r2.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 1858 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_CRIT, "Failed to allocate channel iterator for span %s!\n", span->name); span 1865 src/ftmod/ftmod_r2/ftmod_r2.c openr2_chan_set_span_id(r2chan, span->span_id); span 1898 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_trigger_signals(span); span 1902 src/ftmod/ftmod_r2/ftmod_r2.c memset(poll_events, 0, sizeof(short)*span->chan_count); span 1903 src/ftmod/ftmod_r2/ftmod_r2.c citer = ftdm_span_get_chan_iterator(span, chaniter); span 1905 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_CRIT, "Failed to allocate channel iterator for span %s!\n", span->name); span 1916 src/ftmod/ftmod_r2/ftmod_r2.c status = ftdm_span_poll_event(span, waitms, poll_events); span 1927 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_log(FTDM_LOG_CRIT, "Failure waiting I/O! [%s]\n", span->channels[1]->last_error); span 1946 src/ftmod/ftmod_r2/ftmod_r2.c citer = ftdm_span_get_chan_iterator(span, chaniter); span 1977 src/ftmod/ftmod_r2/ftmod_r2.c citer = ftdm_span_get_chan_iterator(span, chaniter); span 2048 src/ftmod/ftmod_r2/ftmod_r2.c ftdm_span_t *span = NULL; span 2068 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 2070 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 2077 src/ftmod/ftmod_r2/ftmod_r2.c if (chan_id && chan_id <= span->chan_count) { span 2078 src/ftmod/ftmod_r2/ftmod_r2.c block_channel(span->channels[chan_id], stream); span 2083 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; i <= span->chan_count; i++) { span 2084 src/ftmod/ftmod_r2/ftmod_r2.c block_channel(span->channels[i], stream); span 2097 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 2099 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 2106 src/ftmod/ftmod_r2/ftmod_r2.c if (chan_id && chan_id <= span->chan_count) { span 2107 src/ftmod/ftmod_r2/ftmod_r2.c unblock_channel(span->channels[chan_id], stream); span 2112 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; i <= span->chan_count; i++) { span 2113 src/ftmod/ftmod_r2/ftmod_r2.c unblock_channel(span->channels[i], stream); span 2130 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 2131 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 2135 src/ftmod/ftmod_r2/ftmod_r2.c if (!(r2data = span->signal_data)) { span 2160 src/ftmod/ftmod_r2/ftmod_r2.c for (i = 1; i <= span->chan_count; i++) { span 2161 src/ftmod/ftmod_r2/ftmod_r2.c r2chan = R2CALL(span->channels[i])->r2chan; span 2163 src/ftmod/ftmod_r2/ftmod_r2.c span->channels[i]->chan_id, span 2181 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 2182 src/ftmod/ftmod_r2/ftmod_r2.c if (span->start != ftdm_r2_start) { span 2186 src/ftmod/ftmod_r2/ftmod_r2.c if (!(r2data = span->signal_data)) { 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 962 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 970 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) { span 971 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) { span 1027 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, event->chan, span 1082 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event->span, span 1090 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 1095 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 1391 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 1438 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1464 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1490 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1499 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1508 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if ((status = ftdm_span_send_signal(ftdmchan->span, &sig) != FTDM_SUCCESS)) { span 1549 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c event.span = (uint8_t)ftdmchan->physical_span_id; span 1552 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c SETUP_GRID[event.span][event.chan] = event.call_setup_id; span 1577 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c OUTBOUND_REQUESTS[r].span = ftdmchan->span; span 1627 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_send_signal(ftdmchan->span, &sig); span 1653 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ void check_state(ftdm_span_t *span) span 1656 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1657 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c int susp = ftdm_test_flag(span, FTDM_SPAN_SUSPENDED); span 1659 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (susp && ftdm_check_state_all(span, FTDM_CHANNEL_STATE_DOWN)) { span 1663 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_test_flag(span, FTDM_SPAN_STATE_CHANGE) || susp) { span 1665 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_STATE_CHANGE); span 1667 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for(j = 1; j <= span->chan_count; j++) { span 1668 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_test_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE) || susp) { span 1669 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_mutex_lock(span->channels[j]->mutex); span 1670 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag((span->channels[j]), FTDM_CHANNEL_STATE_CHANGE); span 1671 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (susp && span->channels[j]->state != FTDM_CHANNEL_STATE_DOWN) { span 1672 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_state(span->channels[j], FTDM_CHANNEL_STATE_RESTART); span 1674 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_channel_advance_states(span->channels[j]); span 1675 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_mutex_unlock(span->channels[j]->mutex); span 1679 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) { span 1691 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_check_state_all(span, FTDM_CHANNEL_STATE_DOWN)) { span 1699 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_SUSPENDED); span 1711 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static __inline__ ftdm_status_t check_events(ftdm_span_t *span, int ms_timeout) span 1714 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1716 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_poll_event(span, ms_timeout, NULL); span 1722 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 1743 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 1761 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1762 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1766 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (check_events(span, 100) != FTDM_SUCCESS) { span 1781 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_boost_connection_open(ftdm_span_t *span) span 1783 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1785 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (sangoma_boost_data->sigmod->start_span(span) != FTDM_SUCCESS) { span 1789 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag_locked(span, FTDM_SPAN_SUSPENDED); span 1816 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 1821 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 1832 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static int ftdm_boost_wait_event(ftdm_span_t *span) span 1837 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1839 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_queue_get_interrupt(span->pendingchans, &ints[0]); span 1864 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static sangomabc_event_t *ftdm_boost_read_event(ftdm_span_t *span) span 1868 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1890 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span = (ftdm_span_t *) obj; span 1892 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 1899 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c mcon->span = span; span 1900 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c pcon->span = span; span 1908 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_boost_connection_open(span) != FTDM_SUCCESS) { span 1941 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (ftdm_boost_wait_event(span) < 0) { span 1945 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c while ((event = ftdm_boost_read_event(span))) { span 1946 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c parse_sangoma_event(span, pcon, (sangomabc_short_event_t*)event); span 1950 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c check_state(span); span 1997 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static void ftdm_cli_span_state_cmd(ftdm_span_t *span, char *state) span 2005 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for(j = 1; j <= span->chan_count; j++) { span 2006 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (span->channels[j]->state != state_e) { span 2007 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_channel_t *ftdmchan = span->channels[j]; span 2052 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span; span 2059 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = ftdm_span_find_by_name(argv[1], &span); span 2065 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (span->signal_type != FTDM_SIGTYPE_SANGOMABOOST) { span 2081 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2113 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_t *span; span 2120 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_span_find_by_name(argv[1], &span); span 2127 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2143 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_cli_span_state_cmd(span,argv[3]); span 2238 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_sangoma_boost_start(ftdm_span_t *span) span 2242 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2245 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_thread_create_detached(ftdm_sangoma_boost_run, span); span 2254 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c err = ftdm_thread_create_detached(ftdm_sangoma_events_run, span); span 2263 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c static ftdm_status_t ftdm_sangoma_boost_stop(ftdm_span_t *span) span 2267 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2272 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c status = sangoma_boost_data->sigmod->stop_span(span); span 2274 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 2286 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 2297 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 2440 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!span) { span 2453 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sangoma_boost_data = span->signal_data; span 2468 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_span_send_signal(ftdmchan->span, &sig); span 2474 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = ftdmchan->span->signal_data; span 2488 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 = span->signal_data; span 2509 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c return sangoma_boost_data->sigmod->set_span_sig_status(span, status); span 2514 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_sangoma_boost_data_t *sangoma_boost_data = span->signal_data; span 2522 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c return sangoma_boost_data->sigmod->get_span_sig_status(span, status); span 2573 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_ton(val, &span->default_caller_data.dnis.type); span 2575 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_npi(val, &span->default_caller_data.dnis.plan); span 2577 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_ton(val, &span->default_caller_data.cid_num.type); span 2579 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_npi(val, &span->default_caller_data.cid_num.plan); span 2581 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_ton(val, &span->default_caller_data.rdnis.type); span 2583 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_npi(val, &span->default_caller_data.rdnis.plan); span 2585 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c snprintf(span->last_error, sizeof(span->last_error), "Unknown parameter [%s]", var); span 2592 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 2593 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 2597 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_string(span->last_error, "missing Sangoma boost IP parameters"); span 2616 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 2622 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 2643 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 2646 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 2648 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c sigmod_iface->configure_span(span, ftdm_parameters); span 2650 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 2657 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c for (j = 1; j <= span->chan_count; j++) { span 2658 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channels[j]->call_data = ftdm_calloc(1, sizeof(sangoma_boost_call_t)); span 2659 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c if (!span->channels[j]->call_data) { span 2664 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_cb = sig_cb; span 2665 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->start = ftdm_sangoma_boost_start; span 2666 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->stop = ftdm_sangoma_boost_stop; span 2667 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_data = sangoma_boost_data; span 2668 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->signal_type = FTDM_SIGTYPE_SANGOMABOOST; span 2669 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->outgoing_call = sangoma_boost_outgoing_call; span 2670 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channel_request = sangoma_boost_channel_request; span 2671 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->get_channel_sig_status = sangoma_boost_get_channel_sig_status; span 2672 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->set_channel_sig_status = sangoma_boost_set_channel_sig_status; span 2673 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->get_span_sig_status = sangoma_boost_get_span_sig_status; span 2674 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->set_span_sig_status = sangoma_boost_set_span_sig_status; span 2675 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->state_map = &boost_state_map; span 2676 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->state_processor = state_advance; span 2679 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_clear_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID); span 2680 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_flag(span, FTDM_SPAN_USE_CHAN_QUEUE); span 2683 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c span->channel_request = NULL; span 2685 src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c ftdm_set_flag_locked(span, FTDM_SPAN_SUSPENDED); span 226 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 234 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init((void *)&fevent, cmd, chan, span); span 237 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init(&sevent, cmd, chan, span); span 268 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 273 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c sangomabc_event_init(&oevent, cmd, chan, span); span 439 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 474 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c mcon->sigmod->write_msg(mcon->span, event, event_size); span 509 src/ftmod/ftmod_sangoma_boost/sangoma_boost_client.c mcon->sigmod->write_msg(mcon->span, event, event_size); span 551 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 560 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 49 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_poll_events(ftdm_span_t *span); span 50 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_phy_events(ftdm_span_t *span, ftdm_oob_event_t 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 272 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_process_phy_events(ftdm_span_t *span, ftdm_oob_event_t event) span 274 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 280 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (FTDM_SPAN_IS_BRI(span)) { span 286 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 306 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static void ftdm_sangoma_isdn_poll_events(ftdm_span_t *span) span 310 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ret_status = ftdm_span_poll_event(span, 0, NULL); span 315 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_span_next_event(span, &event) == FTDM_SUCCESS) { span 316 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_sangoma_isdn_process_phy_events(span, event->enum_id); span 324 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_WARNING, "%s:Failed to poll span event\n", span->name); span 360 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span = (ftdm_span_t*) obj; span 361 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_channel_t *dchan = ((sngisdn_span_data_t*)span->signal_data)->dchan; span 370 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_running() && !(ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD))) { span 406 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span = (ftdm_span_t *) obj; span 408 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 412 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 415 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_IN_THREAD); span 418 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_queue_get_interrupt(span->pendingchans, &ftdm_sangoma_isdn_int[0]) != FTDM_SUCCESS) { span 419 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 423 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_queue_get_interrupt(span->pendingsignals, &ftdm_sangoma_isdn_int[1]) != FTDM_SUCCESS) { span 424 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "%s:Failed to get a signal interrupt for span = %s!\n", span->name); span 429 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 433 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_running() && !(ftdm_test_flag(span, FTDM_SPAN_STOP_THREAD))) { span 437 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_trigger_signals(span); span 449 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while ((ftdmchan = ftdm_queue_dequeue(span->pendingchans))) { span 457 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_sangoma_isdn_process_stack_event(span, sngisdn_event); span 465 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_ERROR, "%s: ftdm_interrupt_wait returned error!\n", span->name); span 469 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_ERROR, "%s: ftdm_interrupt_wait returned with unknown code\n", span->name); span 474 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_sangoma_isdn_poll_events(span); span 478 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 480 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 487 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 489 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 502 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 537 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 541 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdmchan = ftdm_sangoma_isdn_process_event_states(span, sngisdn_event); span 654 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 659 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (FTDM_SPAN_IS_BRI(ftdmchan->span) && span 661 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_test_flag(ftdmchan->span, FTDM_SPAN_PWR_SAVING)) { span 663 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) ftdmchan->span->signal_data; span 679 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 696 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 712 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 724 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 738 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 740 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 741 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) { span 765 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 954 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_test_flag(span->channels[1], FTDM_CHANNEL_SIG_UP)) { span 969 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_start(ftdm_span_t *span) span 971 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = span->signal_data; span 972 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 973 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sngisdn_stack_start(span) != FTDM_SUCCESS) { span 974 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "Failed to start span %s\n", span->name); span 978 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_STOP_THREAD); span 979 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_clear_flag(span, FTDM_SPAN_IN_THREAD); span 982 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_activate_trace(span, SNGISDN_TRACE_Q921); span 986 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_activate_trace(span, SNGISDN_TRACE_Q931); span 990 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_thread_create_detached(ftdm_sangoma_isdn_run, span) != FTDM_SUCCESS) { span 996 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftdm_thread_create_detached(ftdm_sangoma_isdn_dchan_run, span) != FTDM_SUCCESS) { span 1001 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_DEBUG,"Finished starting span %s\n", span->name); span 1005 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c static ftdm_status_t ftdm_sangoma_isdn_stop(ftdm_span_t *span) span 1010 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 1011 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "Stopping span %s\n", span->name); span 1014 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_STOP_THREAD); span 1017 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c while (ftdm_test_flag(span, FTDM_SPAN_IN_THREAD)) { span 1018 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 1022 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sngisdn_stack_stop(span) != FTDM_SUCCESS) { span 1023 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_CRIT, "Failed to stop span %s\n", span->name); span 1026 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 1040 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_safe_free(span->signal_data); span 1042 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_DEBUG, "Finished stopping span %s\n", span->name); span 1054 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_log(FTDM_LOG_INFO, "Configuring ftmod_sangoma_isdn span = %s\n", span->name); span 1057 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span_data->ftdm_span = span; span 1058 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_data = span_data; span 1060 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 1069 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (ftmod_isdn_parse_cfg(ftdm_parameters, span) != FTDM_SUCCESS) { span 1074 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (sngisdn_stack_cfg(span) != FTDM_SUCCESS) { span 1080 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->start = ftdm_sangoma_isdn_start; span 1081 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->stop = ftdm_sangoma_isdn_stop; span 1082 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_type = FTDM_SIGTYPE_ISDN; span 1083 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->outgoing_call = ftdm_sangoma_isdn_outgoing_call; span 1084 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->send_msg = ftdm_sangoma_isdn_send_msg; span 1085 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->channel_request = NULL; span 1086 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->signal_cb = sig_cb; span 1087 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->get_channel_sig_status = ftdm_sangoma_isdn_get_chan_sig_status; span 1088 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->set_channel_sig_status = ftdm_sangoma_isdn_set_chan_sig_status; span 1089 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->get_span_sig_status = ftdm_sangoma_isdn_get_span_sig_status; span 1090 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->set_span_sig_status = ftdm_sangoma_isdn_set_span_sig_status; span 1091 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->state_map = &sangoma_isdn_state_map; span 1092 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->state_processor = ftdm_sangoma_isdn_process_state_change; span 1093 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_CHAN_QUEUE); span 1094 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_SIGNALS_QUEUE); span 1095 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_PROCEED_STATE); span 1096 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_USE_SKIP_STATES); span 1097 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_set_flag(span, FTDM_SPAN_NON_STOPPABLE); span 1099 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP || span 1100 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c span->trunk_type == FTDM_TRUNK_BRI) { span 1102 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_set_span_avail_rate(span, SNGISDN_AVAIL_PWR_SAVING); span 1106 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 1109 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 1111 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 1201 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span; span 1210 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[2], &span); span 1217 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_activate_trace(span, SNGISDN_TRACE_Q921); span 1219 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_activate_trace(span, SNGISDN_TRACE_Q931); span 1221 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_activate_trace(span, SNGISDN_TRACE_DISABLE); span 1227 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span; span 1233 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[1], &span); span 1240 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_print_phy_stats(stream, span); span 1244 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c ftdm_span_t *span = NULL; span 1246 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c status = ftdm_span_find_by_name(argv[1], &span); span 1253 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.c sngisdn_print_span(stream, span); span 285 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 294 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_set_span_avail_rate(ftdm_span_t *span, sngisdn_avail_t avail); span 299 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt); span 374 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sng_isdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt); span 444 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_stack_cfg(ftdm_span_t *span); span 445 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_stack_start(ftdm_span_t *span); span 446 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_stack_stop(ftdm_span_t *span); span 447 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h ftdm_status_t sngisdn_wake_up_phy(ftdm_span_t *span); span 449 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn.h void sngisdn_print_phy_stats(ftdm_stream_handle_t *stream, ftdm_span_t *span); span 451 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 static 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 static ftdm_status_t parse_signalling(const char* signalling, ftdm_span_t *span); span 39 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t add_local_number(const char* val, ftdm_span_t *span); span 41 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t set_switchtype_defaults(ftdm_span_t *span); span 55 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t add_local_number(const char* val, ftdm_span_t *span) span 57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 60 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: Maximum number of local-numbers exceeded (max:%d)\n", span->name, SNGISDN_NUM_LOCAL_NUMBERS); span 68 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t parse_switchtype(const char* switch_name, ftdm_span_t *span) span 74 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 76 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c switch(span->trunk_type) { span 88 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 99 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 112 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 115 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_flag(span, FTDM_SPAN_USE_AV_RATE); span 116 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_flag(span, FTDM_SPAN_PWR_SAVING); span 120 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 126 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c g_sngisdn_data.ccs[i].trunktype == span->trunk_type) { span 134 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c g_sngisdn_data.ccs[i].trunktype = span->trunk_type; span 135 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 153 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 link_id:%d\n", span->name, signal_data->cc_id, signal_data->dchan_id, signal_data->span_id, signal_data->link_id); span 156 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 175 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t parse_signalling(const char* signalling, ftdm_span_t *span) span 177 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 195 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c static ftdm_status_t set_switchtype_defaults(ftdm_span_t *span) span 197 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 203 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.dnis.plan >= FTDM_NPI_INVALID) { span 204 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("isdn", &span->default_caller_data.dnis.plan); span 206 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.dnis.type >= FTDM_TON_INVALID) { span 207 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("national", &span->default_caller_data.dnis.type); span 209 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.cid_num.plan >= FTDM_NPI_INVALID) { span 210 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("isdn", &span->default_caller_data.cid_num.plan); span 212 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.cid_num.type >= FTDM_TON_INVALID) { span 213 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("national", &span->default_caller_data.cid_num.type); span 215 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.rdnis.plan >= FTDM_NPI_INVALID) { span 216 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("isdn", &span->default_caller_data.rdnis.plan); span 218 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.rdnis.type >= FTDM_TON_INVALID) { span 219 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("national", &span->default_caller_data.rdnis.type); span 225 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.dnis.plan >= FTDM_NPI_INVALID) { span 226 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("unknown", &span->default_caller_data.dnis.plan); span 228 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.dnis.type >= FTDM_TON_INVALID) { span 229 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("unknown", &span->default_caller_data.dnis.type); span 231 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.cid_num.plan >= FTDM_NPI_INVALID) { span 232 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("unknown", &span->default_caller_data.cid_num.plan); span 234 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.cid_num.type >= FTDM_TON_INVALID) { span 235 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("unknown", &span->default_caller_data.cid_num.type); span 237 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.rdnis.plan >= FTDM_NPI_INVALID) { span 238 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi("unknown", &span->default_caller_data.rdnis.plan); span 240 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.rdnis.type >= FTDM_TON_INVALID) { span 241 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton("unknown", &span->default_caller_data.rdnis.type); span 252 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 256 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) span->signal_data; span 266 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c signal_data->link_id = span->span_id; span 268 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.dnis.plan = FTDM_NPI_INVALID; span 269 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.dnis.type = FTDM_TON_INVALID; span 270 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.cid_num.plan = FTDM_NPI_INVALID; span 271 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.cid_num.type = FTDM_TON_INVALID; span 272 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.rdnis.plan = FTDM_NPI_INVALID; span 273 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.rdnis.type = FTDM_TON_INVALID; span 275 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_capability = IN_ITC_SPEECH; span 277 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_layer1 = FTDM_INVALID_INT_PARM; span 285 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (parse_switchtype(val, span) != FTDM_SUCCESS) { span 288 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (set_switchtype_defaults(span) != FTDM_SUCCESS) { span 293 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (parse_signalling(val, span) != FTDM_SUCCESS) { span 318 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton(val, &span->default_caller_data.dnis.type); span 320 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi(val, &span->default_caller_data.dnis.plan); span 322 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton(val, &span->default_caller_data.cid_num.type); span 324 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi(val, &span->default_caller_data.cid_num.plan); span 326 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_ton(val, &span->default_caller_data.rdnis.type); span 328 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_npi(val, &span->default_caller_data.rdnis.plan); span 330 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_bearer_capability(val, (uint8_t*)&span->default_caller_data.bearer_capability); span 332 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_set_bearer_layer1(val, (uint8_t*)&span->default_caller_data.bearer_layer1); span 336 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (add_local_number(val, span) != FTDM_SUCCESS) { span 358 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: switchtype not specified", span->name); span 362 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: signalling not specified", span->name); span 366 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c if (span->default_caller_data.bearer_layer1 == FTDM_INVALID_INT_PARM) { span 368 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_cfg.c span->default_caller_data.bearer_layer1 = IN_UIL1_G711ULAW; span 370 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 sngisdn_cfg_phy(ftdm_span_t *span); span 42 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_cfg_q921(ftdm_span_t *span); span 43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_cfg_q931(ftdm_span_t *span); span 44 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_cfg_cc(ftdm_span_t *span); span 52 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_phy_psap(ftdm_span_t *span); span 53 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q921_msap(ftdm_span_t *span); span 54 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_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 sngisdn_stack_cfg_q931_tsap(ftdm_span_t *span); span 56 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span); span 57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q931_lce(ftdm_span_t *span); span 59 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_cc_sap(ftdm_span_t *span); span 61 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 (sngisdn_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 sngisdn_stack_cfg_phy_psap(ftdm_span_t *span) span 199 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 222 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 228 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c switch(span->trunk_type) { span 241 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 297 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q921_msap(ftdm_span_t *span) span 302 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 340 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 363 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 390 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q921_dlsap(ftdm_span_t *span, uint8_t management) span 395 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 415 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP || span 416 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c span->trunk_type == FTDM_TRUNK_BRI) { span 441 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 527 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q931_tsap(ftdm_span_t *span) span 532 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 590 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q931_dlsap(ftdm_span_t *span) span 596 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 707 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c if (span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 803 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c switch (span->trunk_type) { span 839 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_log(FTDM_LOG_ERROR, "%s: Unsupported trunk_type\n", span->name); span 849 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_q931_lce(ftdm_span_t *span) span 856 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 857 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 962 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cfg.c ftdm_status_t sngisdn_stack_cfg_cc_sap(ftdm_span_t *span) span 967 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 sngisdn_activate_phy(ftdm_span_t *span); span 41 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_deactivate_phy(ftdm_span_t *span); span 43 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_activate_cc(ftdm_span_t *span); span 45 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_cntrl_q931(ftdm_span_t *span, uint8_t action, uint8_t subaction); span 46 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_cntrl_q921(ftdm_span_t *span, uint8_t action, uint8_t subaction); span 51 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_stack_stop(ftdm_span_t *span); span 54 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_stack_start(ftdm_span_t *span) span 56 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 59 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q921(span, ABND_ENA, NOTUSED) != FTDM_SUCCESS) { span 60 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 71 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack q921 activated\n", span->name); span 74 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_activate_cc(span) != FTDM_SUCCESS) { span 75 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 78 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack CC activated\n", span->name); span 82 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q931(span, ABND_ENA, SAELMNT) != FTDM_SUCCESS) { span 83 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 86 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_DEBUG, "%s:Stack q931 activated\n", span->name); span 88 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_INFO, "%s:Stack activated\n",span->name); span 92 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_stack_stop(ftdm_span_t *span) span 95 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_deactivate_phy(span) != FTDM_SUCCESS) { span 96 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 100 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q931(span, AUBND_DIS, SAELMNT) != FTDM_SUCCESS) { span 101 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 105 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q921(span, AUBND_DIS, SAELMNT) != FTDM_SUCCESS) { span 106 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 110 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_log(FTDM_LOG_INFO, "%s:Signalling stopped\n", span->name); span 115 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_activate_phy(ftdm_span_t *span) span 123 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_deactivate_phy(ftdm_span_t *span) span 128 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 158 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_wake_up_phy(ftdm_span_t *span) span 163 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 sngisdn_activate_cc(ftdm_span_t *span) span 198 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 227 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_activate_trace(ftdm_span_t *span, sngisdn_tracetype_t trace_opt) span 229 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 236 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q921(span, ADISIMM, SATRC) != FTDM_SUCCESS) { span 244 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q931(span, ADISIMM, SATRC) != FTDM_SUCCESS) { span 254 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q921(span, AENA, SATRC) != FTDM_SUCCESS) { span 264 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c if (sngisdn_cntrl_q931(span, AENA, SATRC) != FTDM_SUCCESS) { span 274 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_cntrl_q931(ftdm_span_t *span, uint8_t action, uint8_t subaction) span 278 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 314 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_cntrl.c ftdm_status_t sngisdn_cntrl_q921(ftdm_span_t *span, uint8_t action, uint8_t subaction) span 318 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 50 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 105 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 272 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 273 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c ((sngisdn_span_data_t*)ftdmchan->span->signal_data)->signalling == SNGISDN_SIGNALING_NET) { span 442 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 586 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c sngisdn_set_span_avail_rate(ftdmchan->span, SNGISDN_AVAIL_DOWN); span 773 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 823 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_hndl.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 923 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 972 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 1006 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 1021 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 1223 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 41 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 57 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP && span 89 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 118 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 144 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 174 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 206 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 233 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 262 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 296 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 298 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c if (ftdmchan->span->trunk_type != FTDM_TRUNK_BRI && span 299 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c ftdmchan->span->trunk_type != FTDM_TRUNK_BRI_PTMP) { span 325 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 346 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 386 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 438 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 458 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*) dchan->span->signal_data; span 505 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_stack_out.c signal_data = (sngisdn_span_data_t*) dchan->span->signal_data; span 94 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 138 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 189 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 224 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 259 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 292 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 360 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 393 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 427 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 460 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 494 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 528 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 53 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 141 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (FTDM_SPAN_IS_BRI(chan->span)) { span 148 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_status_t sngisdn_set_span_avail_rate(ftdm_span_t *span, sngisdn_avail_t avail) span 150 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (FTDM_SPAN_IS_BRI(span)) { span 154 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c chaniter = ftdm_span_get_chan_iterator(span, NULL); span 167 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 173 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (FTDM_SPAN_IS_BRI(ftdmchan->span) && !sngisdn_info->call_ref) { span 178 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (FTDM_SPAN_IS_BRI(ftdmchan->span)) { span 362 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 643 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 650 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 651 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 835 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_BRI || span 836 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdmchan->span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 863 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 876 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c if (!FTDM_SPAN_IS_BRI(ftdmchan->span)) { span 914 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 947 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 970 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 985 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 1007 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 1123 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 1126 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c sngisdn_span_data_t *signal_data = (sngisdn_span_data_t*)span->signal_data; span 1132 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c stream->write_function(stream, " Span:%s", span->name); span 1165 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c void sngisdn_print_span(ftdm_stream_handle_t *stream, ftdm_span_t *span) span 1171 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c fchan = ftdm_span_get_channel(span, 1); span 1176 src/ftmod/ftmod_sangoma_isdn/ftmod_sangoma_isdn_support.c ftdm_span_get_sig_status(span, &sigstatus); span 1178 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 343 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 345 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_blo(stream, span, chan, verbose); span 363 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 365 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_ubl(stream, span, chan, verbose); span 383 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 400 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_cgb(stream, span, chan, range, verbose); span 418 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 435 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_cgu(stream, span, chan, range, verbose); span 453 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 455 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_rsc(stream, span, chan, verbose); span 473 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 490 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_tx_grs(stream, span, chan, range, verbose); span 687 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 704 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 707 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 750 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 767 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 770 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 820 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 837 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 840 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 879 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 895 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 898 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 936 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 951 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 954 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1019 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 1035 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1036 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = ckt->span; span 1038 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1049 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ckt->span == lspan) && (ckt->chan == lchan)) { span 1052 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1057 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1068 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ckt->span, span 1122 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 1137 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1140 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1182 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_blocks(stream, span, chan, verbose); span 1188 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 1203 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1206 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1251 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_blocks(stream, span, chan, verbose); span 1276 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c g_ftdm_sngss7_data.cfg.mtpLink[x].mtp1.span, span 1399 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 1414 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if (span == 0) { span 1417 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c lspan = span; span 1459 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_status(stream, span, chan, verbose); span 1467 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 1485 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1487 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1532 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1534 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1537 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_status(stream, span, chan, verbose); span 1549 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 1575 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1578 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1593 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1631 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1633 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1636 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_status(stream, span, chan, verbose); span 1649 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 1675 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1678 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1693 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1731 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c sngss7_span = ftdmchan->span->signal_data; span 1733 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c if ((ftdmchan->physical_span_id == span) && span 1736 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c handle_show_status(stream, span, chan, verbose); span 1936 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 1942 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c *span = atoi(argv[pos]); span 1958 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_cli.c *span = atoi(argv[pos]); span 1200 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c if (ftdm_test_flag(ftdmchan->span, FTDM_SPAN_IN_THREAD)) { span 1391 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c g_ftdm_sngss7_data.cfg.isupCkt[circuit].span, span 1725 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->signal_data; span 1761 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->signal_data; span 1869 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->signal_data; span 1920 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->signal_data; span 2008 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 2061 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c sngss7_span = ftdmchan->span->signal_data; span 2139 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_handle.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 93 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 131 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 170 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 208 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 246 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 284 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 323 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 362 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 399 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 441 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 481 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 522 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 563 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_in.c ftdm_queue_enqueue(((sngss7_span_data_t*)sngss7_info->ftdmchan->span->signal_data)->event_queue, sngss7_event); span 51 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_stop (ftdm_span_t * span); span 52 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_start (ftdm_span_t * span); span 576 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 607 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 628 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 646 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 680 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 786 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span_data_t *span = ftdmchan->span->signal_data; span 787 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (span->rx_grs.circuit == sngss7_info->circuit->id) { span 838 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 946 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 1030 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1043 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1055 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1073 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1089 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1107 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal(ftdmchan->span, &sigev); span 1146 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_span_send_signal (ftdmchan->span, &sigev); span 1331 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_start(ftdm_span_t * span) span 1340 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c SS7_INFO ("Starting span %s:%u.\n", span->name, span->span_id); span 1343 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c for (x = 1; x < (span->chan_count + 1); x++) { span 1345 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdmchan = span->channels[x]; span 1348 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span = ftdmchan->span->signal_data; span 1371 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c sngss7_span->tx_grs.range = span->chan_count -1; span 1385 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_clear_flag (span, FTDM_SPAN_STOP_THREAD); span 1386 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_clear_flag (span, FTDM_SPAN_IN_THREAD); span 1395 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (ftdm_thread_create_detached (ftdm_sangoma_ss7_run, span) != FTDM_SUCCESS) { span 1400 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c SS7_DEBUG ("Finished starting span %s:%u.\n", span->name, span->span_id); span 1406 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c static ftdm_status_t ftdm_sangoma_ss7_stop(ftdm_span_t * span) span 1410 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 1413 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_STOP_THREAD); span 1416 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c while (ftdm_test_flag (span, FTDM_SPAN_IN_THREAD)) { span 1418 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1419 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 1425 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 1436 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1437 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 1462 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->start = ftdm_sangoma_ss7_start; span 1463 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->stop = ftdm_sangoma_ss7_stop; span 1464 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_type = FTDM_SIGTYPE_SS7; span 1465 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_data = NULL; span 1466 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->outgoing_call = ftdm_sangoma_ss7_outgoing_call; span 1467 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->channel_request = NULL; span 1468 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_cb = sig_cb; span 1469 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->get_channel_sig_status = ftdm_sangoma_ss7_get_sig_status; span 1470 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->set_channel_sig_status = ftdm_sangoma_ss7_set_sig_status; span 1471 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->state_map = &sangoma_ss7_state_map; span 1472 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->state_processor = ftdm_sangoma_ss7_process_state_change; span 1473 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->signal_data = ss7_span_info; span 1476 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_USE_CHAN_QUEUE); span 1478 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c ftdm_set_flag (span, FTDM_SPAN_USE_SIGNALS_QUEUE); span 1481 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c if (ftmod_ss7_parse_xml(ftdm_parameters, span)) { span 1493 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->name, span 1494 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.c span->span_id); span 106 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h uint32_t span; span 256 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_main.h uint32_t span; span 573 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 623 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 668 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 702 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 751 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 801 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 852 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_out.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 872 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 884 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 907 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_support.c sngss7_span_data_t *sngss7_span = ftdmchan->span->signal_data; span 52 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c ftdm_span_t *span; span 71 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 103 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 248 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c isupCkt.span = span; span 468 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c while (mtpLink[i].mtp1.span != 0 ){ span 515 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span = atoi(parm->val); span 516 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c SS7_DEBUG("\tFound mtpLink->span = %d\n", mtpLink->mtp1.span); span 1348 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if ((g_ftdm_sngss7_data.cfg.mtpLink[i].mtp1.span == mtpLink->mtp1.span) && span 1362 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span, span 1368 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c mtpLink->mtp1.span, span 1378 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.mtpLink[i].mtp1.span = mtpLink->mtp1.span; span 2040 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c (g_ftdm_sngss7_data.cfg.isupCkt[x].span == isupCkt->span->channels[1]->physical_span_id)) { span 2043 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c isupCkt->span->channels[1]->physical_span_id, span 2057 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c isupCkt->span->channels[1]->physical_span_id, span 2068 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span = isupCkt->span->channels[1]->physical_span_id; span 2095 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c while (isupCkt->span->channels[i] != NULL) { span 2096 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if (isupCkt->span->channels[i]->physical_chan_id == timeslot.channel) { span 2102 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c if (isupCkt->span->channels[i] == NULL) { span 2107 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c ftdmchan = isupCkt->span->channels[i]; span 2114 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c (g_ftdm_sngss7_data.cfg.isupCkt[x].span == ftdmchan->physical_span_id)) { span 2137 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c ss7_info->t35.sched = ((sngss7_span_data_t *)isupCkt->span->signal_data)->sched; span 2145 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span = ftdmchan->physical_span_id; span 2219 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span, span 2226 src/ftmod/ftmod_sangoma_ss7/ftmod_sangoma_ss7_xml.c g_ftdm_sngss7_data.cfg.isupCkt[x].span, 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 175 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c static __inline__ sng_fd_t __tdmv_api_open_span_chan(int span, int chan) span 177 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c return __sangoma_open_tdmapi_span_chan(span, chan); span 218 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 233 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (!strncasecmp(span->name, "smg_prid_nfas", 8) && span->trunk_type == FTDM_TRUNK_T1 && x == 24) { span 248 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_span_add_channel(span, sockfd, type, &chan) == FTDM_SUCCESS) { span 301 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->trunk_type == FTDM_TRUNK_BRI || span->trunk_type == FTDM_TRUNK_BRI_PTMP) { span 501 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c configured += wp_open_range(span, spanno, channo, top, type, name, number, cas_bits); span 979 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if(!FTDM_SPAN_IS_BRI(ftdmchan->span)) { span 1061 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 1062 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1089 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c pfds[j].fd = span->channels[i]->sockfd; span 1150 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 1154 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 1155 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1187 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 1193 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 1202 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (FTDM_SPAN_IS_BRI(ftdmchan->span)) { span 1378 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_span_t *span = ftdmchan->span; span 1387 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 1403 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.e_type = FTDM_EVENT_OOB; span 1404 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.enum_id = event_id; span 1405 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.channel = ftdmchan; span 1406 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c *event = &span->event_header; span 1420 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c for(i = 1; i <= span->chan_count; i++) { span 1423 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->channels[i]->last_event_time && !ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 1424 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_time_t diff = ftdm_current_time_in_ms() - span->channels[i]->last_event_time; span 1426 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_WINK)) { span 1428 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1429 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1430 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_set_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1432 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(span->channels[i], FTDM_LOG_DEBUG, "Diff since last event = %llums, delivering %s now\n", diff, ftdm_oob_event2str(event_id)); span 1437 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_FLASH)) { span 1439 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_FLASH); span 1440 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_WINK); span 1441 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag_locked(span->channels[i], FTDM_CHANNEL_OFFHOOK); span 1444 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (span->channels[i]->type == FTDM_CHAN_TYPE_FXO) { span 1445 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1451 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(span->channels[i], FTDM_LOG_DEBUG, "Diff since last event = %llums, delivering %s now\n", diff, ftdm_oob_event2str(event_id)); span 1456 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c if (ftdm_test_flag(span->channels[i], FTDM_CHANNEL_EVENT)) { span 1459 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_channel_t *ftdmchan = span->channels[i]; span 1461 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_clear_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 1465 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c ftdm_log_chan(span->channels[i], FTDM_LOG_ERROR, "read wanpipe event got error: %s\n", strerror(errno)); span 1468 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 1484 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->channels[i]->last_event_time = 0; span 1485 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.e_type = FTDM_EVENT_OOB; span 1486 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.enum_id = event_id; span 1487 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c span->event_header.channel = span->channels[i]; span 1488 src/ftmod/ftmod_wanpipe/ftmod_wanpipe.c *event = &span->event_header; span 261 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 277 src/ftmod/ftmod_zt/ftmod_zt.c if (sockfd != ZT_INVALID_SOCKET && ftdm_span_add_channel(span, sockfd, type, &ftdmchan) == FTDM_SUCCESS) { span 307 src/ftmod/ftmod_zt/ftmod_zt.c switch(span->start_type) { span 324 src/ftmod/ftmod_zt/ftmod_zt.c switch(span->start_type) { span 410 src/ftmod/ftmod_zt/ftmod_zt.c if (ftdmchan->span->trunk_type == FTDM_TRUNK_E1) { span 507 src/ftmod/ftmod_zt/ftmod_zt.c configured += zt_open_range(span, channo, top, type, name, number, cas_bits); span 869 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(ftdmchan->span->last_error, sizeof(ftdmchan->span->last_error), "ioctl failed (%s)", strerror(errno)); span 964 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 966 src/ftmod/ftmod_zt/ftmod_zt.c pfds[j].fd = span->channels[i]->sockfd; span 976 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 980 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 982 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_set_flag(span->channels[i], FTDM_CHANNEL_EVENT); span 983 src/ftmod/ftmod_zt/ftmod_zt.c span->channels[i]->last_event_time = ftdm_current_time_in_ms(); span 989 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "no matching descriptor"); span 1093 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_span_t *span = ftdmchan->span; span 1112 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.e_type = FTDM_EVENT_OOB; span 1113 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.enum_id = event_id; span 1114 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.channel = ftdmchan; span 1115 src/ftmod/ftmod_zt/ftmod_zt.c *event = &span->event_header; span 1130 src/ftmod/ftmod_zt/ftmod_zt.c for(i = 1; i <= span->chan_count; i++) { span 1131 src/ftmod/ftmod_zt/ftmod_zt.c ftdm_channel_t *fchan = span->channels[i]; span 1135 src/ftmod/ftmod_zt/ftmod_zt.c snprintf(span->last_error, sizeof(span->last_error), "%s", strerror(errno)); span 1148 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.e_type = FTDM_EVENT_OOB; span 1149 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.enum_id = event_id; span 1150 src/ftmod/ftmod_zt/ftmod_zt.c span->event_header.channel = fchan; span 1151 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 367 src/include/freetdm.h ftdm_span_hunt_t span; span 672 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 677 src/include/freetdm.h #define FIO_SPAN_SET_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t status) span 678 src/include/freetdm.h #define FIO_SPAN_GET_SIG_STATUS_ARGS (ftdm_span_t *span, ftdm_signaling_status_t *status) span 679 src/include/freetdm.h #define FIO_SPAN_POLL_EVENT_ARGS (ftdm_span_t *span, uint32_t ms, short *poll_events) span 680 src/include/freetdm.h #define FIO_SPAN_NEXT_EVENT_ARGS (ftdm_span_t *span, ftdm_event_t **event) span 684 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 689 src/include/freetdm.h #define FIO_SPAN_DESTROY_ARGS (ftdm_span_t *span) span 698 src/include/freetdm.h #define FIO_SIG_CONFIGURE_ARGS (ftdm_span_t *span, fio_signal_cb_t sig_cb, va_list ap) span 699 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 955 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_set_sig_status(ftdm_span_t *span, ftdm_signaling_status_t status); span 958 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_get_sig_status(ftdm_span_t *span, ftdm_signaling_status_t *status); span 1117 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_poll_event(ftdm_span_t *span, uint32_t ms, short *poll_events); span 1128 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_find(uint32_t id, ftdm_span_t **span); span 1137 src/include/freetdm.h FT_DECLARE(const char *) ftdm_span_get_last_error(const ftdm_span_t *span); span 1153 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_create(const char *iotype, const char *name, ftdm_span_t **span); span 1166 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 1201 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_channel_use_count(ftdm_span_t *span, uint32_t *count); span 1454 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 1469 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 1484 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_start(ftdm_span_t *span); span 1498 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_stop(ftdm_span_t *span); span 1511 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_find_by_name(const char *name, ftdm_span_t **span); span 1514 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_span_get_id(const ftdm_span_t *span); span 1517 src/include/freetdm.h FT_DECLARE(const char *) ftdm_span_get_name(const ftdm_span_t *span); span 1523 src/include/freetdm.h FT_DECLARE(ftdm_iterator_t *) ftdm_span_get_chan_iterator(const ftdm_span_t *span, ftdm_iterator_t *iter); span 1580 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 1590 src/include/freetdm.h FT_DECLARE(void) ftdm_span_set_trunk_type(ftdm_span_t *span, ftdm_trunk_type_t type); span 1599 src/include/freetdm.h FT_DECLARE(ftdm_trunk_type_t) ftdm_span_get_trunk_type(const ftdm_span_t *span); span 1602 src/include/freetdm.h FT_DECLARE(const char *) ftdm_span_get_trunk_type_str(const ftdm_span_t *span); span 1612 src/include/freetdm.h FT_DECLARE(ftdm_channel_t *) ftdm_span_get_channel(const ftdm_span_t *span, uint32_t chanid); span 1615 src/include/freetdm.h FT_DECLARE(uint32_t) ftdm_span_get_chan_count(const ftdm_span_t *span); span 1647 src/include/freetdm.h FT_DECLARE(ftdm_status_t) ftdm_span_set_blocking_mode(const ftdm_span_t *span, ftdm_bool_t enabled); span 449 src/include/private/ftdm_core.h struct ftdm_span *span; span 558 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_load_tones(ftdm_span_t *span, const char *mapname); span 575 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t *sigmsg); span 606 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_next_event(ftdm_span_t *span, ftdm_event_t **event); span 620 src/include/private/ftdm_core.h FT_DECLARE(ftdm_status_t) ftdm_span_trigger_signals(const ftdm_span_t *span); span 673 src/include/private/ftdm_core.h #define ftdm_span_lock(span) ftdm_mutex_lock(span->mutex) span 674 src/include/private/ftdm_core.h #define ftdm_span_unlock(span) ftdm_mutex_unlock(span->mutex) span 106 src/include/private/ftdm_state.h FT_DECLARE(int) ftdm_check_state_all(ftdm_span_t *span, ftdm_channel_state_t state); span 216 src/include/private/ftdm_state.h #define ftdm_set_state_all(span, state) \ span 219 src/include/private/ftdm_state.h ftdm_mutex_lock((span)->mutex); \ span 220 src/include/private/ftdm_state.h for(_j = 1; _j <= (span)->chan_count; _j++) { \ span 221 src/include/private/ftdm_state.h if (!FTDM_IS_DCHAN(span->channels[_j])) { \ span 222 src/include/private/ftdm_state.h ftdm_set_state_locked((span->channels[_j]), state); \ span 225 src/include/private/ftdm_state.h ftdm_mutex_unlock((span)->mutex); \ span 332 src/include/private/ftdm_types.h typedef ftdm_status_t (*ftdm_span_start_t)(ftdm_span_t *span); span 333 src/include/private/ftdm_types.h typedef ftdm_status_t (*ftdm_span_stop_t)(ftdm_span_t *span); span 348 src/include/private/ftdm_types.h const ftdm_span_t *span; 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 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 77 src/testr2.c ftdm_span_t *span; span 98 src/testr2.c if (ftdm_span_find_by_name(argv[1], &span) != FTDM_SUCCESS) { span 121 src/testr2.c if (ftdm_configure_span_signaling(span, "r2", on_r2_signal, parameters) == FTDM_SUCCESS) { span 122 src/testr2.c ftdm_span_start(span); span 233 src/testsangomaboost.c static void place_call(const ftdm_span_t *span, const char *number) span 250 src/testsangomaboost.c status = ftdm_channel_open_by_span(ftdm_span_get_id(span), FTDM_TOP_DOWN, &caller_data, &ftdmchan); span 321 src/testsangomaboost.c ftdm_span_t *span; span 386 src/testsangomaboost.c if (ftdm_span_find_by_name(argv[1], &span) != FTDM_SUCCESS) { span 421 src/testsangomaboost.c if (ftdm_configure_span_signaling(span, "sangoma_boost", on_signaling_event, parameters) != FTDM_SUCCESS) { span 422 src/testsangomaboost.c fprintf(stderr, "Error configuring sangoma_boost signaling abstraction in span %s\n", ftdm_span_get_name(span)); span 432 src/testsangomaboost.c ftdm_span_start(span); span 448 src/testsangomaboost.c place_call(span, todial);