diff --git a/.gitignore b/.gitignore
index 188ea88d55..41b0907f48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,10 +8,10 @@
.deps
.\#*
\#*
-Debug/
-Release/
-All/
-bin/
+/Debug/
+/Release/
+/All/
+/bin/
*.user
*.suo
*.ncb
@@ -26,43 +26,47 @@ bin/
*.manifest
*.dep
*.dll
-BuildLog.htm
-Path
-w32/Library/lastversion
-w32/Library/tmpVersion.Bat
-.version
-AUTHORS
-COPYING
-ChangeLog
-Makefile
-Makefile.in
-NEWS
-README
+/BuildLog.htm
+/Path
+/w32/Library/lastversion
+/w32/Library/tmpVersion.Bat
+!/w32/Console/FreeSwitchConsole.vcproj.user
+!/w32/Setup/inno_setup/vcredist_x64.exe
+!/w32/Setup/inno_setup/vcredist_x86.exe
+/.version
+/AUTHORS
+/COPYING
+/ChangeLog
+/Makefile
+/Makefile.in
+/NEWS
+/README
aclocal.m4
autom4te.cache
-build/Makefile
-build/Makefile.in
-build/config/compile
-build/config/config.guess
-build/config/depcomp
-build/config/install-sh
-build/config/ltmain.sh
-build/config/missing
-build/freeswitch.pc
-build/getlib.sh
-build/getsounds.sh
-build/modmake.rules
+/build/Makefile
+/build/Makefile.in
+/build/config/compile
+/build/config/config.guess
+/build/config/depcomp
+/build/config/install-sh
+/build/config/ltmain.sh
+/build/config/missing
+/build/freeswitch.pc
+/build/getlib.sh
+/build/getsounds.sh
+/build/modmake.rules
config.cache
config.log
config.status
-configure
+/configure
configure.lineno
-freeswitch
-fs_cli
-fs_ivrd
-libtool
-modules.conf
-quiet_libtool
-scripts/fsxs
-scripts/gentls_cert
-a.out.dSYM
+/freeswitch
+/fs_cli
+/fs_ivrd
+/libtool
+/modules.conf
+/quiet_libtool
+/scripts/fsxs
+/scripts/gentls_cert
+/a.out.dSYM
+/freeswitch-sounds-*
diff --git a/libs/.gitignore b/libs/.gitignore
index 838f103194..93c55e4cd5 100644
--- a/libs/.gitignore
+++ b/libs/.gitignore
@@ -1,1066 +1,1073 @@
-apr-util/.make.dirs
-apr-util/Makefile
-apr-util/apr-util.pc
-apr-util/aprutil.exp
-apr-util/apu-1-config
-apr-util/build/apr_common.m4
-apr-util/build/config.guess
-apr-util/build/config.sub
-apr-util/build/find_apr.m4
-apr-util/build/get-version.sh
-apr-util/build/install.sh
-apr-util/build/pkg/pkginfo
-apr-util/build/rules.mk
-apr-util/config.log
-apr-util/config.nice
-apr-util/config.status
-apr-util/configure
-apr-util/export_vars.c
-apr-util/export_vars.sh
-apr-util/exports.c
-apr-util/include/apr_ldap.h
-apr-util/include/apu.h
-apr-util/include/apu_want.h
-apr-util/include/private/apu_config.h
-apr-util/include/private/apu_config.h.in
-apr-util/include/private/apu_select_dbm.h
-apr-util/test/Makefile
-apr-util/xml/expat/Makefile
-apr-util/xml/expat/aclocal.m4
-apr-util/xml/expat/config.h
-apr-util/xml/expat/config.h.in
-apr-util/xml/expat/config.log
-apr-util/xml/expat/config.status
-apr-util/xml/expat/configure
-apr-util/xml/expat/conftools/ltmain.sh
-apr-util/xml/expat/lib/Makefile
-apr-util/xml/expat/lib/expat.h
-apr-util/xml/expat/libtool
-apr/.make.dirs
-apr/Makefile
-apr/apr-1-config
-apr/apr.exp
-apr/apr.pc
-apr/build/apr_rules.mk
-apr/build/config.guess
-apr/build/config.sub
-apr/build/libtool.m4
-apr/build/ltmain.sh
-apr/build/pkg/pkginfo
-apr/config.log
-apr/config.nice
-apr/config.status
-apr/configure
-apr/export_vars.c
-apr/exports.c
-apr/include/apr.h
-apr/include/arch/unix/apr_private.h
-apr/include/arch/unix/apr_private.h.in
-apr/libtool
-apr/test/Makefile
-apr/test/internal/Makefile
-broadvoice/Makefile
-broadvoice/Makefile.in
-broadvoice/aclocal.m4
-broadvoice/broadvoice.pc
-broadvoice/config-h.in
-broadvoice/config.log
-broadvoice/config.status
-broadvoice/config/config.guess
-broadvoice/config/config.sub
-broadvoice/config/depcomp
-broadvoice/config/install-sh
-broadvoice/config/ltmain.sh
-broadvoice/config/missing
-broadvoice/configure
-broadvoice/doc/Makefile
-broadvoice/doc/Makefile.in
-broadvoice/libtool
-broadvoice/src/Makefile
-broadvoice/src/Makefile.in
-broadvoice/src/broadvoice.h
-broadvoice/src/config.h
-broadvoice/src/stamp-h1
-broadvoice/tests/regression_tests.sh
-curl/Makefile
-curl/Makefile.in
-curl/aclocal.m4
-curl/config.guess
-curl/config.log
-curl/config.status
-curl/config.sub
-curl/configure
-curl/curl-config
-curl/depcomp
-curl/include/Makefile
-curl/include/Makefile.in
-curl/include/curl/Makefile
-curl/include/curl/Makefile.in
-curl/install-sh
-curl/lib/Makefile
-curl/lib/Makefile.in
-curl/lib/config.h
-curl/lib/config.h.in
-curl/lib/stamp-h1
-curl/libcurl.pc
-curl/libtool
-curl/ltmain.sh
-curl/missing
-curl/packages/AIX/Makefile
-curl/packages/AIX/Makefile.in
-curl/packages/AIX/RPM/Makefile
-curl/packages/AIX/RPM/Makefile.in
-curl/packages/AIX/RPM/curl.spec
-curl/packages/DOS/Makefile
-curl/packages/DOS/Makefile.in
-curl/packages/EPM/Makefile
-curl/packages/EPM/Makefile.in
-curl/packages/EPM/curl.list
-curl/packages/Linux/Makefile
-curl/packages/Linux/Makefile.in
-curl/packages/Linux/RPM/Makefile
-curl/packages/Linux/RPM/Makefile.in
-curl/packages/Linux/RPM/curl-ssl.spec
-curl/packages/Linux/RPM/curl.spec
-curl/packages/Makefile
-curl/packages/Makefile.in
-curl/packages/Solaris/Makefile
-curl/packages/Solaris/Makefile.in
-curl/packages/Win32/Makefile
-curl/packages/Win32/Makefile.in
-curl/packages/Win32/cygwin/Makefile
-curl/packages/Win32/cygwin/Makefile.in
-curl/packages/vms/Makefile
-curl/packages/vms/Makefile.in
-curl/src/Makefile
-curl/src/Makefile.in
-curl/src/config.h
-curl/src/stamp-h2
-iksemel/Makefile
-iksemel/Makefile.in
-iksemel/aclocal.m4
-iksemel/build/compile
-iksemel/build/config.guess
-iksemel/build/config.sub
-iksemel/build/depcomp
-iksemel/build/install-sh
-iksemel/build/ltmain.sh
-iksemel/build/missing
-iksemel/config.log
-iksemel/config.status
-iksemel/configure
-iksemel/doc/Makefile
-iksemel/doc/Makefile.in
-iksemel/iksemel.pc
-iksemel/include/Makefile
-iksemel/include/Makefile.in
-iksemel/include/config.h
-iksemel/include/config.h.in
-iksemel/include/stamp-h1
-iksemel/libtool
-iksemel/src/Makefile
-iksemel/src/Makefile.in
-iksemel/test/Makefile
-iksemel/test/Makefile.in
-iksemel/tools/Makefile
-iksemel/tools/Makefile.in
-ilbc/Makefile
-ilbc/Makefile.in
-ilbc/aclocal.m4
-ilbc/config-h.in
-ilbc/config.log
-ilbc/config.status
-ilbc/config/config.guess
-ilbc/config/config.sub
-ilbc/config/depcomp
-ilbc/config/install-sh
-ilbc/config/ltmain.sh
-ilbc/config/missing
-ilbc/configure
-ilbc/doc/Makefile
-ilbc/doc/Makefile.in
-ilbc/libtool
-ilbc/localtests/Makefile
-ilbc/localtests/Makefile.in
-ilbc/src/Makefile
-ilbc/src/Makefile.in
-ilbc/src/config.h
-ilbc/src/ilbc.h
-ilbc/src/stamp-h1
-ilbc/tests/Makefile
-ilbc/tests/Makefile.in
-js/nsprpub/lib/ds/libplds4.so.1
-js/nsprpub/lib/libc/src/libplc4.so.1
-js/nsprpub/pr/src/libnspr4.so.1
-js/Makefile
-js/aclocal.m4
-js/config.guess
-js/config.h
-js/config.h.in
-js/config.log
-js/config.status
-js/config.sub
-js/configure
-js/js
-js/js-config.sh
-js/js.pc
-js/jscpucfg
-js/libtool
-js/ltmain.sh
-js/nsprpub/Makefile
-js/nsprpub/aclocal.m4
-js/nsprpub/build/autoconf/config.guess
-js/nsprpub/build/autoconf/config.sub
-js/nsprpub/build/autoconf/install-sh
-js/nsprpub/build/autoconf/ltmain.sh
-js/nsprpub/build/autoconf/missing
-js/nsprpub/config.log
-js/nsprpub/config.status
-js/nsprpub/config/Makefile
-js/nsprpub/config/autoconf.mk
-js/nsprpub/config/nfspwd
-js/nsprpub/config/now
-js/nsprpub/config/nsinstall
-js/nsprpub/config/nspr-config
-js/nsprpub/config/nsprincl.mk
-js/nsprpub/config/nsprincl.sh
-js/nsprpub/configure
-js/nsprpub/dist/
-js/nsprpub/lib/Makefile
-js/nsprpub/lib/ds/Makefile
-js/nsprpub/lib/ds/_pl_bld.h
-js/nsprpub/lib/libc/Makefile
-js/nsprpub/lib/libc/include/Makefile
-js/nsprpub/lib/libc/src/Makefile
-js/nsprpub/lib/libc/src/_pl_bld.h
-js/nsprpub/lib/tests/Makefile
-js/nsprpub/libtool
-js/nsprpub/pkg/Makefile
-js/nsprpub/pkg/linux/Makefile
-js/nsprpub/pkg/solaris/Makefile
-js/nsprpub/pkg/solaris/SUNWpr/Makefile
-js/nsprpub/pkg/solaris/SUNWprd/Makefile
-js/nsprpub/pr/Makefile
-js/nsprpub/pr/include/Makefile
-js/nsprpub/pr/include/md/Makefile
-js/nsprpub/pr/include/obsolete/Makefile
-js/nsprpub/pr/include/private/Makefile
-js/nsprpub/pr/src/Makefile
-js/nsprpub/pr/src/_pr_bld.h
-js/nsprpub/pr/src/io/Makefile
-js/nsprpub/pr/src/linking/Makefile
-js/nsprpub/pr/src/malloc/Makefile
-js/nsprpub/pr/src/md/Makefile
-js/nsprpub/pr/src/md/unix/Makefile
-js/nsprpub/pr/src/memory/Makefile
-js/nsprpub/pr/src/misc/Makefile
-js/nsprpub/pr/src/pthreads/Makefile
-js/nsprpub/pr/src/threads/Makefile
-js/nsprpub/pr/tests/Makefile
-js/nsprpub/pr/tests/dll/Makefile
-js/src/jsautocfg.h
-js/src/perlconnect/Makefile.PL
-libdingaling/Makefile
-libdingaling/Makefile.in
-libdingaling/aclocal.m4
-libdingaling/build/compile
-libdingaling/build/config.guess
-libdingaling/build/config.sub
-libdingaling/build/depcomp
-libdingaling/build/install-sh
-libdingaling/build/ltmain.sh
-libdingaling/build/missing
-libdingaling/config.log
-libdingaling/config.status
-libdingaling/configure
-libdingaling/libtool
-libdingaling/src/config.h
-libdingaling/src/config.h.in
-libdingaling/src/stamp-h1
-libedit/Makefile
-libedit/Makefile.in
-libedit/aclocal.m4
-libedit/config.guess
-libedit/config.h
-libedit/config.h.in
-libedit/config.log
-libedit/config.status
-libedit/config.sub
-libedit/configure
-libedit/depcomp
-libedit/doc/Makefile
-libedit/doc/Makefile.in
-libedit/doc/editline.3
-libedit/doc/editrc.5
-libedit/examples/Makefile
-libedit/examples/Makefile.in
-libedit/examples/fileman
-libedit/examples/test
-libedit/install-sh
-libedit/libedit.pc
-libedit/libtool
-libedit/ltmain.sh
-libedit/missing
-libedit/src/Makefile
-libedit/src/Makefile.in
-libedit/src/common.h
-libedit/src/emacs.h
-libedit/src/fcns.c
-libedit/src/fcns.h
-libedit/src/help.c
-libedit/src/help.h
-libedit/src/vi.h
-libedit/stamp-h1
-libg722_1/Makefile
-libg722_1/Makefile.in
-libg722_1/aclocal.m4
-libg722_1/config-h.in
-libg722_1/config.log
-libg722_1/config.status
-libg722_1/config/config.guess
-libg722_1/config/config.sub
-libg722_1/config/install-sh
-libg722_1/config/ltmain.sh
-libg722_1/configure
-libg722_1/doc/Makefile
-libg722_1/doc/Makefile.in
-libg722_1/g722_1.spec
-libg722_1/libtool
-libg722_1/src/Makefile
-libg722_1/src/Makefile.in
-libg722_1/src/config.h
-libg722_1/src/dct4.h
-libg722_1/src/g722_1.h
-libg722_1/src/make_dct4_tables
-libg722_1/src/make_tables
-libg722_1/src/stamp-h1
-libg722_1/test-data/Makefile
-libg722_1/test-data/Makefile.in
-libg722_1/test-data/itu/Makefile
-libg722_1/test-data/itu/Makefile.in
-libg722_1/test-data/local/Makefile
-libg722_1/test-data/local/Makefile.in
-libg722_1/tests/Makefile
-libg722_1/tests/Makefile.in
-libg722_1/tests/regression_tests.sh
-libsndfile/Cfg/compile
-libsndfile/Cfg/config.guess
-libsndfile/Cfg/config.sub
-libsndfile/Cfg/depcomp
-libsndfile/Cfg/install-sh
-libsndfile/Cfg/ltmain.sh
-libsndfile/Cfg/missing
-libsndfile/M4/Makefile
-libsndfile/M4/Makefile.in
-libsndfile/Makefile
-libsndfile/Makefile.in
-libsndfile/Octave/Makefile
-libsndfile/Octave/Makefile.in
-libsndfile/Win32/Makefile
-libsndfile/Win32/Makefile.in
-libsndfile/aclocal.m4
-libsndfile/config.log
-libsndfile/config.status
-libsndfile/configure
-libsndfile/doc/Makefile
-libsndfile/doc/Makefile.in
-libsndfile/examples/Makefile
-libsndfile/examples/Makefile.in
-libsndfile/libsndfile.spec
-libsndfile/libtool
-libsndfile/man/Makefile
-libsndfile/man/Makefile.in
-libsndfile/programs/Makefile
-libsndfile/programs/Makefile.in
-libsndfile/regtest/Makefile
-libsndfile/regtest/Makefile.in
-libsndfile/sndfile.pc
-libsndfile/src/G72x/Makefile
-libsndfile/src/G72x/Makefile.in
-libsndfile/src/G72x/g72x_test
-libsndfile/src/GSM610/Makefile
-libsndfile/src/GSM610/Makefile.in
-libsndfile/src/Makefile
-libsndfile/src/Makefile.in
-libsndfile/src/config.h
-libsndfile/src/config.h.in
-libsndfile/src/sndfile.h
-libsndfile/src/stamp-h1
-libsndfile/src/test_main
-libsndfile/tests/Makefile
-libsndfile/tests/Makefile.in
-libsndfile/tests/test_wrapper.sh
-openzap/COPYING
-openzap/INSTALL
-openzap/Makefile.in
-openzap/build/compile
-openzap/build/depcomp
-openzap/build/install-sh
-openzap/build/ltmain.sh
-openzap/build/missing
-openzap/openzap.pc
-pcre/Makefile
-pcre/Makefile.in
-pcre/aclocal.m4
-pcre/config.guess
-pcre/config.h
-pcre/config.h.in
-pcre/config.log
-pcre/config.status
-pcre/config.sub
-pcre/configure
-pcre/install-sh
-pcre/libpcre.pc
-pcre/libpcrecpp.pc
-pcre/libtool
-pcre/ltmain.sh
-pcre/missing
-pcre/pcre-config
-pcre/pcre_chartables.c
-pcre/pcre_scanner_unittest
-pcre/pcre_stringpiece.h
-pcre/pcre_stringpiece_unittest
-pcre/pcrecpp_unittest
-pcre/pcrecpparg.h
-pcre/pcregrep
-pcre/pcretest
-pcre/stamp-h1
-portaudio/Makefile
-portaudio/aclocal.m4
-portaudio/config.guess
-portaudio/config.log
-portaudio/config.status
-portaudio/config.sub
-portaudio/configure
-portaudio/install-sh
-portaudio/libtool
-portaudio/ltmain.sh
-portaudio/missing
-portaudio/portaudio-2.0.pc
-silk/Makefile
-silk/Makefile.in
-silk/aclocal.m4
-silk/compile
-silk/config.guess
-silk/config.log
-silk/config.status
-silk/config.sub
-silk/configure
-silk/depcomp
-silk/install-sh
-silk/libtool
-silk/ltmain.sh
-silk/missing
-sofia-sip/Makefile
-sofia-sip/Makefile.in
-sofia-sip/aclocal.m4
-sofia-sip/compile
-sofia-sip/config.guess
-sofia-sip/config.h
-sofia-sip/config.h.in
-sofia-sip/config.log
-sofia-sip/config.status
-sofia-sip/config.sub
-sofia-sip/configure
-sofia-sip/depcomp
-sofia-sip/install-sh
-sofia-sip/libsofia-sip-ua-glib/Makefile
-sofia-sip/libsofia-sip-ua-glib/Makefile.in
-sofia-sip/libsofia-sip-ua-glib/su-glib/Doxyfile
-sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile
-sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile.in
-sofia-sip/libsofia-sip-ua/Makefile
-sofia-sip/libsofia-sip-ua/Makefile.in
-sofia-sip/libsofia-sip-ua/bnf/Doxyfile
-sofia-sip/libsofia-sip-ua/bnf/Makefile
-sofia-sip/libsofia-sip-ua/bnf/Makefile.in
-sofia-sip/libsofia-sip-ua/docs/Doxyfile
-sofia-sip/libsofia-sip-ua/docs/Doxyfile.rfc
-sofia-sip/libsofia-sip-ua/docs/Doxyfile.version
-sofia-sip/libsofia-sip-ua/docs/Makefile
-sofia-sip/libsofia-sip-ua/docs/Makefile.in
-sofia-sip/libsofia-sip-ua/docs/sofia-footer.html
-sofia-sip/libsofia-sip-ua/features/Doxyfile
-sofia-sip/libsofia-sip-ua/features/Makefile
-sofia-sip/libsofia-sip-ua/features/Makefile.in
-sofia-sip/libsofia-sip-ua/features/sofia-sip/sofia_features.h
-sofia-sip/libsofia-sip-ua/http/Doxyfile
-sofia-sip/libsofia-sip-ua/http/Makefile
-sofia-sip/libsofia-sip-ua/http/Makefile.in
-sofia-sip/libsofia-sip-ua/http/http_parser_table.c
-sofia-sip/libsofia-sip-ua/http/http_tag.c
-sofia-sip/libsofia-sip-ua/http/http_tag_ref.c
-sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h
-sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h
-sofia-sip/libsofia-sip-ua/ipt/Doxyfile
-sofia-sip/libsofia-sip-ua/ipt/Makefile
-sofia-sip/libsofia-sip-ua/ipt/Makefile.in
-sofia-sip/libsofia-sip-ua/iptsec/Doxyfile
-sofia-sip/libsofia-sip-ua/iptsec/Makefile
-sofia-sip/libsofia-sip-ua/iptsec/Makefile.in
-sofia-sip/libsofia-sip-ua/iptsec/auth_tag_ref.c
-sofia-sip/libsofia-sip-ua/msg/Doxyfile
-sofia-sip/libsofia-sip-ua/msg/Makefile
-sofia-sip/libsofia-sip-ua/msg/Makefile.in
-sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c
-sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h
-sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h
-sofia-sip/libsofia-sip-ua/msg/test_protos.h
-sofia-sip/libsofia-sip-ua/msg/test_table.c
-sofia-sip/libsofia-sip-ua/nea/Doxyfile
-sofia-sip/libsofia-sip-ua/nea/Makefile
-sofia-sip/libsofia-sip-ua/nea/Makefile.in
-sofia-sip/libsofia-sip-ua/nea/nea_tag_ref.c
-sofia-sip/libsofia-sip-ua/nta/Doxyfile
-sofia-sip/libsofia-sip-ua/nta/Makefile
-sofia-sip/libsofia-sip-ua/nta/Makefile.in
-sofia-sip/libsofia-sip-ua/nta/nta_tag_ref.c
-sofia-sip/libsofia-sip-ua/nth/Doxyfile
-sofia-sip/libsofia-sip-ua/nth/Makefile
-sofia-sip/libsofia-sip-ua/nth/Makefile.in
-sofia-sip/libsofia-sip-ua/nth/nth_tag_ref.c
-sofia-sip/libsofia-sip-ua/nua/Doxyfile
-sofia-sip/libsofia-sip-ua/nua/Makefile
-sofia-sip/libsofia-sip-ua/nua/Makefile.in
-sofia-sip/libsofia-sip-ua/nua/nua_tag_ref.c
-sofia-sip/libsofia-sip-ua/sdp/Doxyfile
-sofia-sip/libsofia-sip-ua/sdp/Makefile
-sofia-sip/libsofia-sip-ua/sdp/Makefile.in
-sofia-sip/libsofia-sip-ua/sdp/sdp_tag_ref.c
-sofia-sip/libsofia-sip-ua/sip/Doxyfile
-sofia-sip/libsofia-sip-ua/sip/Makefile
-sofia-sip/libsofia-sip-ua/sip/Makefile.in
-sofia-sip/libsofia-sip-ua/sip/sip_parser_table.c
-sofia-sip/libsofia-sip-ua/sip/sip_tag.c
-sofia-sip/libsofia-sip-ua/sip/sip_tag_ref.c
-sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_extra.h
-sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_hclasses.h
-sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_protos.h
-sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h
-sofia-sip/libsofia-sip-ua/soa/Doxyfile
-sofia-sip/libsofia-sip-ua/soa/Makefile
-sofia-sip/libsofia-sip-ua/soa/Makefile.in
-sofia-sip/libsofia-sip-ua/soa/soa_tag_ref.c
-sofia-sip/libsofia-sip-ua/sresolv/Doxyfile
-sofia-sip/libsofia-sip-ua/sresolv/Makefile
-sofia-sip/libsofia-sip-ua/sresolv/Makefile.in
-sofia-sip/libsofia-sip-ua/stun/Doxyfile
-sofia-sip/libsofia-sip-ua/stun/Makefile
-sofia-sip/libsofia-sip-ua/stun/Makefile.in
-sofia-sip/libsofia-sip-ua/stun/stun_tag_ref.c
-sofia-sip/libsofia-sip-ua/stun/stunc
-sofia-sip/libsofia-sip-ua/su/Doxyfile
-sofia-sip/libsofia-sip-ua/su/Makefile
-sofia-sip/libsofia-sip-ua/su/Makefile.in
-sofia-sip/libsofia-sip-ua/su/addrinfo
-sofia-sip/libsofia-sip-ua/su/localinfo
-sofia-sip/libsofia-sip-ua/su/sofia-sip/stamp-h2
-sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h
-sofia-sip/libsofia-sip-ua/su/su_tag_ref.c
-sofia-sip/libsofia-sip-ua/tport/Doxyfile
-sofia-sip/libsofia-sip-ua/tport/Makefile
-sofia-sip/libsofia-sip-ua/tport/Makefile.in
-sofia-sip/libsofia-sip-ua/tport/tport_tag_ref.c
-sofia-sip/libsofia-sip-ua/url/Doxyfile
-sofia-sip/libsofia-sip-ua/url/Makefile
-sofia-sip/libsofia-sip-ua/url/Makefile.in
-sofia-sip/libsofia-sip-ua/url/url_tag_ref.c
-sofia-sip/libtool
-sofia-sip/ltmain.sh
-sofia-sip/missing
-sofia-sip/open_c/Makefile
-sofia-sip/open_c/Makefile.in
-sofia-sip/open_c/config.h
-sofia-sip/packages/Makefile
-sofia-sip/packages/Makefile.in
-sofia-sip/packages/sofia-sip-1.12.10devel.spec
-sofia-sip/packages/sofia-sip-ua-glib.pc
-sofia-sip/packages/sofia-sip-ua.pc
-sofia-sip/s2check/Makefile
-sofia-sip/s2check/Makefile.in
-sofia-sip/stamp-h1
-sofia-sip/tests/Makefile
-sofia-sip/tests/Makefile.in
-sofia-sip/utils/Doxyfile
-sofia-sip/utils/Makefile
-sofia-sip/utils/Makefile.in
-sofia-sip/win32/Makefile
-sofia-sip/win32/Makefile.in
-sofia-sip/win32/config.h
-spandsp/Makefile
-spandsp/Makefile.in
-spandsp/aclocal.m4
-spandsp/config-h.in
-spandsp/config.log
-spandsp/config.status
-spandsp/config/config.guess
-spandsp/config/config.sub
-spandsp/config/depcomp
-spandsp/config/install-sh
-spandsp/config/ltmain.sh
-spandsp/config/missing
-spandsp/configure
-spandsp/doc/Makefile
-spandsp/doc/Makefile.in
-spandsp/doc/doxygen
-spandsp/libtool
-spandsp/spandsp-sim/Makefile
-spandsp/spandsp-sim/Makefile.in
-spandsp/spandsp.pc
-spandsp/src/Makefile
-spandsp/src/Makefile.in
-spandsp/src/at_interpreter_dictionary.h
-spandsp/src/config.h
-spandsp/src/make_at_dictionary
-spandsp/src/make_modem_filter
-spandsp/src/spandsp.h
-spandsp/src/stamp-h1
-spandsp/src/v17_v32bis_rx_fixed_rrc.h
-spandsp/src/v17_v32bis_rx_floating_rrc.h
-spandsp/src/v17_v32bis_tx_fixed_rrc.h
-spandsp/src/v17_v32bis_tx_floating_rrc.h
-spandsp/src/v22bis_rx_1200_fixed_rrc.h
-spandsp/src/v22bis_rx_1200_floating_rrc.h
-spandsp/src/v22bis_rx_2400_fixed_rrc.h
-spandsp/src/v22bis_rx_2400_floating_rrc.h
-spandsp/src/v22bis_tx_fixed_rrc.h
-spandsp/src/v22bis_tx_floating_rrc.h
-spandsp/src/v27ter_rx_2400_fixed_rrc.h
-spandsp/src/v27ter_rx_2400_floating_rrc.h
-spandsp/src/v27ter_rx_4800_fixed_rrc.h
-spandsp/src/v27ter_rx_4800_floating_rrc.h
-spandsp/src/v27ter_tx_2400_fixed_rrc.h
-spandsp/src/v27ter_tx_2400_floating_rrc.h
-spandsp/src/v27ter_tx_4800_fixed_rrc.h
-spandsp/src/v27ter_tx_4800_floating_rrc.h
-spandsp/src/v29rx_fixed_rrc.h
-spandsp/src/v29rx_floating_rrc.h
-spandsp/src/v29tx_fixed_rrc.h
-spandsp/src/v29tx_floating_rrc.h
-spandsp/test-data/Makefile
-spandsp/test-data/Makefile.in
-spandsp/test-data/etsi/Makefile
-spandsp/test-data/etsi/Makefile.in
-spandsp/test-data/etsi/fax/Makefile
-spandsp/test-data/etsi/fax/Makefile.in
-spandsp/test-data/itu/Makefile
-spandsp/test-data/itu/Makefile.in
-spandsp/test-data/itu/fax/Makefile
-spandsp/test-data/itu/fax/Makefile.in
-spandsp/test-data/local/Makefile
-spandsp/test-data/local/Makefile.in
-spandsp/tests/Makefile
-spandsp/tests/Makefile.in
-speex/Makefile
-speex/Makefile.in
-speex/aclocal.m4
-speex/config.guess
-speex/config.h
-speex/config.h.in
-speex/config.log
-speex/config.status
-speex/config.sub
-speex/configure
-speex/depcomp
-speex/include/Makefile
-speex/include/Makefile.in
-speex/include/speex/Makefile
-speex/include/speex/Makefile.in
-speex/include/speex/speex_config_types.h
-speex/install-sh
-speex/libspeex/Makefile
-speex/libspeex/Makefile.in
-speex/libtool
-speex/ltmain.sh
-speex/missing
-speex/speex.pc
-speex/speexdsp.pc
-speex/src/Makefile
-speex/src/Makefile.in
-speex/stamp-h1
-speex/symbian/Makefile
-speex/symbian/Makefile.in
-speex/ti/Makefile
-speex/ti/Makefile.in
-speex/ti/speex_C54_test/Makefile
-speex/ti/speex_C54_test/Makefile.in
-speex/ti/speex_C55_test/Makefile
-speex/ti/speex_C55_test/Makefile.in
-speex/ti/speex_C64_test/Makefile
-speex/ti/speex_C64_test/Makefile.in
-speex/win32/Makefile
-speex/win32/Makefile.in
-speex/win32/VS2003/Makefile
-speex/win32/VS2003/Makefile.in
-speex/win32/VS2003/libspeex/Makefile
-speex/win32/VS2003/libspeex/Makefile.in
-speex/win32/VS2003/libspeexdsp/Makefile
-speex/win32/VS2003/libspeexdsp/Makefile.in
-speex/win32/VS2003/speexdec/Makefile
-speex/win32/VS2003/speexdec/Makefile.in
-speex/win32/VS2003/speexenc/Makefile
-speex/win32/VS2003/speexenc/Makefile.in
-speex/win32/VS2003/tests/Makefile
-speex/win32/VS2003/tests/Makefile.in
-speex/win32/VS2005/Makefile
-speex/win32/VS2005/Makefile.in
-speex/win32/VS2005/libspeex/Makefile
-speex/win32/VS2005/libspeex/Makefile.in
-speex/win32/VS2005/libspeexdsp/Makefile
-speex/win32/VS2005/libspeexdsp/Makefile.in
-speex/win32/VS2005/speexdec/Makefile
-speex/win32/VS2005/speexdec/Makefile.in
-speex/win32/VS2005/speexenc/Makefile
-speex/win32/VS2005/speexenc/Makefile.in
-speex/win32/VS2005/tests/Makefile
-speex/win32/VS2005/tests/Makefile.in
-speex/win32/VS2008/Makefile
-speex/win32/VS2008/Makefile.in
-speex/win32/VS2008/libspeex/Makefile
-speex/win32/VS2008/libspeex/Makefile.in
-speex/win32/VS2008/libspeexdsp/Makefile
-speex/win32/VS2008/libspeexdsp/Makefile.in
-speex/win32/VS2008/speexdec/Makefile
-speex/win32/VS2008/speexdec/Makefile.in
-speex/win32/VS2008/speexenc/Makefile
-speex/win32/VS2008/speexenc/Makefile.in
-speex/win32/VS2008/tests/Makefile
-speex/win32/VS2008/tests/Makefile.in
-speex/win32/libspeex/Makefile
-speex/win32/libspeex/Makefile.in
-speex/win32/speexdec/Makefile
-speex/win32/speexdec/Makefile.in
-speex/win32/speexenc/Makefile
-speex/win32/speexenc/Makefile.in
-sqlite/Makefile
-sqlite/aclocal.m4
-sqlite/config.guess
-sqlite/config.log
-sqlite/config.status
-sqlite/config.sub
-sqlite/configure
-sqlite/install-sh
-sqlite/keywordhash.h
-sqlite/lemon
-sqlite/lempar.c
-sqlite/libtool
-sqlite/ltmain.sh
-sqlite/missing
-sqlite/mkkeywordhash
-sqlite/opcodes.c
-sqlite/opcodes.h
-sqlite/parse.c
-sqlite/parse.h
-sqlite/parse.h.temp
-sqlite/parse.out
-sqlite/parse.y
-sqlite/sqlite3
-sqlite/sqlite3.h
-sqlite/sqlite3.pc
-srtp/Makefile
-srtp/Makefile.in
-srtp/aclocal.m4
-srtp/aes_tables
-srtp/build/config.guess
-srtp/build/config.sub
-srtp/build/depcomp
-srtp/build/install-sh
-srtp/build/ltmain.sh
-srtp/build/missing
-srtp/config.log
-srtp/config.status
-srtp/config_in.h
-srtp/configure
-srtp/crypto/Makefile
-srtp/crypto/include/config.h
-srtp/crypto/include/stamp-h1
-srtp/doc/Makefile
-srtp/libtool
-srtp/srtp-1.42.pc
-srtp/test/Makefile
-srtp/test/Makefile.in
-tiff-3.8.2/Makefile
-tiff-3.8.2/Makefile.in
-tiff-3.8.2/aclocal.m4
-tiff-3.8.2/config.log
-tiff-3.8.2/config.status
-tiff-3.8.2/config/config.guess
-tiff-3.8.2/config/config.sub
-tiff-3.8.2/config/install-sh
-tiff-3.8.2/config/ltmain.sh
-tiff-3.8.2/configure
-tiff-3.8.2/contrib/Makefile
-tiff-3.8.2/contrib/Makefile.in
-tiff-3.8.2/contrib/acorn/Makefile
-tiff-3.8.2/contrib/acorn/Makefile.in
-tiff-3.8.2/contrib/addtiffo/Makefile
-tiff-3.8.2/contrib/addtiffo/Makefile.in
-tiff-3.8.2/contrib/addtiffo/addtiffo
-tiff-3.8.2/contrib/dbs/Makefile
-tiff-3.8.2/contrib/dbs/Makefile.in
-tiff-3.8.2/contrib/dbs/tiff-bi
-tiff-3.8.2/contrib/dbs/tiff-grayscale
-tiff-3.8.2/contrib/dbs/tiff-palette
-tiff-3.8.2/contrib/dbs/tiff-rgb
-tiff-3.8.2/contrib/dbs/xtiff/Makefile
-tiff-3.8.2/contrib/dbs/xtiff/Makefile.in
-tiff-3.8.2/contrib/iptcutil/Makefile
-tiff-3.8.2/contrib/iptcutil/Makefile.in
-tiff-3.8.2/contrib/iptcutil/iptcutil
-tiff-3.8.2/contrib/mac-cw/Makefile
-tiff-3.8.2/contrib/mac-cw/Makefile.in
-tiff-3.8.2/contrib/mac-mpw/Makefile
-tiff-3.8.2/contrib/mac-mpw/Makefile.in
-tiff-3.8.2/contrib/mfs/Makefile
-tiff-3.8.2/contrib/mfs/Makefile.in
-tiff-3.8.2/contrib/ojpeg/Makefile
-tiff-3.8.2/contrib/ojpeg/Makefile.in
-tiff-3.8.2/contrib/pds/Makefile
-tiff-3.8.2/contrib/pds/Makefile.in
-tiff-3.8.2/contrib/ras/Makefile
-tiff-3.8.2/contrib/ras/Makefile.in
-tiff-3.8.2/contrib/stream/Makefile
-tiff-3.8.2/contrib/stream/Makefile.in
-tiff-3.8.2/contrib/tags/Makefile
-tiff-3.8.2/contrib/tags/Makefile.in
-tiff-3.8.2/contrib/win_dib/Makefile
-tiff-3.8.2/contrib/win_dib/Makefile.in
-tiff-3.8.2/html/Makefile
-tiff-3.8.2/html/Makefile.in
-tiff-3.8.2/html/images/Makefile
-tiff-3.8.2/html/images/Makefile.in
-tiff-3.8.2/html/man/Makefile
-tiff-3.8.2/html/man/Makefile.in
-tiff-3.8.2/libtiff/Makefile
-tiff-3.8.2/libtiff/Makefile.in
-tiff-3.8.2/libtiff/mkg3states
-tiff-3.8.2/libtiff/stamp-h1
-tiff-3.8.2/libtiff/stamp-h2
-tiff-3.8.2/libtiff/tif_config.h
-tiff-3.8.2/libtiff/tif_config.h.in
-tiff-3.8.2/libtiff/tiffconf.h
-tiff-3.8.2/libtool
-tiff-3.8.2/man/Makefile
-tiff-3.8.2/man/Makefile.in
-tiff-3.8.2/port/Makefile
-tiff-3.8.2/port/Makefile.in
-tiff-3.8.2/test/Makefile
-tiff-3.8.2/test/Makefile.in
-tiff-3.8.2/tools/Makefile
-tiff-3.8.2/tools/Makefile.in
-tiff-3.8.2/tools/bmp2tiff
-tiff-3.8.2/tools/fax2ps
-tiff-3.8.2/tools/fax2tiff
-tiff-3.8.2/tools/gif2tiff
-tiff-3.8.2/tools/pal2rgb
-tiff-3.8.2/tools/ppm2tiff
-tiff-3.8.2/tools/ras2tiff
-tiff-3.8.2/tools/raw2tiff
-tiff-3.8.2/tools/rgb2ycbcr
-tiff-3.8.2/tools/thumbnail
-tiff-3.8.2/tools/tiff2bw
-tiff-3.8.2/tools/tiff2pdf
-tiff-3.8.2/tools/tiff2ps
-tiff-3.8.2/tools/tiff2rgba
-tiff-3.8.2/tools/tiffcmp
-tiff-3.8.2/tools/tiffcp
-tiff-3.8.2/tools/tiffdither
-tiff-3.8.2/tools/tiffdump
-tiff-3.8.2/tools/tiffinfo
-tiff-3.8.2/tools/tiffmedian
-tiff-3.8.2/tools/tiffset
-tiff-3.8.2/tools/tiffsplit
-unimrcp/Makefile
-unimrcp/Makefile.in
-unimrcp/aclocal.m4
-unimrcp/build/Makefile
-unimrcp/build/Makefile.in
-unimrcp/build/config.guess
-unimrcp/build/config.sub
-unimrcp/build/depcomp
-unimrcp/build/install-sh
-unimrcp/build/ltmain.sh
-unimrcp/build/missing
-unimrcp/build/pkgconfig/Makefile
-unimrcp/build/pkgconfig/Makefile.in
-unimrcp/build/pkgconfig/unimrcpclient.pc
-unimrcp/build/pkgconfig/unimrcpplugin.pc
-unimrcp/build/pkgconfig/unimrcpserver.pc
-unimrcp/conf/Makefile
-unimrcp/conf/Makefile.in
-unimrcp/config.log
-unimrcp/config.status
-unimrcp/configure
-unimrcp/data/Makefile
-unimrcp/data/Makefile.in
-unimrcp/libs/Makefile
-unimrcp/libs/Makefile.in
-unimrcp/libs/apr-toolkit/Makefile
-unimrcp/libs/apr-toolkit/Makefile.in
-unimrcp/libs/mpf/Makefile
-unimrcp/libs/mpf/Makefile.in
-unimrcp/libs/mrcp-client/Makefile
-unimrcp/libs/mrcp-client/Makefile.in
-unimrcp/libs/mrcp-engine/Makefile
-unimrcp/libs/mrcp-engine/Makefile.in
-unimrcp/libs/mrcp-server/Makefile
-unimrcp/libs/mrcp-server/Makefile.in
-unimrcp/libs/mrcp-signaling/Makefile
-unimrcp/libs/mrcp-signaling/Makefile.in
-unimrcp/libs/mrcp/Makefile
-unimrcp/libs/mrcp/Makefile.in
-unimrcp/libs/mrcpv2-transport/Makefile
-unimrcp/libs/mrcpv2-transport/Makefile.in
-unimrcp/libs/uni-rtsp/Makefile
-unimrcp/libs/uni-rtsp/Makefile.in
-unimrcp/libtool
-unimrcp/modules/Makefile
-unimrcp/modules/Makefile.in
-unimrcp/modules/mrcp-sofiasip/Makefile
-unimrcp/modules/mrcp-sofiasip/Makefile.in
-unimrcp/modules/mrcp-unirtsp/Makefile
-unimrcp/modules/mrcp-unirtsp/Makefile.in
-unimrcp/platforms/Makefile
-unimrcp/platforms/Makefile.in
-unimrcp/platforms/asr-client/Makefile
-unimrcp/platforms/asr-client/Makefile.in
-unimrcp/platforms/libasr-client/Makefile
-unimrcp/platforms/libasr-client/Makefile.in
-unimrcp/platforms/libunimrcp-client/Makefile
-unimrcp/platforms/libunimrcp-client/Makefile.in
-unimrcp/platforms/libunimrcp-server/Makefile
-unimrcp/platforms/libunimrcp-server/Makefile.in
-unimrcp/platforms/umc/Makefile
-unimrcp/platforms/umc/Makefile.in
-unimrcp/platforms/unimrcp-client/Makefile
-unimrcp/platforms/unimrcp-client/Makefile.in
-unimrcp/platforms/unimrcp-server/Makefile
-unimrcp/platforms/unimrcp-server/Makefile.in
-unimrcp/plugins/Makefile
-unimrcp/plugins/Makefile.in
-unimrcp/plugins/demo-recog/Makefile
-unimrcp/plugins/demo-recog/Makefile.in
-unimrcp/plugins/demo-synth/Makefile
-unimrcp/plugins/demo-synth/Makefile.in
-unimrcp/plugins/mrcp-cepstral/Makefile
-unimrcp/plugins/mrcp-cepstral/Makefile.in
-unimrcp/plugins/mrcp-flite/Makefile
-unimrcp/plugins/mrcp-flite/Makefile.in
-unimrcp/plugins/mrcp-pocketsphinx/Makefile
-unimrcp/plugins/mrcp-pocketsphinx/Makefile.in
-unimrcp/plugins/mrcp-recorder/Makefile
-unimrcp/plugins/mrcp-recorder/Makefile.in
-unimrcp/tests/Makefile
-unimrcp/tests/Makefile.in
-unimrcp/tests/apttest/Makefile
-unimrcp/tests/apttest/Makefile.in
-unimrcp/tests/mpftest/Makefile
-unimrcp/tests/mpftest/Makefile.in
-unimrcp/tests/mrcptest/Makefile
-unimrcp/tests/mrcptest/Makefile.in
-unimrcp/tests/rtsptest/Makefile
-unimrcp/tests/rtsptest/Makefile.in
-unimrcp/tests/strtablegen/Makefile
-unimrcp/tests/strtablegen/Makefile.in
-xmlrpc-c/include/xmlrpc-c/config.h
-xmlrpc-c/stamp-h2
-xmlrpc-c/xmlrpc_amconfig.h
-xmlrpc-c/xmlrpc_config.h
-apr/build/install-sh
-js/install-sh
-js/nsprpub/lib/ds/libplds4.dylib
-js/nsprpub/lib/libc/src/libplc4.dylib
-js/nsprpub/pr/src/libnspr4.dylib
-libsndfile/M4/libtool.m4
-libsndfile/M4/ltoptions.m4
-libsndfile/M4/ltsugar.m4
-libsndfile/M4/ltversion.m4
-sofia-sip/m4/libtool.m4
-sofia-sip/m4/ltoptions.m4
-sofia-sip/m4/ltsugar.m4
-sofia-sip/m4/ltversion.m4
-sofia-sip/m4/lt~obsolete.m4
-sqlite/lemon.dSYM/
-sqlite/mkkeywordhash.dSYM/
-sqlite/sqlite3.dSYM/
-tiff-3.8.2/m4/libtool.m4
-tiff-3.8.2/m4/ltoptions.m4
-tiff-3.8.2/m4/ltsugar.m4
-tiff-3.8.2/m4/ltversion.m4
-tiff-3.8.2/m4/lt~obsolete.m4
-unimrcp/build/acmacros/libtool.m4
-unimrcp/build/acmacros/ltoptions.m4
-unimrcp/build/acmacros/ltsugar.m4
-unimrcp/build/acmacros/ltversion.m4
-unimrcp/build/acmacros/lt~obsolete.m4
-*.tar.gz
-celt-0.7.1/
-flite-1.3.99/
-freeradius-client-1.1.6/
-iksemel/test/tst-dom
-iksemel/test/tst-filter
-iksemel/test/tst-iks
-iksemel/test/tst-ikstack
-iksemel/test/tst-jid
-iksemel/test/tst-md5
-iksemel/test/tst-sax
-iksemel/test/tst-sha
-iksemel/tools/ikslint
-iksemel/tools/iksperf
-iksemel/tools/iksroster
-json-c-0.9/
-lame-3.97/
-libmemcached-0.32/
-libshout-2.2.2/
-mpg123/
-openldap-2.4.19/
-pocketsphinx-0.5.99/
-portaudio/bin-stamp
-portaudio/bin/
-portaudio/lib-stamp
-silk/Decoder
-silk/Encoder
-silk/signalCompare
-soundtouch-1.3.1/
-sphinxbase-0.4.99/
-unimrcp/platforms/asr-client/asrclient
-unimrcp/platforms/umc/umc
-unimrcp/platforms/unimrcp-client/unimrcpclient
-unimrcp/platforms/unimrcp-server/unimrcpserver
-yaml/config.h
-yaml/stamp-h1
-yaml/tests/example-deconstructor
-yaml/tests/example-deconstructor-alt
-yaml/tests/example-reformatter
-yaml/tests/example-reformatter-alt
-yaml/tests/run-dumper
-yaml/tests/run-emitter
-yaml/tests/run-loader
-yaml/tests/run-parser
-yaml/tests/run-scanner
-Communicator_semi_40.cd_semi_6000/
-libogg-1.1.3/
-pthreads-w32-2-7-0-release/
-sounds/
-sphinxbase-0.4.99/
-sofia-sip/libsofia-sip-ua/http/http_tag_dll.c
-sofia-sip/libsofia-sip-ua/iptsec/auth_tag_dll.c
-sofia-sip/libsofia-sip-ua/msg/msg_tag_dll.c
-sofia-sip/libsofia-sip-ua/msg/msg_tag_ref.c
-sofia-sip/libsofia-sip-ua/nea/nea_tag_dll.c
-sofia-sip/libsofia-sip-ua/nta/nta_tag_dll.c
-sofia-sip/libsofia-sip-ua/nth/nth_tag_dll.c
-sofia-sip/libsofia-sip-ua/nua/nua_tag_dll.c
-sofia-sip/libsofia-sip-ua/sdp/sdp_tag_dll.c
-sofia-sip/libsofia-sip-ua/sip/sip_tag_dll.c
-sofia-sip/libsofia-sip-ua/soa/soa_tag_dll.c
-sofia-sip/libsofia-sip-ua/stun/stun_tag_dll.c
-sofia-sip/libsofia-sip-ua/su/su_tag_dll.c
-sofia-sip/libsofia-sip-ua/tport/tport_tag_dll.c
-sofia-sip/libsofia-sip-ua/url/url_tag_dll.c
-win32/pcre/pcre_chartables.c
-apr-util/include/apu_config.h
-apr-util/include/apu_select_dbm.h
-include/
-js/nsprpub/pr/include/prcpucfg.h
-apr-util/xml/expat/lib/config.h
+/apr-util/.make.dirs
+/apr-util/Makefile
+/apr-util/apr-util.pc
+/apr-util/aprutil.exp
+/apr-util/apu-1-config
+/apr-util/build/apr_common.m4
+/apr-util/build/config.guess
+/apr-util/build/config.sub
+/apr-util/build/find_apr.m4
+/apr-util/build/get-version.sh
+/apr-util/build/install.sh
+/apr-util/build/pkg/pkginfo
+/apr-util/build/rules.mk
+/apr-util/config.log
+/apr-util/config.nice
+/apr-util/config.status
+/apr-util/configure
+/apr-util/export_vars.c
+/apr-util/export_vars.sh
+/apr-util/exports.c
+/apr-util/include/apr_ldap.h
+/apr-util/include/apu.h
+/apr-util/include/apu_want.h
+/apr-util/include/private/apu_config.h
+/apr-util/include/private/apu_config.h.in
+/apr-util/include/private/apu_select_dbm.h
+/apr-util/test/Makefile
+/apr-util/xml/expat/Makefile
+/apr-util/xml/expat/aclocal.m4
+/apr-util/xml/expat/config.h
+/apr-util/xml/expat/config.h.in
+/apr-util/xml/expat/config.log
+/apr-util/xml/expat/config.status
+/apr-util/xml/expat/configure
+/apr-util/xml/expat/conftools/ltmain.sh
+/apr-util/xml/expat/lib/Makefile
+/apr-util/xml/expat/lib/expat.h
+/apr-util/xml/expat/libtool
+/apr/.make.dirs
+/apr/Makefile
+/apr/aclocal.m4
+/apr/apr-1-config
+/apr/apr.exp
+/apr/apr.pc
+/apr/build/apr_rules.mk
+/apr/build/config.guess
+/apr/build/config.sub
+/apr/build/libtool.m4
+/apr/build/ltmain.sh
+/apr/build/pkg/pkginfo
+/apr/config.log
+/apr/config.nice
+/apr/config.status
+/apr/configure
+/apr/export_vars.c
+/apr/exports.c
+/apr/include/apr.h
+/apr/include/arch/unix/apr_private.h
+/apr/include/arch/unix/apr_private.h.in
+/apr/libtool
+/apr/test/Makefile
+/apr/test/internal/Makefile
+/broadvoice/Makefile
+/broadvoice/Makefile.in
+/broadvoice/aclocal.m4
+/broadvoice/broadvoice.pc
+/broadvoice/config-h.in
+/broadvoice/config.log
+/broadvoice/config.status
+/broadvoice/config/config.guess
+/broadvoice/config/config.sub
+/broadvoice/config/depcomp
+/broadvoice/config/install-sh
+/broadvoice/config/ltmain.sh
+/broadvoice/config/missing
+/broadvoice/configure
+/broadvoice/doc/Makefile
+/broadvoice/doc/Makefile.in
+/broadvoice/libtool
+/broadvoice/src/Makefile
+/broadvoice/src/Makefile.in
+/broadvoice/src/broadvoice.h
+/broadvoice/src/config.h
+/broadvoice/src/stamp-h1
+/broadvoice/tests/regression_tests.sh
+/curl/Makefile
+/curl/Makefile.in
+/curl/aclocal.m4
+/curl/config.guess
+/curl/config.log
+/curl/config.status
+/curl/config.sub
+/curl/configure
+/curl/curl-config
+/curl/depcomp
+/curl/include/Makefile
+/curl/include/Makefile.in
+/curl/include/curl/Makefile
+/curl/include/curl/Makefile.in
+/curl/install-sh
+/curl/lib/Makefile
+/curl/lib/Makefile.in
+/curl/lib/config.h
+/curl/lib/config.h.in
+/curl/lib/stamp-h1
+/curl/libcurl.pc
+/curl/libtool
+/curl/ltmain.sh
+/curl/missing
+/curl/packages/AIX/Makefile
+/curl/packages/AIX/Makefile.in
+/curl/packages/AIX/RPM/Makefile
+/curl/packages/AIX/RPM/Makefile.in
+/curl/packages/AIX/RPM/curl.spec
+/curl/packages/DOS/Makefile
+/curl/packages/DOS/Makefile.in
+/curl/packages/EPM/Makefile
+/curl/packages/EPM/Makefile.in
+/curl/packages/EPM/curl.list
+/curl/packages/Linux/Makefile
+/curl/packages/Linux/Makefile.in
+/curl/packages/Linux/RPM/Makefile
+/curl/packages/Linux/RPM/Makefile.in
+/curl/packages/Linux/RPM/curl-ssl.spec
+/curl/packages/Linux/RPM/curl.spec
+/curl/packages/Makefile
+/curl/packages/Makefile.in
+/curl/packages/Solaris/Makefile
+/curl/packages/Solaris/Makefile.in
+/curl/packages/Win32/Makefile
+/curl/packages/Win32/Makefile.in
+/curl/packages/Win32/cygwin/Makefile
+/curl/packages/Win32/cygwin/Makefile.in
+/curl/packages/vms/Makefile
+/curl/packages/vms/Makefile.in
+/curl/src/Makefile
+/curl/src/Makefile.in
+/curl/src/config.h
+/curl/src/stamp-h2
+/iksemel/Makefile
+/iksemel/Makefile.in
+/iksemel/aclocal.m4
+/iksemel/build/compile
+/iksemel/build/config.guess
+/iksemel/build/config.sub
+/iksemel/build/depcomp
+/iksemel/build/install-sh
+/iksemel/build/ltmain.sh
+/iksemel/build/missing
+/iksemel/config.log
+/iksemel/config.status
+/iksemel/configure
+/iksemel/doc/Makefile
+/iksemel/doc/Makefile.in
+/iksemel/iksemel.pc
+/iksemel/include/Makefile
+/iksemel/include/Makefile.in
+/iksemel/include/config.h
+/iksemel/include/config.h.in
+/iksemel/include/stamp-h1
+/iksemel/libtool
+/iksemel/src/Makefile
+/iksemel/src/Makefile.in
+/iksemel/test/Makefile
+/iksemel/test/Makefile.in
+/iksemel/tools/Makefile
+/iksemel/tools/Makefile.in
+/ilbc/Makefile
+/ilbc/Makefile.in
+/ilbc/aclocal.m4
+/ilbc/config-h.in
+/ilbc/config.log
+/ilbc/config.status
+/ilbc/config/config.guess
+/ilbc/config/config.sub
+/ilbc/config/depcomp
+/ilbc/config/install-sh
+/ilbc/config/ltmain.sh
+/ilbc/config/missing
+/ilbc/configure
+/ilbc/doc/Makefile
+/ilbc/doc/Makefile.in
+/ilbc/libtool
+/ilbc/localtests/Makefile
+/ilbc/localtests/Makefile.in
+/ilbc/src/Makefile
+/ilbc/src/Makefile.in
+/ilbc/src/config.h
+/ilbc/src/ilbc.h
+/ilbc/src/stamp-h1
+/ilbc/tests/Makefile
+/ilbc/tests/Makefile.in
+/js/nsprpub/lib/ds/libplds4.so.1
+/js/nsprpub/lib/libc/src/libplc4.so.1
+/js/nsprpub/pr/src/libnspr4.so.1
+/js/Makefile
+/js/aclocal.m4
+/js/config.guess
+/js/config.h
+/js/config.h.in
+/js/config.log
+/js/config.status
+/js/config.sub
+/js/configure
+/js/js
+/js/js-config.sh
+/js/js.pc
+/js/jscpucfg
+/js/libtool
+/js/ltmain.sh
+/js/nsprpub/Makefile
+/js/nsprpub/aclocal.m4
+/js/nsprpub/build/autoconf/config.guess
+/js/nsprpub/build/autoconf/config.sub
+/js/nsprpub/build/autoconf/install-sh
+/js/nsprpub/build/autoconf/ltmain.sh
+/js/nsprpub/build/autoconf/missing
+/js/nsprpub/config.log
+/js/nsprpub/config.status
+/js/nsprpub/config/Makefile
+/js/nsprpub/config/autoconf.mk
+/js/nsprpub/config/nfspwd
+/js/nsprpub/config/now
+/js/nsprpub/config/nsinstall
+/js/nsprpub/config/nspr-config
+/js/nsprpub/config/nsprincl.mk
+/js/nsprpub/config/nsprincl.sh
+/js/nsprpub/configure
+/js/nsprpub/dist/
+/js/nsprpub/lib/Makefile
+/js/nsprpub/lib/ds/Makefile
+/js/nsprpub/lib/ds/_pl_bld.h
+/js/nsprpub/lib/libc/Makefile
+/js/nsprpub/lib/libc/include/Makefile
+/js/nsprpub/lib/libc/src/Makefile
+/js/nsprpub/lib/libc/src/_pl_bld.h
+/js/nsprpub/lib/tests/Makefile
+/js/nsprpub/libtool
+/js/nsprpub/pkg/Makefile
+/js/nsprpub/pkg/linux/Makefile
+/js/nsprpub/pkg/solaris/Makefile
+/js/nsprpub/pkg/solaris/SUNWpr/Makefile
+/js/nsprpub/pkg/solaris/SUNWprd/Makefile
+/js/nsprpub/pr/Makefile
+/js/nsprpub/pr/include/Makefile
+/js/nsprpub/pr/include/md/Makefile
+/js/nsprpub/pr/include/obsolete/Makefile
+/js/nsprpub/pr/include/private/Makefile
+/js/nsprpub/pr/src/Makefile
+/js/nsprpub/pr/src/_pr_bld.h
+/js/nsprpub/pr/src/io/Makefile
+/js/nsprpub/pr/src/linking/Makefile
+/js/nsprpub/pr/src/malloc/Makefile
+/js/nsprpub/pr/src/md/Makefile
+/js/nsprpub/pr/src/md/unix/Makefile
+/js/nsprpub/pr/src/memory/Makefile
+/js/nsprpub/pr/src/misc/Makefile
+/js/nsprpub/pr/src/pthreads/Makefile
+/js/nsprpub/pr/src/threads/Makefile
+/js/nsprpub/pr/tests/Makefile
+/js/nsprpub/pr/tests/dll/Makefile
+/js/src/jsautocfg.h
+/js/src/perlconnect/Makefile.PL
+/libdingaling/Makefile
+/libdingaling/Makefile.in
+/libdingaling/aclocal.m4
+/libdingaling/build/compile
+/libdingaling/build/config.guess
+/libdingaling/build/config.sub
+/libdingaling/build/depcomp
+/libdingaling/build/install-sh
+/libdingaling/build/ltmain.sh
+/libdingaling/build/missing
+/libdingaling/config.log
+/libdingaling/config.status
+/libdingaling/configure
+/libdingaling/libtool
+/libdingaling/src/config.h
+/libdingaling/src/config.h.in
+/libdingaling/src/stamp-h1
+/libedit/Makefile
+/libedit/Makefile.in
+/libedit/aclocal.m4
+/libedit/config.guess
+/libedit/config.h
+/libedit/config.h.in
+/libedit/config.log
+/libedit/config.status
+/libedit/config.sub
+/libedit/configure
+/libedit/depcomp
+/libedit/doc/Makefile
+/libedit/doc/Makefile.in
+/libedit/doc/editline.3
+/libedit/doc/editrc.5
+/libedit/examples/Makefile
+/libedit/examples/Makefile.in
+/libedit/examples/fileman
+/libedit/examples/test
+/libedit/install-sh
+/libedit/libedit.pc
+/libedit/libtool
+/libedit/ltmain.sh
+/libedit/missing
+/libedit/src/Makefile
+/libedit/src/Makefile.in
+/libedit/src/common.h
+/libedit/src/emacs.h
+/libedit/src/fcns.c
+/libedit/src/fcns.h
+/libedit/src/help.c
+/libedit/src/help.h
+/libedit/src/vi.h
+/libedit/stamp-h1
+/libg722_1/Makefile
+/libg722_1/Makefile.in
+/libg722_1/aclocal.m4
+/libg722_1/config-h.in
+/libg722_1/config.log
+/libg722_1/config.status
+/libg722_1/config/config.guess
+/libg722_1/config/config.sub
+/libg722_1/config/install-sh
+/libg722_1/config/ltmain.sh
+/libg722_1/configure
+/libg722_1/doc/Makefile
+/libg722_1/doc/Makefile.in
+/libg722_1/g722_1.spec
+/libg722_1/libtool
+/libg722_1/src/Makefile
+/libg722_1/src/Makefile.in
+/libg722_1/src/config.h
+/libg722_1/src/dct4.h
+/libg722_1/src/g722_1.h
+/libg722_1/src/make_dct4_tables
+/libg722_1/src/make_tables
+/libg722_1/src/stamp-h1
+/libg722_1/test-data/Makefile
+/libg722_1/test-data/Makefile.in
+/libg722_1/test-data/itu/Makefile
+/libg722_1/test-data/itu/Makefile.in
+/libg722_1/test-data/local/Makefile
+/libg722_1/test-data/local/Makefile.in
+/libg722_1/tests/Makefile
+/libg722_1/tests/Makefile.in
+/libg722_1/tests/regression_tests.sh
+/libsndfile/Cfg/compile
+/libsndfile/Cfg/config.guess
+/libsndfile/Cfg/config.sub
+/libsndfile/Cfg/depcomp
+/libsndfile/Cfg/install-sh
+/libsndfile/Cfg/ltmain.sh
+/libsndfile/Cfg/missing
+/libsndfile/M4/Makefile
+/libsndfile/M4/Makefile.in
+/libsndfile/Makefile
+/libsndfile/Makefile.in
+/libsndfile/Octave/Makefile
+/libsndfile/Octave/Makefile.in
+/libsndfile/Win32/Makefile
+/libsndfile/Win32/Makefile.in
+/libsndfile/aclocal.m4
+/libsndfile/config.log
+/libsndfile/config.status
+/libsndfile/configure
+/libsndfile/doc/Makefile
+/libsndfile/doc/Makefile.in
+/libsndfile/examples/Makefile
+/libsndfile/examples/Makefile.in
+/libsndfile/libsndfile.spec
+/libsndfile/libtool
+/libsndfile/man/Makefile
+/libsndfile/man/Makefile.in
+/libsndfile/programs/Makefile
+/libsndfile/programs/Makefile.in
+/libsndfile/regtest/Makefile
+/libsndfile/regtest/Makefile.in
+/libsndfile/sndfile.pc
+/libsndfile/src/G72x/Makefile
+/libsndfile/src/G72x/Makefile.in
+/libsndfile/src/G72x/g72x_test
+/libsndfile/src/GSM610/Makefile
+/libsndfile/src/GSM610/Makefile.in
+/libsndfile/src/Makefile
+/libsndfile/src/Makefile.in
+/libsndfile/src/config.h
+/libsndfile/src/config.h.in
+/libsndfile/src/sndfile.h
+/libsndfile/src/stamp-h1
+/libsndfile/src/test_main
+/libsndfile/tests/Makefile
+/libsndfile/tests/Makefile.in
+/libsndfile/tests/test_wrapper.sh
+/openzap/COPYING
+/openzap/INSTALL
+/openzap/Makefile.in
+/openzap/build/compile
+/openzap/build/depcomp
+/openzap/build/install-sh
+/openzap/build/ltmain.sh
+/openzap/build/missing
+/openzap/openzap.pc
+/pcre/Makefile
+/pcre/Makefile.in
+/pcre/aclocal.m4
+/pcre/config.guess
+/pcre/config.h
+/pcre/config.h.in
+/pcre/config.log
+/pcre/config.status
+/pcre/config.sub
+/pcre/configure
+/pcre/install-sh
+/pcre/libpcre.pc
+/pcre/libpcrecpp.pc
+/pcre/libtool
+/pcre/ltmain.sh
+/pcre/missing
+/pcre/pcre-config
+/pcre/pcre_chartables.c
+/pcre/pcre_scanner_unittest
+/pcre/pcre_stringpiece.h
+/pcre/pcre_stringpiece_unittest
+/pcre/pcrecpp_unittest
+/pcre/pcrecpparg.h
+/pcre/pcregrep
+/pcre/pcretest
+/pcre/stamp-h1
+/portaudio/Makefile
+/portaudio/aclocal.m4
+/portaudio/config.guess
+/portaudio/config.log
+/portaudio/config.status
+/portaudio/config.sub
+/portaudio/configure
+/portaudio/install-sh
+/portaudio/libtool
+/portaudio/ltmain.sh
+/portaudio/missing
+/portaudio/portaudio-2.0.pc
+!/portaudio/bindings/cpp/build/gnu/aclocal.m4
+!/portaudio/bindings/cpp/build/gnu/configure
+/silk/Makefile
+/silk/Makefile.in
+/silk/aclocal.m4
+/silk/compile
+/silk/config.guess
+/silk/config.log
+/silk/config.status
+/silk/config.sub
+/silk/configure
+/silk/depcomp
+/silk/install-sh
+/silk/libtool
+/silk/ltmain.sh
+/silk/missing
+/sofia-sip/Makefile
+/sofia-sip/Makefile.in
+/sofia-sip/aclocal.m4
+/sofia-sip/compile
+/sofia-sip/config.guess
+/sofia-sip/config.h
+/sofia-sip/config.h.in
+/sofia-sip/config.log
+/sofia-sip/config.status
+/sofia-sip/config.sub
+/sofia-sip/configure
+/sofia-sip/depcomp
+/sofia-sip/install-sh
+/sofia-sip/libsofia-sip-ua-glib/Makefile
+/sofia-sip/libsofia-sip-ua-glib/Makefile.in
+/sofia-sip/libsofia-sip-ua-glib/su-glib/Doxyfile
+/sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile
+/sofia-sip/libsofia-sip-ua-glib/su-glib/Makefile.in
+/sofia-sip/libsofia-sip-ua/Makefile
+/sofia-sip/libsofia-sip-ua/Makefile.in
+/sofia-sip/libsofia-sip-ua/bnf/Doxyfile
+/sofia-sip/libsofia-sip-ua/bnf/Makefile
+/sofia-sip/libsofia-sip-ua/bnf/Makefile.in
+/sofia-sip/libsofia-sip-ua/docs/Doxyfile
+/sofia-sip/libsofia-sip-ua/docs/Doxyfile.rfc
+/sofia-sip/libsofia-sip-ua/docs/Doxyfile.version
+/sofia-sip/libsofia-sip-ua/docs/Makefile
+/sofia-sip/libsofia-sip-ua/docs/Makefile.in
+/sofia-sip/libsofia-sip-ua/docs/sofia-footer.html
+/sofia-sip/libsofia-sip-ua/features/Doxyfile
+/sofia-sip/libsofia-sip-ua/features/Makefile
+/sofia-sip/libsofia-sip-ua/features/Makefile.in
+/sofia-sip/libsofia-sip-ua/features/sofia-sip/sofia_features.h
+/sofia-sip/libsofia-sip-ua/http/Doxyfile
+/sofia-sip/libsofia-sip-ua/http/Makefile
+/sofia-sip/libsofia-sip-ua/http/Makefile.in
+/sofia-sip/libsofia-sip-ua/http/http_parser_table.c
+/sofia-sip/libsofia-sip-ua/http/http_tag.c
+/sofia-sip/libsofia-sip-ua/http/http_tag_ref.c
+/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_protos.h
+/sofia-sip/libsofia-sip-ua/http/sofia-sip/http_tag.h
+/sofia-sip/libsofia-sip-ua/ipt/Doxyfile
+/sofia-sip/libsofia-sip-ua/ipt/Makefile
+/sofia-sip/libsofia-sip-ua/ipt/Makefile.in
+/sofia-sip/libsofia-sip-ua/iptsec/Doxyfile
+/sofia-sip/libsofia-sip-ua/iptsec/Makefile
+/sofia-sip/libsofia-sip-ua/iptsec/Makefile.in
+/sofia-sip/libsofia-sip-ua/iptsec/auth_tag_ref.c
+/sofia-sip/libsofia-sip-ua/msg/Doxyfile
+/sofia-sip/libsofia-sip-ua/msg/Makefile
+/sofia-sip/libsofia-sip-ua/msg/Makefile.in
+/sofia-sip/libsofia-sip-ua/msg/msg_mime_table.c
+/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_mime_protos.h
+/sofia-sip/libsofia-sip-ua/msg/sofia-sip/msg_protos.h
+/sofia-sip/libsofia-sip-ua/msg/test_protos.h
+/sofia-sip/libsofia-sip-ua/msg/test_table.c
+/sofia-sip/libsofia-sip-ua/nea/Doxyfile
+/sofia-sip/libsofia-sip-ua/nea/Makefile
+/sofia-sip/libsofia-sip-ua/nea/Makefile.in
+/sofia-sip/libsofia-sip-ua/nea/nea_tag_ref.c
+/sofia-sip/libsofia-sip-ua/nta/Doxyfile
+/sofia-sip/libsofia-sip-ua/nta/Makefile
+/sofia-sip/libsofia-sip-ua/nta/Makefile.in
+/sofia-sip/libsofia-sip-ua/nta/nta_tag_ref.c
+/sofia-sip/libsofia-sip-ua/nth/Doxyfile
+/sofia-sip/libsofia-sip-ua/nth/Makefile
+/sofia-sip/libsofia-sip-ua/nth/Makefile.in
+/sofia-sip/libsofia-sip-ua/nth/nth_tag_ref.c
+/sofia-sip/libsofia-sip-ua/nua/Doxyfile
+/sofia-sip/libsofia-sip-ua/nua/Makefile
+/sofia-sip/libsofia-sip-ua/nua/Makefile.in
+/sofia-sip/libsofia-sip-ua/nua/nua_tag_ref.c
+/sofia-sip/libsofia-sip-ua/sdp/Doxyfile
+/sofia-sip/libsofia-sip-ua/sdp/Makefile
+/sofia-sip/libsofia-sip-ua/sdp/Makefile.in
+/sofia-sip/libsofia-sip-ua/sdp/sdp_tag_ref.c
+/sofia-sip/libsofia-sip-ua/sip/Doxyfile
+/sofia-sip/libsofia-sip-ua/sip/Makefile
+/sofia-sip/libsofia-sip-ua/sip/Makefile.in
+/sofia-sip/libsofia-sip-ua/sip/sip_parser_table.c
+/sofia-sip/libsofia-sip-ua/sip/sip_tag.c
+/sofia-sip/libsofia-sip-ua/sip/sip_tag_ref.c
+/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_extra.h
+/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_hclasses.h
+/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_protos.h
+/sofia-sip/libsofia-sip-ua/sip/sofia-sip/sip_tag.h
+/sofia-sip/libsofia-sip-ua/soa/Doxyfile
+/sofia-sip/libsofia-sip-ua/soa/Makefile
+/sofia-sip/libsofia-sip-ua/soa/Makefile.in
+/sofia-sip/libsofia-sip-ua/soa/soa_tag_ref.c
+/sofia-sip/libsofia-sip-ua/sresolv/Doxyfile
+/sofia-sip/libsofia-sip-ua/sresolv/Makefile
+/sofia-sip/libsofia-sip-ua/sresolv/Makefile.in
+/sofia-sip/libsofia-sip-ua/stun/Doxyfile
+/sofia-sip/libsofia-sip-ua/stun/Makefile
+/sofia-sip/libsofia-sip-ua/stun/Makefile.in
+/sofia-sip/libsofia-sip-ua/stun/stun_tag_ref.c
+/sofia-sip/libsofia-sip-ua/stun/stunc
+/sofia-sip/libsofia-sip-ua/su/Doxyfile
+/sofia-sip/libsofia-sip-ua/su/Makefile
+/sofia-sip/libsofia-sip-ua/su/Makefile.in
+/sofia-sip/libsofia-sip-ua/su/addrinfo
+/sofia-sip/libsofia-sip-ua/su/localinfo
+/sofia-sip/libsofia-sip-ua/su/sofia-sip/stamp-h2
+/sofia-sip/libsofia-sip-ua/su/sofia-sip/su_configure.h
+/sofia-sip/libsofia-sip-ua/su/su_tag_ref.c
+/sofia-sip/libsofia-sip-ua/tport/Doxyfile
+/sofia-sip/libsofia-sip-ua/tport/Makefile
+/sofia-sip/libsofia-sip-ua/tport/Makefile.in
+/sofia-sip/libsofia-sip-ua/tport/tport_tag_ref.c
+/sofia-sip/libsofia-sip-ua/url/Doxyfile
+/sofia-sip/libsofia-sip-ua/url/Makefile
+/sofia-sip/libsofia-sip-ua/url/Makefile.in
+/sofia-sip/libsofia-sip-ua/url/url_tag_ref.c
+/sofia-sip/libtool
+/sofia-sip/ltmain.sh
+/sofia-sip/missing
+/sofia-sip/open_c/Makefile
+/sofia-sip/open_c/Makefile.in
+/sofia-sip/open_c/config.h
+/sofia-sip/packages/Makefile
+/sofia-sip/packages/Makefile.in
+/sofia-sip/packages/sofia-sip-1.12.10devel.spec
+/sofia-sip/packages/sofia-sip-ua-glib.pc
+/sofia-sip/packages/sofia-sip-ua.pc
+/sofia-sip/s2check/Makefile
+/sofia-sip/s2check/Makefile.in
+/sofia-sip/stamp-h1
+/sofia-sip/tests/Makefile
+/sofia-sip/tests/Makefile.in
+/sofia-sip/utils/Doxyfile
+/sofia-sip/utils/Makefile
+/sofia-sip/utils/Makefile.in
+/sofia-sip/win32/Makefile
+/sofia-sip/win32/Makefile.in
+/sofia-sip/win32/config.h
+/spandsp/Makefile
+/spandsp/Makefile.in
+/spandsp/aclocal.m4
+/spandsp/config-h.in
+/spandsp/config.log
+/spandsp/config.status
+/spandsp/config/config.guess
+/spandsp/config/config.sub
+/spandsp/config/depcomp
+/spandsp/config/install-sh
+/spandsp/config/ltmain.sh
+/spandsp/config/missing
+/spandsp/configure
+/spandsp/doc/Makefile
+/spandsp/doc/Makefile.in
+/spandsp/doc/doxygen
+/spandsp/libtool
+/spandsp/spandsp-sim/Makefile
+/spandsp/spandsp-sim/Makefile.in
+/spandsp/spandsp.pc
+/spandsp/src/Makefile
+/spandsp/src/Makefile.in
+/spandsp/src/at_interpreter_dictionary.h
+/spandsp/src/config.h
+/spandsp/src/make_at_dictionary
+/spandsp/src/make_modem_filter
+/spandsp/src/spandsp.h
+/spandsp/src/stamp-h1
+/spandsp/src/v17_v32bis_rx_fixed_rrc.h
+/spandsp/src/v17_v32bis_rx_floating_rrc.h
+/spandsp/src/v17_v32bis_tx_fixed_rrc.h
+/spandsp/src/v17_v32bis_tx_floating_rrc.h
+/spandsp/src/v22bis_rx_1200_fixed_rrc.h
+/spandsp/src/v22bis_rx_1200_floating_rrc.h
+/spandsp/src/v22bis_rx_2400_fixed_rrc.h
+/spandsp/src/v22bis_rx_2400_floating_rrc.h
+/spandsp/src/v22bis_tx_fixed_rrc.h
+/spandsp/src/v22bis_tx_floating_rrc.h
+/spandsp/src/v27ter_rx_2400_fixed_rrc.h
+/spandsp/src/v27ter_rx_2400_floating_rrc.h
+/spandsp/src/v27ter_rx_4800_fixed_rrc.h
+/spandsp/src/v27ter_rx_4800_floating_rrc.h
+/spandsp/src/v27ter_tx_2400_fixed_rrc.h
+/spandsp/src/v27ter_tx_2400_floating_rrc.h
+/spandsp/src/v27ter_tx_4800_fixed_rrc.h
+/spandsp/src/v27ter_tx_4800_floating_rrc.h
+/spandsp/src/v29rx_fixed_rrc.h
+/spandsp/src/v29rx_floating_rrc.h
+/spandsp/src/v29tx_fixed_rrc.h
+/spandsp/src/v29tx_floating_rrc.h
+/spandsp/test-data/Makefile
+/spandsp/test-data/Makefile.in
+/spandsp/test-data/etsi/Makefile
+/spandsp/test-data/etsi/Makefile.in
+/spandsp/test-data/etsi/fax/Makefile
+/spandsp/test-data/etsi/fax/Makefile.in
+/spandsp/test-data/itu/Makefile
+/spandsp/test-data/itu/Makefile.in
+/spandsp/test-data/itu/fax/Makefile
+/spandsp/test-data/itu/fax/Makefile.in
+/spandsp/test-data/local/Makefile
+/spandsp/test-data/local/Makefile.in
+/spandsp/tests/Makefile
+/spandsp/tests/Makefile.in
+/speex/Makefile
+/speex/Makefile.in
+/speex/aclocal.m4
+/speex/config.guess
+/speex/config.h
+/speex/config.h.in
+/speex/config.log
+/speex/config.status
+/speex/config.sub
+/speex/configure
+/speex/depcomp
+/speex/include/Makefile
+/speex/include/Makefile.in
+/speex/include/speex/Makefile
+/speex/include/speex/Makefile.in
+/speex/include/speex/speex_config_types.h
+/speex/install-sh
+/speex/libspeex/Makefile
+/speex/libspeex/Makefile.in
+/speex/libtool
+/speex/ltmain.sh
+/speex/missing
+/speex/speex.pc
+/speex/speexdsp.pc
+/speex/src/Makefile
+/speex/src/Makefile.in
+/speex/stamp-h1
+/speex/symbian/Makefile
+/speex/symbian/Makefile.in
+/speex/ti/Makefile
+/speex/ti/Makefile.in
+/speex/ti/speex_C54_test/Makefile
+/speex/ti/speex_C54_test/Makefile.in
+/speex/ti/speex_C55_test/Makefile
+/speex/ti/speex_C55_test/Makefile.in
+/speex/ti/speex_C64_test/Makefile
+/speex/ti/speex_C64_test/Makefile.in
+/speex/win32/Makefile
+/speex/win32/Makefile.in
+/speex/win32/VS2003/Makefile
+/speex/win32/VS2003/Makefile.in
+/speex/win32/VS2003/libspeex/Makefile
+/speex/win32/VS2003/libspeex/Makefile.in
+/speex/win32/VS2003/libspeexdsp/Makefile
+/speex/win32/VS2003/libspeexdsp/Makefile.in
+/speex/win32/VS2003/speexdec/Makefile
+/speex/win32/VS2003/speexdec/Makefile.in
+/speex/win32/VS2003/speexenc/Makefile
+/speex/win32/VS2003/speexenc/Makefile.in
+/speex/win32/VS2003/tests/Makefile
+/speex/win32/VS2003/tests/Makefile.in
+/speex/win32/VS2005/Makefile
+/speex/win32/VS2005/Makefile.in
+/speex/win32/VS2005/libspeex/Makefile
+/speex/win32/VS2005/libspeex/Makefile.in
+/speex/win32/VS2005/libspeexdsp/Makefile
+/speex/win32/VS2005/libspeexdsp/Makefile.in
+/speex/win32/VS2005/speexdec/Makefile
+/speex/win32/VS2005/speexdec/Makefile.in
+/speex/win32/VS2005/speexenc/Makefile
+/speex/win32/VS2005/speexenc/Makefile.in
+/speex/win32/VS2005/tests/Makefile
+/speex/win32/VS2005/tests/Makefile.in
+/speex/win32/VS2008/Makefile
+/speex/win32/VS2008/Makefile.in
+/speex/win32/VS2008/libspeex/Makefile
+/speex/win32/VS2008/libspeex/Makefile.in
+/speex/win32/VS2008/libspeexdsp/Makefile
+/speex/win32/VS2008/libspeexdsp/Makefile.in
+/speex/win32/VS2008/speexdec/Makefile
+/speex/win32/VS2008/speexdec/Makefile.in
+/speex/win32/VS2008/speexenc/Makefile
+/speex/win32/VS2008/speexenc/Makefile.in
+/speex/win32/VS2008/tests/Makefile
+/speex/win32/VS2008/tests/Makefile.in
+/speex/win32/libspeex/Makefile
+/speex/win32/libspeex/Makefile.in
+/speex/win32/speexdec/Makefile
+/speex/win32/speexdec/Makefile.in
+/speex/win32/speexenc/Makefile
+/speex/win32/speexenc/Makefile.in
+/sqlite/Makefile
+/sqlite/aclocal.m4
+/sqlite/config.guess
+/sqlite/config.log
+/sqlite/config.status
+/sqlite/config.sub
+/sqlite/configure
+/sqlite/install-sh
+/sqlite/keywordhash.h
+/sqlite/lemon
+/sqlite/lempar.c
+/sqlite/libtool
+/sqlite/ltmain.sh
+/sqlite/missing
+/sqlite/mkkeywordhash
+/sqlite/opcodes.c
+/sqlite/opcodes.h
+/sqlite/parse.c
+/sqlite/parse.h
+/sqlite/parse.h.temp
+/sqlite/parse.out
+/sqlite/parse.y
+/sqlite/sqlite3
+/sqlite/sqlite3.h
+/sqlite/sqlite3.pc
+/srtp/Makefile
+/srtp/Makefile.in
+/srtp/aclocal.m4
+/srtp/aes_tables
+/srtp/build/config.guess
+/srtp/build/config.sub
+/srtp/build/depcomp
+/srtp/build/install-sh
+/srtp/build/ltmain.sh
+/srtp/build/missing
+/srtp/config.log
+/srtp/config.status
+/srtp/config_in.h
+/srtp/configure
+/srtp/crypto/Makefile
+/srtp/crypto/include/config.h
+/srtp/crypto/include/stamp-h1
+/srtp/doc/Makefile
+/srtp/libtool
+/srtp/srtp-1.42.pc
+/srtp/test/Makefile
+/srtp/test/Makefile.in
+/tiff-3.8.2/Makefile
+/tiff-3.8.2/Makefile.in
+/tiff-3.8.2/aclocal.m4
+/tiff-3.8.2/config.log
+/tiff-3.8.2/config.status
+/tiff-3.8.2/config/config.guess
+/tiff-3.8.2/config/config.sub
+/tiff-3.8.2/config/install-sh
+/tiff-3.8.2/config/ltmain.sh
+/tiff-3.8.2/configure
+/tiff-3.8.2/contrib/Makefile
+/tiff-3.8.2/contrib/Makefile.in
+/tiff-3.8.2/contrib/acorn/Makefile
+/tiff-3.8.2/contrib/acorn/Makefile.in
+/tiff-3.8.2/contrib/addtiffo/Makefile
+/tiff-3.8.2/contrib/addtiffo/Makefile.in
+/tiff-3.8.2/contrib/addtiffo/addtiffo
+/tiff-3.8.2/contrib/dbs/Makefile
+/tiff-3.8.2/contrib/dbs/Makefile.in
+/tiff-3.8.2/contrib/dbs/tiff-bi
+/tiff-3.8.2/contrib/dbs/tiff-grayscale
+/tiff-3.8.2/contrib/dbs/tiff-palette
+/tiff-3.8.2/contrib/dbs/tiff-rgb
+/tiff-3.8.2/contrib/dbs/xtiff/Makefile
+/tiff-3.8.2/contrib/dbs/xtiff/Makefile.in
+/tiff-3.8.2/contrib/iptcutil/Makefile
+/tiff-3.8.2/contrib/iptcutil/Makefile.in
+/tiff-3.8.2/contrib/iptcutil/iptcutil
+/tiff-3.8.2/contrib/mac-cw/Makefile
+/tiff-3.8.2/contrib/mac-cw/Makefile.in
+/tiff-3.8.2/contrib/mac-mpw/Makefile
+/tiff-3.8.2/contrib/mac-mpw/Makefile.in
+/tiff-3.8.2/contrib/mfs/Makefile
+/tiff-3.8.2/contrib/mfs/Makefile.in
+/tiff-3.8.2/contrib/ojpeg/Makefile
+/tiff-3.8.2/contrib/ojpeg/Makefile.in
+/tiff-3.8.2/contrib/pds/Makefile
+/tiff-3.8.2/contrib/pds/Makefile.in
+/tiff-3.8.2/contrib/ras/Makefile
+/tiff-3.8.2/contrib/ras/Makefile.in
+/tiff-3.8.2/contrib/stream/Makefile
+/tiff-3.8.2/contrib/stream/Makefile.in
+/tiff-3.8.2/contrib/tags/Makefile
+/tiff-3.8.2/contrib/tags/Makefile.in
+/tiff-3.8.2/contrib/win_dib/Makefile
+/tiff-3.8.2/contrib/win_dib/Makefile.in
+/tiff-3.8.2/html/Makefile
+/tiff-3.8.2/html/Makefile.in
+/tiff-3.8.2/html/images/Makefile
+/tiff-3.8.2/html/images/Makefile.in
+/tiff-3.8.2/html/man/Makefile
+/tiff-3.8.2/html/man/Makefile.in
+/tiff-3.8.2/libtiff/Makefile
+/tiff-3.8.2/libtiff/Makefile.in
+/tiff-3.8.2/libtiff/mkg3states
+/tiff-3.8.2/libtiff/stamp-h1
+/tiff-3.8.2/libtiff/stamp-h2
+/tiff-3.8.2/libtiff/tif_config.h
+/tiff-3.8.2/libtiff/tif_config.h.in
+/tiff-3.8.2/libtiff/tiffconf.h
+/tiff-3.8.2/libtool
+/tiff-3.8.2/man/Makefile
+/tiff-3.8.2/man/Makefile.in
+/tiff-3.8.2/port/Makefile
+/tiff-3.8.2/port/Makefile.in
+/tiff-3.8.2/test/Makefile
+/tiff-3.8.2/test/Makefile.in
+/tiff-3.8.2/tools/Makefile
+/tiff-3.8.2/tools/Makefile.in
+/tiff-3.8.2/tools/bmp2tiff
+/tiff-3.8.2/tools/fax2ps
+/tiff-3.8.2/tools/fax2tiff
+/tiff-3.8.2/tools/gif2tiff
+/tiff-3.8.2/tools/pal2rgb
+/tiff-3.8.2/tools/ppm2tiff
+/tiff-3.8.2/tools/ras2tiff
+/tiff-3.8.2/tools/raw2tiff
+/tiff-3.8.2/tools/rgb2ycbcr
+/tiff-3.8.2/tools/thumbnail
+/tiff-3.8.2/tools/tiff2bw
+/tiff-3.8.2/tools/tiff2pdf
+/tiff-3.8.2/tools/tiff2ps
+/tiff-3.8.2/tools/tiff2rgba
+/tiff-3.8.2/tools/tiffcmp
+/tiff-3.8.2/tools/tiffcp
+/tiff-3.8.2/tools/tiffdither
+/tiff-3.8.2/tools/tiffdump
+/tiff-3.8.2/tools/tiffinfo
+/tiff-3.8.2/tools/tiffmedian
+/tiff-3.8.2/tools/tiffset
+/tiff-3.8.2/tools/tiffsplit
+/unimrcp/Makefile
+/unimrcp/Makefile.in
+/unimrcp/aclocal.m4
+/unimrcp/build/Makefile
+/unimrcp/build/Makefile.in
+/unimrcp/build/config.guess
+/unimrcp/build/config.sub
+/unimrcp/build/depcomp
+/unimrcp/build/install-sh
+/unimrcp/build/ltmain.sh
+/unimrcp/build/missing
+/unimrcp/build/pkgconfig/Makefile
+/unimrcp/build/pkgconfig/Makefile.in
+/unimrcp/build/pkgconfig/unimrcpclient.pc
+/unimrcp/build/pkgconfig/unimrcpplugin.pc
+/unimrcp/build/pkgconfig/unimrcpserver.pc
+/unimrcp/conf/Makefile
+/unimrcp/conf/Makefile.in
+/unimrcp/config.log
+/unimrcp/config.status
+/unimrcp/configure
+/unimrcp/data/Makefile
+/unimrcp/data/Makefile.in
+/unimrcp/libs/Makefile
+/unimrcp/libs/Makefile.in
+/unimrcp/libs/apr-toolkit/Makefile
+/unimrcp/libs/apr-toolkit/Makefile.in
+/unimrcp/libs/mpf/Makefile
+/unimrcp/libs/mpf/Makefile.in
+/unimrcp/libs/mrcp-client/Makefile
+/unimrcp/libs/mrcp-client/Makefile.in
+/unimrcp/libs/mrcp-engine/Makefile
+/unimrcp/libs/mrcp-engine/Makefile.in
+/unimrcp/libs/mrcp-server/Makefile
+/unimrcp/libs/mrcp-server/Makefile.in
+/unimrcp/libs/mrcp-signaling/Makefile
+/unimrcp/libs/mrcp-signaling/Makefile.in
+/unimrcp/libs/mrcp/Makefile
+/unimrcp/libs/mrcp/Makefile.in
+/unimrcp/libs/mrcpv2-transport/Makefile
+/unimrcp/libs/mrcpv2-transport/Makefile.in
+/unimrcp/libs/uni-rtsp/Makefile
+/unimrcp/libs/uni-rtsp/Makefile.in
+/unimrcp/libtool
+/unimrcp/modules/Makefile
+/unimrcp/modules/Makefile.in
+/unimrcp/modules/mrcp-sofiasip/Makefile
+/unimrcp/modules/mrcp-sofiasip/Makefile.in
+/unimrcp/modules/mrcp-unirtsp/Makefile
+/unimrcp/modules/mrcp-unirtsp/Makefile.in
+/unimrcp/platforms/Makefile
+/unimrcp/platforms/Makefile.in
+/unimrcp/platforms/asr-client/Makefile
+/unimrcp/platforms/asr-client/Makefile.in
+/unimrcp/platforms/libasr-client/Makefile
+/unimrcp/platforms/libasr-client/Makefile.in
+/unimrcp/platforms/libunimrcp-client/Makefile
+/unimrcp/platforms/libunimrcp-client/Makefile.in
+/unimrcp/platforms/libunimrcp-server/Makefile
+/unimrcp/platforms/libunimrcp-server/Makefile.in
+/unimrcp/platforms/umc/Makefile
+/unimrcp/platforms/umc/Makefile.in
+/unimrcp/platforms/unimrcp-client/Makefile
+/unimrcp/platforms/unimrcp-client/Makefile.in
+/unimrcp/platforms/unimrcp-server/Makefile
+/unimrcp/platforms/unimrcp-server/Makefile.in
+/unimrcp/plugins/Makefile
+/unimrcp/plugins/Makefile.in
+/unimrcp/plugins/demo-recog/Makefile
+/unimrcp/plugins/demo-recog/Makefile.in
+/unimrcp/plugins/demo-synth/Makefile
+/unimrcp/plugins/demo-synth/Makefile.in
+/unimrcp/plugins/mrcp-cepstral/Makefile
+/unimrcp/plugins/mrcp-cepstral/Makefile.in
+/unimrcp/plugins/mrcp-flite/Makefile
+/unimrcp/plugins/mrcp-flite/Makefile.in
+/unimrcp/plugins/mrcp-pocketsphinx/Makefile
+/unimrcp/plugins/mrcp-pocketsphinx/Makefile.in
+/unimrcp/plugins/mrcp-recorder/Makefile
+/unimrcp/plugins/mrcp-recorder/Makefile.in
+/unimrcp/tests/Makefile
+/unimrcp/tests/Makefile.in
+/unimrcp/tests/apttest/Makefile
+/unimrcp/tests/apttest/Makefile.in
+/unimrcp/tests/mpftest/Makefile
+/unimrcp/tests/mpftest/Makefile.in
+/unimrcp/tests/mrcptest/Makefile
+/unimrcp/tests/mrcptest/Makefile.in
+/unimrcp/tests/rtsptest/Makefile
+/unimrcp/tests/rtsptest/Makefile.in
+/unimrcp/tests/strtablegen/Makefile
+/unimrcp/tests/strtablegen/Makefile.in
+/xmlrpc-c/include/xmlrpc-c/config.h
+/xmlrpc-c/stamp-h2
+/xmlrpc-c/xmlrpc_amconfig.h
+/xmlrpc-c/xmlrpc_config.h
+/apr/build/install-sh
+/js/install-sh
+/js/nsprpub/lib/ds/libplds4.dylib
+/js/nsprpub/lib/libc/src/libplc4.dylib
+/js/nsprpub/pr/src/libnspr4.dylib
+/libsndfile/M4/libtool.m4
+/libsndfile/M4/ltoptions.m4
+/libsndfile/M4/ltsugar.m4
+/libsndfile/M4/ltversion.m4
+/sofia-sip/m4/libtool.m4
+/sofia-sip/m4/ltoptions.m4
+/sofia-sip/m4/ltsugar.m4
+/sofia-sip/m4/ltversion.m4
+/sofia-sip/m4/lt~obsolete.m4
+/sqlite/lemon.dSYM/
+/sqlite/mkkeywordhash.dSYM/
+/sqlite/sqlite3.dSYM/
+/tiff-3.8.2/m4/libtool.m4
+/tiff-3.8.2/m4/ltoptions.m4
+/tiff-3.8.2/m4/ltsugar.m4
+/tiff-3.8.2/m4/ltversion.m4
+/tiff-3.8.2/m4/lt~obsolete.m4
+/unimrcp/build/acmacros/libtool.m4
+/unimrcp/build/acmacros/ltoptions.m4
+/unimrcp/build/acmacros/ltsugar.m4
+/unimrcp/build/acmacros/ltversion.m4
+/unimrcp/build/acmacros/lt~obsolete.m4
+/*.tar.gz
+/celt-0.7.1/
+/flite-1.3.99/
+/freeradius-client-1.1.6/
+/iksemel/test/tst-dom
+/iksemel/test/tst-filter
+/iksemel/test/tst-iks
+/iksemel/test/tst-ikstack
+/iksemel/test/tst-jid
+/iksemel/test/tst-md5
+/iksemel/test/tst-sax
+/iksemel/test/tst-sha
+/iksemel/tools/ikslint
+/iksemel/tools/iksperf
+/iksemel/tools/iksroster
+/json-c-0.9/
+/lame-3.97/
+/libmemcached-0.32/
+/libshout-2.2.2/
+/mpg123/
+/openldap-2.4.19/
+/pocketsphinx-0.5.99/
+/portaudio/bin-stamp
+/portaudio/bin/
+/portaudio/lib-stamp
+/silk/Decoder
+/silk/Encoder
+/silk/signalCompare
+/soundtouch-1.3.1/
+/sphinxbase-0.4.99/
+/unimrcp/platforms/asr-client/asrclient
+/unimrcp/platforms/umc/umc
+/unimrcp/platforms/unimrcp-client/unimrcpclient
+/unimrcp/platforms/unimrcp-server/unimrcpserver
+!/unimrcp/configure.gnu
+!/unimrcp/build/tools/unimrcpservice.exe.manifest
+/yaml/config.h
+/yaml/stamp-h1
+/yaml/tests/example-deconstructor
+/yaml/tests/example-deconstructor-alt
+/yaml/tests/example-reformatter
+/yaml/tests/example-reformatter-alt
+/yaml/tests/run-dumper
+/yaml/tests/run-emitter
+/yaml/tests/run-loader
+/yaml/tests/run-parser
+/yaml/tests/run-scanner
+!/yaml/aclocal.m4
+!/yaml/configure
+/Communicator_semi_40.cd_semi_6000/
+/libogg-1.1.3/
+/pthreads-w32-2-7-0-release/
+/sounds/
+/sphinxbase-0.4.99/
+/sofia-sip/libsofia-sip-ua/http/http_tag_dll.c
+/sofia-sip/libsofia-sip-ua/iptsec/auth_tag_dll.c
+/sofia-sip/libsofia-sip-ua/msg/msg_tag_dll.c
+/sofia-sip/libsofia-sip-ua/msg/msg_tag_ref.c
+/sofia-sip/libsofia-sip-ua/nea/nea_tag_dll.c
+/sofia-sip/libsofia-sip-ua/nta/nta_tag_dll.c
+/sofia-sip/libsofia-sip-ua/nth/nth_tag_dll.c
+/sofia-sip/libsofia-sip-ua/nua/nua_tag_dll.c
+/sofia-sip/libsofia-sip-ua/sdp/sdp_tag_dll.c
+/sofia-sip/libsofia-sip-ua/sip/sip_tag_dll.c
+/sofia-sip/libsofia-sip-ua/soa/soa_tag_dll.c
+/sofia-sip/libsofia-sip-ua/stun/stun_tag_dll.c
+/sofia-sip/libsofia-sip-ua/su/su_tag_dll.c
+/sofia-sip/libsofia-sip-ua/tport/tport_tag_dll.c
+/sofia-sip/libsofia-sip-ua/url/url_tag_dll.c
+/win32/pcre/pcre_chartables.c
+/apr-util/include/apu_config.h
+/apr-util/include/apu_select_dbm.h
+/include/
+/js/nsprpub/pr/include/prcpucfg.h
+/apr-util/xml/expat/lib/config.h
diff --git a/libs/freetdm/Makefile.am b/libs/freetdm/Makefile.am
index a90da6659e..b322d65138 100644
--- a/libs/freetdm/Makefile.am
+++ b/libs/freetdm/Makefile.am
@@ -72,7 +72,8 @@ $(SRC)/libteletone_detect.c \
$(SRC)/libteletone_generate.c \
$(SRC)/ftdm_buffer.c \
$(SRC)/ftdm_threadmutex.c \
-$(SRC)/ftdm_dso.c
+$(SRC)/ftdm_dso.c \
+$(SRC)/ftdm_cpu_monitor.c
library_include_HEADERS = \
$(SRC)/include/fsk.h \
@@ -90,7 +91,8 @@ $(SRC)/include/ftdm_buffer.h \
$(SRC)/include/ftdm_config.h \
$(SRC)/include/ftdm_threadmutex.h \
$(SRC)/include/ftdm_dso.h \
-$(SRC)/include/ftdm_types.h
+$(SRC)/include/ftdm_types.h \
+$(SRC)/include/ftdm_cpu_monitor.h
lib_LTLIBRARIES = libfreetdm.la
libfreetdm_la_CFLAGS = $(AM_CFLAGS) $(MY_CFLAGS)
diff --git a/libs/freetdm/mod_freetdm/mod_freetdm.c b/libs/freetdm/mod_freetdm/mod_freetdm.c
index 468bcf10de..3268e55926 100644
--- a/libs/freetdm/mod_freetdm/mod_freetdm.c
+++ b/libs/freetdm/mod_freetdm/mod_freetdm.c
@@ -2767,6 +2767,8 @@ void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stre
"type: %s\n"
"state: %s\n"
"last_state: %s\n"
+ "txgain: %3.2f\n"
+ "rxgain: %3.2f\n"
"cid_date: %s\n"
"cid_name: %s\n"
"cid_num: %s\n"
@@ -2782,6 +2784,8 @@ void dump_chan(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *stre
ftdm_chan_type2str(span->channels[chan_id]->type),
ftdm_channel_state2str(span->channels[chan_id]->state),
ftdm_channel_state2str(span->channels[chan_id]->last_state),
+ span->channels[chan_id]->txgain,
+ span->channels[chan_id]->rxgain,
span->channels[chan_id]->caller_data.cid_date,
span->channels[chan_id]->caller_data.cid_name,
span->channels[chan_id]->caller_data.cid_num.digits,
@@ -2808,6 +2812,8 @@ void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *
" %s\n"
" %s\n"
" %s\n"
+ " %3.2f\n"
+ " %3.2f\n"
" %s\n"
" %s\n"
" %s\n"
@@ -2824,6 +2830,8 @@ void dump_chan_xml(ftdm_span_t *span, uint32_t chan_id, switch_stream_handle_t *
ftdm_chan_type2str(span->channels[chan_id]->type),
ftdm_channel_state2str(span->channels[chan_id]->state),
ftdm_channel_state2str(span->channels[chan_id]->last_state),
+ span->channels[chan_id]->txgain,
+ span->channels[chan_id]->rxgain,
span->channels[chan_id]->caller_data.cid_date,
span->channels[chan_id]->caller_data.cid_name,
span->channels[chan_id]->caller_data.cid_num.digits,
@@ -3142,6 +3150,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_freetdm_load)
module_pool = pool;
ftdm_global_set_logger(ftdm_logger);
+
+ ftdm_cpu_monitor_disable();
if (ftdm_global_init() != FTDM_SUCCESS) {
ftdm_log(FTDM_LOG_ERROR, "Error loading FreeTDM\n");
diff --git a/libs/freetdm/src/ftdm_cpu_monitor.c b/libs/freetdm/src/ftdm_cpu_monitor.c
new file mode 100644
index 0000000000..eebf922b98
--- /dev/null
+++ b/libs/freetdm/src/ftdm_cpu_monitor.c
@@ -0,0 +1,271 @@
+/*
+ * Copyright (c) 2010, Sangoma Technologies
+ * Moises Silva
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of the original author; nor the names of any contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * Contributors:
+ * David Yat Sin
+ *
+ */
+
+#ifdef WIN32
+#define _WIN32_WINNT 0x0501 // To make GetSystemTimes visible in windows.h
+#include
+#else /* LINUX */
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#endif
+
+#include "freetdm.h"
+#include "ftdm_cpu_monitor.h"
+struct ftdm_cpu_monitor_stats
+{
+ /* bool, just used to retrieve the values for the first time and not calculate the percentage of idle time */
+ int valid_last_times;
+
+ /* last calculated percentage of idle time */
+ double last_percentage_of_idle_time;
+
+#ifdef __linux__
+ /* all of these are the Linux jiffies last retrieved count */
+ unsigned long long last_user_time;
+ unsigned long long last_system_time;
+ unsigned long long last_idle_time;
+
+ unsigned long long last_nice_time;
+ unsigned long long last_irq_time;
+ unsigned long long last_soft_irq_time;
+ unsigned long long last_io_wait_time;
+ unsigned long long last_steal_time;
+
+ /* /proc/stat file descriptor used to retrieve the counters */
+ int procfd;
+ int initd;
+#elif defined (WIN32) || defined (WIN64)
+ __int64 i64LastUserTime;
+ __int64 i64LastKernelTime;
+ __int64 i64LastIdleTime;
+#else
+/* Unsupported */
+#endif
+};
+
+#ifdef __linux__
+static ftdm_status_t ftdm_cpu_read_stats(struct ftdm_cpu_monitor_stats *p,
+ unsigned long long *user,
+ unsigned long long *nice,
+ unsigned long long *system,
+ unsigned long long *idle,
+ unsigned long long *iowait,
+ unsigned long long *irq,
+ unsigned long long *softirq,
+ unsigned long long *steal)
+{
+// the output of proc should not change that often from one kernel to other
+// see fs/proc/proc_misc.c or fs/proc/stat.c in the Linux kernel for more details
+// also man 5 proc is useful
+#define CPU_ELEMENTS 8 // change this if you change the format string
+#define CPU_INFO_FORMAT "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu"
+ static const char procfile[] = "/proc/stat";
+ int rc = 0;
+ int myerrno = 0;
+ int elements = 0;
+ const char *cpustr = NULL;
+ char statbuff[1024];
+
+ if (!p->initd) {
+ p->procfd = open(procfile, O_RDONLY, 0);
+ if(p->procfd == -1) {
+ ftdm_log(FTDM_LOG_ERROR, "Failed to open CPU statistics file %s: %s\n", procfile, strerror(myerrno));
+ return FTDM_FAIL;
+ }
+ p->initd = 1;
+ } else {
+ lseek(p->procfd, 0L, SEEK_SET);
+ }
+
+ rc = read(p->procfd, statbuff, sizeof(statbuff) - 1);
+ if (rc <= 0) {
+ myerrno = errno;
+ ftdm_log(FTDM_LOG_ERROR, "Failed to read CPU statistics file %s: %s\n", procfile, strerror(myerrno));
+ return FTDM_FAIL;
+ }
+
+ cpustr = strstr(statbuff, "cpu ");
+ if (!cpustr) {
+ ftdm_log(FTDM_LOG_ERROR, "wrong format for Linux proc cpu statistics: missing cpu string\n");
+ return FTDM_FAIL;
+ }
+
+ elements = sscanf(cpustr, CPU_INFO_FORMAT, user, nice, system, idle, iowait, irq, softirq, steal);
+ if (elements != CPU_ELEMENTS) {
+ ftdm_log(FTDM_LOG_ERROR, "wrong format for Linux proc cpu statistics: expected %d elements, but just found %d\n", CPU_ELEMENTS, elements);
+ return FTDM_FAIL;
+ }
+ return FTDM_SUCCESS;
+}
+#endif
+
+#ifdef __linux__
+FT_DECLARE(ftdm_status_t) ftdm_cpu_get_system_idle_time (struct ftdm_cpu_monitor_stats *p, double *idle_percentage)
+{
+ unsigned long long user, nice, system, idle, iowait, irq, softirq, steal;
+ unsigned long long usertime, kerneltime, idletime, totaltime, halftime;
+
+ if (ftdm_cpu_read_stats(p, &user, &nice, &system, &idle, &iowait, &irq, &softirq, &steal)) {
+ ftdm_log(FTDM_LOG_ERROR, "Failed to retrieve Linux CPU statistics\n");
+ return FTDM_FAIL;
+ }
+
+ if (!p->valid_last_times) {
+ // we dont strictly need to save all of them but I feel code is more clear if we do
+ p->valid_last_times = 1;
+ p->last_user_time = user;
+ p->last_nice_time = nice;
+ p->last_system_time = system;
+ p->last_irq_time = irq;
+ p->last_soft_irq_time = softirq;
+ p->last_io_wait_time = iowait;
+ p->last_steal_time = steal;
+ p->last_idle_time = idle;
+ p->last_percentage_of_idle_time = 100.0;
+ *idle_percentage = p->last_percentage_of_idle_time;
+ return FTDM_SUCCESS;
+ }
+
+ usertime = (user - p->last_user_time) + (nice - p->last_nice_time);
+ kerneltime = (system - p->last_system_time) + (irq - p->last_irq_time) + (softirq - p->last_soft_irq_time);
+ kerneltime += (iowait - p->last_io_wait_time);
+ kerneltime += (steal - p->last_steal_time);
+ idletime = (idle - p->last_idle_time);
+
+ totaltime = usertime + kerneltime + idletime;
+
+ if (totaltime <= 0) {
+ // this may happen if not enough time has elapsed and the jiffies counters are the same than the last time we checked
+ // jiffies depend on timer interrupts which depend on the number of HZ compile time setting of the kernel
+ // typical configs set HZ to 100 (that means, 100 jiffies updates per second, that is one each 10ms)
+ // avoid an arithmetic exception and return the same values
+ *idle_percentage = p->last_percentage_of_idle_time;
+ return FTDM_SUCCESS;
+ }
+
+ halftime = totaltime / 2UL;
+
+ p->last_percentage_of_idle_time = ((100 * idletime + halftime) / totaltime);
+ *idle_percentage = p->last_percentage_of_idle_time;
+
+ p->last_user_time = user;
+ p->last_nice_time = nice;
+ p->last_system_time = system;
+ p->last_irq_time = irq;
+ p->last_soft_irq_time = softirq;
+ p->last_io_wait_time = iowait;
+ p->last_steal_time = steal;
+ p->last_idle_time = idle;
+
+ return FTDM_SUCCESS;
+}
+
+#elif defined (WIN32) || defined (WIN64)
+FT_DECLARE(ftdm_status_t) ftdm_cpu_get_system_idle_time(struct ftdm_cpu_monitor_stats *p, double *idle_percentage)
+{
+ FILETIME idleTime;
+ FILETIME kernelTime;
+ FILETIME userTime;
+
+ if (!::GetSystemTimes(&idleTime, &kernelTime, &userTime)) {
+ return false;
+ }
+
+ __int64 i64UserTime = (__int64)userTime.dwLowDateTime | ((__int64)userTime.dwHighDateTime << 32);
+
+ __int64 i64KernelTime = (__int64)kernelTime.dwLowDateTime | ((__int64)kernelTime.dwHighDateTime << 32);
+
+ __int64 i64IdleTime = (__int64)idleTime.dwLowDateTime | ((__int64)idleTime.dwHighDateTime << 32);
+
+ if (p->valid_last_times) {
+ __int64 i64User = i64UserTime - p->i64LastUserTime;
+ __int64 i64Kernel = i64KernelTime - p->i64LastKernelTime;
+ __int64 i64Idle = i64IdleTime - p->i64LastIdleTime;
+ __int64 i64System = i64User + i64Kernel;
+ *idle_percentage = 100.0 * i64Idle / i64System;
+ } else {
+ *idle_percentage = 100.0;
+ p->valid_last_times = 1;
+ }
+
+ /* Remember current value for the next call */
+ p->i64LastUserTime = i64UserTime;
+ p->i64LastKernelTime = i64KernelTime;
+ p->i64LastIdleTime = i64IdleTime;
+
+ /* Success */
+ return FTDM_SUCCESS;
+}
+#else
+/* Unsupported */
+FT_DECLARE(ftdm_status_t) ftdm_cpu_get_system_idle_time(struct ftdm_cpu_monitor_stats *p, double *idle_percentage)
+{
+ return FTDM_FAIL;
+}
+#endif
+
+FT_DECLARE(struct ftdm_cpu_monitor_stats*) ftdm_new_cpu_monitor(void)
+{
+ return calloc(1, sizeof(struct ftdm_cpu_monitor_stats));
+}
+
+FT_DECLARE(void) ftdm_delete_cpu_monitor(struct ftdm_cpu_monitor_stats *p)
+{
+#ifdef __linux__
+ close(p->procfd);
+#endif
+ free(p);
+}
+
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:t
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4:
+ */
diff --git a/libs/freetdm/src/ftdm_io.c b/libs/freetdm/src/ftdm_io.c
index 6a1b21c6ad..82301c0a5c 100644
--- a/libs/freetdm/src/ftdm_io.c
+++ b/libs/freetdm/src/ftdm_io.c
@@ -48,6 +48,7 @@
#ifdef FTDM_PIKA_SUPPORT
#include "ftdm_pika.h"
#endif
+#include "ftdm_cpu_monitor.h"
#define SPAN_PENDING_CHANS_QUEUE_SIZE 1000
@@ -80,6 +81,16 @@ FT_DECLARE(ftdm_time_t) ftdm_current_time_in_ms(void)
#endif
}
+typedef struct {
+ uint8_t running;
+ uint8_t alarm;
+ uint32_t interval;
+ uint8_t alarm_action_flags;
+ uint8_t set_alarm_threshold;
+ uint8_t reset_alarm_threshold;
+ ftdm_interrupt_t *interrupt;
+} cpu_monitor_t;
+
static struct {
ftdm_hash_t *interface_hash;
ftdm_hash_t *module_hash;
@@ -93,8 +104,16 @@ static struct {
uint32_t running;
ftdm_span_t *spans;
ftdm_group_t *groups;
+ cpu_monitor_t cpu_monitor;
} globals;
+static uint8_t ftdm_cpu_monitor_disabled = 0;
+
+enum ftdm_enum_cpu_alarm_action_flags
+{
+ FTDM_CPU_ALARM_ACTION_WARN = (1 << 0),
+ FTDM_CPU_ALARM_ACTION_REJECT = (1 << 1)
+};
/* enum lookup funcs */
FTDM_ENUM_NAMES(TONEMAP_NAMES, TONEMAP_STRINGS)
@@ -412,7 +431,9 @@ static ftdm_status_t ftdm_span_destroy(ftdm_span_t *span)
}
/* destroy final basic resources of the span data structure */
- ftdm_queue_destroy(&span->pendingchans);
+ if (span->pendingchans) {
+ ftdm_queue_destroy(&span->pendingchans);
+ }
ftdm_mutex_unlock(span->mutex);
ftdm_mutex_destroy(&span->mutex);
ftdm_safe_free(span->signal_data);
@@ -518,9 +539,6 @@ FT_DECLARE(ftdm_status_t) ftdm_span_create(ftdm_io_interface_t *fio, ftdm_span_t
status = ftdm_mutex_create(&new_span->mutex);
ftdm_assert(status == FTDM_SUCCESS, "mutex creation failed\n");
- status = ftdm_queue_create(&new_span->pendingchans, SPAN_PENDING_CHANS_QUEUE_SIZE);
- ftdm_assert(status == FTDM_SUCCESS, "span chans queue creation failed\n");
-
ftdm_set_flag(new_span, FTDM_SPAN_CONFIGURED);
new_span->span_id = ++globals.span_index;
new_span->fio = fio;
@@ -1163,7 +1181,9 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_set_state(ftdm_channel_t *ftdmchan, ftdm_
ftdm_mutex_lock(ftdmchan->span->mutex);
ftdm_set_flag(ftdmchan->span, FTDM_SPAN_STATE_CHANGE);
- ftdm_queue_enqueue(ftdmchan->span->pendingchans, ftdmchan);
+ if (ftdmchan->span->pendingchans) {
+ ftdm_queue_enqueue(ftdmchan->span->pendingchans, ftdmchan);
+ }
ftdm_mutex_unlock(ftdmchan->span->mutex);
ftdmchan->last_state = ftdmchan->state;
@@ -1329,7 +1349,7 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_open_by_span(uint32_t span_id, ftdm_direc
return FTDM_FAIL;
}
- if (span->channel_request && !span->suggest_chan_id) {
+ if (span->channel_request && !ftdm_test_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID)) {
ftdm_set_caller_data(span, caller_data);
return span->channel_request(span, 0, direction, caller_data, ftdmchan);
}
@@ -1469,6 +1489,14 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_open_chan(ftdm_channel_t *ftdmchan)
snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", "Channel is alarmed\n");
return FTDM_FAIL;
}
+
+ if (globals.cpu_monitor.alarm &&
+ globals.cpu_monitor.alarm_action_flags & FTDM_CPU_ALARM_ACTION_REJECT) {
+ snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "%s", "CPU usage alarm is on - refusing to open channel\n");
+ ftdm_log(FTDM_LOG_WARNING, "CPU usage alarm is on - refusing to open channel\n");
+ ftdmchan->caller_data.hangup_cause = FTDM_CAUSE_SWITCH_CONGESTION;
+ return FTDM_FAIL;
+ }
if (!ftdm_test_flag(ftdmchan, FTDM_CHANNEL_READY) || (status = ftdm_mutex_trylock(ftdmchan->mutex)) != FTDM_SUCCESS) {
snprintf(ftdmchan->last_error, sizeof(ftdmchan->last_error), "Channel is not ready or is in use %d %d", ftdm_test_flag(ftdmchan, FTDM_CHANNEL_READY), status);
@@ -2006,7 +2034,6 @@ FT_DECLARE(ftdm_status_t) ftdm_channel_command(ftdm_channel_t *ftdmchan, ftdm_co
}
break;
- /* FIXME: validate user gain values */
case FTDM_COMMAND_SET_RX_GAIN:
{
ftdmchan->rxgain = FTDM_COMMAND_OBJ_FLOAT;
@@ -2798,6 +2825,24 @@ FT_DECLARE(char *) ftdm_api_execute(const char *type, const char *cmd)
return rval;
}
+static void ftdm_set_channels_gains(ftdm_span_t *span, int currindex, float rxgain, float txgain)
+{
+ unsigned chan_index = 0;
+
+ if (!span->chan_count) {
+ return;
+ }
+
+ for (chan_index = currindex+1; chan_index <= span->chan_count; chan_index++) {
+ if (!FTDM_IS_VOICE_CHANNEL(span->channels[chan_index])) {
+ continue;
+ }
+ ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_RX_GAIN, &rxgain);
+ ftdm_channel_command(span->channels[chan_index], FTDM_COMMAND_SET_TX_GAIN, &txgain);
+ }
+}
+
+
static ftdm_status_t ftdm_group_add_channels(const char* name, ftdm_span_t* span, int currindex);
static ftdm_status_t load_config(void)
@@ -2814,6 +2859,8 @@ static ftdm_status_t load_config(void)
char group_name[80] = "default";
ftdm_io_interface_t *fio = NULL;
ftdm_analog_start_type_t tmp;
+ float rxgain = 0.0;
+ float txgain = 0.0;
ftdm_size_t len = 0;
if (!ftdm_config_open_file(&cfg, cfg_name)) {
@@ -2921,6 +2968,7 @@ static ftdm_status_t load_config(void)
if (span->trunk_type == FTDM_TRUNK_FXO) {
currindex = span->chan_count;
configured += fio->configure_span(span, val, FTDM_CHAN_TYPE_FXO, name, number);
+ ftdm_set_channels_gains(span, currindex, rxgain, txgain);
ftdm_group_add_channels(group_name, span, currindex);
} else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add FXO channels to an FXS trunk!\n");
@@ -2934,6 +2982,7 @@ static ftdm_status_t load_config(void)
if (span->trunk_type == FTDM_TRUNK_FXS) {
currindex = span->chan_count;
configured += fio->configure_span(span, val, FTDM_CHAN_TYPE_FXS, name, number);
+ ftdm_set_channels_gains(span, currindex, rxgain, txgain);
ftdm_group_add_channels(group_name, span, currindex);
} else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add FXS channels to an FXO trunk!\n");
@@ -2947,6 +2996,7 @@ static ftdm_status_t load_config(void)
if (span->trunk_type == FTDM_TRUNK_EM) {
currindex = span->chan_count;
configured += fio->configure_span(span, val, FTDM_CHAN_TYPE_EM, name, number);
+ ftdm_set_channels_gains(span, currindex, rxgain, txgain);
ftdm_group_add_channels(group_name, span, currindex);
} else {
ftdm_log(FTDM_LOG_WARNING, "Cannot add EM channels to a non-EM trunk!\n");
@@ -2954,6 +3004,7 @@ static ftdm_status_t load_config(void)
} else if (!strcasecmp(var, "b-channel")) {
currindex = span->chan_count;
configured += fio->configure_span(span, val, FTDM_CHAN_TYPE_B, name, number);
+ ftdm_set_channels_gains(span, currindex, rxgain, txgain);
ftdm_group_add_channels(group_name, span, currindex);
} else if (!strcasecmp(var, "d-channel")) {
if (d) {
@@ -2972,10 +3023,19 @@ static ftdm_status_t load_config(void)
} else if (!strcasecmp(var, "cas-channel")) {
currindex = span->chan_count;
configured += fio->configure_span(span, val, FTDM_CHAN_TYPE_CAS, name, number);
+ ftdm_set_channels_gains(span, currindex, rxgain, txgain);
ftdm_group_add_channels(group_name, span, currindex);
} else if (!strcasecmp(var, "dtmf_hangup")) {
span->dtmf_hangup = ftdm_strdup(val);
span->dtmf_hangup_len = strlen(val);
+ } else if (!strcasecmp(var, "txgain")) {
+ if (sscanf(val, "%f", &txgain) != 1) {
+ ftdm_log(FTDM_LOG_ERROR, "invalid txgain: '%s'\n", val);
+ }
+ } else if (!strcasecmp(var, "rxgain")) {
+ if (sscanf(val, "%f", &rxgain) != 1) {
+ ftdm_log(FTDM_LOG_ERROR, "invalid rxgain: '%s'\n", val);
+ }
} else if (!strcasecmp(var, "group")) {
len = strlen(val);
if (len >= sizeof(group_name)) {
@@ -2987,6 +3047,44 @@ static ftdm_status_t load_config(void)
} else {
ftdm_log(FTDM_LOG_ERROR, "unknown span variable '%s'\n", var);
}
+ } else if (!strncasecmp(cfg.category, "general", 7)) {
+ if (!strncasecmp(var, "cpu_monitoring_interval", sizeof("cpu_monitoring_interval")-1)) {
+ if (atoi(val) > 0) {
+ globals.cpu_monitor.interval = atoi(val);
+ } else {
+ ftdm_log(FTDM_LOG_ERROR, "Invalid cpu monitoring interval %s\n", val);
+ }
+ } else if (!strncasecmp(var, "cpu_set_alarm_threshold", sizeof("cpu_set_alarm_threshold")-1)) {
+ if (atoi(val) > 0 && atoi(val) < 100) {
+ globals.cpu_monitor.set_alarm_threshold = atoi(val);
+ } else {
+ ftdm_log(FTDM_LOG_ERROR, "Invalid cpu alarm set threshold %s\n", val);
+ }
+ } else if (!strncasecmp(var, "cpu_reset_alarm_threshold", sizeof("cpu_reset_alarm_threshold")-1)) {
+ if (atoi(val) > 0 && atoi(val) < 100) {
+ globals.cpu_monitor.reset_alarm_threshold = atoi(val);
+ if (globals.cpu_monitor.reset_alarm_threshold > globals.cpu_monitor.set_alarm_threshold) {
+ globals.cpu_monitor.reset_alarm_threshold = globals.cpu_monitor.set_alarm_threshold - 10;
+ ftdm_log(FTDM_LOG_ERROR, "Cpu alarm reset threshold must be lower than set threshold"
+ ", setting threshold to %d\n", globals.cpu_monitor.reset_alarm_threshold);
+ }
+ } else {
+ ftdm_log(FTDM_LOG_ERROR, "Invalid cpu alarm reset threshold %s\n", val);
+ }
+ } else if (!strncasecmp(var, "cpu_alarm_action", sizeof("cpu_alarm_action")-1)) {
+ char* p = val;
+ do {
+ if (!strncasecmp(p, "reject", sizeof("reject")-1)) {
+ globals.cpu_monitor.alarm_action_flags |= FTDM_CPU_ALARM_ACTION_REJECT;
+ } else if (!strncasecmp(p, "warn", sizeof("warn")-1)) {
+ globals.cpu_monitor.alarm_action_flags |= FTDM_CPU_ALARM_ACTION_WARN;
+ }
+ p = strchr(p, ',');
+ if (p) {
+ while(*p++) if (*p != 0x20) break;
+ }
+ } while (p);
+ }
} else {
ftdm_log(FTDM_LOG_ERROR, "unknown param [%s] '%s' / '%s'\n", cfg.category, var, val);
}
@@ -3266,6 +3364,9 @@ FT_DECLARE(ftdm_status_t) ftdm_configure_span(const char *type, ftdm_span_t *spa
va_list ap;
va_start(ap, sig_cb);
status = mod->sig_configure(span, sig_cb, ap);
+ if (status == FTDM_SUCCESS && ftdm_test_flag(span, FTDM_SPAN_USE_CHAN_QUEUE)) {
+ status = ftdm_queue_create(&span->pendingchans, SPAN_PENDING_CHANS_QUEUE_SIZE);
+ }
va_end(ap);
} else {
ftdm_log(FTDM_LOG_ERROR, "can't find '%s'\n", type);
@@ -3512,6 +3613,85 @@ FT_DECLARE(ftdm_status_t) ftdm_span_send_signal(ftdm_span_t *span, ftdm_sigmsg_t
return status;
}
+static void *ftdm_cpu_monitor_run(ftdm_thread_t *me, void *obj)
+{
+ cpu_monitor_t *monitor = (cpu_monitor_t *)obj;
+ struct ftdm_cpu_monitor_stats *cpu_stats = ftdm_new_cpu_monitor();
+ if (!cpu_stats) {
+ return NULL;
+ }
+ monitor->running = 1;
+
+ while(ftdm_running()) {
+ double time;
+ if (ftdm_cpu_get_system_idle_time(cpu_stats, &time)) {
+ break;
+ }
+
+ if (monitor->alarm) {
+ if ((int)time >= (100 - monitor->set_alarm_threshold)) {
+ ftdm_log(FTDM_LOG_DEBUG, "CPU alarm OFF (idle:%d)\n", (int) time);
+ monitor->alarm = 0;
+ }
+ if (monitor->alarm_action_flags & FTDM_CPU_ALARM_ACTION_WARN) {
+ ftdm_log(FTDM_LOG_WARNING, "CPU alarm is ON (cpu usage:%d)\n", (int) (100-time));
+ }
+ } else {
+ if ((int)time <= (100-monitor->reset_alarm_threshold)) {
+ ftdm_log(FTDM_LOG_DEBUG, "CPU alarm ON (idle:%d)\n", (int) time);
+ monitor->alarm = 1;
+ }
+ }
+ ftdm_interrupt_wait(monitor->interrupt, monitor->interval);
+ }
+
+ ftdm_delete_cpu_monitor(cpu_stats);
+ monitor->running = 0;
+ return NULL;
+}
+
+static ftdm_status_t ftdm_cpu_monitor_start(void)
+{
+ if (ftdm_interrupt_create(&globals.cpu_monitor.interrupt, FTDM_INVALID_SOCKET) != FTDM_SUCCESS) {
+ ftdm_log(FTDM_LOG_CRIT, "Failed to create CPU monitor interrupt\n");
+ return FTDM_FAIL;
+ }
+
+ if (ftdm_thread_create_detached(ftdm_cpu_monitor_run, &globals.cpu_monitor) != FTDM_SUCCESS) {
+ ftdm_log(FTDM_LOG_CRIT, "Failed to create cpu monitor thread!!\n");
+ return FTDM_FAIL;
+ }
+ return FTDM_SUCCESS;
+}
+
+static void ftdm_cpu_monitor_stop(void)
+{
+ if (!globals.cpu_monitor.interrupt) {
+ return;
+ }
+
+ if (!globals.cpu_monitor.running) {
+ return;
+ }
+
+ if (ftdm_interrupt_signal(globals.cpu_monitor.interrupt) != FTDM_SUCCESS) {
+ ftdm_log(FTDM_LOG_CRIT, "Failed to interrupt the CPU monitor\n");
+ return;
+ }
+
+ while (globals.cpu_monitor.running) {
+ ftdm_sleep(10);
+ }
+
+ ftdm_interrupt_destroy(&globals.cpu_monitor.interrupt);
+}
+
+FT_DECLARE(void) ftdm_cpu_monitor_disable(void)
+{
+ ftdm_cpu_monitor_disabled = 1;
+}
+
+
FT_DECLARE(ftdm_status_t) ftdm_global_init(void)
{
memset(&globals, 0, sizeof(globals));
@@ -3534,14 +3714,34 @@ FT_DECLARE(ftdm_status_t) ftdm_global_init(void)
FT_DECLARE(ftdm_status_t) ftdm_global_configuration(void)
{
- int modcount = ftdm_load_modules();
+ int modcount = 0;
+
+ if (!globals.running) {
+ return FTDM_FAIL;
+ }
+
+ modcount = ftdm_load_modules();
+
ftdm_log(FTDM_LOG_NOTICE, "Modules configured: %d \n", modcount);
+ globals.cpu_monitor.interval = 1000;
+ globals.cpu_monitor.alarm_action_flags = FTDM_CPU_ALARM_ACTION_WARN | FTDM_CPU_ALARM_ACTION_REJECT;
+ globals.cpu_monitor.set_alarm_threshold = 80;
+ globals.cpu_monitor.reset_alarm_threshold = 70;
+
if (load_config() != FTDM_SUCCESS) {
globals.running = 0;
ftdm_log(FTDM_LOG_ERROR, "FreeTDM global configuration failed!\n");
return FTDM_FAIL;
}
+
+ if (!ftdm_cpu_monitor_disabled) {
+ if (ftdm_cpu_monitor_start() != FTDM_SUCCESS) {
+ return FTDM_FAIL;
+ }
+ }
+
+
return FTDM_SUCCESS;
}
@@ -3559,6 +3759,8 @@ FT_DECLARE(ftdm_status_t) ftdm_global_destroy(void)
globals.running = 0;
+ ftdm_cpu_monitor_stop();
+
globals.span_index = 0;
ftdm_span_close_all();
diff --git a/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c b/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
index 3445599d13..e980ab8936 100644
--- a/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
+++ b/libs/freetdm/src/ftmod/ftmod_isdn/ftmod_isdn.c
@@ -2385,7 +2385,7 @@ static FIO_SIG_CONFIGURE_FUNCTION(ftdm_isdn_configure_span)
if ((isdn_data->opts & FTDM_ISDN_OPT_SUGGEST_CHANNEL)) {
span->channel_request = isdn_channel_request;
- span->suggest_chan_id = 1;
+ ftdm_set_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID);
}
span->state_map = &isdn_state_map;
diff --git a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
index 929a874657..871769e49e 100644
--- a/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
+++ b/libs/freetdm/src/ftmod/ftmod_libpri/ftmod_libpri.c
@@ -1331,7 +1331,7 @@ static FIO_SIG_CONFIGURE_FUNCTION(ftdm_libpri_configure_span)
if ((isdn_data->opts & FTMOD_LIBPRI_OPT_SUGGEST_CHANNEL)) {
span->channel_request = isdn_channel_request;
- span->suggest_chan_id = 1;
+ ftdm_set_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID);
}
span->state_map = &isdn_state_map;
diff --git a/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c b/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c
index e7317e3679..baaa301818 100644
--- a/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c
+++ b/libs/freetdm/src/ftmod/ftmod_sangoma_boost/ftmod_sangoma_boost.c
@@ -880,8 +880,8 @@ static __inline__ void advance_chan_states(ftdm_channel_t *ftdmchan);
*/
static void handle_call_start(ftdm_span_t *span, sangomabc_connection_t *mcon, sangomabc_event_t *event)
{
- ftdm_channel_t *ftdmchan;
-
+ ftdm_channel_t *ftdmchan = NULL;
+ int hangup_cause = FTDM_CAUSE_CALL_REJECTED;
if (!(ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 0))) {
if ((ftdmchan = find_ftdmchan(span, (sangomabc_short_event_t*)event, 1))) {
int r;
@@ -896,7 +896,7 @@ static void handle_call_start(ftdm_span_t *span, sangomabc_connection_t *mcon, s
}
ftdm_set_sflag(ftdmchan, SFLAG_SENT_FINAL_MSG);
- ftdmchan=NULL;
+ ftdmchan = NULL;
}
ftdm_log(FTDM_LOG_CRIT, "START CANT FIND CHAN %d:%d\n", event->span+1,event->chan+1);
goto error;
@@ -953,12 +953,13 @@ static void handle_call_start(ftdm_span_t *span, sangomabc_connection_t *mcon, s
return;
error:
+ hangup_cause = ftdmchan ? ftdmchan->caller_data.hangup_cause : FTDM_CAUSE_REQUESTED_CHAN_UNAVAIL;
sangomabc_exec_command(mcon,
event->span,
event->chan,
0,
SIGBOOST_EVENT_CALL_START_NACK,
- 0, 0);
+ hangup_cause, 0);
}
@@ -2239,7 +2240,8 @@ static FIO_CONFIGURE_SPAN_SIGNALING_FUNCTION(ftdm_sangoma_boost_configure_span)
span->get_span_sig_status = sangoma_boost_get_span_sig_status;
span->set_span_sig_status = sangoma_boost_set_span_sig_status;
span->state_map = &boost_state_map;
- span->suggest_chan_id = 0;
+ ftdm_clear_flag(span, FTDM_SPAN_SUGGEST_CHAN_ID);
+ ftdm_set_flag(span, FTDM_SPAN_USE_CHAN_QUEUE);
if (sigmod_iface) {
/* the core will do the hunting */
span->channel_request = NULL;
diff --git a/libs/freetdm/src/include/freetdm.h b/libs/freetdm/src/include/freetdm.h
index 0900c62800..0b8b43dbf8 100644
--- a/libs/freetdm/src/include/freetdm.h
+++ b/libs/freetdm/src/include/freetdm.h
@@ -654,7 +654,6 @@ struct ftdm_span {
char *type;
char *dtmf_hangup;
size_t dtmf_hangup_len;
- int suggest_chan_id;
ftdm_state_map_t *state_map;
ftdm_caller_data_t default_caller_data;
ftdm_queue_t *pendingchans;
@@ -825,6 +824,7 @@ FT_DECLARE(ftdm_status_t) ftdm_span_find_by_name(const char *name, ftdm_span_t *
FT_DECLARE(char *) ftdm_api_execute(const char *type, const char *cmd);
FT_DECLARE(int) ftdm_vasprintf(char **ret, const char *fmt, va_list ap);
FT_DECLARE(ftdm_status_t) ftdm_channel_set_caller_data(ftdm_channel_t *ftdmchan, ftdm_caller_data_t *caller_data);
+FT_DECLARE(void) ftdm_cpu_monitor_disable(void);
FIO_CODEC_FUNCTION(fio_slin2ulaw);
FIO_CODEC_FUNCTION(fio_ulaw2slin);
diff --git a/libs/freetdm/src/include/ftdm_cpu_monitor.h b/libs/freetdm/src/include/ftdm_cpu_monitor.h
new file mode 100644
index 0000000000..5d6bfb7eba
--- /dev/null
+++ b/libs/freetdm/src/include/ftdm_cpu_monitor.h
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2010, Sangoma Technologies
+ * Moises Silva
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * * Neither the name of the original author; nor the names of any contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ *
+ * Contributors:
+ * David Yat Sin
+ *
+ */
+
+/*! \brief opaque cpu stats structure */
+struct ftdm_cpu_monitor_stats;
+
+/*!
+ * \brief create a new cpu monitor
+ * \return profile timer structure previously created with new_profile_timer, NULL on error
+ */
+FT_DECLARE(struct ftdm_cpu_monitor_stats*) ftdm_new_cpu_monitor(void);
+
+/*!
+ * \brief Deletes cpu_monitor
+ */
+FT_DECLARE(void) ftdm_delete_cpu_monitor(struct ftdm_cpu_monitor_stats *p);
+
+/*!
+ * \brief provides the percentage of idle system time
+ * \param p cpu_stats structure previously created with ftdm_new_cpu_monitor
+ * \param pointer to store the percentage of idle time
+ * \return -1 on error 0 for success
+ */
+FT_DECLARE(ftdm_status_t) ftdm_cpu_get_system_idle_time (struct ftdm_cpu_monitor_stats *p, double *idle_percentage);
+
+
+
+
+
+/* For Emacs:
+ * Local Variables:
+ * mode:c
+ * indent-tabs-mode:t
+ * tab-width:4
+ * c-basic-offset:4
+ * End:
+ * For VIM:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4:
+ */
diff --git a/libs/freetdm/src/include/ftdm_types.h b/libs/freetdm/src/include/ftdm_types.h
index 7260358c8f..cf12bc9a2c 100644
--- a/libs/freetdm/src/include/ftdm_types.h
+++ b/libs/freetdm/src/include/ftdm_types.h
@@ -325,7 +325,9 @@ typedef enum {
FTDM_SPAN_STATE_CHANGE = (1 << 2),
FTDM_SPAN_SUSPENDED = (1 << 3),
FTDM_SPAN_IN_THREAD = (1 << 4),
- FTDM_SPAN_STOP_THREAD = (1 << 5)
+ FTDM_SPAN_STOP_THREAD = (1 << 5),
+ FTDM_SPAN_USE_CHAN_QUEUE = (1 << 6),
+ FTDM_SPAN_SUGGEST_CHAN_ID = (1 << 7),
} ftdm_span_flag_t;
typedef enum {
diff --git a/libs/unimrcp/.gitignore b/libs/unimrcp/.gitignore
index b4bc3851b3..90ec22bee1 100644
--- a/libs/unimrcp/.gitignore
+++ b/libs/unimrcp/.gitignore
@@ -1,4 +1 @@
.svn
-.gitignore
-.update
-configure.gnu
diff --git a/src/.gitignore b/src/.gitignore
index 888b8d6a75..ed77c405bc 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -1,9 +1,9 @@
-Makefile
-Makefile.in
-include/stamp-h1
-include/switch_am_config.h
-include/switch_private.h
-include/switch_private.h.in
-include/switch_swigable_cpp.h
-include/switch_version.h
-include/switch_version.h.in
+/Makefile
+/Makefile.in
+/include/stamp-h1
+/include/switch_am_config.h
+/include/switch_private.h
+/include/switch_private.h.in
+/include/switch_swigable_cpp.h
+/include/switch_version.h
+/include/switch_version.h.in
diff --git a/src/mod/.gitignore b/src/mod/.gitignore
index 0edc647bec..9961a54104 100644
--- a/src/mod/.gitignore
+++ b/src/mod/.gitignore
@@ -1,59 +1,59 @@
-Makefile
-Makefile.in
-applications/mod_commands/Makefile
-applications/mod_conference/Makefile
-applications/mod_dptools/Makefile
-applications/mod_enum/Makefile
-applications/mod_enum/Makefile.in
-applications/mod_enum/mod_enum.log
-applications/mod_expr/Makefile
-applications/mod_expr/Makefile.in
-applications/mod_expr/mod_expr.log
-applications/mod_fifo/Makefile
-applications/mod_fsv/Makefile
-applications/mod_limit/Makefile
-applications/mod_stress/Makefile
-applications/mod_stress/Makefile.in
-applications/mod_t38gateway/Makefile
-applications/mod_t38gateway/Makefile.in
-applications/mod_valet_parking/Makefile
-applications/mod_voicemail/Makefile
-asr_tts/mod_unimrcp/Makefile
-asr_tts/mod_unimrcp/Makefile.in
-dialplans/mod_dialplan_asterisk/Makefile
-dialplans/mod_dialplan_xml/Makefile
-endpoints/mod_portaudio/Makefile
-endpoints/mod_portaudio/Makefile.in
-endpoints/mod_skinny/Makefile
-endpoints/mod_skinny/Makefile.in
-endpoints/mod_skypopen/Makefile
-endpoints/mod_skypopen/Makefile.in
-endpoints/mod_sofia/Makefile
-endpoints/mod_sofia/Makefile.in
-endpoints/mod_sofia/mod_sofia.log
-event_handlers/mod_erlang_event/Makefile
-event_handlers/mod_event_socket/Makefile
-formats/mod_native_file/Makefile
-formats/mod_portaudio_stream/Makefile
-formats/mod_portaudio_stream/Makefile.in
-formats/mod_tone_stream/Makefile
-languages/mod_java/Makefile
-languages/mod_lua/Makefile
-languages/mod_lua/Makefile.in
-languages/mod_lua/mod_lua.log
-languages/mod_python/Makefile
-languages/mod_spidermonkey/Makefile
-languages/mod_spidermonkey/Makefile.in
-languages/mod_spidermonkey/mod_spidermonkey.log
-loggers/mod_console/Makefile
-loggers/mod_logfile/Makefile
-loggers/mod_syslog/Makefile
-say/mod_say_en/Makefile
-say/mod_say_ru/Makefile
-applications/mod_stress/mod_stress.log
-asr_tts/mod_unimrcp/mod_unimrcp.log
-endpoints/mod_portaudio/mod_portaudio.log
-endpoints/mod_skypopen/mod_skypopen.log
-formats/mod_portaudio_stream/mod_portaudio_stream.log
-languages/mod_java/freeswitch.jar
-languages/mod_managed/freeswitch_wrap.cpp
+/Makefile
+/Makefile.in
+/applications/mod_commands/Makefile
+/applications/mod_conference/Makefile
+/applications/mod_dptools/Makefile
+/applications/mod_enum/Makefile
+/applications/mod_enum/Makefile.in
+/applications/mod_enum/mod_enum.log
+/applications/mod_expr/Makefile
+/applications/mod_expr/Makefile.in
+/applications/mod_expr/mod_expr.log
+/applications/mod_fifo/Makefile
+/applications/mod_fsv/Makefile
+/applications/mod_limit/Makefile
+/applications/mod_stress/Makefile
+/applications/mod_stress/Makefile.in
+/applications/mod_t38gateway/Makefile
+/applications/mod_t38gateway/Makefile.in
+/applications/mod_valet_parking/Makefile
+/applications/mod_voicemail/Makefile
+/asr_tts/mod_unimrcp/Makefile
+/asr_tts/mod_unimrcp/Makefile.in
+/dialplans/mod_dialplan_asterisk/Makefile
+/dialplans/mod_dialplan_xml/Makefile
+/endpoints/mod_portaudio/Makefile
+/endpoints/mod_portaudio/Makefile.in
+/endpoints/mod_skinny/Makefile
+/endpoints/mod_skinny/Makefile.in
+/endpoints/mod_skypopen/Makefile
+/endpoints/mod_skypopen/Makefile.in
+/endpoints/mod_sofia/Makefile
+/endpoints/mod_sofia/Makefile.in
+/endpoints/mod_sofia/mod_sofia.log
+/event_handlers/mod_erlang_event/Makefile
+/event_handlers/mod_event_socket/Makefile
+/formats/mod_native_file/Makefile
+/formats/mod_portaudio_stream/Makefile
+/formats/mod_portaudio_stream/Makefile.in
+/formats/mod_tone_stream/Makefile
+/languages/mod_java/Makefile
+/languages/mod_lua/Makefile
+/languages/mod_lua/Makefile.in
+/languages/mod_lua/mod_lua.log
+/languages/mod_python/Makefile
+/languages/mod_spidermonkey/Makefile
+/languages/mod_spidermonkey/Makefile.in
+/languages/mod_spidermonkey/mod_spidermonkey.log
+/loggers/mod_console/Makefile
+/loggers/mod_logfile/Makefile
+/loggers/mod_syslog/Makefile
+/say/mod_say_en/Makefile
+/say/mod_say_ru/Makefile
+/applications/mod_stress/mod_stress.log
+/asr_tts/mod_unimrcp/mod_unimrcp.log
+/endpoints/mod_portaudio/mod_portaudio.log
+/endpoints/mod_skypopen/mod_skypopen.log
+/formats/mod_portaudio_stream/mod_portaudio_stream.log
+/languages/mod_java/freeswitch.jar
+/languages/mod_managed/freeswitch_wrap.cpp
diff --git a/src/mod/applications/mod_distributor/.gitignore b/src/mod/applications/mod_distributor/.gitignore
new file mode 100644
index 0000000000..f3c7a7c5da
--- /dev/null
+++ b/src/mod/applications/mod_distributor/.gitignore
@@ -0,0 +1 @@
+Makefile
diff --git a/src/mod/applications/mod_snapshot/.gitignore b/src/mod/applications/mod_snapshot/.gitignore
new file mode 100644
index 0000000000..f3c7a7c5da
--- /dev/null
+++ b/src/mod/applications/mod_snapshot/.gitignore
@@ -0,0 +1 @@
+Makefile
diff --git a/src/mod/applications/mod_vmd/.gitignore b/src/mod/applications/mod_vmd/.gitignore
new file mode 100644
index 0000000000..f3c7a7c5da
--- /dev/null
+++ b/src/mod/applications/mod_vmd/.gitignore
@@ -0,0 +1 @@
+Makefile
diff --git a/src/mod/asr_tts/mod_tts_commandline/.gitignore b/src/mod/asr_tts/mod_tts_commandline/.gitignore
new file mode 100644
index 0000000000..f3c7a7c5da
--- /dev/null
+++ b/src/mod/asr_tts/mod_tts_commandline/.gitignore
@@ -0,0 +1 @@
+Makefile
diff --git a/src/mod/endpoints/mod_gsmopen/.gitignore b/src/mod/endpoints/mod_gsmopen/.gitignore
new file mode 100644
index 0000000000..9fdeeb1412
--- /dev/null
+++ b/src/mod/endpoints/mod_gsmopen/.gitignore
@@ -0,0 +1,2 @@
+!/gsmlib/gsmlib-*/aclocal.m4
+!/gsmlib/gsmlib-*/configure
diff --git a/src/mod/event_handlers/mod_event_test/.gitignore b/src/mod/event_handlers/mod_event_test/.gitignore
new file mode 100644
index 0000000000..f3c7a7c5da
--- /dev/null
+++ b/src/mod/event_handlers/mod_event_test/.gitignore
@@ -0,0 +1 @@
+Makefile