diff options
-rw-r--r-- | CHANGES | 7 | ||||
-rw-r--r-- | configs/samples/codecs.conf.sample | 9 | ||||
-rwxr-xr-x | configure | 211 | ||||
-rw-r--r-- | configure.ac | 20 | ||||
-rw-r--r-- | include/asterisk/channel.h | 54 | ||||
-rw-r--r-- | include/asterisk/config.h | 1 | ||||
-rw-r--r-- | include/asterisk/devicestate.h | 36 | ||||
-rw-r--r-- | include/asterisk/logger.h | 8 | ||||
-rw-r--r-- | include/asterisk/options.h | 13 | ||||
-rw-r--r-- | main/Makefile | 2 | ||||
-rw-r--r-- | main/asterisk.c | 1 | ||||
-rw-r--r-- | main/asterisk.exports.in | 9 | ||||
-rw-r--r-- | main/channel.c | 50 | ||||
-rw-r--r-- | main/cli.c | 5 | ||||
-rw-r--r-- | main/config.c | 5 | ||||
-rw-r--r-- | main/devicestate.c | 23 | ||||
-rw-r--r-- | main/named_acl.c | 22 | ||||
-rw-r--r-- | main/plc.c | 9 | ||||
-rw-r--r-- | main/sounds.c | 32 | ||||
-rw-r--r-- | tests/test_amihooks.c | 3 | ||||
-rw-r--r-- | utils/extconf.c | 7 |
21 files changed, 278 insertions, 249 deletions
@@ -101,6 +101,13 @@ Core: --- Functionality changes from Asterisk 15.3.0 to Asterisk 15.4.0 ------------ ------------------------------------------------------------------------------ +Core +------------------ + * A new configuration option "genericplc_on_equal_codecs" was added to the + "plc" section of codecs.conf to allow generic packet loss concealment even + if no transcoding was originally needed. Transcoding via SLIN is forced + in this case. + res_pjproject ------------------ * Added the "cache_pools" option to pjproject.conf. Disabling the option diff --git a/configs/samples/codecs.conf.sample b/configs/samples/codecs.conf.sample index 8457fb5ac..8c9ce6631 100644 --- a/configs/samples/codecs.conf.sample +++ b/configs/samples/codecs.conf.sample @@ -64,8 +64,15 @@ experimental_rtcp_feedback => false [plc] ; for all codecs which do not support native PLC ; this determines whether to perform generic PLC -; there is a minor performance penalty for this +; there is a minor performance penalty for this. +; By default plc is applied only when the 2 codecs +; in a channel are different. genericplc => true +; Apply generic plc to channels even if the 2 codecs +; are the same. This forces transcoding via slin so +; the performance impact should be considered. +; Ignored if genericplc is not also enabled. +genericplc_on_equal_codecs => false ; Generate custom formats for formats requiring attributes. ; After defining the custom format, the name used in defining @@ -6820,8 +6820,10 @@ $as_echo "no" >&6; } fi -# Extract the first word of "python", so it can be a program name with args. -set dummy python; ac_word=$2 +for ac_prog in python2 python2.7 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PYTHON+:} false; then : @@ -6847,7 +6849,6 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_path_PYTHON" && ac_cv_path_PYTHON=":" ;; esac fi @@ -6861,6 +6862,10 @@ $as_echo "no" >&6; } fi + test -n "$PYTHON" && break +done +test -n "$PYTHON" || PYTHON=":" + # Extract the first word of "find", so it can be a program name with args. set dummy find; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@ -25041,7 +25046,7 @@ if ${ac_cv_lib_pjsip_pjsip_dlg_create_uas_and_inc_lock+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpjsip ${pbxlibdir} $PJPROJECT_LIBS $LIBS" +LIBS="-lpjsip ${pbxlibdir} $PJPROJECT_LIB $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -25082,7 +25087,7 @@ fi # now check for the header. if test "${AST_PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_FOUND}" = "yes"; then - PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_LIB="${pbxlibdir} -lpjsip $PJPROJECT_LIBS" + PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_LIB="${pbxlibdir} -lpjsip $PJPROJECT_LIB" # if --with-PJSIP_DLG_CREATE_UAS_AND_INC_LOCK=DIR has been specified, use it. if test "x${PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_DIR}" != "x"; then PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_INCLUDE="-I${PJSIP_DLG_CREATE_UAS_AND_INC_LOCK_DIR}/include" @@ -25473,7 +25478,7 @@ if ${ac_cv_lib_pjsip_pjsip_endpt_set_ext_resolver+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS -LIBS="-lpjsip ${pbxlibdir} $PJPROJECT_LIBS $LIBS" +LIBS="-lpjsip ${pbxlibdir} $PJPROJECT_LIB $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -25514,7 +25519,7 @@ fi # now check for the header. if test "${AST_PJSIP_EXTERNAL_RESOLVER_FOUND}" = "yes"; then - PJSIP_EXTERNAL_RESOLVER_LIB="${pbxlibdir} -lpjsip $PJPROJECT_LIBS" + PJSIP_EXTERNAL_RESOLVER_LIB="${pbxlibdir} -lpjsip $PJPROJECT_LIB" # if --with-PJSIP_EXTERNAL_RESOLVER=DIR has been specified, use it. if test "x${PJSIP_EXTERNAL_RESOLVER_DIR}" != "x"; then PJSIP_EXTERNAL_RESOLVER_INCLUDE="-I${PJSIP_EXTERNAL_RESOLVER_DIR}/include" @@ -26093,12 +26098,188 @@ if test -n "$PYTHONDEV_CFLAGS"; then pkg_cv_PYTHONDEV_CFLAGS="$PYTHONDEV_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python\""; } >&5 - ($PKG_CONFIG --exists --print-errors "python") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python >= 3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PYTHONDEV_CFLAGS=`$PKG_CONFIG --cflags "python >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PYTHONDEV_LIBS"; then + pkg_cv_PYTHONDEV_LIBS="$PYTHONDEV_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python >= 3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python >= 3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PYTHONDEV_LIBS=`$PKG_CONFIG --libs "python >= 3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "python >= 3" 2>&1` + else + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "python >= 3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PYTHONDEV_PKG_ERRORS" >&5 + + + PBX_PYTHONDEV=0 + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + PBX_PYTHONDEV=0 + + +else + PYTHONDEV_CFLAGS=$pkg_cv_PYTHONDEV_CFLAGS + PYTHONDEV_LIBS=$pkg_cv_PYTHONDEV_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + PBX_PYTHONDEV=1 + PYTHONDEV_INCLUDE="$PYTHONDEV_CFLAGS" + PYTHONDEV_LIB="$PYTHONDEV_LIBS" + +$as_echo "#define HAVE_PYTHONDEV 1" >>confdefs.h + + +fi + fi + + + if test "x${PBX_PYTHONDEV}" != "x1" -a "${USE_PYTHONDEV}" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYTHONDEV" >&5 +$as_echo_n "checking for PYTHONDEV... " >&6; } + +if test -n "$PYTHONDEV_CFLAGS"; then + pkg_cv_PYTHONDEV_CFLAGS="$PYTHONDEV_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PYTHONDEV_CFLAGS=`$PKG_CONFIG --cflags "python3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi +if test -n "$PYTHONDEV_LIBS"; then + pkg_cv_PYTHONDEV_LIBS="$PYTHONDEV_LIBS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python3\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python3") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PYTHONDEV_LIBS=`$PKG_CONFIG --libs "python3" 2>/dev/null` + test "x$?" != "x0" && pkg_failed=yes +else + pkg_failed=yes +fi + else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "python3" 2>&1` + else + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "python3" 2>&1` + fi + # Put the nasty error message in config.log where it belongs + echo "$PYTHONDEV_PKG_ERRORS" >&5 + + + PBX_PYTHONDEV=0 + + +elif test $pkg_failed = untried; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + PBX_PYTHONDEV=0 + + +else + PYTHONDEV_CFLAGS=$pkg_cv_PYTHONDEV_CFLAGS + PYTHONDEV_LIBS=$pkg_cv_PYTHONDEV_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + PBX_PYTHONDEV=1 + PYTHONDEV_INCLUDE="$PYTHONDEV_CFLAGS" + PYTHONDEV_LIB="$PYTHONDEV_LIBS" + +$as_echo "#define HAVE_PYTHONDEV 1" >>confdefs.h + + +fi + fi + + + if test "x${PBX_PYTHONDEV}" != "x1" -a "${USE_PYTHONDEV}" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PYTHONDEV" >&5 +$as_echo_n "checking for PYTHONDEV... " >&6; } + +if test -n "$PYTHONDEV_CFLAGS"; then + pkg_cv_PYTHONDEV_CFLAGS="$PYTHONDEV_CFLAGS" + elif test -n "$PKG_CONFIG"; then + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python-3.6\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python-3.6") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_PYTHONDEV_CFLAGS=`$PKG_CONFIG --cflags "python" 2>/dev/null` + pkg_cv_PYTHONDEV_CFLAGS=`$PKG_CONFIG --cflags "python-3.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -26110,12 +26291,12 @@ if test -n "$PYTHONDEV_LIBS"; then pkg_cv_PYTHONDEV_LIBS="$PYTHONDEV_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python\""; } >&5 - ($PKG_CONFIG --exists --print-errors "python") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"python-3.6\""; } >&5 + ($PKG_CONFIG --exists --print-errors "python-3.6") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_PYTHONDEV_LIBS=`$PKG_CONFIG --libs "python" 2>/dev/null` + pkg_cv_PYTHONDEV_LIBS=`$PKG_CONFIG --libs "python-3.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -26136,9 +26317,9 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "python" 2>&1` + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "python-3.6" 2>&1` else - PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "python" 2>&1` + PYTHONDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "python-3.6" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$PYTHONDEV_PKG_ERRORS" >&5 diff --git a/configure.ac b/configure.ac index 787c50708..de34c4206 100644 --- a/configure.ac +++ b/configure.ac @@ -261,7 +261,7 @@ AC_PATH_PROG([CAT], [cat], :) AC_PATH_PROG([CUT], [cut], :) AC_PATH_PROG([FLEX], [flex], :) AC_PATH_PROG([GREP], [grep], :) -AC_PATH_PROG([PYTHON], [python], :) +AC_PATH_PROGS([PYTHON], [python2 python2.7], :) AC_PATH_PROG([FIND], [find], :) AC_PATH_PROG([COMPRESS], [compress], :) AC_PATH_PROG([BASENAME], [basename], :) @@ -645,12 +645,12 @@ AC_SUBST(EDITLINE_LIB) # * -luuid on Linux # * -le2fs-uuid on OpenBSD # * in libsystem on OS X -AST_EXT_LIB_CHECK([LIBUUID], [uuid], [uuid_generate_random], [uuid/uuid.h], []) +AST_EXT_LIB_CHECK([LIBUUID], [uuid], [uuid_generate_random], [uuid/uuid.h]) if test "x$LIBUUID_LIB" != "x" ; then UUID_INCLUDE="$LIBUUID_INCLUDE" UUID_LIB="$LIBUUID_LIB" else - AST_EXT_LIB_CHECK([E2FSUUID], [e2fs-uuid], [uuid_generate_random], [uuid/uuid.h], []) + AST_EXT_LIB_CHECK([E2FSUUID], [e2fs-uuid], [uuid_generate_random], [uuid/uuid.h]) if test "x$E2FSUUID_LIB" != "x" ; then UUID_INCLUDE="$E2FSUUID_INCLUDE" UUID_LIB="$E2FSUUID_LIB" @@ -675,7 +675,7 @@ if test "${PBX_JANSSON}" != 1; then fi # See if clock_gettime is in librt -AST_EXT_LIB_CHECK([RT], [rt], [clock_gettime]) +AST_EXT_LIB_CHECK([RT], [rt], [clock_gettime], []) AST_EXT_TOOL_CHECK([LIBXML2], [xml2-config], , , [#include <libxml/tree.h> @@ -2193,10 +2193,10 @@ AST_EXT_LIB_CHECK([NEWT], [newt], [newtBell], [newt.h]) # script bug which does not find the ldns library. The bug is fixed in # v1.4.22 but that version is not easily detectable. # -AST_EXT_LIB_CHECK([UNBOUND], [unbound], [ub_ctx_delete], [unbound.h], []) +AST_EXT_LIB_CHECK([UNBOUND], [unbound], [ub_ctx_delete], [unbound.h]) AST_C_DECLARE_CHECK([UNBOUND_CONST_PARAMS], [UNBOUND_VERSION_MAJOR], [unbound.h]) -AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h], []) +AST_EXT_LIB_CHECK([UNIXODBC], [odbc], [SQLConnect], [sql.h]) AST_EXT_LIB_CHECK([OGG], [ogg], [ogg_stream_init], [ogg/ogg.h]) @@ -2277,7 +2277,7 @@ if test "$USE_PJPROJECT" != "no" ; then if test "$PJPROJECT_BUNDLED" = "no" ; then AST_PKG_CONFIG_CHECK([PJPROJECT], [libpjproject]) - AST_EXT_LIB_CHECK([PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], [pjsip], [pjsip_dlg_create_uas_and_inc_lock], [pjsip.h], [$PJPROJECT_LIBS], [$PJPROJECT_CFLAGS]) + AST_EXT_LIB_CHECK([PJSIP_DLG_CREATE_UAS_AND_INC_LOCK], [pjsip], [pjsip_dlg_create_uas_and_inc_lock], [pjsip.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) AST_EXT_LIB_CHECK([PJ_TRANSACTION_GRP_LOCK], [pjsip], [pjsip_tsx_create_uac2], [pjsip.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) saved_cppflags="${CPPFLAGS}" @@ -2290,7 +2290,7 @@ if test "$USE_PJPROJECT" != "no" ; then AST_EXT_LIB_CHECK([PJSIP_GET_DEST_INFO], [pjsip], [pjsip_get_dest_info], [pjsip.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) AST_EXT_LIB_CHECK([PJ_SSL_CERT_LOAD_FROM_FILES2], [pj], [pj_ssl_cert_load_from_files2], [pjlib.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) - AST_EXT_LIB_CHECK([PJSIP_EXTERNAL_RESOLVER], [pjsip], [pjsip_endpt_set_ext_resolver], [pjsip.h], [$PJPROJECT_LIBS], [$PJPROJECT_CFLAGS]) + AST_EXT_LIB_CHECK([PJSIP_EXTERNAL_RESOLVER], [pjsip], [pjsip_endpt_set_ext_resolver], [pjsip.h], [$PJPROJECT_LIB], [$PJPROJECT_CFLAGS]) saved_cppflags="${CPPFLAGS}" saved_libs="${LIBS}" @@ -2310,7 +2310,9 @@ fi AC_SUBST([PYTHONDEV_LIB]) AC_SUBST([PYTHONDEV_INCLUDE]) -AST_PKG_CONFIG_CHECK([PYTHONDEV], [python]) +AST_PKG_CONFIG_CHECK([PYTHONDEV], [python >= 3]) +AST_PKG_CONFIG_CHECK([PYTHONDEV], [python3]) +AST_PKG_CONFIG_CHECK([PYTHONDEV], [python-3.6]) AST_EXT_LIB_CHECK([POPT], [popt], [poptStrerror], [popt.h]) diff --git a/include/asterisk/channel.h b/include/asterisk/channel.h index 8cb03800e..16f9aa8ae 100644 --- a/include/asterisk/channel.h +++ b/include/asterisk/channel.h @@ -1144,22 +1144,6 @@ enum ama_flags { * take a channel argument. */ -/*! - * \brief Create a channel data store object - * \deprecated You should use the ast_datastore_alloc() generic function instead. - * \version 1.6.1 deprecated - */ -struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid) - __attribute__((deprecated)); - -/*! - * \brief Free a channel data store object - * \deprecated You should use the ast_datastore_free() generic function instead. - * \version 1.6.1 deprecated - */ -int ast_channel_datastore_free(struct ast_datastore *datastore) - __attribute__((deprecated)); - /*! \brief Inherit datastores from a parent to a child. */ int ast_channel_datastore_inherit(struct ast_channel *from, struct ast_channel *to); @@ -1710,21 +1694,6 @@ void ast_channel_softhangup_withcause_locked(struct ast_channel *chan, int cause /*! * \brief Compare a offset with the settings of when to hang a channel up - * \param chan channel on which to check for hang up - * \param offset offset in seconds from current time - * \return 1, 0, or -1 - * \details - * This function compares a offset from current time with the absolute time - * out on a channel (when to hang up). If the absolute time out on a channel - * is earlier than current time plus the offset, it returns 1, if the two - * time values are equal, it return 0, otherwise, it return -1. - * \sa ast_channel_cmpwhentohangup_tv() - * \version 1.6.1 deprecated function (only had seconds precision) - */ -int ast_channel_cmpwhentohangup(struct ast_channel *chan, time_t offset) __attribute__((deprecated)); - -/*! - * \brief Compare a offset with the settings of when to hang a channel up * \param chan channel on which to check for hangup * \param offset offset in seconds and microseconds from current time * \return 1, 0, or -1 @@ -1740,23 +1709,6 @@ int ast_channel_cmpwhentohangup_tv(struct ast_channel *chan, struct timeval offs * \brief Set when to hang a channel up * * \param chan channel on which to check for hang up - * \param offset offset in seconds relative to the current time of when to hang up - * - * \details - * This function sets the absolute time out on a channel (when to hang up). - * - * \pre chan is locked - * - * \return Nothing - * \sa ast_channel_setwhentohangup_tv() - * \version 1.6.1 deprecated function (only had seconds precision) - */ -void ast_channel_setwhentohangup(struct ast_channel *chan, time_t offset) __attribute__((deprecated)); - -/*! - * \brief Set when to hang a channel up - * - * \param chan channel on which to check for hang up * \param offset offset in seconds and useconds relative to the current time of when to hang up * * This function sets the absolute time out on a channel (when to hang up). @@ -2736,12 +2688,6 @@ int ast_namedgroups_intersect(struct ast_namedgroups *a, struct ast_namedgroups /*! \brief Print named call groups and named pickup groups */ char *ast_print_namedgroups(struct ast_str **buf, struct ast_namedgroups *groups); -/*! - * \brief Convert enum channelreloadreason to text string for manager event - * \param reason The reason for reload (manager, cli, start etc) - */ -const char *channelreloadreason2txt(enum channelreloadreason reason); - /*! \brief return an ast_variable list of channeltypes */ struct ast_variable *ast_channeltype_list(void); diff --git a/include/asterisk/config.h b/include/asterisk/config.h index c1b7dea8d..9908b905b 100644 --- a/include/asterisk/config.h +++ b/include/asterisk/config.h @@ -985,7 +985,6 @@ int ast_config_text_file_save2(const char *filename, const struct ast_config *cf * \return 0 on success or -1 on failure. */ int ast_config_text_file_save(const char *filename, const struct ast_config *cfg, const char *generator); -int config_text_file_save(const char *filename, const struct ast_config *cfg, const char *generator) __attribute__((deprecated)); struct ast_config *ast_config_internal_load(const char *configfile, struct ast_config *cfg, struct ast_flags flags, const char *suggested_incl_file, const char *who_asked); /*! diff --git a/include/asterisk/devicestate.h b/include/asterisk/devicestate.h index 4f9aa739b..5b2f04de4 100644 --- a/include/asterisk/devicestate.h +++ b/include/asterisk/devicestate.h @@ -86,7 +86,6 @@ enum ast_device_state ast_state_chan2dev(enum ast_channel_state chanstate); * * \param devstate Current device state */ -const char *devstate2str(enum ast_device_state devstate) attribute_pure __attribute__((deprecated)); const char *ast_devstate2str(enum ast_device_state devstate) attribute_pure; /*! @@ -167,41 +166,6 @@ int ast_devstate_changed(enum ast_device_state state, enum ast_devstate_cache ca int ast_devstate_changed_literal(enum ast_device_state state, enum ast_devstate_cache cachable, const char *device); /*! - * \brief Tells Asterisk the State for Device is changed. - * (Accept change notification, add it to change queue.) - * - * \param fmt device name like a dial string with format parameters - * - * Asterisk polls the new extension states and calls the registered - * callbacks for the changed extensions - * - * \retval 0 on success - * \retval -1 on failure - * - * \note This is deprecated in favor of ast_devstate_changed() - * \version 1.6.1 deprecated - */ -int ast_device_state_changed(const char *fmt, ...) - __attribute__((deprecated,format(printf, 1, 2))); - -/*! - * \brief Tells Asterisk the State for Device is changed - * - * \param device device name like a dial string - * - * Asterisk polls the new extension states and calls the registered - * callbacks for the changed extensions - * - * \retval 0 on success - * \retval -1 on failure - * - * \note This is deprecated in favor of ast_devstate_changed_literal() - * \version 1.6.1 deprecated - */ -int ast_device_state_changed_literal(const char *device) - __attribute__((deprecated)); - -/*! * \brief Add device state provider * * \param label to use in hint, like label:object diff --git a/include/asterisk/logger.h b/include/asterisk/logger.h index df039313c..56dd85985 100644 --- a/include/asterisk/logger.h +++ b/include/asterisk/logger.h @@ -307,14 +307,6 @@ void ast_console_toggle_loglevel(int fd, int level, int state); unsigned int ast_debug_get_by_module(const char *module); /*! - * \brief Get the verbose level for a module - * \param module the name of module - * \return the verbose level - * \version 11.0.0 deprecated - */ -unsigned int ast_verbose_get_by_module(const char *module) __attribute__((deprecated)); - -/*! * \brief Register a new logger level * \param name The name of the level to be registered * \retval -1 if an error occurs diff --git a/include/asterisk/options.h b/include/asterisk/options.h index 78f596a88..6c4e55295 100644 --- a/include/asterisk/options.h +++ b/include/asterisk/options.h @@ -74,8 +74,6 @@ enum ast_option_flags { AST_OPT_FLAG_TRANSMIT_SILENCE = (1 << 17), /*! Suppress some warnings */ AST_OPT_FLAG_DONT_WARN = (1 << 18), - /*! End CDRs before the 'h' extension */ - AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19), /*! Reference Debugging */ AST_OPT_FLAG_REF_DEBUG = (1 << 20), /*! Always fork, even if verbose or debug settings are non-zero */ @@ -84,12 +82,8 @@ enum ast_option_flags { AST_OPT_FLAG_MUTE = (1 << 22), /*! There is a per-module debug setting */ AST_OPT_FLAG_DEBUG_MODULE = (1 << 23), - /*! There is a per-module verbose setting */ - AST_OPT_FLAG_VERBOSE_MODULE = (1 << 24), /*! Terminal colors should be adjusted for a light-colored background */ AST_OPT_FLAG_LIGHT_BACKGROUND = (1 << 25), - /*! Count Initiated seconds in CDR's */ - AST_OPT_FLAG_INITIATED_SECONDS = (1 << 26), /*! Force black background */ AST_OPT_FLAG_FORCE_BLACK_BACKGROUND = (1 << 27), /*! Hide remote console connect messages on console */ @@ -98,6 +92,8 @@ enum ast_option_flags { AST_OPT_FLAG_LOCK_CONFIG_DIR = (1 << 29), /*! Generic PLC */ AST_OPT_FLAG_GENERIC_PLC = (1 << 30), + /*! Generic PLC onm equal codecs */ + AST_OPT_FLAG_GENERIC_PLC_ON_EQUAL_CODECS = (1 << 31), }; /*! These are the options that set by default when Asterisk starts */ @@ -123,17 +119,16 @@ enum ast_option_flags { #define ast_opt_reconnect ast_test_flag(&ast_options, AST_OPT_FLAG_RECONNECT) #define ast_opt_transmit_silence ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE) #define ast_opt_dont_warn ast_test_flag(&ast_options, AST_OPT_FLAG_DONT_WARN) -#define ast_opt_end_cdr_before_h_exten ast_test_flag(&ast_options, AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN) #define ast_opt_always_fork ast_test_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK) #define ast_opt_mute ast_test_flag(&ast_options, AST_OPT_FLAG_MUTE) #define ast_opt_dbg_module ast_test_flag(&ast_options, AST_OPT_FLAG_DEBUG_MODULE) -#define ast_opt_verb_module ast_test_flag(&ast_options, AST_OPT_FLAG_VERBOSE_MODULE) #define ast_opt_light_background ast_test_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND) #define ast_opt_force_black_background ast_test_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND) #define ast_opt_hide_connect ast_test_flag(&ast_options, AST_OPT_FLAG_HIDE_CONSOLE_CONNECT) #define ast_opt_lock_confdir ast_test_flag(&ast_options, AST_OPT_FLAG_LOCK_CONFIG_DIR) #define ast_opt_generic_plc ast_test_flag(&ast_options, AST_OPT_FLAG_GENERIC_PLC) #define ast_opt_ref_debug ast_test_flag(&ast_options, AST_OPT_FLAG_REF_DEBUG) +#define ast_opt_generic_plc_on_equal_codecs ast_test_flag(&ast_options, AST_OPT_FLAG_GENERIC_PLC_ON_EQUAL_CODECS) /*! Maximum log level defined by PJPROJECT. */ #define MAX_PJ_LOG_MAX_LEVEL 6 @@ -199,8 +194,6 @@ extern struct timeval ast_lastreloadtime; extern pid_t ast_mainpid; extern char record_cache_dir[AST_CACHE_DIR_LEN]; -extern char dahdi_chan_name[AST_CHANNEL_NAME]; -extern int dahdi_chan_name_len; extern int ast_language_is_prefix; diff --git a/main/Makefile b/main/Makefile index cd5c08c02..fb985b9b8 100644 --- a/main/Makefile +++ b/main/Makefile @@ -294,7 +294,7 @@ ASTPJ_LIB:=libasteriskpj.dylib # /lib or /usr/lib $(ASTPJ_LIB): _ASTLDFLAGS+=-dynamiclib -install_name $(ASTLIBDIR)/$(ASTPJ_LIB) $(PJ_LDFLAGS) $(ASTPJ_LIB): _ASTCFLAGS+=-fPIC -DAST_MODULE=\"asteriskpj\" $(PJ_CFLAGS) -DAST_NOT_MODULE -$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIBS) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) +$(ASTPJ_LIB): LIBS+=$(PJPROJECT_LIB) $(OPENSSL_LIB) $(UUID_LIB) -lm -lpthread $(RT_LIB) $(ASTPJ_LIB): SOLINK=$(DYLINK) # Special rules for building a shared library (not a dynamically loadable module) diff --git a/main/asterisk.c b/main/asterisk.c index 7a4424d22..36b1b54a1 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -599,6 +599,7 @@ static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_c ast_cli(a->fd, " Transcode via SLIN: %s\n", ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSCODE_VIA_SLIN) ? "Enabled" : "Disabled"); ast_cli(a->fd, " Transmit silence during rec: %s\n", ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE) ? "Enabled" : "Disabled"); ast_cli(a->fd, " Generic PLC: %s\n", ast_test_flag(&ast_options, AST_OPT_FLAG_GENERIC_PLC) ? "Enabled" : "Disabled"); + ast_cli(a->fd, " Generic PLC on equal codecs: %s\n", ast_test_flag(&ast_options, AST_OPT_FLAG_GENERIC_PLC_ON_EQUAL_CODECS) ? "Enabled" : "Disabled"); ast_cli(a->fd, " Min DTMF duration:: %u\n", option_dtmfminduration); #if !defined(LOW_MEMORY) ast_cli(a->fd, " Cache media frames: %s\n", ast_opt_cache_media_frames ? "Enabled" : "Disabled"); diff --git a/main/asterisk.exports.in b/main/asterisk.exports.in index f997587c9..f3549e6ca 100644 --- a/main/asterisk.exports.in +++ b/main/asterisk.exports.in @@ -13,9 +13,6 @@ LINKER_SYMBOL_PREFIX__ao2_*; LINKER_SYMBOL_PREFIXoption_debug; LINKER_SYMBOL_PREFIXoption_verbose; - LINKER_SYMBOL_PREFIXdahdi_chan_name; - LINKER_SYMBOL_PREFIXdahdi_chan_name_len; - LINKER_SYMBOL_PREFIXdahdi_chan_mode; LINKER_SYMBOL_PREFIXcallerid_*; LINKER_SYMBOL_PREFIXcid_di; LINKER_SYMBOL_PREFIXcid_dr; @@ -25,13 +22,8 @@ LINKER_SYMBOL_PREFIXio_*; LINKER_SYMBOL_PREFIXjb_*; LINKER_SYMBOL_PREFIXaes_*; - LINKER_SYMBOL_PREFIXconfig_*; LINKER_SYMBOL_PREFIXtdd_*; LINKER_SYMBOL_PREFIXterm_*; - LINKER_SYMBOL_PREFIXchannelreloadreason2txt; - LINKER_SYMBOL_PREFIXdevstate2str; - LINKER_SYMBOL_PREFIX__manager_event; - LINKER_SYMBOL_PREFIXdialed_interface_info; LINKER_SYMBOL_PREFIXstrsep; LINKER_SYMBOL_PREFIXsetenv; LINKER_SYMBOL_PREFIXstasis_*; @@ -49,6 +41,7 @@ LINKER_SYMBOL_PREFIXres_srtp; LINKER_SYMBOL_PREFIXres_srtp_policy; LINKER_SYMBOL_PREFIXsecure_call_info; + /* __progname and environ are needed by FreeBSD for bundled pjproject. */ LINKER_SYMBOL_PREFIX__progname; LINKER_SYMBOL_PREFIXenviron; /* diff --git a/main/channel.c b/main/channel.c index c7847cbd4..869b29f5e 100644 --- a/main/channel.c +++ b/main/channel.c @@ -520,12 +520,6 @@ void ast_channel_setwhentohangup_tv(struct ast_channel *chan, struct timeval off return; } -void ast_channel_setwhentohangup(struct ast_channel *chan, time_t offset) -{ - struct timeval when = { offset, }; - ast_channel_setwhentohangup_tv(chan, when); -} - /*! \brief Compare a offset with when to hangup channel */ int ast_channel_cmpwhentohangup_tv(struct ast_channel *chan, struct timeval offset) { @@ -542,12 +536,6 @@ int ast_channel_cmpwhentohangup_tv(struct ast_channel *chan, struct timeval offs return ast_tvdiff_ms(whentohangup, *ast_channel_whentohangup(chan)); } -int ast_channel_cmpwhentohangup(struct ast_channel *chan, time_t offset) -{ - struct timeval when = { offset, }; - return ast_channel_cmpwhentohangup_tv(chan, when); -} - /*! \brief Register a new telephony channel in Asterisk */ int ast_channel_register(const struct ast_channel_tech *tech) { @@ -2389,16 +2377,6 @@ static void ast_dummy_channel_destructor(void *obj) ast_channel_internal_cleanup(chan); } -struct ast_datastore *ast_channel_datastore_alloc(const struct ast_datastore_info *info, const char *uid) -{ - return ast_datastore_alloc(info, uid); -} - -int ast_channel_datastore_free(struct ast_datastore *datastore) -{ - return ast_datastore_free(datastore); -} - int ast_channel_datastore_inherit(struct ast_channel *from, struct ast_channel *to) { struct ast_datastore *datastore = NULL, *datastore2; @@ -6485,11 +6463,15 @@ static int ast_channel_make_compatible_helper(struct ast_channel *from, struct a * to use SLINEAR between channels, but only if there is * no direct conversion available. If generic PLC is * desired, then transcoding via SLINEAR is a requirement + * even if the formats are the same. */ - if (ast_format_cmp(best_dst_fmt, best_src_fmt) == AST_FORMAT_CMP_NOT_EQUAL - && (ast_opt_generic_plc || ast_opt_transcode_via_slin)) { + if (ast_opt_generic_plc_on_equal_codecs + || (ast_format_cmp(best_dst_fmt, best_src_fmt) == AST_FORMAT_CMP_NOT_EQUAL + && (ast_opt_generic_plc || ast_opt_transcode_via_slin))) { + int use_slin = (ast_format_cache_is_slinear(best_src_fmt) - || ast_format_cache_is_slinear(best_dst_fmt)) ? 1 : 0; + || ast_format_cache_is_slinear(best_dst_fmt)) + ? 1 : ast_opt_generic_plc_on_equal_codecs; if (use_slin || ast_translate_path_steps(best_dst_fmt, best_src_fmt) != 1) { int best_sample_rate = (ast_format_get_sample_rate(best_src_fmt) > ast_format_get_sample_rate(best_dst_fmt)) ? @@ -8009,24 +7991,6 @@ void ast_channel_stop_silence_generator(struct ast_channel *chan, struct ast_sil } -/*! \ brief Convert channel reloadreason (ENUM) to text string for manager event */ -const char *channelreloadreason2txt(enum channelreloadreason reason) -{ - switch (reason) { - case CHANNEL_MODULE_LOAD: - return "LOAD (Channel module load)"; - - case CHANNEL_MODULE_RELOAD: - return "RELOAD (Channel module reload)"; - - case CHANNEL_CLI_RELOAD: - return "CLIRELOAD (Channel module reload by CLI command)"; - - default: - return "MANAGERRELOAD (Channel module reload by manager)"; - } -}; - /* * Wrappers for various ast_say_*() functions that call the full version * of the same functions. diff --git a/main/cli.c b/main/cli.c index e46d3427c..5730be17b 100644 --- a/main/cli.c +++ b/main/cli.c @@ -148,11 +148,6 @@ unsigned int ast_debug_get_by_module(const char *module) return res; } -unsigned int ast_verbose_get_by_module(const char *module) -{ - return 0; -} - /*! \internal * \brief Check if the user with 'uid' and 'gid' is allow to execute 'command', * if command starts with '_' then not check permissions, just permit diff --git a/main/config.c b/main/config.c index 5adcb2386..f7f0d7be1 100644 --- a/main/config.c +++ b/main/config.c @@ -2502,11 +2502,6 @@ static void insert_leading_blank_lines(FILE *fp, struct inclfile *fi, struct ast fi->lineno = lineno + 1; /* Advance the file lineno */ } -int config_text_file_save(const char *configfile, const struct ast_config *cfg, const char *generator) -{ - return ast_config_text_file_save2(configfile, cfg, generator, CONFIG_SAVE_FLAG_PRESERVE_EFFECTIVE_CONTEXT); -} - int ast_config_text_file_save(const char *configfile, const struct ast_config *cfg, const char *generator) { return ast_config_text_file_save2(configfile, cfg, generator, CONFIG_SAVE_FLAG_PRESERVE_EFFECTIVE_CONTEXT); diff --git a/main/devicestate.c b/main/devicestate.c index 5df34497a..637c05b59 100644 --- a/main/devicestate.c +++ b/main/devicestate.c @@ -239,12 +239,6 @@ const char *ast_devstate2str(enum ast_device_state devstate) return devstatestring[devstate][0]; } -/* Deprecated interface (not prefixed with ast_) */ -const char *devstate2str(enum ast_device_state devstate) -{ - return devstatestring[devstate][0]; -} - enum ast_device_state ast_state_chan2dev(enum ast_channel_state chanstate) { int i; @@ -513,11 +507,6 @@ int ast_devstate_changed_literal(enum ast_device_state state, enum ast_devstate_ return 0; } -int ast_device_state_changed_literal(const char *dev) -{ - return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, dev); -} - int ast_devstate_changed(enum ast_device_state state, enum ast_devstate_cache cachable, const char *fmt, ...) { char buf[AST_MAX_EXTENSION]; @@ -530,18 +519,6 @@ int ast_devstate_changed(enum ast_device_state state, enum ast_devstate_cache ca return ast_devstate_changed_literal(state, cachable, buf); } -int ast_device_state_changed(const char *fmt, ...) -{ - char buf[AST_MAX_EXTENSION]; - va_list ap; - - va_start(ap, fmt); - vsnprintf(buf, sizeof(buf), fmt, ap); - va_end(ap); - - return ast_devstate_changed_literal(AST_DEVICE_UNKNOWN, AST_DEVSTATE_CACHABLE, buf); -} - /*! \brief Go through the dev state change queue and update changes in the dev state thread */ static void *do_devstate_changes(void *data) { diff --git a/main/named_acl.c b/main/named_acl.c index 4f2069a75..c4628216f 100644 --- a/main/named_acl.c +++ b/main/named_acl.c @@ -475,12 +475,10 @@ static void cli_display_named_acl_list(int fd) /* \brief ACL command show <name> */ static char *handle_show_named_acl_cmd(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { - RAII_VAR(struct named_acl_config *, cfg, ao2_global_obj_ref(globals), ao2_cleanup); + struct named_acl_config *cfg; int length; - int which; struct ao2_iterator i; struct named_acl *named_acl; - char *match = NULL; switch (cmd) { case CLI_INIT: @@ -490,23 +488,29 @@ static char *handle_show_named_acl_cmd(struct ast_cli_entry *e, int cmd, struct " Shows a list of named ACLs or lists all entries in a given named ACL.\n"; return NULL; case CLI_GENERATE: + if (a->pos != 2) { + return NULL; + } + + cfg = ao2_global_obj_ref(globals); if (!cfg) { return NULL; } length = strlen(a->word); - which = 0; i = ao2_iterator_init(cfg->named_acl_list, 0); while ((named_acl = ao2_iterator_next(&i))) { - if (!strncasecmp(a->word, named_acl->name, length) && ++which > a->n) { - match = ast_strdup(named_acl->name); - ao2_ref(named_acl, -1); - break; + if (!strncasecmp(a->word, named_acl->name, length)) { + if (ast_cli_completion_add(ast_strdup(named_acl->name))) { + ao2_ref(named_acl, -1); + break; + } } ao2_ref(named_acl, -1); } ao2_iterator_destroy(&i); - return match; + ao2_ref(cfg, -1); + return NULL; } if (a->argc == 2) { diff --git a/main/plc.c b/main/plc.c index 847ce65b0..369d285a5 100644 --- a/main/plc.c +++ b/main/plc.c @@ -262,10 +262,19 @@ static int reload_module(void) for (var = ast_variable_browse(cfg, "plc"); var; var = var->next) { if (!strcasecmp(var->name, "genericplc")) { ast_set2_flag(&ast_options, ast_true(var->value), AST_OPT_FLAG_GENERIC_PLC); + } else if (!strcasecmp(var->name, "genericplc_on_equal_codecs")) { + ast_set2_flag(&ast_options, ast_true(var->value), AST_OPT_FLAG_GENERIC_PLC_ON_EQUAL_CODECS); } } ast_config_destroy(cfg); + /* + * Force on_equal_codecs to false if generic_plc is false. + */ + if (!ast_opt_generic_plc) { + ast_set2_flag(&ast_options, 0, AST_OPT_FLAG_GENERIC_PLC_ON_EQUAL_CODECS); + } + return 0; } diff --git a/main/sounds.c b/main/sounds.c index 08e29275e..745b62805 100644 --- a/main/sounds.c +++ b/main/sounds.c @@ -219,6 +219,11 @@ static char *handle_cli_sounds_show(struct ast_cli_entry *e, int cmd, struct ast /*! \brief Show details about a sound available in the system */ static char *handle_cli_sound_show(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { + int length; + struct ao2_iterator it_sounds; + char *filename; + struct ao2_container *sound_files; + switch (cmd) { case CLI_INIT: e->command = "core show sound"; @@ -227,29 +232,30 @@ static char *handle_cli_sound_show(struct ast_cli_entry *e, int cmd, struct ast_ " Shows information about the specified sound.\n"; return NULL; case CLI_GENERATE: - { - int length = strlen(a->word); - int which = 0; - struct ao2_iterator it_sounds; - char *match = NULL; - char *filename; - RAII_VAR(struct ao2_container *, sound_files, ast_media_get_media(sounds_index), ao2_cleanup); + if (a->pos != 3) { + return NULL; + } + + sound_files = ast_media_get_media(sounds_index); if (!sound_files) { return NULL; } + length = strlen(a->word); it_sounds = ao2_iterator_init(sound_files, 0); while ((filename = ao2_iterator_next(&it_sounds))) { - if (!strncasecmp(a->word, filename, length) && ++which > a->n) { - match = ast_strdup(filename); - ao2_ref(filename, -1); - break; + if (!strncasecmp(a->word, filename, length)) { + if (ast_cli_completion_add(ast_strdup(filename))) { + ao2_ref(filename, -1); + break; + } } ao2_ref(filename, -1); } ao2_iterator_destroy(&it_sounds); - return match; - } + ao2_ref(sound_files, -1); + + return NULL; } if (a->argc == 4) { diff --git a/tests/test_amihooks.c b/tests/test_amihooks.c index 14cfbdd13..c465a3d86 100644 --- a/tests/test_amihooks.c +++ b/tests/test_amihooks.c @@ -90,7 +90,8 @@ AST_TEST_DEFINE(amihook_cli_send) return wait_for_hook(test) ? AST_TEST_FAIL : AST_TEST_PASS; } -/* The helper function is required by struct manager_custom_hook. See __manager_event for details */ +/* The helper function is required by struct manager_custom_hook. + * See __ast_manager_event_multichan for details */ static int amihook_helper(int category, const char *event, char *content) { ast_log(LOG_NOTICE, "AMI Event: \nCategory: %d Event: %s\n%s\n", category, event, content); diff --git a/utils/extconf.c b/utils/extconf.c index 5b3a95be9..6826f4f99 100644 --- a/utils/extconf.c +++ b/utils/extconf.c @@ -1570,20 +1570,14 @@ enum ast_option_flags { AST_OPT_FLAG_TRANSMIT_SILENCE = (1 << 17), /*! Suppress some warnings */ AST_OPT_FLAG_DONT_WARN = (1 << 18), - /*! End CDRs before the 'h' extension */ - AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19), /*! Always fork, even if verbose or debug settings are non-zero */ AST_OPT_FLAG_ALWAYS_FORK = (1 << 21), /*! Disable log/verbose output to remote consoles */ AST_OPT_FLAG_MUTE = (1 << 22), /*! There is a per-file debug setting */ AST_OPT_FLAG_DEBUG_FILE = (1 << 23), - /*! There is a per-file verbose setting */ - AST_OPT_FLAG_VERBOSE_FILE = (1 << 24), /*! Terminal colors should be adjusted for a light-colored background */ AST_OPT_FLAG_LIGHT_BACKGROUND = (1 << 25), - /*! Count Initiated seconds in CDR's */ - AST_OPT_FLAG_INITIATED_SECONDS = (1 << 26), /*! Force black background */ AST_OPT_FLAG_FORCE_BLACK_BACKGROUND = (1 << 27), }; @@ -1616,7 +1610,6 @@ struct ast_flags ast_options = { AST_DEFAULT_OPTIONS }; #define ast_opt_reconnect ast_test_flag(&ast_options, AST_OPT_FLAG_RECONNECT) #define ast_opt_transmit_silence ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE) #define ast_opt_dont_warn ast_test_flag(&ast_options, AST_OPT_FLAG_DONT_WARN) -#define ast_opt_end_cdr_before_h_exten ast_test_flag(&ast_options, AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN) #define ast_opt_always_fork ast_test_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK) #define ast_opt_mute ast_test_flag(&ast_options, AST_OPT_FLAG_MUTE) |