mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 00:04:53 +00:00
* mISDN >= 1.2 provides a dsp pipeline for i.e. echo cancellation modules, make chan_misdn use it.
* add a check for linux/mISDNdsp.h to configure.ac and update the autogenerated files: 'configure', 'autoconfig.h.in' (the 'configure' script was not in sync with the latest configure.ac, so the diff is a bit bigger than expected). git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -351,7 +351,11 @@ int add_out_calls(int port);
|
|||||||
int add_in_calls(int port);
|
int add_in_calls(int port);
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
static int update_pipeline_config(struct misdn_bchannel *bc);
|
||||||
|
#else
|
||||||
static int update_ec_config(struct misdn_bchannel *bc);
|
static int update_ec_config(struct misdn_bchannel *bc);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1034,7 +1038,11 @@ static void print_bc_info (int fd, struct chan_list* help, struct misdn_bchannel
|
|||||||
" --> activated: %d\n"
|
" --> activated: %d\n"
|
||||||
" --> state: %s\n"
|
" --> state: %s\n"
|
||||||
" --> capability: %s\n"
|
" --> capability: %s\n"
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
" --> pipeline: %s\n"
|
||||||
|
#else
|
||||||
" --> echo_cancel: %d\n"
|
" --> echo_cancel: %d\n"
|
||||||
|
#endif
|
||||||
" --> notone : rx %d tx:%d\n"
|
" --> notone : rx %d tx:%d\n"
|
||||||
" --> bc_hold: %d\n",
|
" --> bc_hold: %d\n",
|
||||||
help->ast->name,
|
help->ast->name,
|
||||||
@@ -1047,7 +1055,11 @@ static void print_bc_info (int fd, struct chan_list* help, struct misdn_bchannel
|
|||||||
bc->active,
|
bc->active,
|
||||||
bc_state2str(bc->bc_state),
|
bc_state2str(bc->bc_state),
|
||||||
bearer2str(bc->capability),
|
bearer2str(bc->capability),
|
||||||
bc->ec_enable,
|
#ifdef MISDN_1_2
|
||||||
|
bc->pipeline,
|
||||||
|
#else
|
||||||
|
bc->ec_enable,
|
||||||
|
#endif
|
||||||
|
|
||||||
help->norxtone,help->notxtone,
|
help->norxtone,help->notxtone,
|
||||||
bc->holded
|
bc->holded
|
||||||
@@ -1275,7 +1287,11 @@ static int misdn_toggle_echocancel (int fd, int argc, char *argv[])
|
|||||||
tmp->toggle_ec=tmp->toggle_ec?0:1;
|
tmp->toggle_ec=tmp->toggle_ec?0:1;
|
||||||
|
|
||||||
if (tmp->toggle_ec) {
|
if (tmp->toggle_ec) {
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
update_pipeline_config(tmp->bc);
|
||||||
|
#else
|
||||||
update_ec_config(tmp->bc);
|
update_ec_config(tmp->bc);
|
||||||
|
#endif
|
||||||
manager_ec_enable(tmp->bc);
|
manager_ec_enable(tmp->bc);
|
||||||
} else {
|
} else {
|
||||||
manager_ec_disable(tmp->bc);
|
manager_ec_disable(tmp->bc);
|
||||||
@@ -1616,6 +1632,25 @@ void debug_numplan(int port, int numplan, char *type)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
static int update_pipeline_config(struct misdn_bchannel *bc)
|
||||||
|
{
|
||||||
|
int ec;
|
||||||
|
|
||||||
|
misdn_cfg_get(bc->port, MISDN_CFG_PIPELINE, bc->pipeline, sizeof(bc->pipeline));
|
||||||
|
|
||||||
|
if (*bc->pipeline)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
misdn_cfg_get(bc->port, MISDN_CFG_ECHOCANCEL, &ec, sizeof(int));
|
||||||
|
if (ec == 1)
|
||||||
|
snprintf(bc->pipeline, sizeof(bc->pipeline) - 1, "mg2ec");
|
||||||
|
else if (ec > 1)
|
||||||
|
snprintf(bc->pipeline, sizeof(bc->pipeline) - 1, "mg2ec(deftaps=%d)", ec);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#else
|
||||||
static int update_ec_config(struct misdn_bchannel *bc)
|
static int update_ec_config(struct misdn_bchannel *bc)
|
||||||
{
|
{
|
||||||
int ec;
|
int ec;
|
||||||
@@ -1629,17 +1664,10 @@ static int update_ec_config(struct misdn_bchannel *bc)
|
|||||||
bc->ec_enable=1;
|
bc->ec_enable=1;
|
||||||
bc->ec_deftaps=ec;
|
bc->ec_deftaps=ec;
|
||||||
}
|
}
|
||||||
#ifdef WITH_ECHOTRAINING
|
|
||||||
int ectr;
|
|
||||||
misdn_cfg_get( port, MISDN_CFG_ECHOTRAINING, &ectr, sizeof(int));
|
|
||||||
|
|
||||||
if ( ectr >= 0 ) {
|
|
||||||
bc->ec_training=ectr;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static int read_config(struct chan_list *ch, int orig) {
|
static int read_config(struct chan_list *ch, int orig) {
|
||||||
@@ -1714,7 +1742,11 @@ static int read_config(struct chan_list *ch, int orig) {
|
|||||||
|
|
||||||
ast_copy_string (ast->context,ch->context,sizeof(ast->context));
|
ast_copy_string (ast->context,ch->context,sizeof(ast->context));
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
update_pipeline_config(bc);
|
||||||
|
#else
|
||||||
update_ec_config(bc);
|
update_ec_config(bc);
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
int eb3;
|
int eb3;
|
||||||
@@ -1987,9 +2019,15 @@ static int misdn_call(struct ast_channel *ast, char *dest, int timeout)
|
|||||||
int bridging;
|
int bridging;
|
||||||
misdn_cfg_get( 0, MISDN_GEN_BRIDGING, &bridging, sizeof(int));
|
misdn_cfg_get( 0, MISDN_GEN_BRIDGING, &bridging, sizeof(int));
|
||||||
if (bridging && ch->other_ch) {
|
if (bridging && ch->other_ch) {
|
||||||
chan_misdn_log(0, port, "Disabling EC on both Sides\n");
|
#ifdef MISDN_1_2
|
||||||
|
chan_misdn_log(0, port, "Disabling EC (aka Pipeline) on both Sides\n");
|
||||||
|
*ch->bc->pipeline=0;
|
||||||
|
*ch->other_ch->bc->pipeline=0;
|
||||||
|
#else
|
||||||
|
chan_misdn_log(0, port, "Disabling EC on both Sides\n");
|
||||||
ch->bc->ec_enable=0;
|
ch->bc->ec_enable=0;
|
||||||
ch->other_ch->bc->ec_enable=0;
|
ch->other_ch->bc->ec_enable=0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
r=misdn_lib_send_event( newbc, EVENT_SETUP );
|
r=misdn_lib_send_event( newbc, EVENT_SETUP );
|
||||||
@@ -2482,7 +2520,11 @@ static struct ast_frame *process_ast_dsp(struct chan_list *tmp, struct ast_frame
|
|||||||
isdn_lib_update_rxgain(tmp->bc);
|
isdn_lib_update_rxgain(tmp->bc);
|
||||||
tmp->bc->txgain = 0;
|
tmp->bc->txgain = 0;
|
||||||
isdn_lib_update_txgain(tmp->bc);
|
isdn_lib_update_txgain(tmp->bc);
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
*tmp->bc->pipeline = 0;
|
||||||
|
#else
|
||||||
tmp->bc->ec_enable = 0;
|
tmp->bc->ec_enable = 0;
|
||||||
|
#endif
|
||||||
isdn_lib_update_ec(tmp->bc);
|
isdn_lib_update_ec(tmp->bc);
|
||||||
isdn_lib_stop_dtmf(tmp->bc);
|
isdn_lib_stop_dtmf(tmp->bc);
|
||||||
switch (tmp->faxdetect) {
|
switch (tmp->faxdetect) {
|
||||||
@@ -4985,14 +5027,22 @@ static int misdn_set_opt_exec(struct ast_channel *chan, void *data)
|
|||||||
|
|
||||||
if (neglect) {
|
if (neglect) {
|
||||||
chan_misdn_log(1, ch->bc->port, " --> disabled\n");
|
chan_misdn_log(1, ch->bc->port, " --> disabled\n");
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
*ch->bc->pipeline=0;
|
||||||
|
#else
|
||||||
ch->bc->ec_enable=0;
|
ch->bc->ec_enable=0;
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
update_pipeline_config(ch->bc);
|
||||||
|
#else
|
||||||
ch->bc->ec_enable=1;
|
ch->bc->ec_enable=1;
|
||||||
ch->bc->orig=ch->orginator;
|
ch->bc->orig=ch->orginator;
|
||||||
tok++;
|
tok++;
|
||||||
if (tok) {
|
if (*tok) {
|
||||||
ch->bc->ec_deftaps=atoi(tok);
|
ch->bc->ec_deftaps=atoi(tok);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
@@ -1,6 +1,10 @@
|
|||||||
#
|
#
|
||||||
# Makefile for chan_misdn support
|
# Makefile for chan_misdn support
|
||||||
#
|
#
|
||||||
|
ifneq ($(wildcard /usr/include/linux/mISDNdsp.h),)
|
||||||
|
CFLAGS+=-DMISDN_1_2
|
||||||
|
endif
|
||||||
|
|
||||||
all:
|
all:
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
|
@@ -52,9 +52,8 @@ enum misdn_cfg_elements {
|
|||||||
MISDN_CFG_EARLY_BCONNECT, /* int (bool) */
|
MISDN_CFG_EARLY_BCONNECT, /* int (bool) */
|
||||||
MISDN_CFG_INCOMING_EARLY_AUDIO, /* int (bool) */
|
MISDN_CFG_INCOMING_EARLY_AUDIO, /* int (bool) */
|
||||||
MISDN_CFG_ECHOCANCEL, /* int */
|
MISDN_CFG_ECHOCANCEL, /* int */
|
||||||
MISDN_CFG_ECHOCANCELWHENBRIDGED, /* int (bool) */
|
#ifdef MISDN_1_2
|
||||||
#ifdef WITH_ECHOTRAINGING
|
MISDN_CFG_PIPELINE, /* char[] */
|
||||||
MISDN_CFG_ECHOTRAINING, /* int (bool) */
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WITH_BEROEC
|
#ifdef WITH_BEROEC
|
||||||
|
@@ -590,14 +590,13 @@ static void empty_bc(struct misdn_bchannel *bc)
|
|||||||
|
|
||||||
bc->early_bconnect = 1;
|
bc->early_bconnect = 1;
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
*bc->pipeline = 0;
|
||||||
|
#else
|
||||||
bc->ec_enable = 0;
|
bc->ec_enable = 0;
|
||||||
bc->ec_deftaps = 128;
|
bc->ec_deftaps = 128;
|
||||||
bc->ec_whenbridged = 0;
|
|
||||||
|
|
||||||
#ifdef EC_TRAIN
|
|
||||||
bc->ec_training = 1;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
bc->orig=0;
|
bc->orig=0;
|
||||||
|
|
||||||
bc->cause=16;
|
bc->cause=16;
|
||||||
@@ -4101,7 +4100,11 @@ void isdn_lib_update_txgain (struct misdn_bchannel *bc)
|
|||||||
|
|
||||||
void isdn_lib_update_ec (struct misdn_bchannel *bc)
|
void isdn_lib_update_ec (struct misdn_bchannel *bc)
|
||||||
{
|
{
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
if (*bc->pipeline)
|
||||||
|
#else
|
||||||
if (bc->ec_enable)
|
if (bc->ec_enable)
|
||||||
|
#endif
|
||||||
manager_ec_enable(bc);
|
manager_ec_enable(bc);
|
||||||
else
|
else
|
||||||
manager_ec_disable(bc);
|
manager_ec_disable(bc);
|
||||||
@@ -4280,19 +4283,24 @@ void misdn_lib_send_tone(struct misdn_bchannel *bc, enum tone_e tone)
|
|||||||
|
|
||||||
void manager_ec_enable(struct misdn_bchannel *bc)
|
void manager_ec_enable(struct misdn_bchannel *bc)
|
||||||
{
|
{
|
||||||
int ec_arr[2];
|
|
||||||
|
|
||||||
struct misdn_stack *stack=get_stack_by_bc(bc);
|
struct misdn_stack *stack=get_stack_by_bc(bc);
|
||||||
|
|
||||||
cb_log(4, stack?stack->port:0,"ec_enable\n");
|
cb_log(4, stack?stack->port:0,"ec_enable\n");
|
||||||
|
|
||||||
if (!misdn_cap_is_speech(bc->capability)) {
|
if (!misdn_cap_is_speech(bc->capability)) {
|
||||||
cb_log(1, stack?stack->port:0, " --> no speech? cannot enable EC\n");
|
cb_log(1, stack?stack->port:0, " --> no speech? cannot enable EC\n");
|
||||||
return;
|
} else {
|
||||||
}
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
if (*bc->pipeline) {
|
||||||
|
cb_log(3, stack?stack->port:0,"Sending Control PIPELINE_CFG %s\n",bc->pipeline);
|
||||||
|
manager_ph_control_block(bc, PIPELINE_CFG, bc->pipeline, strlen(bc->pipeline) + 1);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
int ec_arr[2];
|
||||||
|
|
||||||
if (bc->ec_enable) {
|
if (bc->ec_enable) {
|
||||||
cb_log(3, stack?stack->port:0,"Sending Control ECHOCAN_ON taps:%d training:%d\n",bc->ec_deftaps, bc->ec_training);
|
cb_log(3, stack?stack->port:0,"Sending Control ECHOCAN_ON taps:%d\n",bc->ec_deftaps);
|
||||||
|
|
||||||
switch (bc->ec_deftaps) {
|
switch (bc->ec_deftaps) {
|
||||||
case 4:
|
case 4:
|
||||||
@@ -4312,14 +4320,12 @@ void manager_ec_enable(struct misdn_bchannel *bc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ec_arr[0]=bc->ec_deftaps;
|
ec_arr[0]=bc->ec_deftaps;
|
||||||
#ifdef EC_TRAIN
|
|
||||||
ec_arr[1]=bc->ec_training;
|
|
||||||
#else
|
|
||||||
ec_arr[1]=0;
|
ec_arr[1]=0;
|
||||||
#endif
|
|
||||||
|
|
||||||
manager_ph_control_block(bc, ECHOCAN_ON, ec_arr, sizeof(ec_arr));
|
manager_ph_control_block(bc, ECHOCAN_ON, ec_arr, sizeof(ec_arr));
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -4335,10 +4341,14 @@ void manager_ec_disable(struct misdn_bchannel *bc)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
manager_ph_control_block(bc, PIPELINE_CFG, "", 0);
|
||||||
|
#else
|
||||||
if ( ! bc->ec_enable) {
|
if ( ! bc->ec_enable) {
|
||||||
cb_log(3, stack?stack->port:0, "Sending Control ECHOCAN_OFF\n");
|
cb_log(3, stack?stack->port:0, "Sending Control ECHOCAN_OFF\n");
|
||||||
manager_ph_control(bc, ECHOCAN_OFF, 0);
|
manager_ph_control(bc, ECHOCAN_OFF, 0);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
struct misdn_stack* get_misdn_stack() {
|
struct misdn_stack* get_misdn_stack() {
|
||||||
|
@@ -346,10 +346,12 @@ struct misdn_bchannel {
|
|||||||
|
|
||||||
/** list stuf **/
|
/** list stuf **/
|
||||||
|
|
||||||
|
#ifdef MISDN_1_2
|
||||||
|
char pipeline[128];
|
||||||
|
#else
|
||||||
int ec_enable;
|
int ec_enable;
|
||||||
int ec_deftaps;
|
int ec_deftaps;
|
||||||
int ec_whenbridged;
|
#endif
|
||||||
int ec_training;
|
|
||||||
|
|
||||||
#ifdef WITH_BEROEC
|
#ifdef WITH_BEROEC
|
||||||
beroec_t *ec;
|
beroec_t *ec;
|
||||||
|
@@ -235,9 +235,14 @@ static const struct misdn_cfg_spec port_spec[] = {
|
|||||||
"\tA value of zero turns echocancellation off.\n"
|
"\tA value of zero turns echocancellation off.\n"
|
||||||
"\n"
|
"\n"
|
||||||
"\tPossible values are: 0,32,64,128,256,yes(=128),no(=0)" },
|
"\tPossible values are: 0,32,64,128,256,yes(=128),no(=0)" },
|
||||||
{ "echocancelwhenbridged", MISDN_CFG_ECHOCANCELWHENBRIDGED, MISDN_CTYPE_BOOL, "no", NONE,
|
#ifdef MISDN_1_2
|
||||||
"This disables echocancellation when the call is bridged between\n"
|
{ "pipeline", MISDN_CFG_PIPELINE, MISDN_CTYPE_STR, NO_DEFAULT, NONE,
|
||||||
"\tmISDN channels" },
|
"Set the configuration string for the mISDN dsp pipeline.\n"
|
||||||
|
"\n"
|
||||||
|
"\tExample for enabling the mg2 echo cancellation module with deftaps\n"
|
||||||
|
"\tset to 128:\n"
|
||||||
|
"\t\tmg2ec(deftaps=128)" },
|
||||||
|
#endif
|
||||||
#ifdef WITH_BEROEC
|
#ifdef WITH_BEROEC
|
||||||
{ "bnechocancel", MISDN_CFG_BNECHOCANCEL, MISDN_CTYPE_BOOLINT, "yes", 64,
|
{ "bnechocancel", MISDN_CFG_BNECHOCANCEL, MISDN_CTYPE_BOOLINT, "yes", 64,
|
||||||
"echotail in ms (1-200)\n"},
|
"echotail in ms (1-200)\n"},
|
||||||
|
209
configure
vendored
209
configure
vendored
@@ -1,5 +1,5 @@
|
|||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# From configure.ac Revision: 58931 .
|
# From configure.ac Revision: 58955 .
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.60.
|
# Generated by GNU Autoconf 2.60.
|
||||||
#
|
#
|
||||||
@@ -692,7 +692,6 @@ LN
|
|||||||
DOT
|
DOT
|
||||||
STRIP
|
STRIP
|
||||||
WGET
|
WGET
|
||||||
RUBBER
|
|
||||||
FETCH
|
FETCH
|
||||||
DOWNLOAD
|
DOWNLOAD
|
||||||
acx_pthread_config
|
acx_pthread_config
|
||||||
@@ -7406,47 +7405,6 @@ echo "${ECHO_T}no" >&6; }
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Extract the first word of "rubber", so it can be a program name with args.
|
|
||||||
set dummy rubber; ac_word=$2
|
|
||||||
{ echo "$as_me:$LINENO: checking for $ac_word" >&5
|
|
||||||
echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
|
|
||||||
if test "${ac_cv_path_RUBBER+set}" = set; then
|
|
||||||
echo $ECHO_N "(cached) $ECHO_C" >&6
|
|
||||||
else
|
|
||||||
case $RUBBER in
|
|
||||||
[\\/]* | ?:[\\/]*)
|
|
||||||
ac_cv_path_RUBBER="$RUBBER" # Let the user override the test with a path.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
|
||||||
for as_dir in $PATH
|
|
||||||
do
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
test -z "$as_dir" && as_dir=.
|
|
||||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
|
||||||
if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; }; then
|
|
||||||
ac_cv_path_RUBBER="$as_dir/$ac_word$ac_exec_ext"
|
|
||||||
echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
|
|
||||||
break 2
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
done
|
|
||||||
IFS=$as_save_IFS
|
|
||||||
|
|
||||||
test -z "$ac_cv_path_RUBBER" && ac_cv_path_RUBBER=":"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
RUBBER=$ac_cv_path_RUBBER
|
|
||||||
if test -n "$RUBBER"; then
|
|
||||||
{ echo "$as_me:$LINENO: result: $RUBBER" >&5
|
|
||||||
echo "${ECHO_T}$RUBBER" >&6; }
|
|
||||||
else
|
|
||||||
{ echo "$as_me:$LINENO: result: no" >&5
|
|
||||||
echo "${ECHO_T}no" >&6; }
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
if test "${WGET}" != ":" ; then
|
if test "${WGET}" != ":" ; then
|
||||||
DOWNLOAD=${WGET}
|
DOWNLOAD=${WGET}
|
||||||
else
|
else
|
||||||
@@ -22029,6 +21987,164 @@ echo "$as_me: *** without explicitly specifying --with-${SUPPSERV_OPTION}" >&6;}
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then
|
||||||
|
{ echo "$as_me:$LINENO: checking for linux/mISDNdsp.h" >&5
|
||||||
|
echo $ECHO_N "checking for linux/mISDNdsp.h... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
fi
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_mISDNdsp_h" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_header_linux_mISDNdsp_h" >&6; }
|
||||||
|
else
|
||||||
|
# Is the header compilable?
|
||||||
|
{ echo "$as_me:$LINENO: checking linux/mISDNdsp.h usability" >&5
|
||||||
|
echo $ECHO_N "checking linux/mISDNdsp.h usability... $ECHO_C" >&6; }
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
$ac_includes_default
|
||||||
|
#include <linux/mISDNdsp.h>
|
||||||
|
_ACEOF
|
||||||
|
rm -f conftest.$ac_objext
|
||||||
|
if { (ac_try="$ac_compile"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_compile") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } &&
|
||||||
|
{ ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
|
||||||
|
{ (case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_try") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; } &&
|
||||||
|
{ ac_try='test -s conftest.$ac_objext'
|
||||||
|
{ (case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_try") 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); }; }; then
|
||||||
|
ac_header_compiler=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_header_compiler=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
|
||||||
|
echo "${ECHO_T}$ac_header_compiler" >&6; }
|
||||||
|
|
||||||
|
# Is the header present?
|
||||||
|
{ echo "$as_me:$LINENO: checking linux/mISDNdsp.h presence" >&5
|
||||||
|
echo $ECHO_N "checking linux/mISDNdsp.h presence... $ECHO_C" >&6; }
|
||||||
|
cat >conftest.$ac_ext <<_ACEOF
|
||||||
|
/* confdefs.h. */
|
||||||
|
_ACEOF
|
||||||
|
cat confdefs.h >>conftest.$ac_ext
|
||||||
|
cat >>conftest.$ac_ext <<_ACEOF
|
||||||
|
/* end confdefs.h. */
|
||||||
|
#include <linux/mISDNdsp.h>
|
||||||
|
_ACEOF
|
||||||
|
if { (ac_try="$ac_cpp conftest.$ac_ext"
|
||||||
|
case "(($ac_try" in
|
||||||
|
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
|
||||||
|
*) ac_try_echo=$ac_try;;
|
||||||
|
esac
|
||||||
|
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
|
||||||
|
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
|
||||||
|
ac_status=$?
|
||||||
|
grep -v '^ *+' conftest.er1 >conftest.err
|
||||||
|
rm -f conftest.er1
|
||||||
|
cat conftest.err >&5
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } >/dev/null; then
|
||||||
|
if test -s conftest.err; then
|
||||||
|
ac_cpp_err=$ac_c_preproc_warn_flag
|
||||||
|
ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
|
||||||
|
else
|
||||||
|
ac_cpp_err=
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
ac_cpp_err=yes
|
||||||
|
fi
|
||||||
|
if test -z "$ac_cpp_err"; then
|
||||||
|
ac_header_preproc=yes
|
||||||
|
else
|
||||||
|
echo "$as_me: failed program was:" >&5
|
||||||
|
sed 's/^/| /' conftest.$ac_ext >&5
|
||||||
|
|
||||||
|
ac_header_preproc=no
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -f conftest.err conftest.$ac_ext
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
|
||||||
|
echo "${ECHO_T}$ac_header_preproc" >&6; }
|
||||||
|
|
||||||
|
# So? What about this header?
|
||||||
|
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
|
||||||
|
yes:no: )
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: accepted by the compiler, rejected by the preprocessor!" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: proceeding with the compiler's result" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: proceeding with the compiler's result" >&2;}
|
||||||
|
ac_header_preproc=yes
|
||||||
|
;;
|
||||||
|
no:yes:* )
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: present but cannot be compiled" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: present but cannot be compiled" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: check for missing prerequisite headers?" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: check for missing prerequisite headers?" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: see the Autoconf documentation" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: see the Autoconf documentation" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: section \"Present But Cannot Be Compiled\"" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: section \"Present But Cannot Be Compiled\"" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: proceeding with the preprocessor's result" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: proceeding with the preprocessor's result" >&2;}
|
||||||
|
{ echo "$as_me:$LINENO: WARNING: linux/mISDNdsp.h: in the future, the compiler will take precedence" >&5
|
||||||
|
echo "$as_me: WARNING: linux/mISDNdsp.h: in the future, the compiler will take precedence" >&2;}
|
||||||
|
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
{ echo "$as_me:$LINENO: checking for linux/mISDNdsp.h" >&5
|
||||||
|
echo $ECHO_N "checking for linux/mISDNdsp.h... $ECHO_C" >&6; }
|
||||||
|
if test "${ac_cv_header_linux_mISDNdsp_h+set}" = set; then
|
||||||
|
echo $ECHO_N "(cached) $ECHO_C" >&6
|
||||||
|
else
|
||||||
|
ac_cv_header_linux_mISDNdsp_h=$ac_header_preproc
|
||||||
|
fi
|
||||||
|
{ echo "$as_me:$LINENO: result: $ac_cv_header_linux_mISDNdsp_h" >&5
|
||||||
|
echo "${ECHO_T}$ac_cv_header_linux_mISDNdsp_h" >&6; }
|
||||||
|
|
||||||
|
fi
|
||||||
|
if test $ac_cv_header_linux_mISDNdsp_h = yes; then
|
||||||
|
|
||||||
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
#define MISDN_1_2 1
|
||||||
|
_ACEOF
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
@@ -34818,13 +34934,13 @@ LN!$LN$ac_delim
|
|||||||
DOT!$DOT$ac_delim
|
DOT!$DOT$ac_delim
|
||||||
STRIP!$STRIP$ac_delim
|
STRIP!$STRIP$ac_delim
|
||||||
WGET!$WGET$ac_delim
|
WGET!$WGET$ac_delim
|
||||||
RUBBER!$RUBBER$ac_delim
|
|
||||||
FETCH!$FETCH$ac_delim
|
FETCH!$FETCH$ac_delim
|
||||||
DOWNLOAD!$DOWNLOAD$ac_delim
|
DOWNLOAD!$DOWNLOAD$ac_delim
|
||||||
acx_pthread_config!$acx_pthread_config$ac_delim
|
acx_pthread_config!$acx_pthread_config$ac_delim
|
||||||
PTHREAD_CC!$PTHREAD_CC$ac_delim
|
PTHREAD_CC!$PTHREAD_CC$ac_delim
|
||||||
PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
|
PTHREAD_LIBS!$PTHREAD_LIBS$ac_delim
|
||||||
PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim
|
PTHREAD_CFLAGS!$PTHREAD_CFLAGS$ac_delim
|
||||||
|
AST_DEVMODE!$AST_DEVMODE$ac_delim
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||||
@@ -34866,7 +34982,6 @@ _ACEOF
|
|||||||
ac_delim='%!_!# '
|
ac_delim='%!_!# '
|
||||||
for ac_last_try in false false false false false :; do
|
for ac_last_try in false false false false false :; do
|
||||||
cat >conf$$subs.sed <<_ACEOF
|
cat >conf$$subs.sed <<_ACEOF
|
||||||
AST_DEVMODE!$AST_DEVMODE$ac_delim
|
|
||||||
ALSA_LIB!$ALSA_LIB$ac_delim
|
ALSA_LIB!$ALSA_LIB$ac_delim
|
||||||
ALSA_INCLUDE!$ALSA_INCLUDE$ac_delim
|
ALSA_INCLUDE!$ALSA_INCLUDE$ac_delim
|
||||||
ALSA_DIR!$ALSA_DIR$ac_delim
|
ALSA_DIR!$ALSA_DIR$ac_delim
|
||||||
@@ -34963,6 +35078,7 @@ QT_LIB!$QT_LIB$ac_delim
|
|||||||
QT_INCLUDE!$QT_INCLUDE$ac_delim
|
QT_INCLUDE!$QT_INCLUDE$ac_delim
|
||||||
QT_DIR!$QT_DIR$ac_delim
|
QT_DIR!$QT_DIR$ac_delim
|
||||||
PBX_QT!$PBX_QT$ac_delim
|
PBX_QT!$PBX_QT$ac_delim
|
||||||
|
RADIUS_LIB!$RADIUS_LIB$ac_delim
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
|
||||||
@@ -35004,7 +35120,6 @@ _ACEOF
|
|||||||
ac_delim='%!_!# '
|
ac_delim='%!_!# '
|
||||||
for ac_last_try in false false false false false :; do
|
for ac_last_try in false false false false false :; do
|
||||||
cat >conf$$subs.sed <<_ACEOF
|
cat >conf$$subs.sed <<_ACEOF
|
||||||
RADIUS_LIB!$RADIUS_LIB$ac_delim
|
|
||||||
RADIUS_INCLUDE!$RADIUS_INCLUDE$ac_delim
|
RADIUS_INCLUDE!$RADIUS_INCLUDE$ac_delim
|
||||||
RADIUS_DIR!$RADIUS_DIR$ac_delim
|
RADIUS_DIR!$RADIUS_DIR$ac_delim
|
||||||
PBX_RADIUS!$PBX_RADIUS$ac_delim
|
PBX_RADIUS!$PBX_RADIUS$ac_delim
|
||||||
@@ -35094,7 +35209,7 @@ CURL_CONFIG!$CURL_CONFIG$ac_delim
|
|||||||
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
LTLIBOBJS!$LTLIBOBJS$ac_delim
|
||||||
_ACEOF
|
_ACEOF
|
||||||
|
|
||||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
|
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 87; then
|
||||||
break
|
break
|
||||||
elif $ac_last_try; then
|
elif $ac_last_try; then
|
||||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||||
|
@@ -642,6 +642,7 @@ AST_EXT_LIB_CHECK([MISDN], [mISDN], [mISDN_open], [mISDNuser/mISDNlib.h])
|
|||||||
if test "${PBX_MISDN}" = 1; then
|
if test "${PBX_MISDN}" = 1; then
|
||||||
AST_EXT_LIB_CHECK([ISDNNET], [isdnnet], [init_manager], [mISDNuser/isdn_net.h], [-lmISDN -lpthread])
|
AST_EXT_LIB_CHECK([ISDNNET], [isdnnet], [init_manager], [mISDNuser/isdn_net.h], [-lmISDN -lpthread])
|
||||||
AST_EXT_LIB_CHECK([SUPPSERV], [suppserv], [encodeFac], [mISDNuser/suppserv.h])
|
AST_EXT_LIB_CHECK([SUPPSERV], [suppserv], [encodeFac], [mISDNuser/suppserv.h])
|
||||||
|
AC_CHECK_HEADER([linux/mISDNdsp.h], [AC_DEFINE_UNQUOTED([MISDN_1_2], 1, [Build chan_misdn for mISDN 1.2 or later.])])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AST_EXT_LIB_CHECK([NBS], [nbs], [nbs_connect], [nbs.h])
|
AST_EXT_LIB_CHECK([NBS], [nbs], [nbs_connect], [nbs.h])
|
||||||
|
@@ -499,6 +499,9 @@
|
|||||||
slash. */
|
slash. */
|
||||||
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
|
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
|
||||||
|
|
||||||
|
/* Build chan_misdn for mISDN 1.2 or later. */
|
||||||
|
#undef MISDN_1_2
|
||||||
|
|
||||||
/* Define to the address where bug reports for this package should be sent. */
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
#undef PACKAGE_BUGREPORT
|
#undef PACKAGE_BUGREPORT
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user