2 # Copyright (C) 2017 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
10 # - try to use system xmlrpc-c once it compiles again :-)
15 # - --disable-cpp sounds like we could get rid of the dep on libstdcpp, but it
16 # only results in switch_cpp.cpp not being compiled and there is other stuff
17 # that depends on libstdcpp.
18 # - I have patched configure.ac to be able to say no to libpng and freetype. If
19 # there are errors in the future due to missing depends we'll need to poke
22 include $(TOPDIR
)/rules.mk
25 PKG_NAME
:=$(PRG_NAME
)-stable
28 PKG_MAINTAINER
:=Sebastian Kemper
<sebastian_ml@gmx.net
>
30 PKG_SOURCE
:=$(PRG_NAME
)-$(PKG_VERSION
).
tar.xz
31 PKG_SOURCE_URL
:=https
://files.
$(PRG_NAME
).org
/releases
/$(PRG_NAME
)
32 PKG_MD5SUM
:=709b3e43362d86b9682a7db14eb344b74362493d68244dfc4e6f40218089d4e1
34 PKG_BUILD_DIR
:=$(BUILD_DIR
)/$(PRG_NAME
)-$(PKG_VERSION
)
36 # configure fails without libjpeg, but it's only needed for mod_spandsp
37 PKG_BUILD_DEPENDS
:=libjpeg
64 PKG_LICENSE_FILES
:=debian
/copyright
66 FS_STABLE_DEPS_BASE
:= \
67 +FS_STABLE_WITH_PGSQL
:libpq \
72 $(FS_STABLE_DEPS_BASE
) \
73 +FS_STABLE_WITH_LIBEDIT
:libedit \
74 +FS_STABLE_WITH_ODBC
:unixodbc \
85 FS_STABLE_MOD_AVAILABLE
:= \
165 include $(INCLUDE_DIR
)/package.mk
167 define Package
/$(PKG_NAME
)/install/bin
168 $(INSTALL_DIR
) $(1)/usr
/bin
169 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/$(2) $(1)/usr
/bin
172 define Package
/$(PKG_NAME
)/install/dir
173 for
dir in
$$$$(shell cd
$(2); find
-type d
-print | sed
's|^./\?||'); \
175 $(INSTALL_DIR
) $(1)/$$$$$$$$dir; \
177 for file in
$$$$(shell cd
$(2); find
-type f
-print | sed
's|^./||'); \
179 $(INSTALL_DATA
) $(2)/$$$$$$$$file $(1)/$$$$$$$$file; \
183 define Package
/$(PKG_NAME
)/install/lib
184 $(INSTALL_DIR
) $(1)/usr
/lib
185 $(CP
) $(PKG_INSTALL_DIR
)/usr
/lib
/$(2).so
* $(1)/usr
/lib
188 define Package
/$(PKG_NAME
)/install/mod
189 $(INSTALL_DIR
) $(1)/usr
/lib
/$(PRG_NAME
)/mod
190 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/$(PRG_NAME
)/mod
/mod_
$(2).so \
191 $(1)/usr
/lib
/$(PRG_NAME
)/mod
194 define Package
/$(PKG_NAME
)/config
195 source
"$(SOURCE)/Config.in"
198 define Package
/$(PKG_NAME
)/Default
202 URL
:=https
://www.
$(PRG_NAME
).org
205 define Package
/$(PKG_NAME
)
206 $(call Package
/$(PKG_NAME
)/Default
)
207 TITLE
:=Open source telephony platform
, v
$(PKG_VERSION
)
209 USERID
:=$(PRG_NAME
)=372:$(PRG_NAME
)=372
210 DEPENDS
:=$(FS_STABLE_DEPS
)
211 CONFLICTS
:=$(PRG_NAME
)
214 define Package
/$(PKG_NAME
)/description
215 FreeSWITCH is a scalable open source cross-platform telephony platform
216 designed to route and interconnect popular communication protocols
217 using audio
, video
, text or any other form of media.
220 define Package
/$(PKG_NAME
)/conffiles
222 /etc
/default
/$(PRG_NAME
)
223 /etc
/init.d
/$(PRG_NAME
)
226 define Package
/$(PKG_NAME
)/install
227 $(call Package
/$(PKG_NAME
)/install/bin
,$(1),$(PRG_NAME
))
228 $(call Package
/$(PKG_NAME
)/install/lib
,$(1),lib
$(PRG_NAME
))
229 $(INSTALL_DIR
) $(1)/etc
/$(PRG_NAME
)/tls
230 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/fonts
231 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/grammar
232 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/htdocs
233 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/images
234 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/scripts
235 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/sounds
236 $(INSTALL_DIR
) $(1)/etc
/default
237 $(INSTALL_CONF
) .
/files
/$(PRG_NAME
).default
$(1)/etc
/default
/$(PRG_NAME
)
238 $(INSTALL_DIR
) $(1)/etc
/init.d
239 $(INSTALL_BIN
) .
/files
/$(PRG_NAME
).init
$(1)/etc
/init.d
/$(PRG_NAME
)
240 ifeq ($(CONFIG_FS_STABLE_WITH_LIBEDIT
),)
241 $(SED
) '/^ #procd_append_param command -nc -nf$$$$/s/#//' \
242 $(1)/etc
/init.d
/$(PRG_NAME
)
246 define Package
/$(PKG_NAME
)/postinst
248 if
[ -z
"$${IPKG_INSTROOT}" ]; then
249 # Prevent autostart of $(PRG_NAME)
250 touch
/etc
/$(PRG_NAME
)_disabled
253 echo
"o-------------------------------------------------------------------o"
254 echo
"| FreeSWITCH note |"
255 echo
"o-------------------------------------------------------------------o"
256 echo
"| Edit /etc/default/freeswitch to change basic init configuration. |"
257 echo
"o-------------------------------------------------------------=^_^=-o"
263 define Package
/$(PKG_NAME
)-hotplug
264 $(call Package
/$(PKG_NAME
)/Default
)
265 TITLE
:=Hotplug script
270 define Package
/$(PKG_NAME
)-hotplug
/description
271 This package includes a hotplug script for FreeSWITCH.
274 define Package
/$(PKG_NAME
)-hotplug
/install
275 $(INSTALL_DIR
) $(1)/etc
/hotplug.d
/iface
276 $(INSTALL_BIN
) .
/files
/$(PRG_NAME
).hotplug \
277 $(1)/etc
/hotplug.d
/iface
/99-$(PRG_NAME
)
280 define Package
/$(PKG_NAME
)-hotplug
/postinst
282 if
[ -z
"$${IPKG_INSTROOT}" ]; then
284 echo
"o-------------------------------------------------------------------o"
285 echo
"| FreeSWITCH hotplug note |"
286 echo
"o-------------------------------------------------------------------o"
287 echo
"| See /etc/default/freeswitch for hotplug hints. |"
288 echo
"o-------------------------------------------------------------=^_^=-o"
294 define Package
/$(PKG_NAME
)-timezones
295 $(call Package
/$(PKG_NAME
)/Default
)
296 TITLE
:=Timezones file
301 define Package
/$(PKG_NAME
)-timezones
/description
302 This package includes a timezones file for FreeSWITCH.
305 define Package
/$(PKG_NAME
)-timezones
/install
306 $(INSTALL_DIR
) $(1)/usr
/share
/$(PRG_NAME
)/tz
308 $(PKG_BUILD_DIR
)/conf
/vanilla
/autoload_configs
/timezones.conf.xml \
309 $(1)/usr
/share
/$(PRG_NAME
)/tz
312 define Package
/$(PKG_NAME
)/Example
313 define Package
/$(PKG_NAME
)-example-
$(1)
314 $(call Package
/$(PKG_NAME
)/Default
)
315 TITLE
:=Example configuration
319 define Package
/$(PKG_NAME
)-example-
$(1)/description
320 This package does not
install any configuration for FreeSWITCH into
321 /etc
/freeswitch. The system administrator is completely responsible
322 for that directory. If you
install one of the example configuration
323 packages
, it will
install the corresponding sample configuration to
324 /usr
/share
/freeswitch
/conf where you can take a look at it.
326 define Package
/$(PKG_NAME
)-example-
$(1)/install
327 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)/usr
/share
/$(PRG_NAME
)/conf
/$(1),$(PKG_BUILD_DIR
)/conf
/$(1))
329 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-example-
$(1)))
332 define Package
/$(PKG_NAME
)/Language
333 define Package
/$(PKG_NAME
)-lang-
$(1)
334 $(call Package
/$(PKG_NAME
)/Default
)
335 TITLE
:=$(2) language files
339 define Package
/$(PKG_NAME
)-lang-
$(1)/description
340 This package includes the
$(2) language files for FreeSWITCH.
342 define Package
/$(PKG_NAME
)-lang-
$(1)/install
343 $(call Package
/$(PKG_NAME
)/install/dir,$$(1)/usr
/share
/$(PRG_NAME
)/lang
/$(1),$(PKG_BUILD_DIR
)/conf
/vanilla
/lang
/$(1))
345 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-lang-
$(1)))
348 define Package
/$(PKG_NAME
)/Module
349 define Package
/$(PKG_NAME
)-mod-
$(1)
350 $(call Package
/$(PKG_NAME
)/Default
)
352 DEPENDS
:=$(PKG_NAME
) $(4)
354 define Package
/$(PKG_NAME
)-mod-
$(1)/description
355 $(subst \n,$(newline
),$(3))
357 define Package
/$(PKG_NAME
)-mod-
$(1)/install
358 $(call Package
/$(PKG_NAME
)/install/mod
,$$(1),$(1))
360 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-mod-
$(1)))
363 define Package
/$(PKG_NAME
)/Util
364 define Package
/$(PKG_NAME
)-util-
$(1)
365 $(call Package
/$(PKG_NAME
)/Default
)
367 DEPENDS
:=$(PKG_NAME
) $(4)
372 define Package
/$(PKG_NAME
)-util-
$(1)/description
373 $(subst \n,$(newline
),$(3))
375 define Package
/$(PKG_NAME
)-util-
$(1)/install
376 $(call Package
/$(PKG_NAME
)/install/bin
,$$(1),$(1))
378 ifeq ($(1)$(CONFIG_FS_STABLE_WITH_LIBEDIT
),fs_cli
)
379 define Package
/$(PKG_NAME
)-util-
$(1)/postinst
381 if
[ -z
"$${IPKG_INSTROOT}" ]; then
383 echo
"o-------------------------------------------------------------------o"
384 echo
"| fs_cli note |"
385 echo
"o-------------------------------------------------------------------o"
386 echo
"| Your FreeSWITCH was compiled without libedit support. Due to an |"
387 echo
"| interop issue it's possible that when you try to exit fs_cli with |"
388 echo
"| Ctrl-D, you'll see messages flashing by and have to kill fs_cli |"
389 echo
"| manually. To avoid this you can either use Ctrl-C instead (fs_cli |"
390 echo
"| needs to be started with '-i' for this to work; you could create |"
391 echo
"| an appropriate alias in /etc/profile) or type /exit, /quit or |"
393 echo
"o-------------------------------------------------------------=^_^=-o"
399 $$(eval
$$(call BuildPackage
,$(PKG_NAME
)-util-
$(1)))
402 # we neither need host-perl nor host-php
404 ac_cv_prog_PERL
=false \
406 ac_cv_prog_PHP
=false \
408 ac_cv_prog_PHP_CONFIG
=false \
409 ac_cv_have_php_config
=no
411 # The autoconf variables in this block are OK for both musl and glibc
413 ac_cv_file__dev_ptmx
=yes \
414 ac_cv_file__dev_urandom
=yes \
415 ac_cv_file_dbd_apr_dbd_mysql_c
=no \
416 ac_cv_free_null
=yes \
417 ac_cv_func_mmap_fixed_mapped
=yes \
418 ac_cv_func_pthread_rwlock_init
=yes \
419 ac_cv_func_sem_open
=yes \
420 ac_cv_have_working_memmove
=yes \
421 ac_cv_negative_eai
=yes \
422 ac_cv_o_nonblock_inherited
=no \
423 ac_cv_struct_rlimit
=yes \
425 apr_cv_gai_addrconfig
=yes \
426 apr_cv_mutex_recursive
=yes \
427 apr_cv_process_shared_works
=yes \
428 apr_cv_pthreads_lib
=-lpthread \
429 apr_cv_tcp_nodelay_with_cork
=yes \
430 apr_cv_type_rwlock_t
=yes
432 # Regarding apr_cv_mutex_robust_shared=no see
433 # http://www.openwall.com/lists/musl/2016/11/26/1
434 # _Don't_ remove quotes below!
435 ifeq ($(CONFIG_LIBC
),"musl")
437 apr_cv_mutex_robust_shared
=no \
438 ac_cv_strerror_r_rc_int
=yes
441 apr_cv_mutex_robust_shared
=yes
449 --build
=$(GNU_HOST_NAME
) \
450 --host
=$(GNU_TARGET_NAME
) \
451 --target
=$(GNU_TARGET_NAME
) \
452 --prefix=/usr
/share
/$(PRG_NAME
) \
455 --srcdir=$(PKG_BUILD_DIR
) \
457 --disable-dependency-tracking \
461 --disable-system-xmlrpc-c \
463 --with-cachedir
=/tmp
/$(PRG_NAME
)/cache \
464 --with-certsdir
=/etc
/$(PRG_NAME
)/tls \
465 --with-dbdir
=/tmp
/$(PRG_NAME
)/db \
466 --with-fontsdir
=/usr
/share
/$(PRG_NAME
)/fonts \
467 --with-grammardir
=/usr
/share
/$(PRG_NAME
)/grammar \
468 --with-htdocsdir
=/usr
/share
/$(PRG_NAME
)/htdocs \
469 --with-imagesdir
=/usr
/share
/$(PRG_NAME
)/images \
470 --with-logfiledir
=/tmp
/$(PRG_NAME
)/log \
471 --with-modinstdir
=/usr
/lib
/$(PRG_NAME
)/mod \
472 --with-recordingsdir
=/tmp
/$(PRG_NAME
)/recordings \
473 --with-rundir
=/var
/run
/$(PRG_NAME
) \
474 --with-scriptdir
=/usr
/share
/$(PRG_NAME
)/scripts \
475 --with-soundsdir
=/usr
/share
/$(PRG_NAME
)/sounds \
476 --with-storagedir
=/tmp
/$(PRG_NAME
)/storage \
481 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_LIBEDIT
,core-libedit-support
) \
482 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_ODBC
,core-odbc-support
) \
483 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_SRTP
,srtp
) \
484 $(call autoconf_bool
,CONFIG_FS_STABLE_WITH_ZRTP
,zrtp
) \
485 $(if
$(CONFIG_FS_STABLE_WITH_DEBUG
),,--disable-debug
) \
486 $(if
$(CONFIG_FS_STABLE_WITH_ODBC
),--with-odbc-lib
="$(STAGING_DIR)/usr/lib") \
487 $(if
$(CONFIG_FS_STABLE_WITH_ODBC
),--with-odbc
="$(STAGING_DIR)/usr") \
488 $(if
$(CONFIG_FS_STABLE_WITH_PGSQL
),--enable-core-pgsql-support
,--without-pgsql
)
491 $(call Build
/Prepare
/Default
)
492 $(SED
) '/^#/!s/^/#/' $(PKG_BUILD_DIR
)/modules.conf
493 $(foreach m
,$(FS_STABLE_MOD_AVAILABLE
),
494 $(if
$(CONFIG_PACKAGE_
$(PKG_NAME
)-mod-
$(m
)),
495 $(SED
) '/mod_$(m)/s/^#//' $(PKG_BUILD_DIR
)/modules.conf
))
498 define Build
/Configure
499 find
$(PKG_BUILD_DIR
) -name missing
-type f
-exec
rm {} \
;
500 cd
$(PKG_BUILD_DIR
); $(AM_TOOL_PATHS
) .
/rebootstrap.sh
501 $(call Build
/Configure
/Default
)
504 $(eval
$(call BuildPackage
,$(PKG_NAME
)))
505 $(eval
$(call BuildPackage
,$(PKG_NAME
)-hotplug
))
506 $(eval
$(call BuildPackage
,$(PKG_NAME
)-timezones
))
508 ################################
509 # FreeSWITCH example configs
511 # 1 - Package subname
512 ################################
514 $(eval
$(call Package
/$(PKG_NAME
)/Example
,curl
))
515 $(eval
$(call Package
/$(PKG_NAME
)/Example
,insideout
))
516 $(eval
$(call Package
/$(PKG_NAME
)/Example
,minimal
))
517 $(eval
$(call Package
/$(PKG_NAME
)/Example
,rayo
))
518 $(eval
$(call Package
/$(PKG_NAME
)/Example
,sbc
))
519 $(eval
$(call Package
/$(PKG_NAME
)/Example
,softphone
))
520 $(eval
$(call Package
/$(PKG_NAME
)/Example
,testing
))
521 $(eval
$(call Package
/$(PKG_NAME
)/Example
,vanilla
))
523 ################################
524 # FreeSWITCH language files
528 ################################
530 $(eval
$(call Package
/$(PKG_NAME
)/Language
,de
,German
))
531 $(eval
$(call Package
/$(PKG_NAME
)/Language
,en
,English
))
532 $(eval
$(call Package
/$(PKG_NAME
)/Language
,es
,Spanish
))
533 $(eval
$(call Package
/$(PKG_NAME
)/Language
,fr
,French
))
534 $(eval
$(call Package
/$(PKG_NAME
)/Language
,he
,Hebrew
))
535 $(eval
$(call Package
/$(PKG_NAME
)/Language
,pt
,Portuguese
))
536 $(eval
$(call Package
/$(PKG_NAME
)/Language
,ru
,Russian
))
537 $(eval
$(call Package
/$(PKG_NAME
)/Language
,sv
,Swedish
))
539 ################################
542 # 1 - Package subname
544 # 3 - Module description
545 # 4 - Module dependencies
546 ################################
548 $(eval
$(call Package
/$(PKG_NAME
)/Module
,abstraction
,API abstraction
,This module provides a way to create new API functions via regex
\nrewriting.
,))
549 $(eval
$(call Package
/$(PKG_NAME
)/Module
,alsa
,ALSA endpoint
,ALSA endpoint module.
,+alsa-lib
))
550 $(eval
$(call Package
/$(PKG_NAME
)/Module
,avmd
,Voicemail detection
,This module attempts to determine when a voicemail system has answered
\nthe call.
,))
551 $(eval
$(call Package
/$(PKG_NAME
)/Module
,blacklist
,Blacklist helper
,This module provides tools to blacklist callers.
,))
552 $(eval
$(call Package
/$(PKG_NAME
)/Module
,callcenter
,Call center
,This module implements Automated Call Distribution queues.
,))
553 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_csv
,CSV CDR
,CSV Call Detail Record handler.
,))
554 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cdr_sqlite
,SQLite CDR
,SQLite Call Detail Record handler.
,))
555 $(eval
$(call Package
/$(PKG_NAME
)/Module
,cidlookup
,Caller ID lookup
,This module provides an API for querying caller ID name and location
\ndata.
,))
556 $(eval
$(call Package
/$(PKG_NAME
)/Module
,commands
,Commands
,This module provides miscellaneous API commands.
,))
557 $(eval
$(call Package
/$(PKG_NAME
)/Module
,conference
,Conference
,This module provides multi-party conferencing.
,))
558 $(eval
$(call Package
/$(PKG_NAME
)/Module
,console
,Console logger
,Allows control over what messages
get logged to the console. When
\nFreeSWITCH is compiled without libedit support
- this is not the
\ndefault
- mod_console has no effect because the init script starts
\nFreeSWITCH with the console disabled to work around an
\ninteroperability issue that causes high CPU load.
,))
559 $(eval
$(call Package
/$(PKG_NAME
)/Module
,curl
,cURL
,This module provides an API for making HTTP requests with cURL.
,))
560 $(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.
,+libdb47
))
561 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dialplan_asterisk
,Asterisk dialplan
,Asterisk extensions.conf style dialplan parser.
,))
562 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dialplan_xml
,XML dialplan
,Standard FreeSWITCH XML dialplan support.
,))
563 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dingaling
,Generic XMPP
,Allows FreeSWITCH to be used
as a client for XMPP Servers.
,))
564 $(eval
$(call Package
/$(PKG_NAME
)/Module
,directory
,Dial-by-name directory
,This module implements a dial-by-name directory IVR.
,))
565 $(eval
$(call Package
/$(PKG_NAME
)/Module
,distributor
,Load distributor
,This module implements a mechanism for performing load balancing.
,))
566 $(eval
$(call Package
/$(PKG_NAME
)/Module
,dptools
,Dialplan tools
,This module implements basic dialplan tools.
,))
567 $(eval
$(call Package
/$(PKG_NAME
)/Module
,easyroute
,DID routing
,This module does destination lookup based on DID.
,))
568 $(eval
$(call Package
/$(PKG_NAME
)/Module
,enum
,ENUM routing
,This module implements ENUM support.
,+libldns
))
569 $(eval
$(call Package
/$(PKG_NAME
)/Module
,esf
,Multicast
,This module adds multi-cast support.
,))
570 $(eval
$(call Package
/$(PKG_NAME
)/Module
,esl
,Single ESL
,This module adds an API for generating one-off ESL requests.
,))
571 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_multicast
,Multicast Event
,Multicast Event System for FreeSWITCH.
,))
572 $(eval
$(call Package
/$(PKG_NAME
)/Module
,event_socket
,Event socket
,Sends events via a single socket. Needed for fs_cli.
,))
573 $(eval
$(call Package
/$(PKG_NAME
)/Module
,expr
,Expr
,This module adds expr support for expression evaluation.
,))
574 $(eval
$(call Package
/$(PKG_NAME
)/Module
,fifo
,FIFO
,This module adds a first-in first-out queue system.
,))
575 $(eval
$(call Package
/$(PKG_NAME
)/Module
,format_cdr
,Multiformat CDR
,A superset of mod_json_cdr and mod_xml_cdr.
,))
576 $(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.
,))
577 $(eval
$(call Package
/$(PKG_NAME
)/Module
,g723_1
,G
.723.1 passthrough
,G
.723.1 codec passthrough.
,))
578 $(eval
$(call Package
/$(PKG_NAME
)/Module
,g729
,G
.729 passthrough
,G
.729 codec passthrough.
,))
579 $(eval
$(call Package
/$(PKG_NAME
)/Module
,hash
,Hash
,This module provides a key-value in-memory datastore. Usable
as a
\nlimit backend.
,))
580 $(eval
$(call Package
/$(PKG_NAME
)/Module
,hiredis
,Redis client
,This module provides a mechanism to use Redis
as a datastore.
,libhiredis
))
581 $(eval
$(call Package
/$(PKG_NAME
)/Module
,httapi
,HT-TAPI
,This module provides an API for controlling the switch by responding
\nto HTTP requests.
,))
582 $(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.
,))
583 $(eval
$(call Package
/$(PKG_NAME
)/Module
,json_cdr
,JSON CDR
,JSON-based Call Detail Record handler.
,))
584 $(eval
$(call Package
/$(PKG_NAME
)/Module
,lcr
,LCR
,This module adds a facility for least-cost routing.
,))
585 $(eval
$(call Package
/$(PKG_NAME
)/Module
,local_stream
,Local stream
,Connects multiple channels to a looped stream.
,))
586 $(eval
$(call Package
/$(PKG_NAME
)/Module
,logfile
,File logger
,Logs FreeSWITCH output to a file.
,))
587 $(eval
$(call Package
/$(PKG_NAME
)/Module
,loopback
,Loopback
,A loopback channel driver.
,))
588 $(eval
$(call Package
/$(PKG_NAME
)/Module
,lua
,Lua
,Lua language interface for FreeSWITCH.
,+liblua
))
589 $(eval
$(call Package
/$(PKG_NAME
)/Module
,native_file
,Native file
,Plays files that are already encoded in the right format.
,))
590 $(eval
$(call Package
/$(PKG_NAME
)/Module
,odbc_cdr
,ODBC CDR
,ODBC Call Detail Record handler.
,))
591 $(eval
$(call Package
/$(PKG_NAME
)/Module
,redis
,Redis limit backend
,This module provides a mechanism to use Redis
as a limit backend data
\nstore.
,))
592 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rtc
,Media streaming
,Media streaming
as used by WebRTC and mod_verto.
,))
593 $(eval
$(call Package
/$(PKG_NAME
)/Module
,rtmp
,RTMP endpoint
,RTMP endpoint support. Allows FreeSWITCH to be used from RTMP clients.
,))
594 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_de
,German Say
,Uses prerecorded sounds to read or say various things.
,))
595 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_en
,English Say
,Uses prerecorded sounds to read or say various things.
,))
596 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_es
,Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
597 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_es_ar
,Argentinian Spanish Say
,Uses prerecorded sounds to read or say various things.
,))
598 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_fa
,Persian Say
,Uses prerecorded sounds to read or say various things.
,))
599 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_fr
,French Say
,Uses prerecorded sounds to read or say various things.
,))
600 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_he
,Hebrew Say
,Uses prerecorded sounds to read or say various things.
,))
601 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_hr
,Croatian Say
,Uses prerecorded sounds to read or say various things.
,))
602 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_hu
,Hungarian Say
,Uses prerecorded sounds to read or say various things.
,))
603 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_it
,Italian Say
,Uses prerecorded sounds to read or say various things.
,))
604 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_ja
,Japanese Say
,Uses prerecorded sounds to read or say various things.
,))
605 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_nl
,Dutch Say
,Uses prerecorded sounds to read or say various things.
,))
606 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_pl
,Polish Say
,Uses prerecorded sounds to read or say various things.
,))
607 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_pt
,Portuguese Say
,Uses prerecorded sounds to read or say various things.
,))
608 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_ru
,Russian Say
,Uses prerecorded sounds to read or say various things.
,))
609 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_sv
,Swedish Say
,Uses prerecorded sounds to read or say various things.
,))
610 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_th
,Thai Say
,Uses prerecorded sounds to read or say various things.
,))
611 $(eval
$(call Package
/$(PKG_NAME
)/Module
,say_zh
,Chinese Say
,Uses prerecorded sounds to read or say various things.
,))
612 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sndfile
,Soundfile
,Adds sound format support via libsndfile.
,+libsndfile
))
613 $(eval
$(call Package
/$(PKG_NAME
)/Module
,snom
,SNOM
,This module implements features specific to SNOM phones.
,))
614 $(eval
$(call Package
/$(PKG_NAME
)/Module
,sofia
,Sofia SIP
,SIP module.
,))
615 $(eval
$(call Package
/$(PKG_NAME
)/Module
,spandsp
,SpanDSP
,This module implements SpanDSP fax. It includes DSP and codec
\nfunctionality.
,+libjpeg
+liblzma
))
616 $(eval
$(call Package
/$(PKG_NAME
)/Module
,spy
,User Spy
,This module adds the ability to monitor the audio of a channel.
,))
617 $(eval
$(call Package
/$(PKG_NAME
)/Module
,syslog
,Syslog logger
,Logs FreeSWITCH output to the syslog.
,))
618 $(eval
$(call Package
/$(PKG_NAME
)/Module
,tone_stream
,Tone stream
,Tone generation stream.
,))
619 $(eval
$(call Package
/$(PKG_NAME
)/Module
,translate
,Number translation
,This module implements number translation.
,))
620 $(eval
$(call Package
/$(PKG_NAME
)/Module
,valet_parking
,Valet parking
,This module implements the valet call parking strategy.
,))
621 $(eval
$(call Package
/$(PKG_NAME
)/Module
,verto
,Verto
,Verto signaling protocol.
,))
622 $(eval
$(call Package
/$(PKG_NAME
)/Module
,voicemail
,Voicemail
,This module provides a voicemail system.
,))
623 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_cdr
,XML CDR
,XML Call Detail Record handler.
,))
624 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_rpc
,XML RPC
,Allows using the webapi to control FreeSWITCH.
,))
625 $(eval
$(call Package
/$(PKG_NAME
)/Module
,xml_scgi
,XML SCGI
,SCGI XML Gateway.
,))
627 ################################
628 # FreeSWITCH utilities
630 # 1 - Package subname
632 # 3 - Utility description
633 # 4 - Utility dependencies
634 # 5 - Utility is a script (y/n)
635 ################################
637 $(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.
,$(FS_STABLE_DEPS_BASE
) +FS_STABLE_WITH_LIBEDIT
:libedit
,n
))
638 $(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.
,$(FS_STABLE_DEPS
) +$(PKG_NAME
)-mod-native_file
+$(PKG_NAME
)-mod-sndfile
+$(PKG_NAME
)-mod-spandsp
,n
))
639 $(eval
$(call Package
/$(PKG_NAME
)/Util
,gentls_cert
,TLS certificate
,Can be used to create TLS certificates and setup CAs.
,+openssl-util
,y
))
640 $(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.
,$(FS_STABLE_DEPS
) +$(PKG_NAME
)-mod-sndfile
,n
))