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
11 PKG_NAME
:=$(PRG_NAME
)-stable
14 PKG_MAINTAINER
:=Sebastian Kemper
<sebastian_ml@gmx.net
>
16 PKG_SOURCE
:=$(PRG_NAME
)-$(PKG_VERSION
).
tar.xz
17 PKG_SOURCE_URL
:=https
://files.
$(PRG_NAME
).org
/releases
/$(PRG_NAME
)
18 PKG_HASH
:=b87f47e57d13de2b901bd1e4eb85491178e59a159a2831d7430abe7947f0d3a4
20 PKG_CPE_ID
:=cpe
:/a
:freeswitch
:freeswitch
22 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PRG_NAME
)-$(PKG_VERSION
)
24 # configure in libs/spandsp fails without libjpeg and tiff
33 # With mod_ssml and mod_rayo enabled the parallel compiles always failed
59 PKG_LICENSE_FILES
:=debian
/copyright
61 FS_STABLE_DATA_DIR
:=/usr
/share
/$(PRG_NAME
)
63 FS_STABLE_BIN_DIR
:=/usr
/bin
64 FS_STABLE_EXAMPLES_DIR
:=$(FS_STABLE_DATA_DIR
)/examples
65 FS_STABLE_FONTS_DIR
:=$(FS_STABLE_DATA_DIR
)/fonts
66 FS_STABLE_GRAMMAR_DIR
:=$(FS_STABLE_DATA_DIR
)/grammar
67 FS_STABLE_HTDOCS_DIR
:=$(FS_STABLE_DATA_DIR
)/htdocs
68 FS_STABLE_IMAGES_DIR
:=$(FS_STABLE_DATA_DIR
)/images
69 FS_STABLE_INCLUDES_DIR
:=/usr
/include/$(PRG_NAME
)
70 FS_STABLE_LANG_DIR
:=$(FS_STABLE_DATA_DIR
)/lang
71 FS_STABLE_LIB_DIR
:=/usr
/lib
72 FS_STABLE_MOD_DIR
:=$(FS_STABLE_LIB_DIR
)/$(PRG_NAME
)/mod
73 FS_STABLE_PKGCONFIG_DIR
:=$(FS_STABLE_LIB_DIR
)/pkgconfig
74 FS_STABLE_SCRIPTS_DIR
:=$(FS_STABLE_DATA_DIR
)/scripts
75 FS_STABLE_SOUNDS_DIR
:=$(FS_STABLE_DATA_DIR
)/sounds
76 FS_STABLE_SYSCONF_DIR
:=/etc
77 FS_STABLE_TLS_DIR
:=$(FS_STABLE_SYSCONF_DIR
)/$(PRG_NAME
)/tls
78 FS_STABLE_TZ_DIR
:=$(FS_STABLE_DATA_DIR
)/tz
81 PKG_LIBFTDM
:=lib
$(FTDM
)-stable
83 FS_STABLE_MOD_AVAILABLE
:= \
225 PKG_CONFIG_DEPENDS
:= \
226 $(patsubst %,CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
%,$(subst _
,-,$(FS_STABLE_MOD_AVAILABLE
))) \
227 CONFIG_FS_STABLE_WITH_DEBUG \
228 CONFIG_FS_STABLE_WITH_FREETYPE \
229 CONFIG_FS_STABLE_WITH_LIBYUV \
230 CONFIG_FS_STABLE_WITH_ODBC \
231 CONFIG_FS_STABLE_WITH_PGSQL \
232 CONFIG_FS_STABLE_WITH_PNG \
233 CONFIG_FS_STABLE_WITH_SRTP \
234 CONFIG_FS_STABLE_WITH_VPX \
235 CONFIG_FS_STABLE_WITH_ZRTP \
237 CONFIG_PACKAGE_
$(PKG_LIBFTDM
) \
238 CONFIG_PACKAGE_
$(PKG_LIBFTDM
)-ftmod-libpri \
239 CONFIG_PACKAGE_
$(PKG_LIBFTDM
)-ftmod-pritap \
240 CONFIG_PACKAGE_
$(PKG_NAME
)-misc-perl-esl \
241 CONFIG_PACKAGE_
$(PKG_NAME
)-misc-python-esl \
244 include $(INCLUDE_DIR
)/uclibc
++.mk
245 include $(INCLUDE_DIR
)/package.mk
247 include $(INCLUDE_DIR
)/nls.mk
248 #######################################################
249 # mod_gsmopen can't detect if iconv's inbuf is const. #
252 # libiconv-stub - - #
253 # libiconv-full - const #
255 #######################################################
256 ifeq ($(ICONV_FULL
)$(CONFIG_USE_UCLIBC
),1y
)
257 TARGET_CFLAGS
+=-DFS_STABLE_ICONV_INBUF_CONST
260 FS_STABLE_PERL_FEED
:=$(TOPDIR
)/feeds
/packages
/lang
/perl
262 include $(TOPDIR
)/feeds
/packages
/lang
/python
/python-host.mk
263 include $(FS_STABLE_PERL_FEED
)/perlver.mk
265 PERL_SITELIB
:=/usr
/lib
/perl
$(PERL_MAJOR
)/$(PERL_VERSION2
)
267 FS_STABLE_PERL_LIBS
:=$(shell grep
"^libs=" \
268 $(FS_STABLE_PERL_FEED
)/files
/base.config | \
269 sed
"s/^libs=//;s/'//g")
271 FS_STABLE_PYTHON_SITE_DIR
:=$(FS_STABLE_LIB_DIR
)/python
$(PYTHON_VERSION
)/site-packages
273 define Download
/files
279 $$(eval
$$(call Download
,$(1)))
282 define Package
/$(PKG_NAME
)/install/bin
283 $(INSTALL_DIR
) $(1)$(FS_STABLE_BIN_DIR
)
284 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)$(FS_STABLE_BIN_DIR
)/$(2) \
285 $(1)$(FS_STABLE_BIN_DIR
)
288 define Package
/$(PKG_NAME
)/install/dir
289 if
[ -d
$(2) ]; then
$(INSTALL_DIR
) $(1); fi
290 for
dir in
$$$$(shell [ -d
$(2) ] && cd
$(2) && $(FIND
) -type d
-print | sed
's|^./\?||'); \
292 $(INSTALL_DIR
) $(1)/$$$$$$$$dir; \
294 for file in
$$$$(shell [ -d
$(2) ] && cd
$(2) && $(FIND
) -type f
-print | sed
's|^./||'); \
296 $(INSTALL_DATA
) $(2)/$$$$$$$$file $(1)/$$$$$$$$file; \
300 define Package
/$(PKG_LIBFTDM
)/install/ftmod
301 $(INSTALL_DIR
) $(1)$(FS_STABLE_MOD_DIR
)
302 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)$(FS_STABLE_MOD_DIR
)/ftmod_
$(2).so \
303 $(1)$(FS_STABLE_MOD_DIR
)
306 define Package
/$(PKG_NAME
)/install/lib
307 $(INSTALL_DIR
) $(1)$(FS_STABLE_LIB_DIR
)
308 $(CP
) $(PKG_INSTALL_DIR
)$(FS_STABLE_LIB_DIR
)/$(2).so
* \
309 $(1)$(FS_STABLE_LIB_DIR
)
312 define Package
/$(PKG_NAME
)/install/mod
313 $(INSTALL_DIR
) $(1)$(FS_STABLE_MOD_DIR
)
314 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)$(FS_STABLE_MOD_DIR
)/mod_
$(2).so \
315 $(1)$(FS_STABLE_MOD_DIR
)
318 define Package
/$(PKG_NAME
)/config
319 source
"$(SOURCE)/Config.in"
322 define Package
/$(PKG_LIBFTDM
)/Default
326 URL
:=https
://www.
$(PRG_NAME
).org
329 define Package
/$(PKG_LIBFTDM
)
330 $(call Package
/$(PKG_LIBFTDM
)/Default
)
332 TITLE
:=TDM signaling and media API
334 URL
:=https
://www.
$(PRG_NAME
).org
337 define Package
/$(PKG_LIBFTDM
)/description
338 Provides a unified interface to hardware TDM cards and SS7 stacks.
341 define Package
/$(PKG_LIBFTDM
)/install
342 $(call Package
/$(PKG_NAME
)/install/lib
,$(1),lib
$(FTDM
))
345 define Package
/$(PKG_LIBFTDM
)/FTModule
346 define Package
/$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1))
347 $(call Package
/$(PKG_LIBFTDM
)/Default
)
348 DEPENDS
:=PACKAGE_
$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1)):$(PKG_LIBFTDM
) \
349 $(patsubst +%,+PACKAGE_
$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1)):%,$(4))
350 TITLE
:=$(2) FreeTDM module
352 define Package
/$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1))/description
353 $(subst \n,$(newline
),$(3))
355 define Package
/$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1))/install
356 $(call Package
/$(PKG_LIBFTDM
)/install/ftmod
,$$(1),$(1))
358 $$(eval
$$(call BuildPackage
,$(PKG_LIBFTDM
)-ftmod-
$(subst _
,-,$(1))))
361 define Package
/$(PKG_NAME
)/Default
365 URL
:=https
://www.
$(PRG_NAME
).org
368 define Package
/$(PKG_NAME
)
369 $(call Package
/$(PKG_NAME
)/Default
)
370 TITLE
:=Open source telephony platform
, v
$(PKG_VERSION
)
372 USERID
:=$(PRG_NAME
)=372:$(PRG_NAME
)=372
376 +FS_STABLE_WITH_FREETYPE
:libfreetype \
377 +FS_STABLE_WITH_ODBC
:unixodbc \
378 +FS_STABLE_WITH_PGSQL
:libpq \
379 +FS_STABLE_WITH_PNG
:libpng \
391 CONFLICTS
:=$(PRG_NAME
)
394 define Package
/$(PKG_NAME
)/description
395 FreeSWITCH is a scalable open source cross-platform telephony platform
396 designed to route and interconnect popular communication protocols
397 using audio
, video
, text or any other form of media.
400 define Package
/$(PKG_NAME
)/conffiles
401 $(FS_STABLE_SYSCONF_DIR
)/$(PRG_NAME
)
402 $(FS_STABLE_SYSCONF_DIR
)/config
/$(PRG_NAME
)
403 $(FS_STABLE_SYSCONF_DIR
)/init.d
/$(PRG_NAME
)
406 define Package
/$(PKG_NAME
)/install
407 $(call Package
/$(PKG_NAME
)/install/bin
,$(1),$(PRG_NAME
))
408 $(call Package
/$(PKG_NAME
)/install/lib
,$(1),lib
$(PRG_NAME
))
409 $(INSTALL_DIR
) $(1)$(FS_STABLE_FONTS_DIR
)
410 $(INSTALL_DIR
) $(1)$(FS_STABLE_GRAMMAR_DIR
)
411 $(INSTALL_DIR
) $(1)$(FS_STABLE_HTDOCS_DIR
)
412 $(INSTALL_DIR
) $(1)$(FS_STABLE_IMAGES_DIR
)
413 $(INSTALL_DIR
) $(1)$(FS_STABLE_SCRIPTS_DIR
)
414 $(INSTALL_DIR
) $(1)$(FS_STABLE_SOUNDS_DIR
)
415 $(INSTALL_DIR
) $(1)$(FS_STABLE_SYSCONF_DIR
)/config
416 $(INSTALL_DIR
) $(1)$(FS_STABLE_SYSCONF_DIR
)/hotplug.d
/iface
417 $(INSTALL_DIR
) $(1)$(FS_STABLE_SYSCONF_DIR
)/init.d
418 $(INSTALL_DIR
) $(1)$(FS_STABLE_TLS_DIR
)
419 $(INSTALL_BIN
) .
/files
/$(PRG_NAME
).init \
420 $(1)$(FS_STABLE_SYSCONF_DIR
)/init.d
/$(PRG_NAME
)
421 $(INSTALL_BIN
) .
/files
/$(PRG_NAME
).hotplug \
422 $(1)$(FS_STABLE_SYSCONF_DIR
)/hotplug.d
/iface
/90-$(PRG_NAME
)
423 $(INSTALL_CONF
) .
/files
/$(PRG_NAME
).config \
424 $(1)$(FS_STABLE_SYSCONF_DIR
)/config
/$(PRG_NAME
)
427 define Package
/$(PKG_NAME
)/postinst
429 if
[ -z
"$${IPKG_INSTROOT}" ]; then
431 echo
"o-------------------------------------------------------------------o"
432 echo
"| FreeSWITCH note |"
433 echo
"o-------------------------------------------------------------------o"
434 echo
"| Edit /etc/config/freeswitch to change basic init configuration. |"
436 echo
"| Also visit the Wiki at: |"
437 echo
"| https://openwrt.org/docs/guide-user/services/voip/freeswitch |"
438 echo
"o-------------------------------------------------------------=^_^=-o"
440 [ -f
/etc
/hotplug.d
/iface
/99-freeswitch
] && {
441 echo
"o-------------------------------------------------------------------o"
442 echo
"| WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING |"
443 echo
"o-------------------------------------------------------------------o"
444 echo
"| Please remove freeswitch-stable-misc-hotplug. The hotplug script |"
445 echo
"| is now part of the main freeswitch-stable package. Please run: |"
447 echo
"| opkg remove freeswitch-stable-misc-hotplug |"
448 echo
"o-------------------------------------------------------------=^_^=-o"
455 define Package
/$(PKG_NAME
)-misc-perl-esl
456 $(call Package
/$(PKG_NAME
)/Default
)
458 DEPENDS
:=$(PKG_NAME
) \
459 +PACKAGE_
$(PKG_NAME
)-misc-perl-esl
:perlbase-autoloader \
460 +PACKAGE_
$(PKG_NAME
)-misc-perl-esl
:perlbase-data \
461 +PACKAGE_
$(PKG_NAME
)-misc-perl-esl
:perlbase-dynaloader \
465 define Package
/$(PKG_NAME
)-misc-perl-esl
/description
466 This package contains the Perl binding for FreeSWITCH
's Event Socket
470 define Package/$(PKG_NAME)-misc-perl-esl/install
471 $(INSTALL_DIR) $(1)$(PERL_SITELIB)/ESL
472 $(INSTALL_DIR) $(1)$(PERL_SITELIB)/auto/ESL
474 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL.so \
475 $(1)$(PERL_SITELIB)/auto/ESL
477 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL.pm \
480 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL/Dispatch.pm \
481 $(1)$(PERL_SITELIB)/ESL
483 $(PKG_INSTALL_DIR)$(PERL_SITELIB)/ESL/IVR.pm \
484 $(1)$(PERL_SITELIB)/ESL
487 define Package/$(PKG_NAME)-misc-python-esl
488 $(call Package/$(PKG_NAME)/Default)
490 DEPENDS:=$(PKG_NAME) +PACKAGE_$(PKG_NAME)-misc-python-esl:python-light
493 define Package/$(PKG_NAME)-misc-python-esl/description
494 This package contains the Python binding for FreeSWITCH's Event Socket
498 define Package
/$(PKG_NAME
)-misc-python-esl
/install
499 $(INSTALL_DIR
) $(1)$(FS_STABLE_PYTHON_SITE_DIR
)
501 $(PKG_INSTALL_DIR
)$(FS_STABLE_PYTHON_SITE_DIR
)/_ESL.so \
502 $(1)$(FS_STABLE_PYTHON_SITE_DIR
)
504 $(PKG_INSTALL_DIR
)$(FS_STABLE_PYTHON_SITE_DIR
)/ESL.py \
505 $(1)$(FS_STABLE_PYTHON_SITE_DIR
)
508 define Package
/$(PKG_NAME
)-misc-timezones
509 $(call Package
/$(PKG_NAME
)/Default
)
510 TITLE
:=Timezones file
515 define Package
/$(PKG_NAME
)-misc-timezones
/description
516 This package includes a timezones file for FreeSWITCH.
519 define Package
/$(PKG_NAME
)-misc-timezones
/install
520 $(INSTALL_DIR
) $(1)$(FS_STABLE_TZ_DIR
)
522 $(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/timezones.conf.xml \
523 $(1)$(FS_STABLE_TZ_DIR
)
526 define Package
/$(PKG_NAME
)/Example
527 define Package
/$(PKG_NAME
)-example-
$(subst _
,-,$(1))
528 $(call Package
/$(PKG_NAME
)/Default
)
529 TITLE
:=Example configuration
533 define Package
/$(PKG_NAME
)-example-
$(subst _
,-,$(1))/description
534 This package does not
install any configuration for FreeSWITCH into
535 /etc
/freeswitch. The system administrator is completely responsible
536 for that directory. If you
install one of the example configuration
537 packages
, it will
install the corresponding sample configuration to
538 /usr
/share
/freeswitch
/examples where you can take a look at it.
540 define Package
/$(PKG_NAME
)-example-
$(subst _
,-,$(1))/install
541 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)$(FS_STABLE_EXAMPLES_DIR
)/$(1),$(PKG_BUILD_DIR
)/conf
/$(1))
543 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-example-
$(subst _
,-,$(1))))
546 define Package
/$(PKG_NAME
)/Language
547 define Package
/$(PKG_NAME
)-lang-
$(subst _
,-,$(1))
548 $(call Package
/$(PKG_NAME
)/Default
)
549 TITLE
:=$(2) language files
553 define Package
/$(PKG_NAME
)-lang-
$(subst _
,-,$(1))/description
554 This package includes the
$(2) language files for FreeSWITCH.
556 define Package
/$(PKG_NAME
)-lang-
$(subst _
,-,$(1))/install
557 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)$(FS_STABLE_LANG_DIR
)/$(1),$(PKG_BUILD_DIR
)/conf
/vanilla
/lang
/$(1))
559 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-lang-
$(subst _
,-,$(1))))
562 # The next package generator is for miscellaneous files that only
563 # require being copied from PKG_INSTALL_DIR to the ipkg.
564 define Package
/$(PKG_NAME
)/Misc
565 define Package
/$(PKG_NAME
)-$(subst _
,-,$(1))
566 $(call Package
/$(PKG_NAME
)/Default
)
573 define Package
/$(PKG_NAME
)-$(subst _
,-,$(1))/description
574 $(subst \n,$(newline
),$(3))
576 define Package
/$(PKG_NAME
)-$(subst _
,-,$(1))/install
577 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)$(5),$(PKG_INSTALL_DIR
)$(4))
579 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-$(subst _
,-,$(1))))
582 define Package
/$(PKG_NAME
)/Module
583 define Package
/$(PKG_NAME
)-mod-
$(subst _
,-,$(1))
584 $(call Package
/$(PKG_NAME
)/Default
)
586 DEPENDS
:=$(PKG_NAME
) $(patsubst +%,+PACKAGE_
$(PKG_NAME
)-mod-
$(subst _
,-,$(1)):%,$(4))
588 define Package
/$(PKG_NAME
)-mod-
$(subst _
,-,$(1))/description
589 $(subst \n,$(newline
),$(3))
591 define Package
/$(PKG_NAME
)-mod-
$(subst _
,-,$(1))/install
592 $(call Package
/$(PKG_NAME
)/install/mod
,$$(1),$(1))
593 ifeq ($(CONFIG_FS_STABLE_WITH_MODCONF
),y
)
594 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)$(FS_STABLE_EXAMPLES_DIR
)/mod_
$(1),$(PKG_BUILD_DIR
)/src
/mod
/*/mod_
$(1)/conf
)
597 $(INSTALL_DIR
) $$(1)$(PERL_SITELIB
)/auto
/$(PRG_NAME
)
599 $(PKG_INSTALL_DIR
)/usr
/perl
/$(PRG_NAME
).so \
600 $$(1)$(PERL_SITELIB
)/auto
/$(PRG_NAME
)
602 $(PKG_INSTALL_DIR
)/usr
/perl
/$(PRG_NAME
).pm \
606 $(INSTALL_DIR
) $$(1)$(FS_STABLE_PYTHON_SITE_DIR
)
608 $(PKG_INSTALL_DIR
)$(FS_STABLE_PYTHON_SITE_DIR
)/$(PRG_NAME
).py \
609 $$(1)$(FS_STABLE_PYTHON_SITE_DIR
)
612 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-mod-
$(subst _
,-,$(1))))
615 define Package
/$(PKG_NAME
)/Util
616 define Package
/$(PKG_NAME
)-util-
$(subst _
,-,$(1))
617 $(call Package
/$(PKG_NAME
)/Default
)
619 DEPENDS
:=$(PKG_NAME
) $(patsubst +%,+PACKAGE_
$(PKG_NAME
)-util-
$(subst _
,-,$(1)):%,$(4))
624 define Package
/$(PKG_NAME
)-util-
$(subst _
,-,$(1))/description
625 $(subst \n,$(newline
),$(3))
627 define Package
/$(PKG_NAME
)-util-
$(subst _
,-,$(1))/install
628 $(call Package
/$(PKG_NAME
)/install/bin
,$$(1),$(1))
630 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-util-
$(subst _
,-,$(1))))
634 --srcdir=$(PKG_BUILD_DIR
) \
635 --disable-dependency-tracking \
637 --disable-system-xmlrpc-c \
638 --enable-core-libedit-support \
640 --with-cachedir
=/tmp
/$(PRG_NAME
)/cache \
641 --with-dbdir
=/tmp
/$(PRG_NAME
)/db \
642 --with-imagesdir
=$(FS_STABLE_IMAGES_DIR
) \
643 --with-logfiledir
=/tmp
/$(PRG_NAME
)/log \
644 --with-recordingsdir
=/tmp
/$(PRG_NAME
)/recordings \
645 --with-storagedir
=/tmp
/$(PRG_NAME
)/storage \
646 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_DEBUG
,debug
) \
647 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_LIBYUV
,libyuv
) \
648 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_ODBC
,core-odbc-support
) \
649 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_PGSQL
,core-pgsql-support
) \
650 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_SRTP
,srtp
) \
651 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_VPX
,libvpx
) \
652 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_ZRTP
,zrtp
) \
653 $(if
$(CONFIG_FS_STABLE_WITH_FREETYPE
),,--without-freetype
) \
654 $(if
$(CONFIG_FS_STABLE_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)$(FS_STABLE_LIB_DIR)") \
655 $(if
$(CONFIG_FS_STABLE_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
656 $(if
$(CONFIG_FS_STABLE_WITH_PGSQL
),,--without-pgsql
) \
657 $(if
$(CONFIG_FS_STABLE_WITH_PNG
),,--without-png
) \
658 $(if
$(CONFIG_PACKAGE_
$(PKG_LIBFTDM
)-ftmod-libpri
),--with-libpri
="$(STAGING_DIR)/usr",--without-libpri
) \
659 $(if
$(CONFIG_PACKAGE_
$(PKG_LIBFTDM
)-ftmod-pritap
),--with-pritap
,--without-pritap
)
661 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-python-esl
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-python
),)
663 --with-python
=$(STAGING_DIR_HOSTPKG
)/bin
/python
$(PYTHON_VERSION
)
669 ifeq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-erlang-event
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-kazoo
),)
674 # Make mod_spandsp use fixed point math when soft float support is
675 # enabled on target devices.
676 ifeq ($(CONFIG_SOFT_FLOAT
),y
)
681 # Don't want host-php
684 ac_cv_have_php_config
=no \
685 ac_cv_prog_PHP
=false \
686 ac_cv_prog_PHP_CONFIG
=false
688 # The autoconf variables in this block are OK for both musl and glibc
690 ac_cv_dev_urandom
=yes \
691 ac_cv_file__dev_ptmx
=yes \
692 ac_cv_file__dev_urandom
=yes \
693 ac_cv_file_dbd_apr_dbd_mysql_c
=no \
694 ac_cv_free_null
=yes \
695 ac_cv_func_mmap_fixed_mapped
=yes \
696 ac_cv_func_pthread_rwlock_init
=yes \
697 ac_cv_func_sem_open
=yes \
698 ac_cv_have_working_memmove
=yes \
699 ac_cv_negative_eai
=yes \
700 ac_cv_o_nonblock_inherited
=no \
701 ac_cv_struct_rlimit
=yes \
703 apr_cv_gai_addrconfig
=yes \
704 apr_cv_mutex_recursive
=yes \
705 apr_cv_process_shared_works
=yes \
706 apr_cv_pthreads_lib
=-lpthread \
707 apr_cv_tcp_nodelay_with_cork
=yes \
708 apr_cv_type_rwlock_t
=yes
714 # Regarding apr_cv_mutex_robust_shared=no see
715 # http://www.openwall.com/lists/musl/2016/11/26/1
716 # _Don't_ remove quotes below!
717 ifeq ($(CONFIG_LIBC
),"musl")
719 apr_cv_mutex_robust_shared
=no \
720 ac_cv_strerror_r_rc_int
=yes
723 apr_cv_mutex_robust_shared
=yes
726 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-perl-esl
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-perl
),)
728 PERL
="$(STAGING_DIR_HOSTPKG)/usr/bin/perl$(PERL_VERSION)" \
729 PERL_CFLAGS
="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -D_GNU_SOURCE -I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
730 PERL_INC
="-I$(STAGING_DIR)$(PERL_SITELIB)/CORE" \
731 PERL_LDFLAGS
="-Wl,-rpath,$(PERL_SITELIB)/CORE -L$(STAGING_DIR)$(PERL_SITELIB)/CORE -lperl" \
732 PERL_LIBDIR
="-L$(PERL_SITELIB)/CORE" \
733 PERL_LIBS
="$(FS_STABLE_PERL_LIBS) $(EXTRA_LIBDIRS:%=-L%) $(EXTRA_LIBS:%=-l%)" \
734 PERL_SITEDIR
="$(PERL_SITELIB)"
738 ac_cv_prog_PERL
=false
741 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-python-esl
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-python
),)
743 PYTHON_CFLAGS
="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION)" \
744 PYTHON_LDFLAGS
="-lpython$(PYTHON_VERSION)" \
745 PYTHON_LIB
="python$(PYTHON_VERSION)" \
746 PYTHON_LIBDIR
="$(FS_STABLE_LIB_DIR)" \
747 PYTHON_SITE_DIR
="$(FS_STABLE_PYTHON_SITE_DIR)"
750 # mod_radius_cdr runs configure in libs/freeradius-client. Let
751 # freeradius-client know /dev/urandom is available on target devices.
753 ac_cv_dev_urandom
=yes
755 # Make sphinxbase use fixed point math when soft float support is
756 # enabled on target devices.
757 ifeq ($(CONFIG_SOFT_FLOAT
),y
)
759 FS_STABLE_USE_FIXED_POINT
="--enable-fixed"
763 FS_STABLE_LIBS_URL
:=https
://files.
$(PRG_NAME
).org
/downloads
/libs
764 FS_STABLE_SPHINX_URL
:=@SF
/cmusphinx
767 FS_STABLE_ZEROMQ_FILE
:=zeromq-2.1
.9.
tar.gz
768 FS_STABLE_ZEROMQ_HASH
:=f3542f756687e622beef3a75c8e027fe2d95d4654350cbca4c070ffc58d9ace0
769 FS_STABLE_ZEROMQ_URL
:=http
://download.zeromq.org
772 FS_STABLE_POCKETSPHINX_FILE
:=pocketsphinx-0.8.
tar.gz
773 FS_STABLE_POCKETSPHINX_HASH
:=874c4c083d91c8ff26a2aec250b689e537912ff728923c141c4dac48662cce7a
775 FS_STABLE_SPHINXBASE_FILE
:=sphinxbase-0.8.
tar.gz
776 FS_STABLE_SPHINXBASE_HASH
:=55708944872bab1015b8ae07b379bf463764f469163a8fd114cbb16c5e486ca8
778 FS_STABLE_SPHINXMODEL_FILE
:=communicator_semi_6000_20080321.
tar.gz
779 FS_STABLE_SPHINXMODEL_HASH
:=dbb5e9fb85000a7cb97d6958a3ef8d77532dc55fc730ac6979705e8645cb0c18
782 FS_STABLE_FREERADIUS_CLIENT_FILE
:=freeradius-client-1.1
.7.
tar.gz
783 FS_STABLE_FREERADIUS_CLIENT_HASH
:=eada2861b8f4928e3ac6b5bbfe11e92cd6cdcacfce40cae1085e77c1b6add0e9
785 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-event-zmq
),)
786 $(eval
$(call Download
/files
,zmq
,$(FS_STABLE_ZEROMQ_FILE
),$(FS_STABLE_ZEROMQ_URL
),$(FS_STABLE_ZEROMQ_HASH
)))
789 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-pocketsphinx
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-grammar
),)
790 $(eval
$(call Download
/files
,pocketsphinx
,$(FS_STABLE_POCKETSPHINX_FILE
),$(FS_STABLE_SPHINX_URL
),$(FS_STABLE_POCKETSPHINX_HASH
)))
791 $(eval
$(call Download
/files
,sphinxbase
,$(FS_STABLE_SPHINXBASE_FILE
),$(FS_STABLE_SPHINX_URL
),$(FS_STABLE_SPHINXBASE_HASH
)))
792 $(eval
$(call Download
/files
,communicator
,$(FS_STABLE_SPHINXMODEL_FILE
),$(FS_STABLE_LIBS_URL
),$(FS_STABLE_SPHINXMODEL_HASH
)))
795 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-radius-cdr
),)
796 $(eval
$(call Download
/files
,freeradius-client
,$(FS_STABLE_FREERADIUS_CLIENT_FILE
),$(FS_STABLE_LIBS_URL
),$(FS_STABLE_FREERADIUS_CLIENT_HASH
)))
799 # Need to update LDFLAGS for libs/unimrcp, otherwise it will try to link to a
800 # different apr/apr-util if found.
801 # FS_STABLE_ANCHOR: string in build/acmacros/apr.m4 that will be replaced
802 FS_STABLE_ANCHOR
:=dnl Get build information from APR
803 FS_STABLE_APR_LIBS
:=-L
$(PKG_BUILD_DIR
)/libs
/apr
-L
$(PKG_BUILD_DIR
)/libs
/apr-util
806 $(call Build
/Prepare
/Default
)
808 echo
'#applications/mod_random' >> $(PKG_BUILD_DIR
)/modules.conf
809 echo
'#codecs/mod_yuv' >> $(PKG_BUILD_DIR
)/modules.conf
810 echo
'#event_handlers/mod_event_test' >> $(PKG_BUILD_DIR
)/modules.conf
812 $(SED
) 's|$(FS_STABLE_ANCHOR)|APR_SETVAR(LDFLAGS,[$(FS_STABLE_APR_LIBS) $(TARGET_LDFLAGS)])|' \
813 $(PKG_BUILD_DIR
)/libs
/unimrcp
/build
/acmacros
/apr.m4
816 define Build
/Configure
817 $(SED
) '/^#/!s/^/#/' $(PKG_BUILD_DIR
)/modules.conf
818 $(foreach m
,$(FS_STABLE_MOD_AVAILABLE
),
819 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
$(subst _
,-,$(m
))),
820 $(SED
) '/mod_$(m)$$$$/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
))
822 # Hack for misc-grammar - needs mod_pocketsphinx to provide grammar files
823 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-grammar
),)
824 ifeq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-pocketsphinx
),)
825 $(SED
) '/mod_pocketsphinx$$$$/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
829 # Hack for mod_gsmopen - it has a build-time dep on mod_spandsp
830 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-gsmopen
),)
831 ifeq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-spandsp
),)
832 $(SED
) '/mod_spandsp$$$$/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
836 # Hack for mod_unimrcp - it has a build-time dep on mod_sofia
837 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-unimrcp
),)
838 ifeq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-sofia
),)
839 $(SED
) '/mod_sofia$$$$/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
843 $(call Build
/Configure
/Default
)
847 # Copy some source files if certain modules are selected
848 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-event-zmq
),)
849 $(CP
) $(DL_DIR
)/$(FS_STABLE_ZEROMQ_FILE
) $(PKG_BUILD_DIR
)/libs
852 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-pocketsphinx
)$(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-grammar
),)
853 $(CP
) $(DL_DIR
)/$(FS_STABLE_POCKETSPHINX_FILE
) $(PKG_BUILD_DIR
)/libs
854 $(CP
) $(DL_DIR
)/$(FS_STABLE_SPHINXBASE_FILE
) $(PKG_BUILD_DIR
)/libs
855 $(CP
) $(DL_DIR
)/$(FS_STABLE_SPHINXMODEL_FILE
) $(PKG_BUILD_DIR
)/libs
858 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-radius-cdr
),)
859 $(CP
) $(DL_DIR
)/$(FS_STABLE_FREERADIUS_CLIENT_FILE
) $(PKG_BUILD_DIR
)/libs
862 # Compile FreeTDM first
863 ifneq ($(CONFIG_PACKAGE_
$(PKG_LIBFTDM
)),)
864 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/$(FTDM
))
866 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)),)
867 $(call Build
/Compile
/Default
)
869 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-perl-esl
),)
870 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl perlmod
)
872 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-python-esl
),)
873 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl pymod
)
878 # Again, FreeTDM first
879 ifneq ($(CONFIG_PACKAGE_
$(PKG_LIBFTDM
)),)
880 $(call Build
/Install
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/$(FTDM
) install)
882 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)),)
883 $(call Build
/Install
/Default
)
885 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-perl-esl
),)
886 $(call Build
/Compile
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl DESTDIR
=$(PKG_INSTALL_DIR
) perlmod-install
)
888 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)-misc-python-esl
),)
889 $(call Build
/Install
/Default
,-C
$(PKG_BUILD_DIR
)/libs
/esl pymod-install
)
893 define Build
/InstallDev
/$(PKG_LIBFTDM
)
894 $(INSTALL_DIR
) $(1)/usr
/include
896 $(PKG_INSTALL_DIR
)$(FS_STABLE_PKGCONFIG_DIR
)/$(FTDM
).
pc \
897 $(1)$(FS_STABLE_PKGCONFIG_DIR
)
898 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)/usr
/include/*.h
$(1)/usr
/include
901 define Build
/InstallDev
/$(PKG_NAME
)
902 $(INSTALL_DIR
) $(1)$(FS_STABLE_INCLUDES_DIR
)
903 $(INSTALL_DATA
) $(PKG_INSTALL_DIR
)$(FS_STABLE_INCLUDES_DIR
)/*.h \
904 $(1)$(FS_STABLE_INCLUDES_DIR
)
906 $(PKG_INSTALL_DIR
)$(FS_STABLE_PKGCONFIG_DIR
)/$(PRG_NAME
).
pc \
907 $(1)$(FS_STABLE_PKGCONFIG_DIR
)
910 define Build
/InstallDev
911 $(INSTALL_DIR
) $(1)$(FS_STABLE_PKGCONFIG_DIR
)
912 ifneq ($(CONFIG_PACKAGE_
$(PKG_LIBFTDM
)),)
913 $(call Build
/InstallDev
/$(PKG_LIBFTDM
),$(1))
915 ifneq ($(CONFIG_PACKAGE_
$(PKG_NAME
)),)
916 $(call Build
/InstallDev
/$(PKG_NAME
),$(1))
920 $(eval
$(call BuildPackage
,$(PKG_LIBFTDM
)))
921 $(eval
$(call BuildPackage
,$(PKG_NAME
)))
922 $(eval
$(call BuildPackage
,$(PKG_NAME
)-misc-perl-esl
))
923 $(eval
$(call BuildPackage
,$(PKG_NAME
)-misc-python-esl
))
924 $(eval
$(call BuildPackage
,$(PKG_NAME
)-misc-timezones
))
926 ################################
927 # FreeSWITCH example configs
929 # 1 - Package subname
930 ################################
932 $(eval
$(call Package
/$(PKG_NAME
)/Example
,curl
))
933 $(eval
$(call Package
/$(PKG_NAME
)/Example
,insideout
))
934 $(eval
$(call Package
/$(PKG_NAME
)/Example
,minimal
))
935 $(eval
$(call Package
/$(PKG_NAME
)/Example
,rayo
))
936 $(eval
$(call Package
/$(PKG_NAME
)/Example
,sbc
))
937 $(eval
$(call Package
/$(PKG_NAME
)/Example
,softphone
))
938 $(eval
$(call Package
/$(PKG_NAME
)/Example
,testing
))
939 $(eval
$(call Package
/$(PKG_NAME
)/Example
,vanilla
))
941 ################################
944 # 1 - Package subname
946 # 3 - Module description
947 # 4 - Module dependencies
948 ################################
950 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,analog
,Analog
,Offers generic FXO
/FXS support for any type of card supported by FreeTDM.
,))
951 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,analog_em
,Analog EM
,Offers generic E
&M signaling for any type of card supported by FreeTDM.
,))
952 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,libpri
,LibPRI
,Offers support for PRI lines using the open source libpri stack for any
\ntype of card supported by FreeTDM. Supports both PRI and BRI signalling.
,+libpri @
!aarch64
))
953 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,pritap
,PRI tapping
,This module is used to tap PRI lines.
,+$(PKG_LIBFTDM
)-ftmod-libpri
))
954 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,skel
,Skeleton
,ftmod_skel is an example module.
,))
955 $(eval
$(call Package
/$(PKG_LIBFTDM
)/FTModule
,zt
,DAHDI I
/O
,This module supports the DAHDI interface. The DAHDI interface is used by
\nseveral hardware vendors.
,))
957 ################################
958 # FreeSWITCH language files
962 ################################
964 $(eval
$(call Package
/$(PKG_NAME
)/Language
,de
,German
))
965 $(eval
$(call Package
/$(PKG_NAME
)/Language
,en
,English
))
966 $(eval
$(call Package
/$(PKG_NAME
)/Language
,es
,Spanish
))
967 $(eval
$(call Package
/$(PKG_NAME
)/Language
,fr
,French
))
968 $(eval
$(call Package
/$(PKG_NAME
)/Language
,he
,Hebrew
))
969 $(eval
$(call Package
/$(PKG_NAME
)/Language
,pt
,Portuguese
))
970 $(eval
$(call Package
/$(PKG_NAME
)/Language
,ru
,Russian
))
971 $(eval
$(call Package
/$(PKG_NAME
)/Language
,sv
,Swedish
))
973 ################################
974 # FreeSWITCH misc packages
976 # 1 - Package subname
978 # 3 - Package description
979 # 4 - Source dir relative to
981 # 5 - Dest dir relative to ipkg
982 # 6 - Arch independent files
983 ################################
985 $(eval
$(call Package
/$(PKG_NAME
)/Misc
,misc-fonts
,Fonts
,This package includes the fonts bundled with FreeSWITCH.
,$(FS_STABLE_FONTS_DIR
),$(FS_STABLE_FONTS_DIR
),y
))
986 $(eval
$(call Package
/$(PKG_NAME
)/Misc
,misc-grammar
,Grammar
,This package contains grammar files. mod_pocketsphinx would be a
\npotential user.
,$(FS_STABLE_GRAMMAR_DIR
),$(FS_STABLE_GRAMMAR_DIR
),y
))
987 $(eval
$(call Package
/$(PKG_NAME
)/Misc
,misc-images
,Images
,This package includes the images bundled with FreeSWITCH.
,$(FS_STABLE_IMAGES_DIR
),$(FS_STABLE_IMAGES_DIR
),y
))
989 ################################
992 # 1 - Package subname
994 # 3 - Module description
995 # 4 - Module dependencies
996 ################################
998 $(eval
$(call Package
/$(PKG_NAME
)/Module
,abstraction
,API abstraction
,This module provides a way to create new API functions via regex
\nrewriting.
,))
999 $(eval
$(call Package
/$(PKG_NAME
)/Module
,alsa
,ALSA endpoint
,ALSA endpoint module.
,+alsa-lib
))
1000 $(eval
$(call Package
/$(PKG_NAME
)/Module
,amr
,AMR passthrough
,Passthrough AMR codec support.
,))
1001 $(eval
$(call Package
/$(PKG_NAME
)/Module
,amrwb
,AMR wideband passthrough
,Passthrough AMR wideband codec support.
,))
1002 $(eval
$(call Package
/$(PKG_NAME
)/Module
,av
,AV
,Video codec and format support via FFmpeg.
,+libffmpeg-full @x86_64
))
1003 $(eval
$(call Package
/$(PKG_NAME
)/Module
,avmd
,Voicemail detection
,This module attempts to determine when a voicemail system has answered
\nthe call.
,))
1004 $(eval
$(call Package
/$(PKG_NAME
)/Module
,b64
,Base64
,Transfers data Base64 encoded.
,))
1005 $(eval
$(call Package
/$(PKG_NAME
)/Module
,basic
,BASIC
,BASIC module for FreeSWITCH.
,))
1006 $(eval
$(call Package
/$(PKG_NAME
)/Module
,bert
,BERT
,Line testing tool.
,))
1007 $(eval
$(call Package
/$(PKG_NAME
)/Module
,blacklist
,Blacklist helper
,This module provides tools to blacklist callers.
,))
1008 $(eval
$(call Package
/$(PKG_NAME
)/Module
,callcenter
,Call center
,This module implements Automated Call Distribution queues.
,))
1009 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_csv
,CSV CDR
,CSV Call Detail Record handler.
,))
1010 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_mongodb
,MongoDB CDR
,MongoDB Call Detail Record handler.
,))
1011 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_pg_csv
,PostgreSQL CDR
,PostgreSQL Call Detail Record handler.
,@FS_STABLE_WITH_PGSQL
))
1012 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_sqlite
,SQLite CDR
,SQLite Call Detail Record handler.
,))
1013 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cidlookup
,Caller ID lookup
,This module provides an API for querying caller ID name and location
\ndata.
,))
1014 $(eval
$(call Package
/$(PKG_NAME
)/Module
,clearmode
,Clearmode
,Clearmode codec passthrough support.
,))
1015 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cluechoo
,Clue Choo
,This demo module renders a Clue Choo train on the FreeSWITCH console.
,+libncurses
))
1016 $(eval
$(call Package
/$(PKG_NAME
)/Module
,commands
,Commands
,This module provides miscellaneous API commands.
,))
1017 $(eval
$(call Package
/$(PKG_NAME
)/Module
,conference
,Conference
,This module provides multi-party conferencing.
,))
1018 $(eval
$(call Package
/$(PKG_NAME
)/Module
,console
,Console logger
,Allows control over what messages
get logged to the console.
,))
1019 $(eval
$(call Package
/$(PKG_NAME
)/Module
,curl
,cURL
,This module provides an API for making HTTP requests with cURL.
,))
1020 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cv
,OpenCV
,This module exposes opencv actions to enable computer vision actions.
,+opencv @BROKEN
)) # opencv package too stripped-down
1021 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dahdi_codec
,DAHDI codec
,DAHDI codec module.
,))
1022 $(eval
$(call Package
/$(PKG_NAME
)/Module
,db
,DB
,This module implements a simple db API with group support. Also can be
\nused
as a limit db backend.
,))
1023 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dialplan_asterisk
,Asterisk dialplan
,Asterisk extensions.conf style dialplan parser.
,))
1024 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dialplan_directory
,Directory dialplan
,Directory dialplan support.
,))
1025 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dialplan_xml
,XML dialplan
,Standard FreeSWITCH XML dialplan support.
,))
1026 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dingaling
,Generic XMPP
,Allows FreeSWITCH to be used
as a client for XMPP Servers.
,))
1027 $(eval
$(call Package
/$(PKG_NAME
)/Module
,directory
,Dial-by-name directory
,This module implements a dial-by-name directory IVR.
,))
1028 $(eval
$(call Package
/$(PKG_NAME
)/Module
,distributor
,Load distributor
,This module implements a mechanism for performing load balancing.
,))
1029 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dptools
,Dialplan tools
,This module implements basic dialplan tools.
,))
1030 $(eval
$(call Package
/$(PKG_NAME
)/Module
,easyroute
,DID routing
,This module does destination lookup based on DID.
,))
1031 $(eval
$(call Package
/$(PKG_NAME
)/Module
,enum
,ENUM routing
,This module implements ENUM support.
,+libldns
))
1032 $(eval
$(call Package
/$(PKG_NAME
)/Module
,erlang_event
,Erlang event
,Erlang event module.
,+erlang
))
1033 $(eval
$(call Package
/$(PKG_NAME
)/Module
,esf
,Multicast
,This module adds multi-cast support.
,))
1034 $(eval
$(call Package
/$(PKG_NAME
)/Module
,esl
,Single ESL
,This module adds an API for generating one-off ESL requests.
,))
1035 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_multicast
,Multicast Event
,Multicast Event System for FreeSWITCH.
,))
1036 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_socket
,Event socket
,Sends events via a single socket. Needed for fs_cli.
,))
1037 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_test
,Event
test,Event demo module.
,))
1038 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_zmq
,ZMQ event
,ZMQ event module.
,@
!USE_UCLIBCXX
))
1039 $(eval
$(call Package
/$(PKG_NAME
)/Module
,expr
,Expr
,This module adds expr support for expression evaluation.
,))
1040 $(eval
$(call Package
/$(PKG_NAME
)/Module
,fail2ban
,Fail2ban logging
,Provides support for Fail2ban logging.
,))
1041 $(eval
$(call Package
/$(PKG_NAME
)/Module
,fifo
,FIFO
,This module adds a first-in first-out queue system.
,))
1042 $(eval
$(call Package
/$(PKG_NAME
)/Module
,format_cdr
,Multiformat CDR
,A superset of mod_json_cdr and mod_xml_cdr.
,))
1043 $(eval
$(call Package
/$(PKG_NAME
)/Module
,$(FTDM
),FreeTDM endpoint
,This module is the glue between FreeSWITCH and FreeTDM.
,+$(PKG_LIBFTDM
)))
1044 $(eval
$(call Package
/$(PKG_NAME
)/Module
,fsk
,FSK
,This module adds frequency-shift keying support which can be used to
\nsend and receive caller ID.
,))
1045 $(eval
$(call Package
/$(PKG_NAME
)/Module
,fsv
,FSV
,This module provides dialplan applications for recording and playing
\nvideos.
,))
1046 $(eval
$(call Package
/$(PKG_NAME
)/Module
,g723_1
,G
.723.1 passthrough
,G
.723.1 codec passthrough.
,))
1047 $(eval
$(call Package
/$(PKG_NAME
)/Module
,g729
,G
.729 passthrough
,G
.729 codec passthrough.
,))
1048 $(eval
$(call Package
/$(PKG_NAME
)/Module
,graylog2
,Graylog2 logger
,GELF logger for Graylog2 and Logstash.
,))
1049 $(eval
$(call Package
/$(PKG_NAME
)/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
+libtiff
))
1050 $(eval
$(call Package
/$(PKG_NAME
)/Module
,h26x
,H
.26x passthrough
,H
.26x video codec passthrough.
,))
1051 $(eval
$(call Package
/$(PKG_NAME
)/Module
,hash
,Hash
,This module provides a key-value in-memory datastore. Usable
as a
\nlimit backend.
,))
1052 $(eval
$(call Package
/$(PKG_NAME
)/Module
,hiredis
,Redis client
,This module provides a mechanism to use Redis
as a datastore.
,+libhiredis
))
1053 $(eval
$(call Package
/$(PKG_NAME
)/Module
,httapi
,HT-TAPI
,This module provides an API for controlling the switch by responding
\nto HTTP requests.
,))
1054 $(eval
$(call Package
/$(PKG_NAME
)/Module
,http_cache
,HTTP GET with caching
,This module provides an API for making HTTP GET requests where the
\nresult is cached.
,))
1055 $(eval
$(call Package
/$(PKG_NAME
)/Module
,isac
,iSAC
,iSAC codec support.
,@arm||i386||mips||mips64||mips64el||mipsel||x86_64
))
1056 $(eval
$(call Package
/$(PKG_NAME
)/Module
,json_cdr
,JSON CDR
,JSON-based Call Detail Record handler.
,))
1057 $(eval
$(call Package
/$(PKG_NAME
)/Module
,kazoo
,Kazoo
,Kazoo module for FreeSWITCH.
,+erlang
))
1058 $(eval
$(call Package
/$(PKG_NAME
)/Module
,lcr
,LCR
,This module adds a facility for least-cost routing.
,))
1059 $(eval
$(call Package
/$(PKG_NAME
)/Module
,ldap
,LDAP
,LDAP module for FreeSWITCH.
,+libopenldap
))
1060 $(eval
$(call Package
/$(PKG_NAME
)/Module
,local_stream
,Local stream
,Connects multiple channels to a looped stream.
,))
1061 $(eval
$(call Package
/$(PKG_NAME
)/Module
,logfile
,File logger
,Logs FreeSWITCH output to a file.
,))
1062 $(eval
$(call Package
/$(PKG_NAME
)/Module
,loopback
,Loopback
,A loopback channel driver.
,))
1063 $(eval
$(call Package
/$(PKG_NAME
)/Module
,lua
,Lua
,Lua language interface for FreeSWITCH.
,+liblua
))
1064 $(eval
$(call Package
/$(PKG_NAME
)/Module
,mp4v
,MP4 video passthrough
,MP4 video passthrough..
,))
1065 $(eval
$(call Package
/$(PKG_NAME
)/Module
,native_file
,Native file
,Plays files that are already encoded in the right format.
,))
1066 $(eval
$(call Package
/$(PKG_NAME
)/Module
,nibblebill
,Nibblebill
,This module allows for real-time accounting of a cash balance and
\nusing that information for call routing.
,))
1067 $(eval
$(call Package
/$(PKG_NAME
)/Module
,odbc_cdr
,ODBC CDR
,ODBC Call Detail Record handler.
,))
1068 $(eval
$(call Package
/$(PKG_NAME
)/Module
,opus
,Opus
,Opus codec support.
,+libopus
))
1069 $(eval
$(call Package
/$(PKG_NAME
)/Module
,opusfile
,Opus file
,Read and Write OGG
/Opus files.
,+libopusenc
+libopusfile
))
1070 $(eval
$(call Package
/$(PKG_NAME
)/Module
,oreka
,Oreka
,This module provides media recording with the Oreka cross-platform
\naudio stream recording and retrieval system.
,))
1071 $(eval
$(call Package
/$(PKG_NAME
)/Module
,perl
,Perl
,This package contains mod_perl for FreeSWITCH.
,+libdb47
+libgdbm
+perlbase-essential @PERL_THREADS
))
1072 $(eval
$(call Package
/$(PKG_NAME
)/Module
,png
,PNG
,Allows playback of video using PNG files.
,@FS_STABLE_WITH_PNG
))
1073 $(eval
$(call Package
/$(PKG_NAME
)/Module
,pocketsphinx
,Pocketsphinx
,This module allows speech recognition. You might want to
install\n$(PKG_NAME
)-misc-grammar
as well.
,+libsamplerate
)) # When libsamplerate is found it'll be linked against, there is no switch to turn it off
1074 $(eval
$(call Package
/$(PKG_NAME
)/Module
,portaudio
,Portaudio
,Voice through a local soundcard.
,+portaudio
))
1075 $(eval
$(call Package
/$(PKG_NAME
)/Module
,portaudio_stream
,Portaudio streaming
,Stream from an external audio source for Music on Hold.
,+portaudio
))
1076 $(eval
$(call Package
/$(PKG_NAME
)/Module
,posix_timer
,POSIX timer
,Add POSIX timer support.
,))
1077 $(eval
$(call Package
/$(PKG_NAME
)/Module
,prefix,Prefix match
,This module provides a data store with fast lookups by the longest
\nprefix match rule.
,))
1078 $(eval
$(call Package
/$(PKG_NAME
)/Module
,python
,Python
,Python support module.
,+python-light
))
1079 $(eval
$(call Package
/$(PKG_NAME
)/Module
,radius_cdr
,Radius CDR
,Radius Call Detail Record handler.
,))
1080 $(eval
$(call Package
/$(PKG_NAME
)/Module
,random
,Entropy
,This module extracts entropy from FreeSWITCH and feeds it into
\n/dev
/random.
,))
1081 $(eval
$(call Package
/$(PKG_NAME
)/Module
,raven
,Raven logging
,Adds support for logging to Raven instances.
,))
1082 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rayo
,Rayo
,Rayo
/XMPP
3PCC server for FreeSWITCH.
,+$(PKG_NAME
)-mod-ssml
))
1083 $(eval
$(call Package
/$(PKG_NAME
)/Module
,redis
,Redis limit backend
,This module provides a mechanism to use Redis
as a limit backend data
\nstore.
,))
1084 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rss
,RSS
,Parses and reads XML based RSS feeds and reads the entries aloud via a TTS engine.
,))
1085 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rtc
,Media streaming
,Media streaming
as used by WebRTC and mod_verto.
,))
1086 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rtmp
,RTMP endpoint
,RTMP endpoint support. Allows FreeSWITCH to be used from RTMP clients.
,))
1087 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_de
,German Say
,Uses prerecorded sounds to read or say various things.
,))
1088 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_en
,English Say
,Uses prerecorded sounds to read or say various things.
,))
1089 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_es
,Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
1090 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_es_ar
,Argentinian Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
1091 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_fa
,Persian Say
,Uses prerecorded sounds to read or say various things.
,))
1092 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_fr
,French Say
,Uses prerecorded sounds to read or say various things.
,))
1093 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_he
,Hebrew Say
,Uses prerecorded sounds to read or say various things.
,))
1094 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_hr
,Croatian Say
,Uses prerecorded sounds to read or say various things.
,))
1095 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_hu
,Hungarian Say
,Uses prerecorded sounds to read or say various things.
,))
1096 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_it
,Italian Say
,Uses prerecorded sounds to read or say various things.
,))
1097 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_ja
,Japanese Say
,Uses prerecorded sounds to read or say various things.
,))
1098 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_nl
,Dutch Say
,Uses prerecorded sounds to read or say various things.
,))
1099 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_pl
,Polish Say
,Uses prerecorded sounds to read or say various things.
,))
1100 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_pt
,Portuguese Say
,Uses prerecorded sounds to read or say various things.
,))
1101 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_ru
,Russian Say
,Uses prerecorded sounds to read or say various things.
,))
1102 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_sv
,Swedish Say
,Uses prerecorded sounds to read or say various things.
,))
1103 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_th
,Thai Say
,Uses prerecorded sounds to read or say various things.
,))
1104 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_zh
,Chinese Say
,Uses prerecorded sounds to read or say various things.
,))
1105 $(eval
$(call Package
/$(PKG_NAME
)/Module
,shell_stream
,Shell stream
,Allows to stream audio from an arbitrary
shell command.
,))
1106 $(eval
$(call Package
/$(PKG_NAME
)/Module
,shout
,Shout
,Allows to stream audio from MP3s or Shoutcast streams.
,+lame-lib
+libmpg123
+libshout
))
1107 $(eval
$(call Package
/$(PKG_NAME
)/Module
,skinny
,Skinny
,Skinny Call Control Protocol endpoint support.
,))
1108 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sms
,SMS
,This module provides an abstract facility for interfacing with SMS
\nsystems.
,))
1109 $(eval
$(call Package
/$(PKG_NAME
)/Module
,snapshot
,Snapshot
,This module can record a sliding window of audio and take snapshots
\nto disk.
,))
1110 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sndfile
,Soundfile
,Adds sound format support via libsndfile.
,+libsndfile
))
1111 $(eval
$(call Package
/$(PKG_NAME
)/Module
,snmp
,SNMP
,An SNMP stats reporter.
,+libnetsnmp
))
1112 $(eval
$(call Package
/$(PKG_NAME
)/Module
,snom
,SNOM
,This module implements features specific to SNOM phones.
,))
1113 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sofia
,Sofia SIP
,SIP module.
,))
1114 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sonar
,Sonar
,This module measures the latency on an audio link by sending audible
\naudio sonar pings.
,))
1115 $(eval
$(call Package
/$(PKG_NAME
)/Module
,spandsp
,SpanDSP
,This module implements SpanDSP fax. It includes DSP and codec
\nfunctionality.
,+libjpeg
+liblzma
+libtiff
))
1116 $(eval
$(call Package
/$(PKG_NAME
)/Module
,spy
,User Spy
,This module adds the ability to monitor the audio of a channel.
,))
1117 $(eval
$(call Package
/$(PKG_NAME
)/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.
,))
1118 $(eval
$(call Package
/$(PKG_NAME
)/Module
,stress
,Stress
,This module attempts to detect voice stress on an audio channel.
,))
1119 $(eval
$(call Package
/$(PKG_NAME
)/Module
,syslog
,Syslog logger
,Logs FreeSWITCH output to the syslog.
,))
1120 $(eval
$(call Package
/$(PKG_NAME
)/Module
,theora
,Theora passthrough
,Theora video codec passthrough.
,))
1121 $(eval
$(call Package
/$(PKG_NAME
)/Module
,tone_stream
,Tone stream
,Tone generation stream.
,))
1122 $(eval
$(call Package
/$(PKG_NAME
)/Module
,translate
,Number translation
,This module implements number translation.
,))
1123 $(eval
$(call Package
/$(PKG_NAME
)/Module
,tts_commandline
,TTS command-line
,Run a command-line and play the output file.
,))
1124 $(eval
$(call Package
/$(PKG_NAME
)/Module
,unimrcp
,UniMRCP
,Allows communication with Media Resource Control Protocol servers.
,))
1125 $(eval
$(call Package
/$(PKG_NAME
)/Module
,valet_parking
,Valet parking
,This module implements the valet call parking strategy.
,))
1126 $(eval
$(call Package
/$(PKG_NAME
)/Module
,verto
,Verto
,Verto signaling protocol.
,))
1127 $(eval
$(call Package
/$(PKG_NAME
)/Module
,video_filter
,Video
filter chromakey
,This module provides a media bug for chromakey functionality.
,))
1128 $(eval
$(call Package
/$(PKG_NAME
)/Module
,vmd
,Voicemail detection
,This module detects voicemail beeps.
,))
1129 $(eval
$(call Package
/$(PKG_NAME
)/Module
,voicemail
,Voicemail
,This module provides a voicemail system.
,))
1130 $(eval
$(call Package
/$(PKG_NAME
)/Module
,voicemail_ivr
,Voicemail IVR
,This module provides an extensible voicemail IVR system.
,))
1131 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_cdr
,XML CDR
,XML Call Detail Record handler.
,))
1132 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_curl
,XML cURL
,Provides an XML cURL interfaces to pull dynamic XML configuration for
\nFreeSWITCH over HTTP.
,))
1133 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_ldap
,XML LDAP
,LDAP XML gateway.
,+libopenldap
))
1134 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_rpc
,XML RPC
,Allows using the webapi to control FreeSWITCH.
,))
1135 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_scgi
,XML SCGI
,SCGI XML Gateway.
,))
1136 $(eval
$(call Package
/$(PKG_NAME
)/Module
,yaml
,YAML
,YAML language module.
,+libyaml
))
1137 $(eval
$(call Package
/$(PKG_NAME
)/Module
,yuv
,Raw YUV
,Raw YUV I420 video codec support.
,@FS_STABLE_WITH_LIBYUV
))
1139 ################################
1140 # FreeSWITCH utilities
1142 # 1 - Package subname
1144 # 3 - Utility description
1145 # 4 - Utility dependencies
1146 # 5 - Utility is a script (y/n)
1147 ################################
1149 $(eval
$(call Package
/$(PKG_NAME
)/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
))
1150 $(eval
$(call Package
/$(PKG_NAME
)/Util
,fs_encode
,Sound file conversion
,Format conversion of sound files so the result can be used by
\nmod_native_file.
,+$(PKG_NAME
)-mod-native-file
+$(PKG_NAME
)-mod-sndfile
+$(PKG_NAME
)-mod-spandsp
,n
))
1151 $(eval
$(call Package
/$(PKG_NAME
)/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
))
1152 $(eval
$(call Package
/$(PKG_NAME
)/Util
,gentls_cert
,TLS certificate
,Can be used to create TLS certificates and setup CAs.
,+openssl-util
,y
))
1153 $(eval
$(call Package
/$(PKG_NAME
)/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.
,+$(PKG_NAME
)-mod-sndfile
,n
))