2 # Copyright (C) 2017 Sebastian Kemper <sebastian_ml@gmx.net>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
12 PKG_RELEASE
:=$(AUTORELEASE
)
13 PKG_MAINTAINER
:=Sebastian Kemper
<sebastian_ml@gmx.net
>
15 PKG_SOURCE
:=freeswitch-
$(PKG_VERSION
).
-release.
tar.xz
16 PKG_SOURCE_URL
:=https
://files.freeswitch.org
/releases
/freeswitch
17 PKG_HASH
:=1176b26b2f463de2980e5be953f81ced94d23c784452bd41e086d3933a88be5f
19 PKG_CPE_ID
:=cpe
:/a
:freeswitch
:freeswitch
21 PKG_BUILD_DIR
:=$(BUILD_DIR
)/freeswitch-
$(PKG_VERSION
).
-release
23 PKG_BUILD_DEPENDS
:=perl
/host
52 PKG_LICENSE_FILES
:=debian
/copyright
54 FS_DATA_DIR
:=/usr
/share
/freeswitch
57 FS_EXAMPLES_DIR
:=$(FS_DATA_DIR
)/examples
58 FS_FONTS_DIR
:=$(FS_DATA_DIR
)/fonts
59 FS_GRAMMAR_DIR
:=$(FS_DATA_DIR
)/grammar
60 FS_HTDOCS_DIR
:=$(FS_DATA_DIR
)/htdocs
61 FS_IMAGES_DIR
:=$(FS_DATA_DIR
)/images
62 FS_INCLUDES_DIR
:=/usr
/include/freeswitch
63 FS_LANG_DIR
:=$(FS_DATA_DIR
)/lang
65 FS_MOD_DIR
:=$(FS_LIB_DIR
)/freeswitch
/mod
66 FS_PKGCONFIG_DIR
:=$(FS_LIB_DIR
)/pkgconfig
67 FS_SCRIPTS_DIR
:=$(FS_DATA_DIR
)/scripts
68 FS_SOUNDS_DIR
:=$(FS_DATA_DIR
)/sounds
70 FS_TLS_DIR
:=$(FS_SYSCONF_DIR
)/freeswitch
/tls
71 FS_TZ_DIR
:=$(FS_DATA_DIR
)/tz
214 PKG_CONFIG_DEPENDS
:= \
215 $(patsubst %,CONFIG_PACKAGE_freeswitch-mod-
%,$(subst _
,-,$(FS_MOD_AVAILABLE
))) \
216 CONFIG_FS_WITH_DEBUG \
217 CONFIG_FS_WITH_FREETYPE \
218 CONFIG_FS_WITH_LIBYUV \
219 CONFIG_FS_WITH_ODBC \
221 CONFIG_FS_WITH_SRTP \
223 CONFIG_FS_WITH_ZRTP \
225 CONFIG_PACKAGE_freeswitch-misc-perl-esl \
226 CONFIG_PACKAGE_freeswitch-misc-python3-esl \
229 include $(INCLUDE_DIR
)/package.mk
231 include $(INCLUDE_DIR
)/nls.mk
233 FS_PERL_FEED
:=$(TOPDIR
)/feeds
/packages
/lang
/perl
235 include $(TOPDIR
)/feeds
/packages
/lang
/python
/python3-version.mk
236 include $(FS_PERL_FEED
)/perlver.mk
238 # https://github.com/signalwire/freeswitch/issues/1670
239 TARGET_CFLAGS
+=-Wno-error
=address
241 # Allow compiling with OpenSSL 3.0
242 TARGET_CFLAGS
+=-Wno-error
=deprecated-declarations
244 PERL_SITELIB
:=/usr
/lib
/perl
$(PERL_MAJOR
)/$(PERL_VERSION2
)
246 FS_PERL_LIBS
:=$(shell grep
"^libs=" \
247 $(FS_PERL_FEED
)/files
/base.config | \
248 sed
"s/^libs=//;s/'//g")
250 FS_PYTHON3_SITE_DIR
:=$(FS_LIB_DIR
)/python
$(PYTHON3_VERSION
)/site-packages
252 define Download
/files
262 $$(eval
$$(call Download
,$(1)))
265 define Package
/freeswitch
/enable
/plugin
266 $(SED
) '/$(1)$$$$/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
269 define Package
/freeswitch
/install/bin
270 $(INSTALL_DIR
) $(1)$(FS_BIN_DIR
)
271 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)$(FS_BIN_DIR
)/$(2) \
275 define Package
/freeswitch
/install/dir
276 if
[ -d
$(2) ]; then
$(INSTALL_DIR
) $(1); fi
277 for
dir in
$$$$(shell [ -d
$(2) ] && cd
$(2) && $(FIND
) -type d
-print | sed
's|^./\?||'); \
279 $(INSTALL_DIR
) $(1)/$$$$$$$$dir; \
281 for file in
$$$$(shell [ -d
$(2) ] && cd
$(2) && $(FIND
) -type f
-print | sed
's|^./||'); \
283 $(INSTALL_DATA
) $(2)/$$$$$$$$file $(1)/$$$$$$$$file; \
287 define Package
/freeswitch
/install/lib
288 $(INSTALL_DIR
) $(1)$(FS_LIB_DIR
)
289 $(CP
) $(PKG_INSTALL_DIR
)$(FS_LIB_DIR
)/$(2).so.
* \
293 define Package
/freeswitch
/install/mod
294 $(INSTALL_DIR
) $(1)$(FS_MOD_DIR
)
295 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)$(FS_MOD_DIR
)/mod_
$(2).so \
299 define Package
/freeswitch
/config
300 source
"$(SOURCE)/Config.in"
303 define Package
/freeswitch
/Default
307 URL
:=https
://www.freeswitch.org
310 # Note: shadow deps are a bit strange; you need to select shadow-utils
311 # package first for shadow-su to be selected, even though the
312 # shadow-utils package later becomes a no-op.
313 define Package
/freeswitch
314 $(call Package
/freeswitch
/Default
)
315 TITLE
:=Open source telephony platform
, v
$(PKG_VERSION
)
317 USERID
:=freeswitch
=372:freeswitch
=372
321 +!BUSYBOX_DEFAULT_SU
:shadow-utils \
322 +!BUSYBOX_DEFAULT_SU
:shadow-su \
323 +@OPENSSL_WITH_DEPRECATED \
324 +FS_WITH_FREETYPE
:libfreetype \
325 +FS_WITH_ODBC
:unixodbc \
326 +FS_WITH_PNG
:libpng \
342 define Package
/freeswitch
/description
343 FreeSWITCH is a scalable open source cross-platform telephony platform
344 designed to route and interconnect popular communication protocols
345 using audio
, video
, text or any other form of media.
348 define Package
/freeswitch
/conffiles
349 $(FS_SYSCONF_DIR
)/freeswitch
350 $(FS_SYSCONF_DIR
)/config
/freeswitch
351 $(FS_SYSCONF_DIR
)/init.d
/freeswitch
354 define Package
/freeswitch
/install
355 $(call Package
/freeswitch
/install/bin
,$(1),freeswitch
)
356 $(call Package
/freeswitch
/install/lib
,$(1),libfreeswitch
)
357 $(INSTALL_DIR
) $(1)$(FS_FONTS_DIR
)
358 $(INSTALL_DIR
) $(1)$(FS_GRAMMAR_DIR
)
359 $(INSTALL_DIR
) $(1)$(FS_HTDOCS_DIR
)
360 $(INSTALL_DIR
) $(1)$(FS_IMAGES_DIR
)
361 $(INSTALL_DIR
) $(1)$(FS_SCRIPTS_DIR
)
362 $(INSTALL_DIR
) $(1)$(FS_SOUNDS_DIR
)
363 $(INSTALL_DIR
) $(1)$(FS_SYSCONF_DIR
)/config
364 $(INSTALL_DIR
) $(1)$(FS_SYSCONF_DIR
)/hotplug.d
/iface
365 $(INSTALL_DIR
) $(1)$(FS_SYSCONF_DIR
)/init.d
366 $(INSTALL_DIR
) $(1)$(FS_TLS_DIR
)
367 $(INSTALL_BIN
) .
/files
/freeswitch.init \
368 $(1)$(FS_SYSCONF_DIR
)/init.d
/freeswitch
369 $(INSTALL_BIN
) .
/files
/freeswitch.hotplug \
370 $(1)$(FS_SYSCONF_DIR
)/hotplug.d
/iface
/90-freeswitch
371 $(INSTALL_CONF
) .
/files
/freeswitch.conf \
372 $(1)$(FS_SYSCONF_DIR
)/config
/freeswitch
375 define Package
/freeswitch
/postinst
377 if
[ -z
"$${IPKG_INSTROOT}" ]; then
379 echo
"o-------------------------------------------------------------------o"
380 echo
"| FreeSWITCH note |"
381 echo
"o-------------------------------------------------------------------o"
382 echo
"| Edit /etc/config/freeswitch to change basic init configuration. |"
384 echo
"| Also visit the Wiki at: |"
385 echo
"| https://openwrt.org/docs/guide-user/services/voip/freeswitch |"
386 echo
"o-------------------------------------------------------------=^_^=-o"
392 define Package
/freeswitch-misc-perl-esl
393 $(call Package
/freeswitch
/Default
)
395 DEPENDS
:=freeswitch \
396 +PACKAGE_freeswitch-misc-perl-esl
:perlbase-autoloader \
397 +PACKAGE_freeswitch-misc-perl-esl
:perlbase-data \
398 +PACKAGE_freeswitch-misc-perl-esl
:perlbase-dynaloader \
402 define Package
/freeswitch-misc-perl-esl
/description
403 This package contains the Perl binding for FreeSWITCH
's Event Socket
407 define Package/freeswitch-misc-perl-esl/install
408 $(INSTALL_DIR) $(1)$(PERL_SITELIB)/ESL
409 $(INSTALL_DIR) $(1)$(PERL_SITELIB)/auto/ESL
411 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL.so \
412 $(1)$(PERL_SITELIB)/auto/ESL
414 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL.pm \
417 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL/Dispatch.pm \
418 $(1)$(PERL_SITELIB)/ESL
420 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL/IVR.pm \
421 $(1)$(PERL_SITELIB)/ESL
424 define Package/freeswitch-misc-python3-esl
425 $(call Package/freeswitch/Default)
427 DEPENDS:=freeswitch +PACKAGE_freeswitch-misc-python3-esl:python3-light
430 define Package/freeswitch-misc-python3-esl/description
431 This package contains the Python3 binding for FreeSWITCH's Event Socket
435 define Package
/freeswitch-misc-python3-esl
/install
436 $(INSTALL_DIR
) $(1)$(FS_PYTHON3_SITE_DIR
)
438 $(PKG_INSTALL_DIR
)$(FS_PYTHON3_SITE_DIR
)/_ESL.so \
439 $(1)$(FS_PYTHON3_SITE_DIR
)
441 $(PKG_INSTALL_DIR
)$(FS_PYTHON3_SITE_DIR
)/ESL.py \
442 $(1)$(FS_PYTHON3_SITE_DIR
)
445 define Package
/freeswitch-misc-timezones
446 $(call Package
/freeswitch
/Default
)
447 TITLE
:=Timezones file
452 define Package
/freeswitch-misc-timezones
/description
453 This package includes a timezones file for FreeSWITCH.
456 define Package
/freeswitch-misc-timezones
/install
457 $(INSTALL_DIR
) $(1)$(FS_TZ_DIR
)
459 $(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/timezones.conf.xml \
463 define Package
/freeswitch
/Example
464 define Package
/freeswitch-example-
$(subst _
,-,$(1))
465 $(call Package
/freeswitch
/Default
)
466 TITLE
:=Example configuration
470 define Package
/freeswitch-example-
$(subst _
,-,$(1))/description
471 This package does not
install any configuration for FreeSWITCH into
472 /etc
/freeswitch. The system administrator is completely responsible
473 for that directory. If you
install one of the example configuration
474 packages
, it will
install the corresponding sample configuration to
475 /usr
/share
/freeswitch
/examples where you can take a look at it.
477 define Package
/freeswitch-example-
$(subst _
,-,$(1))/install
478 $(call Package
/freeswitch
/install/dir,$$(1)$(FS_EXAMPLES_DIR
)/$(1),$(PKG_BUILD_DIR
)/conf
/$(1))
480 $$(eval
$$(call BuildPackage
,freeswitch-example-
$(subst _
,-,$(1))))
483 define Package
/freeswitch
/Language
484 define Package
/freeswitch-lang-
$(subst _
,-,$(1))
485 $(call Package
/freeswitch
/Default
)
486 TITLE
:=$(2) language files
490 define Package
/freeswitch-lang-
$(subst _
,-,$(1))/description
491 This package includes the
$(2) language files for FreeSWITCH.
493 define Package
/freeswitch-lang-
$(subst _
,-,$(1))/install
494 $(call Package
/freeswitch
/install/dir,$$(1)$(FS_LANG_DIR
)/$(1),$(PKG_BUILD_DIR
)/conf
/vanilla
/lang
/$(1))
496 $$(eval
$$(call BuildPackage
,freeswitch-lang-
$(subst _
,-,$(1))))
499 # The next package generator is for miscellaneous files that only
500 # require being copied from PKG_INSTALL_DIR to the ipkg.
501 define Package
/freeswitch
/Misc
502 define Package
/freeswitch-
$(subst _
,-,$(1))
503 $(call Package
/freeswitch
/Default
)
510 define Package
/freeswitch-
$(subst _
,-,$(1))/description
511 $(subst \n,$(newline
),$(3))
513 define Package
/freeswitch-
$(subst _
,-,$(1))/install
514 $(call Package
/freeswitch
/install/dir,$$(1)$(5),$(PKG_INSTALL_DIR
)$(4))
516 $$(eval
$$(call BuildPackage
,freeswitch-
$(subst _
,-,$(1))))
519 define Package
/freeswitch
/Module
520 define Package
/freeswitch-mod-
$(subst _
,-,$(1))
521 $(call Package
/freeswitch
/Default
)
523 DEPENDS
:=freeswitch
$(patsubst +%,+PACKAGE_freeswitch-mod-
$(subst _
,-,$(1)):%,$(4))
525 define Package
/freeswitch-mod-
$(subst _
,-,$(1))/description
526 $(subst \n,$(newline
),$(3))
528 define Package
/freeswitch-mod-
$(subst _
,-,$(1))/install
529 $(call Package
/freeswitch
/install/mod
,$$(1),$(1))
530 ifeq ($(CONFIG_FS_WITH_MODCONF
),y
)
531 $(call Package
/freeswitch
/install/dir,$$(1)$(FS_EXAMPLES_DIR
)/mod_
$(1),$(PKG_BUILD_DIR
)/src
/mod
/*/mod_
$(1)/conf
)
534 $(INSTALL_DIR
) $$(1)$(PERL_SITELIB
)/auto
/freeswitch
536 $(PKG_INSTALL_DIR
)/usr
/perl
/freeswitch.so \
537 $$(1)$(PERL_SITELIB
)/auto
/freeswitch
539 $(PKG_INSTALL_DIR
)/usr
/perl
/freeswitch.pm \
543 $(INSTALL_DIR
) $$(1)$(FS_PYTHON3_SITE_DIR
)
545 $(PKG_INSTALL_DIR
)$(FS_PYTHON3_SITE_DIR
)/freeswitch.py \
546 $$(1)$(FS_PYTHON3_SITE_DIR
)
549 $$(eval
$$(call BuildPackage
,freeswitch-mod-
$(subst _
,-,$(1))))
552 define Package
/freeswitch
/Util
553 define Package
/freeswitch-util-
$(subst _
,-,$(1))
554 $(call Package
/freeswitch
/Default
)
556 DEPENDS
:=freeswitch
$(patsubst +%,+PACKAGE_freeswitch-util-
$(subst _
,-,$(1)):%,$(4))
561 define Package
/freeswitch-util-
$(subst _
,-,$(1))/description
562 $(subst \n,$(newline
),$(3))
564 define Package
/freeswitch-util-
$(subst _
,-,$(1))/install
565 $(call Package
/freeswitch
/install/bin
,$$(1),$(1))
567 $$(eval
$$(call BuildPackage
,freeswitch-util-
$(subst _
,-,$(1))))
571 --srcdir=$(PKG_BUILD_DIR
) \
572 --disable-dependency-tracking \
574 --disable-system-xmlrpc-c \
575 --enable-core-libedit-support \
577 --with-cachedir
=/tmp
/freeswitch
/cache \
578 --with-dbdir
=/tmp
/freeswitch
/db \
579 --with-imagesdir
=$(FS_IMAGES_DIR
) \
580 --with-logfiledir
=/tmp
/freeswitch
/log \
582 --with-recordingsdir
=/tmp
/freeswitch
/recordings \
583 --with-storagedir
=/tmp
/freeswitch
/storage \
584 $(call autoconf_bool
,CONFIG_FS_WITH_DEBUG
,debug
) \
585 $(call autoconf_bool
,CONFIG_FS_WITH_LIBYUV
,libyuv
) \
586 $(call autoconf_bool
,CONFIG_FS_WITH_ODBC
,core-odbc-support
) \
587 $(call autoconf_bool
,CONFIG_FS_WITH_SRTP
,srtp
) \
588 $(call autoconf_bool
,CONFIG_FS_WITH_VPX
,libvpx
) \
589 $(call autoconf_bool
,CONFIG_FS_WITH_ZRTP
,zrtp
) \
590 $(if
$(CONFIG_FS_WITH_FREETYPE
),,--without-freetype
) \
591 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)$(FS_LIB_DIR)") \
592 $(if
$(CONFIG_FS_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
593 $(if
$(CONFIG_FS_WITH_PNG
),,--without-png
)
595 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl
)$(CONFIG_PACKAGE_freeswitch-mod-python3
),)
597 --with-python3
=$(STAGING_DIR_HOST
)/bin
/python3
603 ifeq ($(CONFIG_PACKAGE_freeswitch-mod-erlang-event
)$(CONFIG_PACKAGE_freeswitch-mod-kazoo
),)
608 # FreeSWITCH dropped postgresql support from the core. postgresql
609 # support is now available via mod_pgsql. We still need to pass
610 # '--without-pgsql', otherwise apr-util links to libpq and we still
611 # would have the core link to it.
615 # Don't want host-php
618 ac_cv_have_php_config
=no \
619 ac_cv_prog_PHP
=false \
620 ac_cv_prog_PHP_CONFIG
=false
622 # The autoconf variables in this block are OK for both musl and glibc
624 ac_cv_dev_urandom
=yes \
625 ac_cv_file__dev_ptmx
=yes \
626 ac_cv_file__dev_urandom
=yes \
627 ac_cv_file_dbd_apr_dbd_mysql_c
=no \
628 ac_cv_free_null
=yes \
629 ac_cv_func_mmap_fixed_mapped
=yes \
630 ac_cv_func_pthread_rwlock_init
=yes \
631 ac_cv_func_sem_open
=yes \
632 ac_cv_have_working_memmove
=yes \
633 ac_cv_negative_eai
=yes \
634 ac_cv_o_nonblock_inherited
=no \
635 ac_cv_struct_rlimit
=yes \
637 apr_cv_gai_addrconfig
=yes \
638 apr_cv_mutex_recursive
=yes \
639 apr_cv_process_shared_works
=yes \
640 apr_cv_pthreads_lib
=-lpthread \
641 apr_cv_tcp_nodelay_with_cork
=yes \
642 apr_cv_type_rwlock_t
=yes
648 # Regarding apr_cv_mutex_robust_shared=no see
649 # http://www.openwall.com/lists/musl/2016/11/26/1
650 ifeq ($(call qstrip
,$(CONFIG_LIBC
)),musl
)
652 apr_cv_mutex_robust_shared
=no \
653 ac_cv_strerror_r_rc_int
=yes
656 apr_cv_mutex_robust_shared
=yes
659 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl
)$(CONFIG_PACKAGE_freeswitch-mod-perl
),)
661 PERL
="$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION)" \
662 PERL_CFLAGS
="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
663 PERL_INC
="-I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
664 PERL_LDFLAGS
="-Wl,-rpath,$(PERL_SITELIB)/CORE -L$(STAGING_DIR)$(PERL_SITELIB)/CORE -lperl" \
665 PERL_LIBDIR
="-L$(PERL_SITELIB)/CORE" \
666 PERL_LIBS
="$(FS_PERL_LIBS) $(EXTRA_LIBDIRS:%=-L%) $(EXTRA_LIBS:%=-l%)" \
667 PERL_SITEDIR
="$(PERL_SITELIB)"
671 ac_cv_prog_PERL
=false
674 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl
)$(CONFIG_PACKAGE_freeswitch-mod-python3
),)
676 PYTHON3_CFLAGS
="-I$(STAGING_DIR)/usr/include/python$(PYTHON3_VERSION)" \
677 PYTHON3_LDFLAGS
="-lpython$(PYTHON3_VERSION)" \
678 PYTHON3_LIB
="python$(PYTHON3_VERSION)" \
679 PYTHON3_LIBDIR
="$(FS_LIB_DIR)" \
680 PYTHON3_SITE_DIR
="$(FS_PYTHON3_SITE_DIR)"
683 # mod_radius_cdr runs configure in libs/freeradius-client. Let
684 # freeradius-client know /dev/urandom is available on target devices.
686 ac_cv_dev_urandom
=yes
688 # Make sphinxbase use fixed point math when soft float support is
689 # enabled on target devices.
690 ifeq ($(CONFIG_SOFT_FLOAT
),y
)
692 FS_USE_FIXED_POINT
="--enable-fixed"
696 FS_LIBS_URL
:=https
://files.freeswitch.org
/downloads
/libs
697 FS_SPHINX_URL
:=@SF
/cmusphinx
700 FS_ZEROMQ_FILE
:=zeromq-2.1
.9.
tar.gz
701 FS_ZEROMQ_HASH
:=f3542f756687e622beef3a75c8e027fe2d95d4654350cbca4c070ffc58d9ace0
702 FS_ZEROMQ_URL
:=http
://download.zeromq.org
705 FS_POCKETSPHINX_FILE
:=pocketsphinx-0.8.
tar.gz
706 FS_POCKETSPHINX_HASH
:=874c4c083d91c8ff26a2aec250b689e537912ff728923c141c4dac48662cce7a
708 FS_SPHINXBASE_FILE
:=sphinxbase-0.8.
tar.gz
709 FS_SPHINXBASE_HASH
:=55708944872bab1015b8ae07b379bf463764f469163a8fd114cbb16c5e486ca8
711 FS_SPHINXMODEL_FILE
:=communicator_semi_6000_20080321.
tar.gz
712 FS_SPHINXMODEL_HASH
:=dbb5e9fb85000a7cb97d6958a3ef8d77532dc55fc730ac6979705e8645cb0c18
715 FS_FREERADIUS_CLIENT_FILE
:=freeradius-client-1.1
.7.
tar.gz
716 FS_FREERADIUS_CLIENT_HASH
:=eada2861b8f4928e3ac6b5bbfe11e92cd6cdcacfce40cae1085e77c1b6add0e9
718 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-event-zmq
),)
719 $(eval
$(call Download
/files
,zmq
,$(FS_ZEROMQ_FILE
),$(FS_ZEROMQ_URL
),$(FS_ZEROMQ_HASH
)))
722 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-pocketsphinx
)$(CONFIG_PACKAGE_freeswitch-misc-grammar
),)
723 $(eval
$(call Download
/files
,pocketsphinx
,$(FS_POCKETSPHINX_FILE
),$(FS_SPHINX_URL
),$(FS_POCKETSPHINX_HASH
)))
724 $(eval
$(call Download
/files
,sphinxbase
,$(FS_SPHINXBASE_FILE
),$(FS_SPHINX_URL
),$(FS_SPHINXBASE_HASH
)))
725 $(eval
$(call Download
/files
,communicator
,$(FS_SPHINXMODEL_FILE
),$(FS_LIBS_URL
),$(FS_SPHINXMODEL_HASH
)))
728 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-radius-cdr
),)
729 $(eval
$(call Download
/files
,freeradius-client
,$(FS_FREERADIUS_CLIENT_FILE
),$(FS_LIBS_URL
),$(FS_FREERADIUS_CLIENT_HASH
)))
733 $(call Build
/Prepare
/Default
)
735 echo
'#applications/mod_random' >> $(PKG_BUILD_DIR
)/modules.conf
736 echo
'#codecs/mod_yuv' >> $(PKG_BUILD_DIR
)/modules.conf
737 echo
'#event_handlers/mod_event_test' >> $(PKG_BUILD_DIR
)/modules.conf
740 define Build
/Configure
741 $(SED
) '/^#/!s/^/#/' $(PKG_BUILD_DIR
)/modules.conf
742 $(foreach m
,$(FS_MOD_AVAILABLE
),
743 $(if
$(CONFIG_PACKAGE_freeswitch-mod-
$(subst _
,-,$(m
))),
744 $(call Package
/freeswitch
/enable
/plugin
,mod_
$(m
))))
746 # Some of the dependencies that necessitate below hacks are documented in
747 # src/mod/Makefile.am.
749 # Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
750 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-grammar
),)
751 $(call Package
/freeswitch
/enable
/plugin
,mod_pocketsphinx
)
754 # Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
755 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-gsmopen
),)
756 $(call Package
/freeswitch
/enable
/plugin
,mod_spandsp
)
759 # Hack for mod_ssml - it has a build-time dep on mod_rayo.
760 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-ssml
),)
761 $(call Package
/freeswitch
/enable
/plugin
,mod_rayo
)
764 $(call Build
/Configure
/Default
)
768 # Copy some source files if certain modules are selected
769 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-event-zmq
),)
770 $(CP
) $(DL_DIR
)/$(FS_ZEROMQ_FILE
) $(PKG_BUILD_DIR
)/libs
773 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-pocketsphinx
)$(CONFIG_PACKAGE_freeswitch-misc-grammar
),)
774 $(CP
) $(DL_DIR
)/$(FS_POCKETSPHINX_FILE
) $(PKG_BUILD_DIR
)/libs
775 $(CP
) $(DL_DIR
)/$(FS_SPHINXBASE_FILE
) $(PKG_BUILD_DIR
)/libs
776 $(CP
) $(DL_DIR
)/$(FS_SPHINXMODEL_FILE
) $(PKG_BUILD_DIR
)/libs
779 ifneq ($(CONFIG_PACKAGE_freeswitch-mod-radius-cdr
),)
780 $(CP
) $(DL_DIR
)/$(FS_FREERADIUS_CLIENT_FILE
) $(PKG_BUILD_DIR
)/libs
783 $(call Build
/Compile
/Default
)
785 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl
),)
786 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl perlmod
)
788 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl
),)
789 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl py3mod
)
794 $(call Build
/Install
/Default
)
795 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-perl-esl
),)
796 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl DESTDIR
=$(PKG_INSTALL_DIR
) perlmod-install
)
798 ifneq ($(CONFIG_PACKAGE_freeswitch-misc-python3-esl
),)
799 $(call Build
/Install
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl py3mod-install
)
803 define Build
/InstallDev
804 $(INSTALL_DIR
) $(1)$(FS_INCLUDES_DIR
) $(1)$(FS_LIB_DIR
) \
805 $(1)$(FS_PKGCONFIG_DIR
)
806 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)$(FS_INCLUDES_DIR
)/*.h \
807 $(1)$(FS_INCLUDES_DIR
)
809 $(PKG_INSTALL_DIR
)$(FS_PKGCONFIG_DIR
)/freeswitch.
pc \
810 $(1)$(FS_PKGCONFIG_DIR
)
811 $(CP
) $(PKG_INSTALL_DIR
)$(FS_LIB_DIR
)/libfreeswitch.so
* \
815 $(eval
$(call BuildPackage
,freeswitch
))
816 $(eval
$(call BuildPackage
,freeswitch-misc-perl-esl
))
817 $(eval
$(call BuildPackage
,freeswitch-misc-python3-esl
))
818 $(eval
$(call BuildPackage
,freeswitch-misc-timezones
))
820 ################################
821 # FreeSWITCH example configs
823 # 1 - Package subname
824 ################################
826 $(eval
$(call Package
/freeswitch
/Example
,curl
))
827 $(eval
$(call Package
/freeswitch
/Example
,insideout
))
828 $(eval
$(call Package
/freeswitch
/Example
,minimal
))
829 $(eval
$(call Package
/freeswitch
/Example
,rayo
))
830 $(eval
$(call Package
/freeswitch
/Example
,sbc
))
831 $(eval
$(call Package
/freeswitch
/Example
,softphone
))
832 $(eval
$(call Package
/freeswitch
/Example
,testing
))
833 $(eval
$(call Package
/freeswitch
/Example
,vanilla
))
835 ################################
836 # FreeSWITCH language files
840 ################################
842 $(eval
$(call Package
/freeswitch
/Language
,de
,German
))
843 $(eval
$(call Package
/freeswitch
/Language
,en
,English
))
844 $(eval
$(call Package
/freeswitch
/Language
,es
,Spanish
))
845 $(eval
$(call Package
/freeswitch
/Language
,fr
,French
))
846 $(eval
$(call Package
/freeswitch
/Language
,he
,Hebrew
))
847 $(eval
$(call Package
/freeswitch
/Language
,pt
,Portuguese
))
848 $(eval
$(call Package
/freeswitch
/Language
,ru
,Russian
))
849 $(eval
$(call Package
/freeswitch
/Language
,sv
,Swedish
))
851 ################################
852 # FreeSWITCH misc packages
854 # 1 - Package subname
856 # 3 - Package description
857 # 4 - Source dir relative to
859 # 5 - Dest dir relative to ipkg
860 # 6 - Arch independent files
861 ################################
863 $(eval
$(call Package
/freeswitch
/Misc
,misc-fonts
,Fonts
,This package includes the fonts bundled with FreeSWITCH.
,$(FS_FONTS_DIR
),$(FS_FONTS_DIR
),y
))
864 $(eval
$(call Package
/freeswitch
/Misc
,misc-grammar
,Grammar
,This package contains grammar files. mod_pocketsphinx would be a
\npotential user.
,$(FS_GRAMMAR_DIR
),$(FS_GRAMMAR_DIR
),y
))
865 $(eval
$(call Package
/freeswitch
/Misc
,misc-images
,Images
,This package includes the images bundled with FreeSWITCH.
,$(FS_IMAGES_DIR
),$(FS_IMAGES_DIR
),y
))
867 ################################
870 # 1 - Package subname
872 # 3 - Module description
873 # 4 - Module dependencies
874 ################################
876 $(eval
$(call Package
/freeswitch
/Module
,abstraction
,API abstraction
,This module provides a way to create new API functions via regex
\nrewriting.
,))
877 $(eval
$(call Package
/freeswitch
/Module
,alsa
,ALSA endpoint
,ALSA endpoint module.
,+alsa-lib
))
878 $(eval
$(call Package
/freeswitch
/Module
,amr
,AMR passthrough
,Passthrough AMR codec support.
,))
879 $(eval
$(call Package
/freeswitch
/Module
,amrwb
,AMR wideband passthrough
,Passthrough AMR wideband codec support.
,))
880 $(eval
$(call Package
/freeswitch
/Module
,av
,AV
,Video codec and format support via FFmpeg.
,+libffmpeg-full @BROKEN @x86_64
))
881 $(eval
$(call Package
/freeswitch
/Module
,avmd
,Voicemail detection
,This module attempts to determine when a voicemail system has answered
\nthe call.
,))
882 $(eval
$(call Package
/freeswitch
/Module
,b64
,Base64
,Transfers data Base64 encoded.
,))
883 $(eval
$(call Package
/freeswitch
/Module
,basic
,BASIC
,BASIC module for FreeSWITCH.
,))
884 $(eval
$(call Package
/freeswitch
/Module
,bert
,BERT
,Line testing tool.
,))
885 $(eval
$(call Package
/freeswitch
/Module
,blacklist
,Blacklist helper
,This module provides tools to blacklist callers.
,))
886 $(eval
$(call Package
/freeswitch
/Module
,callcenter
,Call center
,This module implements Automated Call Distribution queues.
,))
887 $(eval
$(call Package
/freeswitch
/Module
,cdr_csv
,CSV CDR
,CSV Call Detail Record handler.
,))
888 $(eval
$(call Package
/freeswitch
/Module
,cdr_mongodb
,MongoDB CDR
,MongoDB Call Detail Record handler.
,))
889 $(eval
$(call Package
/freeswitch
/Module
,cdr_pg_csv
,PostgreSQL CDR
,PostgreSQL Call Detail Record handler.
,+libpq
))
890 $(eval
$(call Package
/freeswitch
/Module
,cdr_sqlite
,SQLite CDR
,SQLite Call Detail Record handler.
,))
891 $(eval
$(call Package
/freeswitch
/Module
,cidlookup
,Caller ID lookup
,This module provides an API for querying caller ID name and location
\ndata.
,))
892 $(eval
$(call Package
/freeswitch
/Module
,clearmode
,Clearmode
,Clearmode codec passthrough support.
,))
893 $(eval
$(call Package
/freeswitch
/Module
,cluechoo
,Clue Choo
,This demo module renders a Clue Choo train on the FreeSWITCH console.
,+libncurses
))
894 $(eval
$(call Package
/freeswitch
/Module
,commands
,Commands
,This module provides miscellaneous API commands.
,))
895 $(eval
$(call Package
/freeswitch
/Module
,conference
,Conference
,This module provides multi-party conferencing.
,))
896 $(eval
$(call Package
/freeswitch
/Module
,console
,Console logger
,Allows control over what messages
get logged to the console.
,))
897 $(eval
$(call Package
/freeswitch
/Module
,curl
,cURL
,This module provides an API for making HTTP requests with cURL.
,))
898 $(eval
$(call Package
/freeswitch
/Module
,dahdi_codec
,DAHDI codec
,DAHDI codec module.
,))
899 $(eval
$(call Package
/freeswitch
/Module
,db
,DB
,This module implements a simple db API with group support. Also can be
\nused
as a limit db backend.
,))
900 $(eval
$(call Package
/freeswitch
/Module
,dialplan_asterisk
,Asterisk dialplan
,Asterisk extensions.conf style dialplan parser.
,))
901 $(eval
$(call Package
/freeswitch
/Module
,dialplan_directory
,Directory dialplan
,Directory dialplan support.
,))
902 $(eval
$(call Package
/freeswitch
/Module
,dialplan_xml
,XML dialplan
,Standard FreeSWITCH XML dialplan support.
,))
903 $(eval
$(call Package
/freeswitch
/Module
,directory
,Dial-by-name directory
,This module implements a dial-by-name directory IVR.
,))
904 $(eval
$(call Package
/freeswitch
/Module
,distributor
,Load distributor
,This module implements a mechanism for performing load balancing.
,))
905 $(eval
$(call Package
/freeswitch
/Module
,dptools
,Dialplan tools
,This module implements basic dialplan tools.
,))
906 $(eval
$(call Package
/freeswitch
/Module
,easyroute
,DID routing
,This module does destination lookup based on DID.
,))
907 $(eval
$(call Package
/freeswitch
/Module
,enum
,ENUM routing
,This module implements ENUM support.
,+libldns
))
908 $(eval
$(call Package
/freeswitch
/Module
,erlang_event
,Erlang event
,Erlang event module.
,+erlang
))
909 $(eval
$(call Package
/freeswitch
/Module
,esf
,Multicast
,This module adds multi-cast support.
,))
910 $(eval
$(call Package
/freeswitch
/Module
,esl
,Single ESL
,This module adds an API for generating one-off ESL requests.
,))
911 $(eval
$(call Package
/freeswitch
/Module
,event_multicast
,Multicast Event
,Multicast Event System for FreeSWITCH.
,))
912 $(eval
$(call Package
/freeswitch
/Module
,event_socket
,Event socket
,Sends events via a single socket. Needed for fs_cli.
,))
913 $(eval
$(call Package
/freeswitch
/Module
,event_test
,Event
test,Event demo module.
,))
914 $(eval
$(call Package
/freeswitch
/Module
,event_zmq
,ZMQ event
,ZMQ event module.
,))
915 $(eval
$(call Package
/freeswitch
/Module
,expr
,Expr
,This module adds expr support for expression evaluation.
,))
916 $(eval
$(call Package
/freeswitch
/Module
,fail2ban
,Fail2ban logging
,Provides support for Fail2ban logging.
,))
917 $(eval
$(call Package
/freeswitch
/Module
,fifo
,FIFO
,This module adds a first-in first-out queue system.
,))
918 $(eval
$(call Package
/freeswitch
/Module
,format_cdr
,Multiformat CDR
,A superset of mod_json_cdr and mod_xml_cdr.
,))
919 $(eval
$(call Package
/freeswitch
/Module
,fsk
,FSK
,This module adds frequency-shift keying support which can be used to
\nsend and receive caller ID.
,))
920 $(eval
$(call Package
/freeswitch
/Module
,fsv
,FSV
,This module provides dialplan applications for recording and playing
\nvideos.
,))
921 $(eval
$(call Package
/freeswitch
/Module
,g723_1
,G
.723.1 passthrough
,G
.723.1 codec passthrough.
,))
922 $(eval
$(call Package
/freeswitch
/Module
,g729
,G
.729 passthrough
,G
.729 codec passthrough.
,))
923 $(eval
$(call Package
/freeswitch
/Module
,graylog2
,Graylog2 logger
,GELF logger for Graylog2 and Logstash.
,))
924 $(eval
$(call Package
/freeswitch
/Module
,gsmopen
,GSM endpoint
,GSMopen is a channel driver that allows an SMS to be sent to and from
\nFreeSWITCH
as well
as incoming and outgoing GSM voice calls.
,+gsmlib
+libctb
+libjpeg-turbo
+libtiff
))
925 $(eval
$(call Package
/freeswitch
/Module
,h26x
,H
.26x passthrough
,H
.26x video codec passthrough.
,))
926 $(eval
$(call Package
/freeswitch
/Module
,hash
,Hash
,This module provides a key-value in-memory datastore. Usable
as a
\nlimit backend.
,))
927 $(eval
$(call Package
/freeswitch
/Module
,hiredis
,Redis client
,This module provides a mechanism to use Redis
as a datastore.
,+libhiredis
))
928 $(eval
$(call Package
/freeswitch
/Module
,httapi
,HT-TAPI
,This module provides an API for controlling the switch by responding
\nto HTTP requests.
,))
929 $(eval
$(call Package
/freeswitch
/Module
,http_cache
,HTTP GET with caching
,This module provides an API for making HTTP GET requests where the
\nresult is cached.
,))
930 $(eval
$(call Package
/freeswitch
/Module
,isac
,iSAC
,iSAC codec support.
,@arm||i386||mips||mips64||mips64el||mipsel||x86_64
))
931 $(eval
$(call Package
/freeswitch
/Module
,json_cdr
,JSON CDR
,JSON-based Call Detail Record handler.
,))
932 $(eval
$(call Package
/freeswitch
/Module
,kazoo
,Kazoo
,Kazoo module for FreeSWITCH.
,+erlang
))
933 $(eval
$(call Package
/freeswitch
/Module
,lcr
,LCR
,This module adds a facility for least-cost routing.
,))
934 $(eval
$(call Package
/freeswitch
/Module
,ldap
,LDAP
,LDAP module for FreeSWITCH.
,+libopenldap
))
935 $(eval
$(call Package
/freeswitch
/Module
,local_stream
,Local stream
,Connects multiple channels to a looped stream.
,))
936 $(eval
$(call Package
/freeswitch
/Module
,logfile
,File logger
,Logs FreeSWITCH output to a file.
,))
937 $(eval
$(call Package
/freeswitch
/Module
,loopback
,Loopback
,A loopback channel driver.
,))
938 $(eval
$(call Package
/freeswitch
/Module
,lua
,Lua
,Lua language interface for FreeSWITCH.
,+liblua
))
939 $(eval
$(call Package
/freeswitch
/Module
,mariadb
,MariaDB
,Adds MariaDB support.
,+libmariadb
))
940 $(eval
$(call Package
/freeswitch
/Module
,mp4v
,MP4 video passthrough
,MP4 video passthrough.
,))
941 $(eval
$(call Package
/freeswitch
/Module
,native_file
,Native file
,Plays files that are already encoded in the right format.
,))
942 $(eval
$(call Package
/freeswitch
/Module
,nibblebill
,Nibblebill
,This module allows for real-time accounting of a cash balance and
\nusing that information for call routing.
,))
943 $(eval
$(call Package
/freeswitch
/Module
,odbc_cdr
,ODBC CDR
,ODBC Call Detail Record handler.
,))
944 $(eval
$(call Package
/freeswitch
/Module
,opus
,Opus
,Opus codec support.
,+libopus
))
945 $(eval
$(call Package
/freeswitch
/Module
,opusfile
,Opus file
,Read and Write OGG
/Opus files.
,+libopusenc
+libopusfile
))
946 $(eval
$(call Package
/freeswitch
/Module
,oreka
,Oreka
,This module provides media recording with the Oreka cross-platform
\naudio stream recording and retrieval system.
,))
947 $(eval
$(call Package
/freeswitch
/Module
,perl
,Perl
,This package contains mod_perl for FreeSWITCH.
,+libdb47
+libgdbm
+perlbase-essential @PERL_THREADS
))
948 $(eval
$(call Package
/freeswitch
/Module
,pgsql
,PostgreSQL
,Adds PostgreSQL support.
,+libpq
))
949 $(eval
$(call Package
/freeswitch
/Module
,png
,PNG
,Allows playback of video using PNG files.
,@FS_WITH_PNG
))
950 $(eval
$(call Package
/freeswitch
/Module
,pocketsphinx
,Pocketsphinx
,This module allows speech recognition. You might want to
install\nfreeswitch
-misc
-grammar
as well.
,+libsamplerate
)) # When libsamplerate is found it'll be linked against, there is no switch to turn it off
951 $(eval
$(call Package
/freeswitch
/Module
,portaudio
,Portaudio
,Voice through a local soundcard.
,+portaudio
))
952 $(eval
$(call Package
/freeswitch
/Module
,portaudio_stream
,Portaudio streaming
,Stream from an external audio source for Music on Hold.
,+portaudio
))
953 $(eval
$(call Package
/freeswitch
/Module
,posix_timer
,POSIX timer
,Add POSIX timer support.
,))
954 $(eval
$(call Package
/freeswitch
/Module
,prefix,Prefix match
,This module provides a data store with fast lookups by the longest
\nprefix match rule.
,))
955 $(eval
$(call Package
/freeswitch
/Module
,python3
,Python3
,Python3 support module.
,+python3-light
))
956 $(eval
$(call Package
/freeswitch
/Module
,radius_cdr
,Radius CDR
,Radius Call Detail Record handler.
,))
957 $(eval
$(call Package
/freeswitch
/Module
,random
,Entropy
,This module extracts entropy from FreeSWITCH and feeds it into
\n/dev
/random.
,))
958 $(eval
$(call Package
/freeswitch
/Module
,raven
,Raven logging
,Adds support for logging to Raven instances.
,))
959 $(eval
$(call Package
/freeswitch
/Module
,rayo
,Rayo
,Rayo
/XMPP
3PCC server for FreeSWITCH.
,+freeswitch-mod-ssml
))
960 $(eval
$(call Package
/freeswitch
/Module
,redis
,Redis limit backend
,This module provides a mechanism to use Redis
as a limit backend data
\nstore.
,))
961 $(eval
$(call Package
/freeswitch
/Module
,rss
,RSS
,Parses and reads XML based RSS feeds and reads the entries aloud via a TTS engine.
,))
962 $(eval
$(call Package
/freeswitch
/Module
,rtc
,Media streaming
,Media streaming
as used by WebRTC and mod_verto.
,))
963 $(eval
$(call Package
/freeswitch
/Module
,rtmp
,RTMP endpoint
,RTMP endpoint support. Allows FreeSWITCH to be used from RTMP clients.
,))
964 $(eval
$(call Package
/freeswitch
/Module
,say_de
,German Say
,Uses prerecorded sounds to read or say various things.
,))
965 $(eval
$(call Package
/freeswitch
/Module
,say_en
,English Say
,Uses prerecorded sounds to read or say various things.
,))
966 $(eval
$(call Package
/freeswitch
/Module
,say_es
,Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
967 $(eval
$(call Package
/freeswitch
/Module
,say_es_ar
,Argentinian Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
968 $(eval
$(call Package
/freeswitch
/Module
,say_fa
,Persian Say
,Uses prerecorded sounds to read or say various things.
,))
969 $(eval
$(call Package
/freeswitch
/Module
,say_fr
,French Say
,Uses prerecorded sounds to read or say various things.
,))
970 $(eval
$(call Package
/freeswitch
/Module
,say_he
,Hebrew Say
,Uses prerecorded sounds to read or say various things.
,))
971 $(eval
$(call Package
/freeswitch
/Module
,say_hr
,Croatian Say
,Uses prerecorded sounds to read or say various things.
,))
972 $(eval
$(call Package
/freeswitch
/Module
,say_hu
,Hungarian Say
,Uses prerecorded sounds to read or say various things.
,))
973 $(eval
$(call Package
/freeswitch
/Module
,say_it
,Italian Say
,Uses prerecorded sounds to read or say various things.
,))
974 $(eval
$(call Package
/freeswitch
/Module
,say_ja
,Japanese Say
,Uses prerecorded sounds to read or say various things.
,))
975 $(eval
$(call Package
/freeswitch
/Module
,say_nl
,Dutch Say
,Uses prerecorded sounds to read or say various things.
,))
976 $(eval
$(call Package
/freeswitch
/Module
,say_pl
,Polish Say
,Uses prerecorded sounds to read or say various things.
,))
977 $(eval
$(call Package
/freeswitch
/Module
,say_pt
,Portuguese Say
,Uses prerecorded sounds to read or say various things.
,))
978 $(eval
$(call Package
/freeswitch
/Module
,say_ru
,Russian Say
,Uses prerecorded sounds to read or say various things.
,))
979 $(eval
$(call Package
/freeswitch
/Module
,say_sv
,Swedish Say
,Uses prerecorded sounds to read or say various things.
,))
980 $(eval
$(call Package
/freeswitch
/Module
,say_th
,Thai Say
,Uses prerecorded sounds to read or say various things.
,))
981 $(eval
$(call Package
/freeswitch
/Module
,say_zh
,Chinese Say
,Uses prerecorded sounds to read or say various things.
,))
982 $(eval
$(call Package
/freeswitch
/Module
,shell_stream
,Shell stream
,Allows to stream audio from an arbitrary
shell command.
,))
983 $(eval
$(call Package
/freeswitch
/Module
,shout
,Shout
,Allows to stream audio from MP3s or Shoutcast streams.
,+lame-lib
+libmpg123
+libshout
))
984 $(eval
$(call Package
/freeswitch
/Module
,signalwire
,SignalWire
,SignalWire CLOUD
- FreeSWITCH connector.
,+signalwire-client-c
))
985 $(eval
$(call Package
/freeswitch
/Module
,skinny
,Skinny
,Skinny Call Control Protocol endpoint support.
,))
986 $(eval
$(call Package
/freeswitch
/Module
,sms
,SMS
,This module provides an abstract facility for interfacing with SMS
\nsystems.
,))
987 $(eval
$(call Package
/freeswitch
/Module
,snapshot
,Snapshot
,This module can record a sliding window of audio and take snapshots
\nto disk.
,))
988 $(eval
$(call Package
/freeswitch
/Module
,sndfile
,Soundfile
,Adds sound format support via libsndfile.
,+libsndfile
))
989 $(eval
$(call Package
/freeswitch
/Module
,snmp
,SNMP
,An SNMP stats reporter.
,+libnetsnmp
))
990 $(eval
$(call Package
/freeswitch
/Module
,snom
,SNOM
,This module implements features specific to SNOM phones.
,))
991 $(eval
$(call Package
/freeswitch
/Module
,sofia
,Sofia SIP
,SIP module.
,))
992 $(eval
$(call Package
/freeswitch
/Module
,sonar
,Sonar
,This module measures the latency on an audio link by sending audible
\naudio sonar pings.
,))
993 $(eval
$(call Package
/freeswitch
/Module
,spandsp
,SpanDSP
,This module implements SpanDSP fax. It includes DSP and codec
\nfunctionality.
,+libjpeg-turbo
+liblzma
+libtiff
))
994 $(eval
$(call Package
/freeswitch
/Module
,spy
,User Spy
,This module adds the ability to monitor the audio of a channel.
,))
995 $(eval
$(call Package
/freeswitch
/Module
,ssml
,SSML
,mod_ssml is a FreeSWITCH module that renders SSML into audio. This
\nmodule requires a text-to-speech module for speech synthesis.
,))
996 $(eval
$(call Package
/freeswitch
/Module
,stress
,Stress
,This module attempts to detect voice stress on an audio channel.
,))
997 $(eval
$(call Package
/freeswitch
/Module
,syslog
,Syslog logger
,Logs FreeSWITCH output to the syslog.
,))
998 $(eval
$(call Package
/freeswitch
/Module
,theora
,Theora passthrough
,Theora video codec passthrough.
,))
999 $(eval
$(call Package
/freeswitch
/Module
,tone_stream
,Tone stream
,Tone generation stream.
,))
1000 $(eval
$(call Package
/freeswitch
/Module
,translate
,Number translation
,This module implements number translation.
,))
1001 $(eval
$(call Package
/freeswitch
/Module
,tts_commandline
,TTS command-line
,Run a command-line and play the output file.
,))
1002 $(eval
$(call Package
/freeswitch
/Module
,valet_parking
,Valet parking
,This module implements the valet call parking strategy.
,))
1003 $(eval
$(call Package
/freeswitch
/Module
,verto
,Verto
,Verto signaling protocol.
,+libks
))
1004 $(eval
$(call Package
/freeswitch
/Module
,video_filter
,Video
filter chromakey
,This module provides a media bug for chromakey functionality.
,))
1005 $(eval
$(call Package
/freeswitch
/Module
,vmd
,Voicemail detection
,This module detects voicemail beeps.
,))
1006 $(eval
$(call Package
/freeswitch
/Module
,voicemail
,Voicemail
,This module provides a voicemail system.
,))
1007 $(eval
$(call Package
/freeswitch
/Module
,voicemail_ivr
,Voicemail IVR
,This module provides an extensible voicemail IVR system.
,))
1008 $(eval
$(call Package
/freeswitch
/Module
,xml_cdr
,XML CDR
,XML Call Detail Record handler.
,))
1009 $(eval
$(call Package
/freeswitch
/Module
,xml_curl
,XML cURL
,Provides an XML cURL interfaces to pull dynamic XML configuration for
\nFreeSWITCH over HTTP.
,))
1010 $(eval
$(call Package
/freeswitch
/Module
,xml_ldap
,XML LDAP
,LDAP XML gateway.
,+libopenldap
))
1011 $(eval
$(call Package
/freeswitch
/Module
,xml_rpc
,XML RPC
,Allows using the webapi to control FreeSWITCH.
,))
1012 $(eval
$(call Package
/freeswitch
/Module
,xml_scgi
,XML SCGI
,SCGI XML Gateway.
,))
1013 $(eval
$(call Package
/freeswitch
/Module
,yaml
,YAML
,YAML language module.
,+libyaml
))
1014 $(eval
$(call Package
/freeswitch
/Module
,yuv
,Raw YUV
,Raw YUV I420 video codec support.
,@FS_WITH_LIBYUV
))
1016 ################################
1017 # FreeSWITCH utilities
1019 # 1 - Package subname
1021 # 3 - Utility description
1022 # 4 - Utility dependencies
1023 # 5 - Utility is a script (y/n)
1024 ################################
1026 $(eval
$(call Package
/freeswitch
/Util
,fs_cli
,CLI
,The fs_cli program is a Command-Line Interface that allows a user to
\nconnect to a FreeSWITCH instance running on the local or a remote
\nsystem.
,,n
))
1027 $(eval
$(call Package
/freeswitch
/Util
,fs_encode
,Sound file conversion
,Format conversion of sound files so the result can be used by
\nmod_native_file.
,+freeswitch-mod-native-file
+freeswitch-mod-sndfile
+freeswitch-mod-spandsp
,n
))
1028 $(eval
$(call Package
/freeswitch
/Util
,fs_ivrd
,IVR daemon
,The FreeSWITCH IVR daemon is an abstraction layer that sits on top of
\nthe ESL. The basic idea is that the ivrd will allow the user to have
\na STDIN
/STDOUT interface for simple call control.
,,n
))
1029 $(eval
$(call Package
/freeswitch
/Util
,fs_tts
,TTS to sound file
,Use TTS to generate a sound file.
,,n
))
1030 $(eval
$(call Package
/freeswitch
/Util
,gentls_cert
,TLS certificate
,Can be used to create TLS certificates and setup CAs.
,+openssl-util
,y
))
1031 $(eval
$(call Package
/freeswitch
/Util
,tone2wav
,Sound file generation
,Generates a sound file from a teletone script. The output can be in
\nany format that is supported by libsndfile.
,+freeswitch-mod-sndfile
,n
))