Introduce many changes to the buildconf and source code including:

Sat, 24 Mar 2012 21:40:49 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 24 Mar 2012 21:40:49 +0100
changeset 414
fd611cde817f
parent 413
506d3a1a6c3c
child 415
dd7b2195ce6f

Introduce many changes to the buildconf and source code including:
(01) clean up, update, and partially update default config files,
(02) seems that Melware is unable to perform release engineering so
update chan_capi to new daily snapshot to solve echo problems,
(03) correct Asterisk inadequate hard coded gmime version check,
(04) force postgresql pthreads linkage to solve build problem,
(05) remove buggy hard coded LibXML configure definitions,
(06) remove local architecture specification to allow GCC
internal logic to determine proper CPU type instead,
(07) remove vendor sound install target causing uncontrolled
downloads and non RPM managed file installation,
(08) solve long outstanding bug in tcptls causing Asterisk
to ignore any intermediate CA certificate signatures,
(09) back out Digium engineering team's bright idea of replacing the
very portable and pervasive POSIX rand(1) with ast_random(), and
then not even implementing it causing all references to fail in
platforms not providing the very new POSIX.1-2008 mkdtemp(3)
function only distributed by BSD and some Linux,
(10) withdraw advanced linker symbol manipulations from SVR5 builds
until either Binutils supports hybrid versioned and anonymous
linker scripts or GCC stops hard coding versioned linker scripts,
(11) correct missing library linkage, some tailored to a specific OS,
(12) remove outdated logic for the no longer distributed gmime-config(1),
(13) remove local gmime buildconf hacks now that Asterisk has corrected
their own build configuration to almost portably support gmime,
(14) solve build problems relating to undetected LibXML paths,
(15) correct erroneous out of tree include definitions,
(16) improve some variable and comment naming,
(17) simplify sound language path hierarchy creation,
and correct australian english installation logic.

asterisk/asterisk.patch file | annotate | diff | comparison | revisions
asterisk/asterisk.spec file | annotate | diff | comparison | revisions
asterisk/asterisk.txt file | annotate | diff | comparison | revisions
     1.1 --- a/asterisk/asterisk.patch	Sat Mar 24 21:00:00 2012 +0100
     1.2 +++ b/asterisk/asterisk.patch	Sat Mar 24 21:40:49 2012 +0100
     1.3 @@ -379,10 +379,10 @@
     1.4   
     1.5   	/* Unique ID */
     1.6   	if (!rc_avpair_add(rh, tosend, PW_ACCT_SESSION_ID, &cdr->uniqueid, strlen(cdr->uniqueid), 0))
     1.7 -Index: chan_capi-1.1.5.20110914/chan_capi20.h
     1.8 -diff -Nau chan_capi-1.1.5.20110914/chan_capi20.h.orig chan_capi-1.1.5.20110914/chan_capi20.h
     1.9 ---- chan_capi-1.1.5.20110914/chan_capi20.h.orig	2005-09-20 20:33:40.000000000 +0200
    1.10 -+++ chan_capi-1.1.5.20110914/chan_capi20.h	2012-03-18 17:47:07.888451260 +0100
    1.11 +Index: chan_capi-1.1.5.20120324/chan_capi20.h
    1.12 +diff -Nau chan_capi-1.1.5.20120324/chan_capi20.h.orig chan_capi-1.1.5.20120324/chan_capi20.h
    1.13 +--- chan_capi-1.1.5.20120324/chan_capi20.h.orig	2005-09-20 20:33:40.000000000 +0200
    1.14 ++++ chan_capi-1.1.5.20120324/chan_capi20.h	2012-03-18 17:47:07.888451260 +0100
    1.15  @@ -4,10 +4,13 @@
    1.16    * first. Else the checks below will fail.
    1.17    */
    1.18 @@ -406,11 +406,11 @@
    1.19   #ifndef HEADER_CID
    1.20   #define HEADER_CID(x) ((x)->adr.adrNCCI)
    1.21   #endif
    1.22 -Index: chan_capi-1.1.5.20110914/chan_capi_utils.c
    1.23 -diff -Nau chan_capi-1.1.5.20110914/chan_capi_utils.c.orig chan_capi-1.1.5.20110914/chan_capi_utils.c
    1.24 ---- chan_capi-1.1.5.20110914/chan_capi_utils.c.orig	2011-08-07 16:31:05.000000000 +0200
    1.25 -+++ chan_capi-1.1.5.20110914/chan_capi_utils.c	2012-03-18 17:47:07.888451260 +0100
    1.26 -@@ -1158,6 +1158,9 @@
    1.27 +Index: chan_capi-1.1.5.20120324/chan_capi_utils.c
    1.28 +diff -Nau chan_capi-1.1.5.20120324/chan_capi_utils.c.orig chan_capi-1.1.5.20120324/chan_capi_utils.c
    1.29 +--- chan_capi-1.1.5.20120324/chan_capi_utils.c.orig	2011-08-07 16:31:05.000000000 +0200
    1.30 ++++ chan_capi-1.1.5.20120324/chan_capi_utils.c	2012-03-18 17:47:07.888451260 +0100
    1.31 +@@ -1160,6 +1160,9 @@
    1.32   {
    1.33   	MESSAGE_EXCHANGE_ERROR error;
    1.34   	int waitcount = 50;
    1.35 @@ -420,10 +420,10 @@
    1.36   	unsigned char manbuf[CAPI_MANUFACTURER_LEN];
    1.37   	_cmsg CMSG;
    1.38   
    1.39 -Index: chan_capi-1.1.5.20110914/libcapi20/capi20.c
    1.40 -diff -Nau chan_capi-1.1.5.20110914/libcapi20/capi20.c.orig chan_capi-1.1.5.20110914/libcapi20/capi20.c
    1.41 ---- chan_capi-1.1.5.20110914/libcapi20/capi20.c.orig	2010-02-17 20:10:53.000000000 +0100
    1.42 -+++ chan_capi-1.1.5.20110914/libcapi20/capi20.c	2012-03-18 17:47:07.888451260 +0100
    1.43 +Index: chan_capi-1.1.5.20120324/libcapi20/capi20.c
    1.44 +diff -Nau chan_capi-1.1.5.20120324/libcapi20/capi20.c.orig chan_capi-1.1.5.20120324/libcapi20/capi20.c
    1.45 +--- chan_capi-1.1.5.20120324/libcapi20/capi20.c.orig	2010-02-17 20:10:53.000000000 +0100
    1.46 ++++ chan_capi-1.1.5.20120324/libcapi20/capi20.c	2012-03-18 17:47:07.888451260 +0100
    1.47  @@ -19,8 +19,10 @@
    1.48   #include <stdio.h>
    1.49   #include <ctype.h>
    1.50 @@ -717,10 +717,10 @@
    1.51   }
    1.52   /*
    1.53    * functions added to the CAPI2.0 spec
    1.54 -Index: chan_capi-1.1.5.20110914/libcapi20/convert.c
    1.55 -diff -Nau chan_capi-1.1.5.20110914/libcapi20/convert.c.orig chan_capi-1.1.5.20110914/libcapi20/convert.c
    1.56 ---- chan_capi-1.1.5.20110914/libcapi20/convert.c.orig	2010-09-14 21:54:25.000000000 +0200
    1.57 -+++ chan_capi-1.1.5.20110914/libcapi20/convert.c	2012-03-18 17:47:07.888451260 +0100
    1.58 +Index: chan_capi-1.1.5.20120324/libcapi20/convert.c
    1.59 +diff -Nau chan_capi-1.1.5.20120324/libcapi20/convert.c.orig chan_capi-1.1.5.20120324/libcapi20/convert.c
    1.60 +--- chan_capi-1.1.5.20120324/libcapi20/convert.c.orig	2010-09-14 21:54:25.000000000 +0200
    1.61 ++++ chan_capi-1.1.5.20120324/libcapi20/convert.c	2012-03-18 17:47:07.888451260 +0100
    1.62  @@ -11,7 +11,14 @@
    1.63   #include <stddef.h>
    1.64   #include <time.h>
    1.65 @@ -736,10 +736,10 @@
    1.66   
    1.67   #include "capi20.h"
    1.68   
    1.69 -Index: chan_capi-1.1.5.20110914/Makefile
    1.70 -diff -Nau chan_capi-1.1.5.20110914/Makefile.orig chan_capi-1.1.5.20110914/Makefile
    1.71 ---- chan_capi-1.1.5.20110914/Makefile.orig	2011-02-04 18:41:46.000000000 +0100
    1.72 -+++ chan_capi-1.1.5.20110914/Makefile	2012-03-18 17:47:07.888451260 +0100
    1.73 +Index: chan_capi-1.1.5.20120324/Makefile
    1.74 +diff -Nau chan_capi-1.1.5.20120324/Makefile.orig chan_capi-1.1.5.20120324/Makefile
    1.75 +--- chan_capi-1.1.5.20120324/Makefile.orig	2011-02-04 18:41:46.000000000 +0100
    1.76 ++++ chan_capi-1.1.5.20120324/Makefile	2012-03-18 17:47:07.888451260 +0100
    1.77  @@ -114,6 +114,9 @@
    1.78   CFLAGS+=-O2
    1.79   CFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
     2.1 --- a/asterisk/asterisk.spec	Sat Mar 24 21:00:00 2012 +0100
     2.2 +++ b/asterisk/asterisk.spec	Sat Mar 24 21:40:49 2012 +0100
     2.3 @@ -38,7 +38,7 @@
     2.4  %define       V_fswitch_sounds_ru        1.0.13
     2.5  %define       V_fswitch_music            1.0.8
     2.6  %define       V_asterisk_codecs_ilbc     20110104
     2.7 -%define       V_chan_capi                1.1.5.20110914
     2.8 +%define       V_chan_capi                1.1.5.20120324
     2.9  
    2.10  #   package information
    2.11  Name:         asterisk
    2.12 @@ -51,7 +51,7 @@
    2.13  Group:        VoIP
    2.14  License:      GPL
    2.15  Version:      %{V_opkg}
    2.16 -Release:      20120320
    2.17 +Release:      20120325
    2.18  
    2.19  #   package options
    2.20  %option       with_dahdi   no
    2.21 @@ -298,6 +298,9 @@
    2.22          -e 's;lua5\.1;lua;g' \
    2.23          -e 's;-I${IMAP_TK_DIR}/c-client;-DUSE_SYSTEM_IMAP -I${IMAP_TK_DIR}/include/imap;g' \
    2.24          -e 's;${IMAP_TK_DIR}/c-client/c-client\.a;-limap -lssl -lcrypto -lcrypt;g' \
    2.25 +        -e 's;LIBXML2_INCLUDE="-I\${LIBXML2_DIR}/include";echo "Removing really buggy hard coded LibXML include defs.";' \
    2.26 +        -e 's;\(for ver in 2\.0 2\.2 2\.4\);\1 2.6;' \
    2.27 +        -e 's;\(\-lpq.*\-lz.*\)";\1 ${PTHREAD_LIBS}";g'\
    2.28          configure
    2.29      %{l_shtool} subst \
    2.30          -e 's;\(sh\) \(bash\) ksh sh5;\2 \1;' \
    2.31 @@ -315,6 +318,7 @@
    2.32          -e 's;\$(SUBMAKE);$(MAKE);g' \
    2.33          -e 's;\$(SILENTMAKE);$(MAKE) --quiet --no-print-directory;g' \
    2.34          -e 's;\$(MAKE_MENUSELECT); $(MAKE) -C menuselect;g' \
    2.35 +        -e 's;-march=\$(PROC);-march=native;g' \
    2.36          Makefile
    2.37      %{l_shtool} subst \
    2.38          -e 's; *-L/usr/local/ssl/lib;;g' \
    2.39 @@ -335,6 +339,9 @@
    2.40          main/editline/Makefile.in \
    2.41          main/db1-ast/Makefile
    2.42      %{l_shtool} subst \
    2.43 +        -e 's;^\(install:\).*;\1;' \
    2.44 +        sounds/Makefile
    2.45 +    %{l_shtool} subst \
    2.46          -e 's;%s/astdb;%s/asterisk.db;g' \
    2.47          main/asterisk.c
    2.48      %{l_shtool} subst \
    2.49 @@ -344,6 +351,12 @@
    2.50          -e 's;if \(((tmp = strchr(name\);while \1;g' \
    2.51          main/abstract_jb.c
    2.52      %{l_shtool} subst \
    2.53 +        -e 's;if.*SSL_CTX_use_certificate_file.*;if (SSL_CTX_use_certificate_chain_file(cfg->ssl_ctx, cfg->certfile) == 0) {;' \
    2.54 +        main/tcptls.c
    2.55 +    %{l_shtool} subst \
    2.56 +        -e 's;ast_random();rand();' \
    2.57 +        main/strcompat.c
    2.58 +    %{l_shtool} subst \
    2.59          -e 's;\(/etc/radiusclient-ng/radiusclient.conf\);%{l_prefix}\1;g' \
    2.60          -e 's;\(radiusclient\)-ng;\1;g' \
    2.61          cdr/cdr_radius.c \
    2.62 @@ -362,9 +375,17 @@
    2.63          -e 's;\${CONFIG_DIR};$(DESTDIR)$(CONFIG_DIR);g' \
    2.64          -e 's;^\(USE_OWN_LIBCAPI\)=yes;\1=no;' \
    2.65          chan_capi-%{V_chan_capi}/Makefile
    2.66 -    %{l_shtool} subst \
    2.67 -        -e 's;if.*SSL_CTX_use_certificate_file.*;if (SSL_CTX_use_certificate_chain_file(cfg->ssl_ctx, cfg->certfile) == 0) {;' \
    2.68 -        main/tcptls.c
    2.69 +    case "%{l_platform -t}" in
    2.70 +        *-sunos* )
    2.71 +            %{l_shtool} subst \
    2.72 +                -e 's;SO_SUPPRESS_SYMBOLS=-Wl,--version-script,[a-zA-Z0-9@\-_,\.()\$ ][a-zA-Z0-9@\-_,\.()\$ ]*;LOCAL_NOOP=0;' \
    2.73 +                -e 's;ASTLINK+=-Wl,--version-script,[a-zA-Z0-9\-_\.,][a-zA-Z0-9\-_\.,]*;LOCAL_NOOP=0;' \
    2.74 +                -e 's;-Wl,--version-script=[^ ][^ ]* *;;' \
    2.75 +                Makefile.rules \
    2.76 +                main/Makefile \
    2.77 +                main/db1-ast/Makefile
    2.78 +            ;;
    2.79 +    esac
    2.80  
    2.81  %build
    2.82      #   sanity check operating system
    2.83 @@ -388,10 +409,14 @@
    2.84  %endif
    2.85      #   correct platform dependent build configuration
    2.86      extflg=
    2.87 +    loclibs="-lssl -lcrypto"
    2.88      case "%{l_platform -t}" in
    2.89          *-linux* )
    2.90              pthlibflg='-lpthread'
    2.91              ;;
    2.92 +        *-sunos* )
    2.93 +            loclibs="$loclibs -lsocket -lnsl"
    2.94 +            ;;
    2.95      esac
    2.96  
    2.97      #   adapt buildconf to find mpg123 (for music on hold)
    2.98 @@ -406,23 +431,19 @@
    2.99          res/res_musiconhold.c apps/app_mp3.c
   2.100  
   2.101      #   configure program
   2.102 -    ( echo "ac_cv_prog_CONFIG_GMIME=%{l_prefix}/bin/gmime-config"
   2.103 -    ) >config.cache
   2.104      cflags="%{l_cflags -O}"
   2.105      cppflags="%{l_cppflags ncurses lua}"
   2.106      ldflags="%{l_ldflags}"
   2.107 -    libs=""
   2.108 -    cppflags="$cppflags `pkg-config gmime-2.4 --cflags-only-I`"
   2.109 -    ldflags="$ldflags `pkg-config gmime-2.4 --libs-only-L`"
   2.110 -    libs="$libs `pkg-config gmime-2.4 --libs-only-l` -lssl -lcrypto"
   2.111 +    cppflags="$cppflags"
   2.112 +    ldflags="$ldflags"
   2.113  %if "%{with_ogg}" == "yes"
   2.114 -    libs="$libs -logg -lm"
   2.115 +    loclibs="$loclibs -logg -lm"
   2.116  %endif
   2.117  %if "%{with_avcodec}" == "yes"
   2.118 -    libs="$libs -lavcodec -lavutil"
   2.119 +    loclibs="$loclibs -lavcodec -lavutil"
   2.120  %endif
   2.121  %if "%{with_ldap}" == "yes"
   2.122 -    libs="$libs -lldap -llber"
   2.123 +    loclibs="$loclibs -lldap -llber"
   2.124  %endif
   2.125  %if "%{with_dahdi}" == "yes"
   2.126      cppflags="$cppflags -I$dahdi_prefix/include"
   2.127 @@ -432,7 +453,7 @@
   2.128      CFLAGS="$cflags" \
   2.129      CPPFLAGS="$cppflags" \
   2.130      LDFLAGS="$ldflags" \
   2.131 -    LIBS="$libs" \
   2.132 +    LIBS="$loclibs" \
   2.133      INSTALL="%{l_shtool} install -c" \
   2.134      PTHREAD_LIBS="$pthlibflg" \
   2.135      ./configure \
   2.136 @@ -524,6 +545,7 @@
   2.137          --without-pri \
   2.138  %endif
   2.139          --with-sounds-cache=%_sourcedir \
   2.140 +        --with-libxml2=%{l_prefix} \
   2.141          --without-netsnmp \
   2.142          --without-isdnnet \
   2.143          --without-misdn \
   2.144 @@ -561,7 +583,7 @@
   2.145  
   2.146      #   build program
   2.147      %{l_make} %{l_mflags -O} \
   2.148 -        CC="%{l_cc} $cflags -I../include -I../../include $cppflags" NOISY_BUILD=yes
   2.149 +        CC="%{l_cc} $cflags -I../include $cppflags" NOISY_BUILD=yes
   2.150  
   2.151  %if "%{with_capi}" == "yes"
   2.152      #   build capi channel
   2.153 @@ -618,8 +640,13 @@
   2.154      esac
   2.155  %endif
   2.156  
   2.157 -    ( echo 'Start of sound installation block (RPM)'
   2.158 +    ( echo 'Start of sound installation block (OpenPKG)'
   2.159  %if "%{with_esounds}" == "yes"
   2.160 +      #   create sound directory hierarchy
   2.161 +      for sndir in en es fr ru en_AU moh; do
   2.162 +          %{l_shtool} mkdir -f -p -m 755 \
   2.163 +              $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/$sndir
   2.164 +      done
   2.165        #   install freeswitch sound prompt files, expecting
   2.166        #   identical sound filenames to be overwritten later
   2.167        cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en
   2.168 @@ -638,8 +665,6 @@
   2.169            mv -f es/mx/maria/$subdir/*/* ${subdir}/
   2.170        done
   2.171        rm -rf es
   2.172 -      %{l_shtool} mkdir -f -p -m 755 \
   2.173 -          $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ru
   2.174        cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/ru
   2.175        %{l_tar} zxf %{_sourcedir}/freeswitch-sounds-ru-RU-elena-48000-%{V_fswitch_sounds_ru}.tar.gz
   2.176        subs=`( cd ru/RU/elena && find * -type d -prune )`
   2.177 @@ -664,13 +689,9 @@
   2.178        done
   2.179  %endif
   2.180  
   2.181 -      #   install australian nonversioned sound prompt files
   2.182 -      cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/en_AU
   2.183 -      %{l_tar} zxf %%{_sourcedir}/asterisk-core-sounds-en_AU-sln16-%{V_asterisk_sounds_core}.tar.gz
   2.184 -
   2.185        #   install main sound prompt files
   2.186        #for codec in alaw ulaw g722 g729 gsm; do
   2.187 -      for lang in en es fr; do
   2.188 +      for lang in en en_AU es fr; do
   2.189            cd $RPM_BUILD_ROOT%{l_prefix}/share/asterisk/sounds/${lang}
   2.190            %{l_tar} zxf %{_sourcedir}/asterisk-core-sounds-${lang}-sln16-%{V_asterisk_sounds_core}.tar.gz
   2.191        done
     3.1 --- a/asterisk/asterisk.txt	Sat Mar 24 21:00:00 2012 +0100
     3.2 +++ b/asterisk/asterisk.txt	Sat Mar 24 21:40:49 2012 +0100
     3.3 @@ -38,6 +38,28 @@
     3.4  ;dontwarn          = no
     3.5  
     3.6  </file>
     3.7 +<file name="amd.conf">
     3.8 +;;
     3.9 +;;  amd.conf -- Answering Machine Detection configuration
    3.10 +;;
    3.11 +
    3.12 +[general]
    3.13 +initial_silence        = 2500 ; Maximum silence duration before the greeting.
    3.14 +                              ; If exceeded then MACHINE.
    3.15 +greeting               = 1500 ; Maximum length of a greeting.
    3.16 +                              ;If exceeded then MACHINE.
    3.17 +after_greeting_silence = 800  ; Silence after detecting a greeting.
    3.18 +                              ; If exceeded then HUMAN.
    3.19 +total_analysis_time    = 5000 ; Maximum time allowed for the algorithm to
    3.20 +                              ; decide on a HUMAN or MACHINE.
    3.21 +min_word_length        = 100  ; Minimum duration of Voice to considered a word.
    3.22 +between_words_silence  = 50   ; Minimum duration of silence after a word to
    3.23 +                              ; consider the audio what follows as a new word.
    3.24 +maximum_number_of_words = 3   ; Maximum number of words in the greeting.
    3.25 +                              ; If exceeded then MACHINE.
    3.26 +silence_threshold       = 256
    3.27 +
    3.28 +</file>
    3.29  <file name="modules.conf">
    3.30  ;;
    3.31  ;;  modules.conf -- Asterisk functionality module configuration
    3.32 @@ -45,11 +67,6 @@
    3.33  
    3.34  [modules]
    3.35  autoload           = yes
    3.36 -noload             = chan_iax2.so
    3.37 -noload             = chan_mgcp.so
    3.38 -noload             = chan_skinny.so
    3.39 -noload             = chan_gtalk.so
    3.40 -noload             = chan_ooh323.so
    3.41  
    3.42  [global]
    3.43  
    3.44 @@ -106,7 +123,7 @@
    3.45  </file>
    3.46  <file name="http.conf">
    3.47  ;;
    3.48 -;;  http.conf -- Asterisk HTTP Server Interface
    3.49 +;;  http.conf -- Asterisk HTTP server interface
    3.50  ;;
    3.51  
    3.52  [general]
    3.53 @@ -255,6 +272,77 @@
    3.54  ;                    ; default
    3.55  
    3.56  </file>
    3.57 +<file name="iaxprov.conf">
    3.58 +;;
    3.59 +;;  iaxprov.conf -- IAX2 provisioning information
    3.60 +;;
    3.61 +
    3.62 +; Contains provisioning information for templates and for specific service
    3.63 +; entries.
    3.64 +;
    3.65 +; Templates provide a group of settings from which provisioning takes place.
    3.66 +; A template may be based upon any template that has been specified before
    3.67 +; it.  If the template that an entry is based on is not specified then it is
    3.68 +; presumed to be 'default' (unless it is the first of course).
    3.69 +;
    3.70 +; Templates which begin with 'si-' are used for provisioning units with
    3.71 +; specific service identifiers.  For example the entry "si-000364000126"
    3.72 +; would be used when the device with the corresponding service identifier of
    3.73 +; "000364000126" attempts to register or make a call.
    3.74 +;
    3.75 +[default]
    3.76 +port=4569  ; the port number the device should bind to (default 4569)
    3.77 +server=127.0.0.1  ; our PRIMARY server for registration and placing calls
    3.78 +
    3.79 +; altserver is the BACKUP server for registration and placing calls in the
    3.80 +; event the primary server is unavailable.
    3.81 +;
    3.82 +altserver=127.0.0.2
    3.83 +
    3.84 +; port is the port number to use for IAX2 outbound.  The connections to the
    3.85 +; server and altserver (default 4569)
    3.86 +;
    3.87 +serverport=4569
    3.88 +language=es  ; the preferred language for the device
    3.89 +codec=ulaw  ; requested codec, the iaxy supports ulaw and adpcm
    3.90 +
    3.91 +; flags is a comma separated list of flags which the device should
    3.92 +; use and may contain any of the following keywords:
    3.93 +;
    3.94 +;  "register"  - Register with server
    3.95 +;  "secure"    - Do not accept calls / provisioning not originated by server
    3.96 +;  "heartbeat" - Generate status packets on port 9999 sent to 255.255.255.255
    3.97 +;  "debug"     - Output extra debugging to port 9999
    3.98 +;
    3.99 +;  Note that use can use += and -= to adjust parameters
   3.100 +;
   3.101 +flags=register
   3.102 +
   3.103 +tos=ef  ; see doc/ip-tos.txt
   3.104 +
   3.105 +; Example iaxy provisioning
   3.106 +;
   3.107 +;[si-000364000126]
   3.108 +;user=iaxy
   3.109 +;pass=bitsy
   3.110 +;flags += debug
   3.111 +
   3.112 +;[si-000364000127]
   3.113 +;user=iaxy2
   3.114 +;pass=bitsy2
   3.115 +;template=si-000364000126
   3.116 +;flags += debug
   3.117 +
   3.118 +
   3.119 +;  If specified, the '*' provisioning is used for all devices which do not
   3.120 +;  have another provisioning entry within the file.  If unspecified, no
   3.121 +;  provisioning will take place for devices which have no entry.  DO NOT
   3.122 +;  USE A '*' PROVISIONING ENTRY UNLESS YOU KNOW WHAT YOU'RE DOING.
   3.123 +;
   3.124 +;[*]
   3.125 +
   3.126 +;template=default
   3.127 +</file>
   3.128  <file name="rtp.conf">
   3.129  ;;
   3.130  ;;  rtp.conf -- Asterisk RTP configuration
   3.131 @@ -317,6 +405,93 @@
   3.132  Event=>check-sync
   3.133  
   3.134  </file>
   3.135 +<file name="extconfig.conf">
   3.136 +;;
   3.137 +;;  extconfig.conf -- Static and realtime external configuration engine
   3.138 +;;
   3.139 +
   3.140 +[settings]
   3.141 +;
   3.142 +; Static configuration files:
   3.143 +;
   3.144 +; file.conf => driver,database[,table[,priority]]
   3.145 +;
   3.146 +; maps a particular configuration file to the given
   3.147 +; database driver, database and table (or uses the
   3.148 +; name of the file as the table if not specified)
   3.149 +;
   3.150 +;uncomment to load queues.conf via the odbc engine.
   3.151 +;
   3.152 +;queues.conf => odbc,asterisk,ast_config
   3.153 +;extensions.conf => sqlite,asterisk,ast_config
   3.154 +;
   3.155 +; The following files CANNOT be loaded from Realtime storage:
   3.156 +;	asterisk.conf
   3.157 +;	extconfig.conf (this file)
   3.158 +;	logger.conf
   3.159 +;
   3.160 +; Additionally, the following files cannot be loaded from
   3.161 +; Realtime storage unless the storage driver is loaded
   3.162 +; early using 'preload' statements in modules.conf:
   3.163 +;	manager.conf
   3.164 +;	cdr.conf
   3.165 +;	rtp.conf
   3.166 +;
   3.167 +;
   3.168 +; Realtime configuration engine
   3.169 +;
   3.170 +; maps a particular family of realtime
   3.171 +; configuration to a given database driver,
   3.172 +; database and table (or uses the name of
   3.173 +; the family if the table is not specified
   3.174 +;
   3.175 +;example => odbc,asterisk,alttable,1
   3.176 +;example => mysql,asterisk,alttable,2
   3.177 +;example2 => ldap,"dc=oxymium,dc=net",example2
   3.178 +;
   3.179 +; Additionally, priorities are now supported for use as failover methods
   3.180 +; for retrieving realtime data.  If one connection fails to retrieve any
   3.181 +; information, the next sequential priority will be tried next.  This
   3.182 +; especially works well with ODBC connections, since res_odbc now caches
   3.183 +; when connection failures occur and prevents immediately retrying those
   3.184 +; connections until after a specified timeout.  Note:  priorities must
   3.185 +; start at 1 and be sequential (i.e. if you have only priorities 1, 2,
   3.186 +; and 4, then 4 will be ignored, because there is no 3).
   3.187 +;
   3.188 +; "odbc" is shown in the examples below, but is not the only valid realtime
   3.189 +; engine.  There is:
   3.190 +;    odbc ... res_config_odbc
   3.191 +;    sqlite ... res_config_sqlite
   3.192 +;    pgsql ... res_config_pgsql
   3.193 +;    curl ... res_config_curl
   3.194 +;    ldap ... res_config_ldap
   3.195 +;
   3.196 +;iaxusers => odbc,asterisk
   3.197 +;iaxpeers => odbc,asterisk
   3.198 +;sippeers => odbc,asterisk
   3.199 +;sipregs => odbc,asterisk ; (avoid sipregs if possible, e.g. by using a view)
   3.200 +;voicemail => odbc,asterisk
   3.201 +;extensions => odbc,asterisk
   3.202 +;meetme => mysql,general
   3.203 +;queues => odbc,asterisk
   3.204 +;queue_members => odbc,asterisk
   3.205 +;musiconhold => mysql,general
   3.206 +;queue_log => mysql,general
   3.207 +;
   3.208 +;
   3.209 +; While most dynamic realtime engines are automatically used when defined in
   3.210 +; this file, 'extensions', distinctively, is not.  To activate dynamic realtime
   3.211 +; extensions, you must turn them on in each respective context within
   3.212 +; extensions.conf with a switch statement.  The syntax is:
   3.213 +;      switch => Realtime/[[db_context@]tablename]/<opts>
   3.214 +; The only option available currently is the 'p' option, which disallows
   3.215 +; extension pattern queries to the database.  If you have no patterns defined
   3.216 +; in a particular context, this will save quite a bit of CPU time.  However,
   3.217 +; note that using dynamic realtime extensions is not recommended anymore as a
   3.218 +; best practice; instead, you should consider writing a static dialplan with
   3.219 +; proper data abstraction via a tool like func_odbc.
   3.220 +
   3.221 +</file>
   3.222  <file name="extensions.conf">
   3.223  ;;
   3.224  ;;  extensions.conf -- Asterisk inbound & outbound call configuration
   3.225 @@ -509,7 +684,7 @@
   3.226  </file>
   3.227  <file name="musiconhold.conf">
   3.228  ;;
   3.229 -;;  musiconhold.conf -- Asterisk music-on-hold configuration
   3.230 +;;  musiconhold.conf -- Asterisk music on hold configuration
   3.231  ;;
   3.232  
   3.233  [default]
   3.234 @@ -701,7 +876,7 @@
   3.235  </file>
   3.236  <file name="features.conf">
   3.237  ;;
   3.238 -;;  features.conf -- Asterisk Call Features configuration
   3.239 +;;  features.conf -- Asterisk call features configuration
   3.240  ;;
   3.241  
   3.242  [general]
   3.243 @@ -710,6 +885,33 @@
   3.244  ;context           = parkedcalls
   3.245  
   3.246  </file>
   3.247 +<file name="festival.conf">
   3.248 +;;
   3.249 +;;  festival.conf -- Asterisk festival configuration
   3.250 +;;
   3.251 +
   3.252 +[general]
   3.253 +host      = localhost  ; default 'localhost'
   3.254 +port      = 1314       ; default '1314'
   3.255 +usecache  = no         ; default 'no'
   3.256 +
   3.257 +; If usecache=yes, a directory to store waveform cache files.
   3.258 +; The cache is never cleared (yet), so you must take care of cleaning it
   3.259 +; yourself (just delete any or all files from the cache).
   3.260 +; THIS DIRECTORY *MUST* EXIST and must be writable from the asterisk process.
   3.261 +; Defaults to /tmp/
   3.262 +;
   3.263 +;cachedir  = /opsw/var/asterisk/festivalcache/
   3.264 +;
   3.265 +; Festival command to send to the server.
   3.266 +; Defaults to: (tts_textasterisk "%s" 'file)(quit)\n
   3.267 +; %s is replaced by the desired text to say. The command MUST end with a
   3.268 +; (quit) directive, or the cache handling mechanism will hang. Do not
   3.269 +; forget the \n at the end.
   3.270 +;
   3.271 +festivalcommand = (tts_textasterisk "%s" 'file)(quit)\n
   3.272 +
   3.273 +</file>
   3.274  <file name="gtalk.conf">
   3.275  ;;
   3.276  ;;  gtalk.conf -- Asterisk GTalk configuration
   3.277 @@ -765,7 +967,7 @@
   3.278  </file>
   3.279  <file name="indications.conf">
   3.280  ;;
   3.281 -;;  indications.conf -- Asterisk Tone Indications
   3.282 +;;  indications.conf -- Asterisk tone indications
   3.283  ;;
   3.284  
   3.285  [general]

mercurial