8faf70a75b59d01c584a290d9beb62d731bd0a5e
[feed/telephony.git] / net / asterisk / Makefile
1 #
2 # Copyright (C) 2017 - 2018 Jiri Slachta <jiri@slachta.eu>
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=asterisk
11 PKG_VERSION:=18.15.1
12 PKG_RELEASE:=$(AUTORELEASE)
13
14 PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://downloads.asterisk.org/pub/telephony/asterisk/releases
16 PKG_HASH:=7594b045e1979a6e80f07ecfff634204830917fd2a7686b161cf4849454f4531
17
18 PKG_BUILD_DEPENDS:=libxml2/host
19
20 PKG_LICENSE:=GPL-2.0
21 PKG_LICENSE_FILES:=COPYING LICENSE
22 PKG_MAINTAINER:=Jiri Slachta <jiri@slachta.eu>
23
24 MENUSELECT_CATEGORIES:= \
25 MENUSELECT_ADDONS \
26 MENUSELECT_APPS \
27 MENUSELECT_BRIDGES \
28 MENUSELECT_CDR \
29 MENUSELECT_CEL \
30 MENUSELECT_CHANNELS \
31 MENUSELECT_CODECS \
32 MENUSELECT_FORMATS \
33 MENUSELECT_FUNCS \
34 MENUSELECT_PBX \
35 MENUSELECT_RES \
36 MENUSELECT_UTILS \
37 MENUSELECT_AGIS
38
39 MODULES_AVAILABLE:= \
40 app-adsiprog \
41 app-agent-pool \
42 app-alarmreceiver \
43 app-amd \
44 app-attended-transfer \
45 app-audiosocket \
46 app-authenticate \
47 app-blind-transfer \
48 app-bridgeaddchan \
49 app-bridgewait \
50 app-celgenuserevent \
51 app-chanisavail \
52 app-channelredirect \
53 app-chanspy \
54 app-confbridge \
55 app-controlplayback \
56 app-dahdiras \
57 app-dictate \
58 app-directed-pickup \
59 app-directory \
60 app-disa \
61 app-dtmfstore \
62 app-dumpchan \
63 app-exec \
64 app-externalivr \
65 app-festival \
66 app-flash \
67 app-followme \
68 app-getcpeid \
69 app-ices \
70 app-image \
71 app-ivrdemo \
72 app-mf \
73 app-milliwatt \
74 app-minivm \
75 app-mixmonitor \
76 app-morsecode \
77 app-mp3 \
78 app-originate \
79 app-page \
80 app-playtones \
81 app-privacy \
82 app-queue \
83 app-read \
84 app-readexten \
85 app-record \
86 app-reload \
87 app-saycounted \
88 app-sayunixtime \
89 app-senddtmf \
90 app-sendtext \
91 app-sf \
92 app-skel \
93 app-sms \
94 app-softhangup \
95 app-speech \
96 app-stack \
97 app-stasis \
98 app-statsd \
99 app-stream-echo \
100 app-system \
101 app-talkdetect \
102 app-test \
103 app-transfer \
104 app-url \
105 app-userevent \
106 app-verbose \
107 app-waitforcond \
108 app-voicemail \
109 app-voicemail-imap \
110 app-voicemail-odbc \
111 app-waitforring \
112 app-waitforsilence \
113 app-waituntil \
114 app-while \
115 app-zapateller \
116 bridge-builtin-features \
117 bridge-builtin-interval-features \
118 bridge-holding \
119 bridge-native-rtp \
120 bridge-simple \
121 bridge-softmix \
122 cdr \
123 cdr-csv \
124 cdr-sqlite3 \
125 cel-custom \
126 cel-manager \
127 cel-sqlite3-custom \
128 chan-alsa \
129 chan-audiosocket \
130 chan-bridge-media \
131 chan-console \
132 chan-dahdi \
133 chan-iax2 \
134 chan-mgcp \
135 chan-mobile \
136 chan-motif \
137 chan-ooh323 \
138 chan-oss \
139 chan-rtp \
140 chan-sip \
141 chan-skinny \
142 chan-unistim \
143 codec-a-mu \
144 codec-adpcm \
145 codec-alaw \
146 codec-dahdi \
147 codec-g722 \
148 codec-g726 \
149 codec-gsm \
150 codec-ilbc \
151 codec-lpc10 \
152 codec-resample \
153 codec-speex \
154 codec-ulaw \
155 curl \
156 format-g719 \
157 format-g723 \
158 format-g726 \
159 format-g729 \
160 format-gsm \
161 format-h263 \
162 format-h264 \
163 format-ilbc \
164 format-mp3 \
165 format-ogg-speex \
166 format-ogg-vorbis \
167 format-pcm \
168 format-siren14 \
169 format-siren7 \
170 format-sln \
171 format-vox \
172 format-wav \
173 format-wav-gsm \
174 func-aes \
175 func-base64 \
176 func-blacklist \
177 func-callcompletion \
178 func-channel \
179 func-config \
180 func-cut \
181 func-db \
182 func-devstate \
183 func-dialgroup \
184 func-dialplan \
185 func-enum \
186 func-env \
187 func-evalexten \
188 func-extstate \
189 func-frame-drop \
190 func-frame-trace \
191 func-global \
192 func-groupcount \
193 func-hangupcause \
194 func-holdintercept \
195 func-iconv \
196 func-jitterbuffer \
197 func-json \
198 func-lock \
199 func-math \
200 func-md5 \
201 func-module \
202 func-periodic-hook \
203 func-pitchshift \
204 func-presencestate \
205 func-rand \
206 func-realtime \
207 func-sayfiles \
208 func-scramble \
209 func-sha1 \
210 func-shell \
211 func-sorcery \
212 func-speex \
213 func-sprintf \
214 func-srv \
215 func-sysinfo \
216 func-talkdetect \
217 func-uri \
218 func-version \
219 func-vmcount \
220 func-volume \
221 odbc \
222 pbx-ael \
223 pbx-dundi \
224 pbx-loopback \
225 pbx-lua \
226 pbx-realtime \
227 pbx-spool \
228 pgsql \
229 pjsip \
230 res-adsi \
231 res-aeap \
232 res-ael-share \
233 res-agi \
234 res-ari \
235 res-ari-applications \
236 res-ari-asterisk \
237 res-ari-bridges \
238 res-ari-channels \
239 res-ari-device-states \
240 res-ari-endpoints \
241 res-ari-events \
242 res-ari-mailboxes \
243 res-ari-model \
244 res-ari-playbacks \
245 res-ari-recordings \
246 res-ari-sounds \
247 res-audiosocket \
248 res-calendar \
249 res-calendar-caldav \
250 res-calendar-ews \
251 res-calendar-exchange \
252 res-calendar-icalendar \
253 res-chan-stats \
254 res-clialiases \
255 res-cliexec \
256 res-clioriginate \
257 res-config-ldap \
258 res-config-mysql \
259 res-config-sqlite3 \
260 res-convert \
261 res-endpoint-stats \
262 res-hep \
263 res-hep-pjsip \
264 res-hep-rtcp \
265 res-fax-spandsp \
266 res-fax \
267 res-format-attr-celt \
268 res-format-attr-g729 \
269 res-format-attr-h263 \
270 res-format-attr-h264 \
271 res-format-attr-ilbc \
272 res-format-attr-opus \
273 res-format-attr-silk \
274 res-format-attr-siren14 \
275 res-format-attr-siren7 \
276 res-format-attr-vp8 \
277 res-geolocation \
278 res-http-media-cache \
279 res-http-websocket \
280 res-limit \
281 res-manager-devicestate \
282 res-manager-presencestate \
283 res-monitor \
284 res-musiconhold \
285 res-mutestream \
286 res-mwi-devstate \
287 res-mwi-external \
288 res-mwi-external-ami \
289 res-parking \
290 res-phoneprov \
291 res-pjsip-geolocation \
292 res-pjsip-phoneprov \
293 res-pjsip-stir-shaken \
294 res-pjproject \
295 res-pktccops \
296 res-prometheus \
297 res-realtime \
298 res-remb-modifier \
299 res-resolver-unbound \
300 res-rtp-asterisk \
301 res-rtp-multicast \
302 res-security-log \
303 res-smdi \
304 res-snmp \
305 res-sorcery \
306 res-sorcery-memory-cache \
307 res-speech \
308 res-speech-aeap \
309 res-srtp \
310 res-stasis \
311 res-stasis-answer \
312 res-stasis-device-state \
313 res-stasis-mailbox \
314 res-stasis-playback \
315 res-stasis-recording \
316 res-stasis-snoop \
317 res-statsd \
318 res-stir-shaken \
319 res-stun-monitor \
320 res-timing-dahdi \
321 res-timing-pthread \
322 res-tonedetect \
323 res-xmpp
324
325 UTILS_AVAILABLE:= \
326 aelparse \
327 astcanary \
328 astdb2sqlite3 \
329 astdb2bdb \
330 check_expr \
331 check_expr2 \
332 conf2ael \
333 muted \
334 smsq \
335 stereorize \
336 streamplayer
337
338 AST_ENABLE:=
339
340 PKG_CONFIG_DEPENDS:= \
341 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-%,$(MODULES_AVAILABLE)) \
342 $(patsubst %,CONFIG_PACKAGE_$(PKG_NAME)-util-%,$(subst _,-,$(UTILS_AVAILABLE))) \
343 CONFIG_ASTERISK_LIBXSLT_SUPPORT \
344 CONFIG_ASTERISK_LOW_MEMORY
345
346 include $(INCLUDE_DIR)/package.mk
347 include $(INCLUDE_DIR)/host-build.mk
348 # Needed for res-config-mysql and func-iconv to find iconv
349 include $(INCLUDE_DIR)/nls.mk
350
351 define Package/$(PKG_NAME)/install/module
352 $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
353 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*$(2).so* $(1)/usr/lib/asterisk/modules/
354 endef
355
356 define Package/$(PKG_NAME)/install/conffile
357 $(INSTALL_DIR) $(1)/etc/asterisk
358 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/$(2) $(1)/etc/asterisk/
359 endef
360
361 define Package/$(PKG_NAME)/install/lib
362 $(INSTALL_DIR) $(1)/usr/lib
363 $(CP) $(PKG_INSTALL_DIR)/usr/lib/$(2).so* $(1)/usr/lib/
364 endef
365
366 define Package/$(PKG_NAME)/install/sbin
367 $(INSTALL_DIR) $(1)/usr/sbin
368 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/$(2) $(1)/usr/sbin/
369 endef
370
371 define Package/$(PKG_NAME)/install/sounds
372 $(INSTALL_DIR) $(1)/usr/share/asterisk/sounds/
373 $(CP) $(PKG_INSTALL_DIR)/usr/share/asterisk/sounds/en/$(2) $(1)/usr/share/asterisk/sounds/
374 endef
375
376 define Package/$(PKG_NAME)/install/util-conffile
377 $(INSTALL_DIR) $(1)/etc
378 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/$(2) $(1)/etc
379 endef
380
381 define Package/$(PKG_NAME)/config
382 menu "Advanced configuration"
383 depends on PACKAGE_asterisk
384
385 config ASTERISK_LIBXSLT_SUPPORT
386 bool "Link Asterisk against libxslt"
387 default y if x86_64
388 help
389 Build Asterisk with libxslt support. This is required for
390 res-geolocation.
391
392 config ASTERISK_LOW_MEMORY
393 bool "Optimize Asterisk for low memory usage"
394 default n
395 help
396 Warning: this feature is known to cause problems with some modules.
397 Disable it if you experience problems like segmentation faults.
398
399 endmenu
400 endef
401
402 define BuildAsteriskModule
403 define Package/$(PKG_NAME)-$(1)
404 $$(call Package/$(PKG_NAME)/Default)
405 TITLE:=$(2) support
406 DEPENDS:= $(PKG_NAME) $(patsubst +%,+PACKAGE_$(PKG_NAME)-$(1):%,$(4)) $(9)
407 ifneq ($$(CONFIG_PACKAGE_$(PKG_NAME)-$(1)),)
408 AST_ENABLE+=$(6)
409 endif
410 endef
411
412 define Package/$(PKG_NAME)-$(1)/conffiles
413 $(subst $(space),$(newline),$(foreach c,$(5),/etc/asterisk/$(c)))
414 endef
415
416 define Package/$(PKG_NAME)-$(1)/description
417 $(subst \n,$(newline),$(3))
418 endef
419
420 define Package/$(PKG_NAME)-$(1)/install
421 $(foreach c,$(5),$(call Package/$(PKG_NAME)/install/conffile,$$(1),$(c));)
422 $(foreach m,$(6),$(call Package/$(PKG_NAME)/install/module,$$(1),$(m));)
423 $(foreach s,$(7),$(call Package/$(PKG_NAME)/install/sounds,$$(1),$(s));)
424 $(foreach b,$(8),$(call Package/$(PKG_NAME)/install/sbin,$$(1),$(b));)
425 endef
426
427 $$(eval $$(call BuildPackage,$(PKG_NAME)-$(1)))
428 endef
429
430 define BuildAsteriskUtil
431 define Package/$(PKG_NAME)-util-$(subst _,-,$(1))
432 $$(call Package/$(PKG_NAME)/Default)
433 TITLE:=$(1) utility
434 DEPENDS:=$(PKG_NAME) $(patsubst +%,+PACKAGE_$(PKG_NAME)-util-$(subst _,-,$(1)):%,$(3))
435 ifneq ($$(CONFIG_PACKAGE_$(PKG_NAME)-util-$(subst _,-,$(1))),)
436 AST_ENABLE+=$(1)
437 endif
438 endef
439
440 define Package/$(PKG_NAME)-util-$(subst _,-,$(1))/conffiles
441 $(subst $(space),$(newline),$(foreach c,$(4),/etc/$(c)))
442 endef
443
444 define Package/$(PKG_NAME)-util-$(subst _,-,$(1))/description
445 $(2)
446 endef
447
448 define Package/$(PKG_NAME)-util-$(subst _,-,$(1))/install
449 $(call Package/$(PKG_NAME)/install/sbin,$$(1),$(1))
450 $(foreach c,$(4),$(call Package/$(PKG_NAME)/install/util-conffile,$$(1),$(c));)
451 endef
452
453 $$(eval $$(call BuildPackage,$(PKG_NAME)-util-$(subst _,-,$(1))))
454 endef
455
456 define Package/$(PKG_NAME)/Default
457 SUBMENU:=Telephony
458 SECTION:=net
459 CATEGORY:=Network
460 URL:=http://www.asterisk.org/
461 endef
462
463 define Package/$(PKG_NAME)/Default/description
464 Asterisk is a complete PBX in software. It provides all of the features
465 you would expect from a PBX and more. Asterisk does voice over IP in three
466 protocols, and can interoperate with almost all standards-based telephony
467 equipment using relatively inexpensive hardware.
468 endef
469
470 define Package/$(PKG_NAME)
471 $(call Package/$(PKG_NAME)/Default)
472 TITLE:=Complete open source PBX, v$(PKG_VERSION)
473 MENU:=1
474 DEPENDS:=+ASTERISK_LIBXSLT_SUPPORT:libxslt +libstdcpp +jansson +libcap +libedit +libopenssl +libsqlite3 +libuuid +libxml2 +zlib
475 USERID:=asterisk=385:asterisk=385
476 endef
477
478 define Package/$(PKG_NAME)/description
479 $(call Package/$(PKG_NAME)/Default/description)
480 endef
481
482 define Package/$(PKG_NAME)/conffiles
483 /etc/asterisk/asterisk.conf
484 /etc/asterisk/acl.conf
485 /etc/asterisk/cel.conf
486 /etc/asterisk/ccss.conf
487 /etc/asterisk/cli.conf
488 /etc/asterisk/cli_permissions.conf
489 /etc/asterisk/codecs.conf
490 /etc/asterisk/dnsmgr.conf
491 /etc/asterisk/dsp.conf
492 /etc/asterisk/extconfig.conf
493 /etc/asterisk/extensions.conf
494 /etc/asterisk/features.conf
495 /etc/asterisk/http.conf
496 /etc/asterisk/indications.conf
497 /etc/asterisk/logger.conf
498 /etc/asterisk/manager.conf
499 /etc/asterisk/modules.conf
500 /etc/asterisk/res_config_sqlite3.conf
501 /etc/asterisk/stasis.conf
502 /etc/asterisk/udptl.conf
503 /etc/asterisk/users.conf
504 /etc/config/asterisk
505 /etc/init.d/asterisk
506 endef
507
508 AST_CFG_FILES:= \
509 asterisk.conf acl.conf cel.conf ccss.conf cli.conf \
510 cli_permissions.conf codecs.conf dnsmgr.conf dsp.conf extconfig.conf \
511 extensions.conf features.conf http.conf indications.conf \
512 logger.conf manager.conf modules.conf stasis.conf udptl.conf \
513 users.conf res_config_sqlite3.conf
514
515 AST_EMB_MODULES:=\
516 app_dial app_echo app_macro app_playback \
517 func_callerid func_logic func_strings func_timeout \
518 pbx_config res_crypto res_timing_timerfd
519
520 define Package/$(PKG_NAME)/install
521 $(call Package/$(PKG_NAME)/install/lib,$(1),libasteriskssl)
522 $(call Package/$(PKG_NAME)/install/sbin,$(1),asterisk)
523 $(call Package/$(PKG_NAME)/install/sbin,$(1),safe_asterisk)
524 $(call Package/$(PKG_NAME)/install/sbin,$(1),astgenkey)
525 $(foreach m,$(AST_CFG_FILES),$(call Package/$(PKG_NAME)/install/conffile,$(1),$(m));)
526 $(foreach m,$(AST_EMB_MODULES),$(call Package/$(PKG_NAME)/install/module,$(1),$(m));)
527 $(INSTALL_DIR) $(1)/etc/config
528 $(INSTALL_DIR) $(1)/etc/init.d
529 $(INSTALL_DIR) $(1)/usr/share/asterisk/agi-bin
530 $(INSTALL_DIR) $(1)/usr/share/asterisk/firmware/iax
531 $(INSTALL_DIR) $(1)/usr/share/asterisk/keys
532 $(INSTALL_DIR) $(1)/usr/share/asterisk/sounds
533 $(INSTALL_BIN) ./files/asterisk.init $(1)/etc/init.d/asterisk
534 $(INSTALL_CONF) ./files/asterisk.conf $(1)/etc/config/asterisk
535 endef
536
537 define Package/$(PKG_NAME)-sounds
538 $(call Package/$(PKG_NAME)/Default)
539 TITLE:=Sounds support
540 DEPENDS:=$(PKG_NAME)
541 endef
542
543 define Package/$(PKG_NAME)-sounds/description
544 This package provides the sound-files for Asterisk.
545 endef
546
547 define Package/$(PKG_NAME)-sounds/install
548 $(INSTALL_DIR) $(1)/usr/share/asterisk/sounds/
549 $(CP) $(PKG_INSTALL_DIR)/usr/share/asterisk/sounds/en/* $(1)/usr/share/asterisk/sounds/
550 rm -f $(1)/usr/share/asterisk/sounds/vm-*
551 endef
552
553 ifeq ($(call qstrip,$(CONFIG_LIBC)),musl)
554 CONFIGURE_ARGS+= \
555 --enable-permanent-dlopen
556 endif
557
558 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-chan-dahdi),)
559 CONFIGURE_ARGS+= \
560 --with-dahdi="$(STAGING_DIR)/usr" \
561 --with-pri="$(STAGING_DIR)/usr" \
562 --with-tonezone="$(STAGING_DIR)/usr"
563 else
564 CONFIGURE_ARGS+= \
565 --without-dahdi \
566 --without-pri \
567 --without-tonezone
568 endif
569
570 # Pass CPPFLAGS in the CFLAGS as otherwise the build system will
571 # ignore them.
572 TARGET_CFLAGS+=$(TARGET_CPPFLAGS)
573
574 CONFIGURE_ARGS+= \
575 --disable-xmldoc \
576 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-chan-alsa),--with-asound="$(STAGING_DIR)/usr",--without-asound) \
577 --without-execinfo \
578 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-chan-mobile),--with-bluetooth="$(STAGING_DIR)/usr",--without-bluetooth) \
579 --with-cap="$(STAGING_DIR)/usr" \
580 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-curl),--with-libcurl="$(STAGING_DIR)/usr") \
581 --with-gsm=internal \
582 --without-gtk2 \
583 --with-ilbc=internal \
584 --without-isdnnet \
585 --without-misdn \
586 --without-nbs \
587 --without-pjproject-bundled \
588 --with-libedit="$(STAGING_DIR)/usr" \
589 --with-libxml2 \
590 $(if $(CONFIG_ASTERISK_LIBXSLT_SUPPORT),--with-libxslt,--without-libxslt) \
591 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-res-snmp),--with-netsnmp="$(STAGING_DIR)/usr",--without-netsnmp) \
592 --without-newt \
593 --without-osptk \
594 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-pbx-lua),--with-lua="$(STAGING_DIR)/usr",--without-lua) \
595 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-pgsql),--with-postgres="$(STAGING_DIR)/usr",--without-postgres) \
596 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-util-smsq),--with-popt="$(STAGING_DIR)/usr",--without-popt) \
597 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-chan-console),--with-portaudio="$(STAGING_DIR)/usr",--without-portaudio) \
598 --without-radius \
599 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-res-fax-spandsp),--with-spandsp="$(STAGING_DIR)/usr",--without-spandsp) \
600 --without-sdl \
601 --without-sqlite \
602 --with-sqlite3="$(STAGING_DIR)/usr" \
603 --without-suppserv \
604 --without-tds \
605 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-res-resolver-unbound),--with-unbound="$(STAGING_DIR)/usr",--without-unbound) \
606 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-format-ogg-vorbis),--with-vorbis="$(STAGING_DIR)/usr",--without-vorbis) \
607 $(if $(CONFIG_PACKAGE_$(PKG_NAME)-app-voicemail-imap),--with-imap=system,--without-imap) \
608 --without-uriparser \
609 --without-vpb \
610 --with-z="$(STAGING_DIR)/usr"
611
612 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-codec-speex)$(CONFIG_PACKAGE_$(PKG_NAME)-format-ogg-speex)$(CONFIG_PACKAGE_$(PKG_NAME)-func-speex),)
613 CONFIGURE_ARGS+= \
614 --without-speex
615 else
616 CONFIGURE_ARGS+= \
617 --with-speex="$(STAGING_DIR)/usr"
618 endif
619
620 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-codec-speex)$(CONFIG_PACKAGE_$(PKG_NAME)-func-speex),)
621 CONFIGURE_ARGS+= \
622 --without-speexdsp
623 else
624 CONFIGURE_ARGS+= \
625 --with-speexdsp="$(STAGING_DIR)/usr"
626 endif
627
628 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-format-ogg-speex)$(CONFIG_PACKAGE_$(PKG_NAME)-format-ogg-vorbis),)
629 CONFIGURE_ARGS+= \
630 --without-ogg
631 else
632 CONFIGURE_ARGS+= \
633 --with-ogg="$(STAGING_DIR)/usr"
634 endif
635
636 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-pjproject)$(CONFIG_PACKAGE_$(PKG_NAME)-res-srtp),)
637 CONFIGURE_ARGS+= \
638 --without-srtp
639 else
640 CONFIGURE_ARGS+= \
641 --with-srtp="$(STAGING_DIR)/usr"
642 endif
643
644 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-pjsip)$(CONFIG_PACKAGE_$(PKG_NAME)-res-pjproject)$(CONFIG_PACKAGE_$(PKG_NAME)-res-rtp-asterisk),)
645 CONFIGURE_ARGS+= \
646 --without-pjproject
647 else
648 CONFIGURE_ARGS+= \
649 --with-pjproject="$(STAGING_DIR)/usr"
650 endif
651
652 # res-calendar-ews requires both neon and neon29 detection
653 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-caldav)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-ews)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-exchange)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-icalendar),)
654 CONFIGURE_ARGS+= \
655 --without-neon
656 endif
657
658 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-caldav)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-exchange)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-icalendar),)
659 CONFIGURE_ARGS+= \
660 --without-ical
661 else
662 CONFIGURE_ARGS+= \
663 --with-ical="$(STAGING_DIR)/usr"
664 endif
665
666 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-ews),)
667 CONFIGURE_ARGS+= \
668 --without-neon29
669 endif
670
671 ifeq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-exchange)$(CONFIG_PACKAGE_$(PKG_NAME)-res-xmpp),)
672 CONFIGURE_ARGS+= \
673 --without-iksemel
674 else
675 CONFIGURE_ARGS+= \
676 --with-iksemel="$(STAGING_DIR)/usr"
677 endif
678
679 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-caldav)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-ews)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-exchange)$(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-icalendar),)
680 CONFIGURE_VARS += \
681 ac_cv_path_CONFIG_NEON=$(STAGING_DIR)/usr/bin/neon-config
682 endif
683
684 ifneq ($(CONFIG_PACKAGE_$(PKG_NAME)-res-calendar-ews),)
685 CONFIGURE_VARS += \
686 ac_cv_path_CONFIG_NEON29=$(STAGING_DIR)/usr/bin/neon-config
687 endif
688
689 MAKE_FLAGS+= \
690 ASTDATADIR="/usr/share/asterisk" \
691 DESTDIR="$(PKG_INSTALL_DIR)"
692
693 # show full gcc arguments instead of [CC] and [LD]
694 MAKE_FLAGS+= \
695 NOISY_BUILD="yes"
696
697 # don't let asterisk mess with build flags
698 MAKE_FLAGS+= \
699 AST_FORTIFY_SOURCE="" \
700 DEBUG="" \
701 OPTIMIZE=""
702
703 AST_MENUSELECT_OPTS = \
704 --without-newt \
705 --without-curses
706
707 define Build/menuselect
708 CC="$(HOSTCC)" \
709 CFLAGS="$(HOST_CFLAGS)" \
710 LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(STAGING_DIR_HOSTPKG)/lib" \
711 $(MAKE) -C "$(PKG_BUILD_DIR)/menuselect"
712 endef
713
714 define Build/Configure
715 cd $(PKG_BUILD_DIR); \
716 ./bootstrap.sh
717 $(call Build/Configure/Default)
718 cd $(PKG_BUILD_DIR)/menuselect; \
719 CC="$(HOSTCC)" \
720 CFLAGS="$(HOST_CFLAGS)" \
721 CONFIG_SITE= \
722 LDFLAGS="$(HOST_LDFLAGS) -Wl,-rpath,$(STAGING_DIR_HOSTPKG)/lib" \
723 ./configure \
724 $(HOST_CONFIGURE_ARGS) \
725 $(AST_MENUSELECT_OPTS)
726 endef
727
728 define Build/Compile
729 $(call Build/menuselect)
730 $(call Build/Compile/Default,menuselect-tree)
731
732 cd "$(PKG_BUILD_DIR)" && MENUSELECT_ARGS= && \
733 for cat in $(MENUSELECT_CATEGORIES); do \
734 MENUSELECT_ARGS="$$$$MENUSELECT_ARGS --disable-category $$$$cat"; \
735 done; \
736 ./menuselect/menuselect \
737 $$$$MENUSELECT_ARGS \
738 menuselect.makeopts
739 cd "$(PKG_BUILD_DIR)" && MENUSELECT_ARGS= && \
740 for item in $(AST_EMB_MODULES) $$(AST_ENABLE); do \
741 MENUSELECT_ARGS="$$$$MENUSELECT_ARGS --enable $$$$item"; \
742 done; \
743 ./menuselect/menuselect \
744 $$$$MENUSELECT_ARGS \
745 menuselect.makeopts
746 cd "$(PKG_BUILD_DIR)" && \
747 ./menuselect/menuselect \
748 --disable BUILD_NATIVE \
749 $(if $(CONFIG_ASTERISK_LOW_MEMORY),--enable LOW_MEMORY) \
750 menuselect.makeopts
751
752 # When changing anything in MENUSELECT_CFLAGS the file ".lastclean"
753 # gets deleted. E.g. when compiling on x86 for x86 "--disable
754 # BUILD_NATIVE" changes MENUSELECT_CFLAGS and the file gets removed.
755 # But that will result in a rebuild attempt of menuselect which will
756 # likely fail. Prevent that by recreating ".lastclean" and menuselect.
757 $(call Build/Compile/Default,.lastclean)
758 $(call Build/menuselect)
759
760 $(call Build/Compile/Default,all install install-headers samples)
761 endef
762
763 define Build/InstallDev
764 $(INSTALL_DIR) $(1)/usr/include/asterisk
765 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk/
766 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/
767 endef
768
769 $(eval $(call BuildPackage,$(PKG_NAME)))
770 $(eval $(call BuildPackage,$(PKG_NAME)-sounds))
771
772 #######################################
773 # AST modules
774 # Params:
775 # 1 - Package subname
776 # 2 - Package title
777 # 3 - Module description
778 # 4 - Module dependencies
779 # 5 - conf files
780 # 6 - module files
781 # 7 - sound files
782 # 8 - binary files
783 # 9 - complex depends (passed on as is)
784 #######################################
785 #$(eval $(call BuildAsteriskModule,subname,title,module description,module dependencies,conf files,module files,sound files,binary files,complex depends))
786
787 $(eval $(call BuildAsteriskModule,app-adsiprog,ADSI programming,Asterisk ADSI programming application.,+$(PKG_NAME)-res-adsi,adsi.conf asterisk.adsi telcordia-1.adsi,app_adsiprog,,))
788 $(eval $(call BuildAsteriskModule,app-agent-pool,Call center agent pool,Call center agent pool applications.,,agents.conf,app_agent_pool,,))
789 $(eval $(call BuildAsteriskModule,app-alarmreceiver,Alarm receiver,Alarm receiver for Asterisk.,,,app_alarmreceiver,,))
790 $(eval $(call BuildAsteriskModule,app-amd,Answering machine detection,Answering Machine Detection application.,,amd.conf,app_amd,,))
791 $(eval $(call BuildAsteriskModule,app-attended-transfer,Attended transfer,Queues up an attended transfer to a given extension.,,,app_attended_transfer,,))
792 $(eval $(call BuildAsteriskModule,app-audiosocket,Audiosocket app,Audiosocket app.,+$(PKG_NAME)-res-audiosocket,,app_audiosocket,,))
793 $(eval $(call BuildAsteriskModule,app-authenticate,Authenticate commands,Authentication application.,,,app_authenticate,,))
794 $(eval $(call BuildAsteriskModule,app-blind-transfer,Blind transfer,Redirects all channels currently bridged to the caller channel to a specified destination.,,,app_blind_transfer,,))
795 $(eval $(call BuildAsteriskModule,app-bridgeaddchan,Bridge add channel,Bridge-add-channel application.,,,app_bridgeaddchan,,))
796 $(eval $(call BuildAsteriskModule,app-bridgewait,Holding bridge,Application to place a channel into a holding bridge.,+$(PKG_NAME)-bridge-holding,,app_bridgewait,,))
797 $(eval $(call BuildAsteriskModule,app-celgenuserevent,User-defined CEL event,Generate a user defined CEL event.,,,app_celgenuserevent,,))
798 $(eval $(call BuildAsteriskModule,app-chanisavail,Channel availability check,Check channel availability.,,,app_chanisavail,,))
799 $(eval $(call BuildAsteriskModule,app-channelredirect,Redirect a channel,Redirects a given channel to a dialplan target.,,,app_channelredirect,,))
800 $(eval $(call BuildAsteriskModule,app-chanspy,Channel listen in,Listen to the audio of an active channel.,,,app_chanspy,,))
801 $(eval $(call BuildAsteriskModule,app-confbridge,ConfBridge,Conference bridge application.,+$(PKG_NAME)-bridge-builtin-features +$(PKG_NAME)-bridge-simple +$(PKG_NAME)-bridge-softmix,confbridge.conf,app_confbridge,,))
802 $(eval $(call BuildAsteriskModule,app-controlplayback,Control playback,Control playback application.,,,app_controlplayback,,))
803 $(eval $(call BuildAsteriskModule,app-dahdiras,Execute an ISDN RAS,DAHDI ISDN Remote Access Server.,+$(PKG_NAME)-chan-dahdi,,app_dahdiras,,))
804 $(eval $(call BuildAsteriskModule,app-dictate,Virtual dictation machine,Virtual dictation machine.,,,app_dictate,,))
805 $(eval $(call BuildAsteriskModule,app-directed-pickup,Directed call pickup,Directed call pickup application.,,,app_directed_pickup,,))
806 $(eval $(call BuildAsteriskModule,app-directory,Extension directory,Extension directory.,,,app_directory,,))
807 $(eval $(call BuildAsteriskModule,app-disa,Direct Inward System Access,Direct Inward System Access application.,,,app_disa,,))
808 $(eval $(call BuildAsteriskModule,app-dtmfstore,DTMF storage,Technology independent async DTMF storage.,,,app_dtmfstore,,))
809 $(eval $(call BuildAsteriskModule,app-dumpchan,Dump info about channel,Dump info about the calling channel.,,,app_dumpchan,,))
810 $(eval $(call BuildAsteriskModule,app-exec,Exec application,Executes dialplan applications.,,,app_exec,,))
811 $(eval $(call BuildAsteriskModule,app-externalivr,External IVR interface,External IVR interface application.,,,app_externalivr,,))
812 $(eval $(call BuildAsteriskModule,app-festival,Simple festival interface,Simple Festival interface.,,festival.conf,app_festival,,))
813 $(eval $(call BuildAsteriskModule,app-flash,Flash channel,Flash channel application.,+$(PKG_NAME)-chan-dahdi,,app_flash,,))
814 $(eval $(call BuildAsteriskModule,app-followme,Find-me/follow-me,Find-Me/Follow-Me application.,,followme.conf,app_followme,,))
815 $(eval $(call BuildAsteriskModule,app-getcpeid,Get ADSI CPE ID,Get ADSI CPE ID.,+asterisk-res-adsi,,app_getcpeid,,))
816 $(eval $(call BuildAsteriskModule,app-ices,Encode and stream,Encode and stream via Icecast and IceS.,,,app_ices,,))
817 $(eval $(call BuildAsteriskModule,app-image,Image transmission,Image transmission application.,,,app_image,,))
818 $(eval $(call BuildAsteriskModule,app-ivrdemo,IVR demo,IVR demo application.,,,app_ivrdemo,,))
819 $(eval $(call BuildAsteriskModule,app-mf,MF digits,Send MF digits Application.,,,app_mf,,))
820 $(eval $(call BuildAsteriskModule,app-milliwatt,Digital milliwatt [mu-law] test app,Digital milliwatt test application.,,,app_milliwatt,,))
821 $(eval $(call BuildAsteriskModule,app-minivm,Minimal voicemail system,A minimal voicemail e-mail system.,,extensions_minivm.conf minivm.conf,app_minivm,,))
822 $(eval $(call BuildAsteriskModule,app-mixmonitor,Record a call and mix the audio,Mixed audio monitoring application.,,,app_mixmonitor,,))
823 $(eval $(call BuildAsteriskModule,app-morsecode,Morse code,Morse code.,,,app_morsecode,,))
824 $(eval $(call BuildAsteriskModule,app-mp3,Silly MP3,Silly MP3 application.,+mpg123,,app_mp3,,))
825 $(eval $(call BuildAsteriskModule,app-originate,Originate a call,Originate call.,,,app_originate,,))
826 $(eval $(call BuildAsteriskModule,app-page,Page multiple phones,Page multiple phones.,+$(PKG_NAME)-app-confbridge,,app_page,,))
827 $(eval $(call BuildAsteriskModule,app-playtones,Playtones application,Playtones application.,,,app_playtones,,))
828 $(eval $(call BuildAsteriskModule,app-privacy,Require phone number,Require phone number to be entered if no Caller ID sent.,,,app_privacy,,))
829 $(eval $(call BuildAsteriskModule,app-queue,True Call Queueing,True call queueing.,,queues.conf queuerules.conf,app_queue,,))
830 $(eval $(call BuildAsteriskModule,app-read,Variable read,Read variable application.,,,app_read,,))
831 $(eval $(call BuildAsteriskModule,app-readexten,Extension to variable,Read and evaluate extension validity.,,,app_readexten,,))
832 $(eval $(call BuildAsteriskModule,app-record,Record sound file,Trivial record application.,,,app_record,,))
833 $(eval $(call BuildAsteriskModule,app-reload,Reload,Reload module[s].,,,app_reload,,))
834 $(eval $(call BuildAsteriskModule,app-saycounted,Decline words,Decline words according to channel language.,,,app_saycounted,,))
835 $(eval $(call BuildAsteriskModule,app-sayunixtime,Say Unix time,Say time.,,,app_sayunixtime,,))
836 $(eval $(call BuildAsteriskModule,app-senddtmf,Send DTMF digits,Send DTMF digits application.,,,app_senddtmf,,))
837 $(eval $(call BuildAsteriskModule,app-sendtext,Send text,Send text applications.,,,app_sendtext,,))
838 $(eval $(call BuildAsteriskModule,app-sf,SF Sender and Receiver Applications,SF Sender and Receiver Applications.,,,app_sf,,))
839 $(eval $(call BuildAsteriskModule,app-skel,Skeleton [sample],Skeleton application.,,app_skel.conf,app_skel,,))
840 $(eval $(call BuildAsteriskModule,app-sms,SMS,SMS/PSTN handler.,,,app_sms,,))
841 $(eval $(call BuildAsteriskModule,app-softhangup,Hang up requested channel,Hangs up the requested channel.,,,app_softhangup,,))
842 $(eval $(call BuildAsteriskModule,app-speech,Dialplan Speech,Dialplan speech applications.,+$(PKG_NAME)-res-speech,,app_speech_utils,,))
843 $(eval $(call BuildAsteriskModule,app-stack,Stack applications,Dialplan subroutines.,+$(PKG_NAME)-res-agi,,app_stack,,))
844 $(eval $(call BuildAsteriskModule,app-stasis,Stasis dialplan,Stasis dialplan application.,+$(PKG_NAME)-res-stasis,,app_stasis,,))
845 $(eval $(call BuildAsteriskModule,app-statsd,statsd dialplan,StatsD dialplan application.,+$(PKG_NAME)-res-statsd,,app_statsd,,))
846 $(eval $(call BuildAsteriskModule,app-stream-echo,Stream echo,Stream echo application.,,,app_stream_echo,,))
847 $(eval $(call BuildAsteriskModule,app-system,System exec,Generic system application.,,,app_system,,))
848 $(eval $(call BuildAsteriskModule,app-talkdetect,File playback with audio detect,Playback with talk detection.,,,app_talkdetect,,))
849 $(eval $(call BuildAsteriskModule,app-test,Interface test,Interface test application.,,,app_test,,))
850 $(eval $(call BuildAsteriskModule,app-transfer,Transfers caller to other ext,Transfers a caller to another extension.,,,app_transfer,,))
851 $(eval $(call BuildAsteriskModule,app-url,Send URL,Send URL applications.,,,app_url,,))
852 $(eval $(call BuildAsteriskModule,app-userevent,Custom user event,Custom user event application.,,,app_userevent,,))
853 $(eval $(call BuildAsteriskModule,app-verbose,Verbose logging,Send verbose output.,,,app_verbose,,))
854 $(eval $(call BuildAsteriskModule,app-waitforcond,Wait for condition,Wait until condition is true.,,,app_waitforcond,,))
855 $(eval $(call BuildAsteriskModule,app-voicemail,Voicemail,Voicemail module.,,voicemail.conf,app_voicemail,vm-*,))
856 $(eval $(call BuildAsteriskModule,app-voicemail-imap,Voicemail IMAP,Voicemail module.,+uw-imap,,app_voicemail_imap,,))
857 $(eval $(call BuildAsteriskModule,app-voicemail-odbc,Voicemail ODBC,Voicemail module.,+unixodbc,,app_voicemail_odbc,,))
858 $(eval $(call BuildAsteriskModule,app-waitforring,Wait for first ring,Waits until first ring after time.,,,app_waitforring,,))
859 $(eval $(call BuildAsteriskModule,app-waitforsilence,Wait for silence/noise,Wait for silence/noise.,,,app_waitforsilence,,))
860 $(eval $(call BuildAsteriskModule,app-waituntil,Sleep,Wait until specified time.,,,app_waituntil,,))
861 $(eval $(call BuildAsteriskModule,app-while,While loop,While loops and conditional execution.,,,app_while,,))
862 $(eval $(call BuildAsteriskModule,app-zapateller,Block telemarketers,Block telemarketers with special information tone.,,,app_zapateller,,))
863 $(eval $(call BuildAsteriskModule,bridge-builtin-features,Bridging features,Built in bridging features.,,,bridge_builtin_features,,))
864 $(eval $(call BuildAsteriskModule,bridge-builtin-interval-features,Built in bridging interval features,Built in bridging interval features.,,,bridge_builtin_interval_features,,))
865 $(eval $(call BuildAsteriskModule,bridge-holding,Bridging for storing channels in a bridge,Holding bridge module.,,,bridge_holding,,))
866 $(eval $(call BuildAsteriskModule,bridge-native-rtp,Native RTP bridging technology module,Native RTP bridging module.,,,bridge_native_rtp,,))
867 $(eval $(call BuildAsteriskModule,bridge-simple,Simple two channel bridging module,Simple two channel bridging module.,,,bridge_simple,,))
868 $(eval $(call BuildAsteriskModule,bridge-softmix,Multi-party software based channel mixing,Multi-party software based channel mixing.,,,bridge_softmix,,))
869 $(eval $(call BuildAsteriskModule,cdr,Provides CDR,Call Detail Records.,,cdr.conf cdr_custom.conf cdr_manager.conf cdr_syslog.conf,app_cdr app_forkcdr cdr_custom cdr_manager cdr_syslog func_cdr,,))
870 $(eval $(call BuildAsteriskModule,cdr-csv,Provides CDR CSV,Comma Separated Values CDR backend.,,,cdr_csv,,))
871 $(eval $(call BuildAsteriskModule,cdr-sqlite3,Provides CDR SQLITE3,SQLite3 CDR backend.,libsqlite3,,cdr_sqlite3_custom,,))
872 $(eval $(call BuildAsteriskModule,cel-custom,Customizable CSV CEL backend,Customizable Comma Separated Values CEL backend.,,cel_custom.conf,cel_custom,,))
873 $(eval $(call BuildAsteriskModule,cel-manager,AMI CEL backend,Asterisk Manager Interface CEL backend.,,,cel_manager,,))
874 $(eval $(call BuildAsteriskModule,cel-sqlite3-custom,SQLite3 custom CEL,SQLite3 custom CEL module.,,cel_sqlite3_custom.conf,cel_sqlite3_custom,,))
875 $(eval $(call BuildAsteriskModule,chan-alsa,ALSA channel,ALSA console channel driver.,+alsa-lib,alsa.conf,chan_alsa,,))
876 $(eval $(call BuildAsteriskModule,chan-audiosocket,Audiosocket channel,Audiosocket channel.,+$(PKG_NAME)-res-audiosocket,,chan_audiosocket,,))
877 $(eval $(call BuildAsteriskModule,chan-bridge-media,Bridge media channel driver,Bridge media channel driver.,,,chan_bridge_media,,))
878 $(eval $(call BuildAsteriskModule,chan-console,Console channel driver,Console channel driver.,+portaudio,console.conf,chan_console,,))
879 $(eval $(call BuildAsteriskModule,chan-dahdi,DAHDI channel,DAHDI telephony.,+dahdi-tools-libtonezone +kmod-dahdi +libpri @!aarch64,chan_dahdi.conf,chan_dahdi,,))
880 $(eval $(call BuildAsteriskModule,chan-iax2,IAX2 channel,Inter Asterisk eXchange.,,iax.conf iaxprov.conf,chan_iax2,,))
881 $(eval $(call BuildAsteriskModule,chan-mgcp,MGCP,Media Gateway Control Protocol.,,mgcp.conf,chan_mgcp,,))
882 $(eval $(call BuildAsteriskModule,chan-mobile,Bluetooth channel,Bluetooth mobile device channel driver.,+bluez-libs,chan_mobile.conf,chan_mobile,,))
883 $(eval $(call BuildAsteriskModule,chan-motif,Jingle channel,Motif Jingle channel driver.,+$(PKG_NAME)-res-xmpp,motif.conf,chan_motif,,))
884 $(eval $(call BuildAsteriskModule,chan-ooh323,H.323 channel,Objective Systems H.323 channel.,,ooh323.conf,chan_ooh323,,))
885 $(eval $(call BuildAsteriskModule,chan-oss,OSS channel,OSS console channel driver.,,oss.conf,chan_oss,,))
886 $(eval $(call BuildAsteriskModule,chan-rtp,RTP media channel,RTP media channel.,+asterisk-res-rtp-multicast,,chan_rtp,,))
887 $(eval $(call BuildAsteriskModule,chan-sip,SIP channel,Session Initiation Protocol.,+$(PKG_NAME)-app-confbridge,sip.conf sip_notify.conf,chan_sip,,))
888 $(eval $(call BuildAsteriskModule,chan-skinny,Skinny channel,Skinny Client Control Protocol.,,skinny.conf,chan_skinny,,))
889 $(eval $(call BuildAsteriskModule,chan-unistim,Unistim channel,UNISTIM protocol.,,unistim.conf,chan_unistim,,))
890 $(eval $(call BuildAsteriskModule,codec-a-mu,Alaw to ulaw translation,Alaw and ulaw direct coder/decoder.,,,codec_a_mu,,))
891 $(eval $(call BuildAsteriskModule,codec-adpcm,ADPCM text,Adaptive Differential PCM coder/decoder.,,,codec_adpcm,,))
892 $(eval $(call BuildAsteriskModule,codec-alaw,Signed linear to alaw translation,Alaw coder/decoder.,,,codec_alaw,,))
893 $(eval $(call BuildAsteriskModule,codec-dahdi,DAHDI codec,Generic DAHDI transcoder codec translator.,+$(PKG_NAME)-chan-dahdi,,codec_dahdi,,))
894 $(eval $(call BuildAsteriskModule,codec-g722,G.722,ITU G.722-64kbps G722 transcoder.,,,codec_g722,,))
895 $(eval $(call BuildAsteriskModule,codec-g726,Signed linear to G.726 translation,ITU G.726-32kbps G726 transcoder.,,,codec_g726,,))
896 $(eval $(call BuildAsteriskModule,codec-gsm,linear to GSM translation,GSM coder/decoder.,,,codec_gsm,,))
897 $(eval $(call BuildAsteriskModule,codec-ilbc,linear to ILBC translation,iLBC coder/decoder.,,,codec_ilbc,,))
898 $(eval $(call BuildAsteriskModule,codec-lpc10,Linear to LPC10 translation,LPC10 2.4kbps coder/decoder.,,,codec_lpc10,,))
899 $(eval $(call BuildAsteriskModule,codec-resample,resample sLinear audio,SLIN resampling codec.,,,codec_resample,,))
900 $(eval $(call BuildAsteriskModule,codec-speex,Speex Coder/Decoder,Speex coder/decoder.,@!SOFT_FLOAT +libspeex +libspeexdsp,,codec_speex,,))
901 $(eval $(call BuildAsteriskModule,codec-ulaw,Signed linear to ulaw translation,Ulaw coder/decoder.,,,codec_ulaw,,))
902 $(eval $(call BuildAsteriskModule,curl,CURL,cURL,+libcurl,,func_curl res_config_curl res_curl,,))
903 $(eval $(call BuildAsteriskModule,format-g719,G.719,ITU G.719.,,,format_g719,,))
904 $(eval $(call BuildAsteriskModule,format-g723,G.723.1,G.723.1 simple timestamp file format.,,,format_g723,,))
905 $(eval $(call BuildAsteriskModule,format-g726,G.726,Raw G.726 data.,,,format_g726,,))
906 $(eval $(call BuildAsteriskModule,format-g729,G.729,Raw G.729 data.,,,format_g729,,))
907 $(eval $(call BuildAsteriskModule,format-gsm,GSM format,Raw GSM data.,,,format_gsm,,))
908 $(eval $(call BuildAsteriskModule,format-h263,H263 format,Raw H.263 data.,,,format_h263,,))
909 $(eval $(call BuildAsteriskModule,format-h264,H264 format,Raw H.264 data.,,,format_h264,,))
910 $(eval $(call BuildAsteriskModule,format-ilbc,ILBC format,Raw iLBC data.,,,format_ilbc,,))
911 $(eval $(call BuildAsteriskModule,format-mp3,MP3 format,MP3 format.,@BROKEN,,format_mp3,,)) # requires patched mpg123 source
912 $(eval $(call BuildAsteriskModule,format-ogg-speex,OGG/Speex audio,OGG/Speex audio.,@!SOFT_FLOAT +libogg +libspeex,,format_ogg_speex,,))
913 $(eval $(call BuildAsteriskModule,format-ogg-vorbis,OGG/Vorbis audio,OGG/Vorbis audio.,+libvorbis,,format_ogg_vorbis,,))
914 $(eval $(call BuildAsteriskModule,format-pcm,PCM format,Raw/Sun ulaw/alaw 8KHz and G.722 16Khz.,,,format_pcm,,))
915 $(eval $(call BuildAsteriskModule,format-siren14,Siren14,ITU G.722.1 Annex C.,,,format_siren14,,))
916 $(eval $(call BuildAsteriskModule,format-siren7,Siren7,ITU G.722.1.,,,format_siren7,,))
917 $(eval $(call BuildAsteriskModule,format-sln,Raw slinear format,Raw signed linear audio support 8khz-192khz.,,,format_sln,,))
918 $(eval $(call BuildAsteriskModule,format-vox,VOX format,Dialogic VOX file format.,,,format_vox,,))
919 $(eval $(call BuildAsteriskModule,format-wav,WAV format (8000hz Signed Linear),Microsoft WAV/WAV16 format.,,,format_wav,,))
920 $(eval $(call BuildAsteriskModule,format-wav-gsm,WAV format (Proprietary GSM),Microsoft WAV format.,,,format_wav_gsm,,))
921 $(eval $(call BuildAsteriskModule,func-aes,AES dialplan functions,AES dialplan functions.,,,func_aes,,))
922 $(eval $(call BuildAsteriskModule,func-base64,base64,Base64 encode/decode dialplan functions.,,,func_base64,,))
923 $(eval $(call BuildAsteriskModule,func-blacklist,Blacklist on callerid,Look up Caller ID name/number from blacklist database.,,,func_blacklist,,))
924 $(eval $(call BuildAsteriskModule,func-callcompletion,Call control configuration function,Call control configuration function.,,,func_callcompletion,,))
925 $(eval $(call BuildAsteriskModule,func-channel,Channel info,Channel information dialplan functions.,,,func_channel,,))
926 $(eval $(call BuildAsteriskModule,func-config,Configuration file variable access,Asterisk configuration file variable access.,,,func_config,,))
927 $(eval $(call BuildAsteriskModule,func-cut,CUT function,Cut out information from a string.,,,func_cut,,))
928 $(eval $(call BuildAsteriskModule,func-db,Database interaction,Database related dialplan functions.,,,func_db app_db,,))
929 $(eval $(call BuildAsteriskModule,func-devstate,Blinky lights control,Gets or sets a device state in the dialplan.,,,func_devstate,,))
930 $(eval $(call BuildAsteriskModule,func-dialgroup,Dialgroup dialplan function,Dialgroup dialplan function.,,,func_dialgroup,,))
931 $(eval $(call BuildAsteriskModule,func-dialplan,Dialplan context/extension/priority checking functions,Dialplan context/extension/priority checking functions.,,,func_dialplan,,))
932 $(eval $(call BuildAsteriskModule,func-enum,ENUM,ENUM related dialplan functions.,,enum.conf,func_enum,,))
933 $(eval $(call BuildAsteriskModule,func-env,Environment functions,Environment/filesystem dialplan functions.,,,func_env,,))
934 $(eval $(call BuildAsteriskModule,func-evalexten,Extension evaluation,Extension evaluation functions.,,,func_evalexten,,))
935 $(eval $(call BuildAsteriskModule,func-extstate,Hinted extension state,Gets the state of an extension in the dialplan.,,,func_extstate,,))
936 $(eval $(call BuildAsteriskModule,func-frame-drop,Frame drop,Function to drop frames on a channel.,,,func_frame_drop,,))
937 $(eval $(call BuildAsteriskModule,func-frame-trace,Frame trace for internal ast_frame debugging,Frame trace for internal ast_frame debugging.,,,func_frame_trace,,))
938 $(eval $(call BuildAsteriskModule,func-global,Global variable,Variable dialplan functions.,,,func_global,,))
939 $(eval $(call BuildAsteriskModule,func-groupcount,Group count,Channel group dialplan functions.,,,func_groupcount,,))
940 $(eval $(call BuildAsteriskModule,func-hangupcause,HANGUPCAUSE related functions,Hangup cause related functions and applications.,,,func_hangupcause,,))
941 $(eval $(call BuildAsteriskModule,func-holdintercept,Hold interception dialplan function,Hold interception dialplan function.,,,func_holdintercept,,))
942 $(eval $(call BuildAsteriskModule,func-iconv,Charset conversion,Charset conversions.,,,func_iconv,,,$(ICONV_DEPENDS)))
943 $(eval $(call BuildAsteriskModule,func-jitterbuffer,Jitter buffer for read side of channel,Jitter buffer for read side of channel.,,,func_jitterbuffer,,))
944 $(eval $(call BuildAsteriskModule,func-json,JSON decoding function,JSON decoding function.,,,func_json,,))
945 $(eval $(call BuildAsteriskModule,func-lock,Dialplan mutexes,Dialplan mutexes.,,,func_lock,,))
946 $(eval $(call BuildAsteriskModule,func-math,Math functions,Mathematical dialplan function.,,,func_math,,))
947 $(eval $(call BuildAsteriskModule,func-md5,MD5 digest dialplan functions,MD5 digest dialplan functions.,,,func_md5,,))
948 $(eval $(call BuildAsteriskModule,func-module,Simple module check function,Checks if Asterisk module is loaded in memory.,,,func_module,,))
949 $(eval $(call BuildAsteriskModule,func-periodic-hook,Periodic dialplan hooks,Periodic dialplan hooks.,+$(PKG_NAME)-app-chanspy +$(PKG_NAME)-func-cut +$(PKG_NAME)-func-groupcount +$(PKG_NAME)-func-uri,,func_periodic_hook,,))
950 $(eval $(call BuildAsteriskModule,func-pitchshift,Audio effects dialplan functions,Audio effects dialplan functions.,,,func_pitchshift,,))
951 $(eval $(call BuildAsteriskModule,func-presencestate,Hinted presence state,Gets or sets a presence state in the dialplan.,,,func_presencestate,,))
952 $(eval $(call BuildAsteriskModule,func-rand,RAND dialplan function,Random number dialplan function.,,,func_rand,,))
953 $(eval $(call BuildAsteriskModule,func-realtime,REALTIME dialplan function,Read/write/store/destroy values from a realtime repository.,,,func_realtime,,))
954 $(eval $(call BuildAsteriskModule,func-sayfiles,Say files,Say application files.,,,func_sayfiles,,))
955 $(eval $(call BuildAsteriskModule,func-scramble,Scramble,Frequency inverting voice scrambler.,,,func_scramble,,))
956 $(eval $(call BuildAsteriskModule,func-sha1,SHA-1 computation dialplan function,SHA-1 computation dialplan function.,,,func_sha1,,))
957 $(eval $(call BuildAsteriskModule,func-shell,Shell,Collects the output generated by a command executed by the system shell.,,,func_shell,,))
958 $(eval $(call BuildAsteriskModule,func-sorcery,Get a field from a sorcery object,Get a field from a sorcery object.,,,func_sorcery,,))
959 $(eval $(call BuildAsteriskModule,func-speex,Noise reduction and AGC,Noise reduction and Automatic Gain Control.,@!SOFT_FLOAT +libspeex +libspeexdsp,,func_speex,,))
960 $(eval $(call BuildAsteriskModule,func-sprintf,SPRINTF dialplan function,SPRINTF dialplan function.,,,func_sprintf,,))
961 $(eval $(call BuildAsteriskModule,func-srv,SRV functions,SRV related dialplan functions.,,,func_srv,,))
962 $(eval $(call BuildAsteriskModule,func-sysinfo,System information related functions,System information related functions.,,,func_sysinfo,,))
963 $(eval $(call BuildAsteriskModule,func-talkdetect,Talk detection dialplan function,Talk detection dialplan function.,,,func_talkdetect,,))
964 $(eval $(call BuildAsteriskModule,func-uri,URI encoding and decoding,URI encode/decode dialplan functions.,,,func_uri,,))
965 $(eval $(call BuildAsteriskModule,func-version,Get Asterisk version/build info,Get Asterisk version/build info.,,,func_version,,))
966 $(eval $(call BuildAsteriskModule,func-vmcount,vmcount dialplan,Indicator for whether a voice mailbox has messages in a given folder.,,,func_vmcount,,))
967 $(eval $(call BuildAsteriskModule,func-volume,Technology independent volume control,Technology independent volume control.,,,func_volume,,))
968 $(eval $(call BuildAsteriskModule,odbc,ODBC,ODBC support.,+libpthread +libc +unixodbc,cdr_adaptive_odbc.conf cdr_odbc.conf cel_odbc.conf func_odbc.conf res_odbc.conf,cdr_adaptive_odbc cdr_odbc cel_odbc func_odbc res_config_odbc res_odbc res_odbc_transaction,,))
969 $(eval $(call BuildAsteriskModule,pbx-ael,Asterisk Extension Logic,Asterisk Extension Language compiler.,+$(PKG_NAME)-res-ael-share,extensions.ael,pbx_ael,,))
970 $(eval $(call BuildAsteriskModule,pbx-dundi,Dundi,Distributed Universal Number Discovery.,,dundi.conf,pbx_dundi,,))
971 $(eval $(call BuildAsteriskModule,pbx-loopback,Loopback switch,Loopback switch.,,,pbx_loopback,,))
972 $(eval $(call BuildAsteriskModule,pbx-lua,Lua,Lua PBX switch.,+liblua,extensions.lua,pbx_lua,,))
973 $(eval $(call BuildAsteriskModule,pbx-realtime,Realtime Switch,Realtime switch.,,,pbx_realtime,,))
974 $(eval $(call BuildAsteriskModule,pbx-spool,Call Spool,Outgoing spool support.,,,pbx_spool,,))
975 $(eval $(call BuildAsteriskModule,pgsql,PostgreSQL,PostgreSQL support.,+libpq,cel_pgsql.conf cdr_pgsql.conf res_pgsql.conf,cel_pgsql cdr_pgsql res_config_pgsql,,))
976 $(eval $(call BuildAsteriskModule,pjsip,pjsip channel,PJSIP SIP stack.,+$(PKG_NAME)-res-http-websocket +$(PKG_NAME)-res-pjproject +$(PKG_NAME)-res-sorcery +libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,pjsip.conf pjsip_notify.conf pjsip_wizard.conf,chan_pjsip func_pjsip_aor func_pjsip_contact func_pjsip_endpoint res_pjsip res_pjsip_acl res_pjsip_authenticator_digest res_pjsip_caller_id res_pjsip_config_wizard res_pjsip_dialog_info_body_generator res_pjsip_diversion res_pjsip_dlg_options res_pjsip_dtmf_info res_pjsip_empty_info res_pjsip_endpoint_identifier_anonymous res_pjsip_endpoint_identifier_ip res_pjsip_endpoint_identifier_user res_pjsip_exten_state res_pjsip_header_funcs res_pjsip_history res_pjsip_logger res_pjsip_messaging res_pjsip_mwi res_pjsip_mwi_body_generator res_pjsip_nat res_pjsip_notify res_pjsip_one_touch_record_info res_pjsip_outbound_authenticator_digest res_pjsip_outbound_publish res_pjsip_outbound_registration res_pjsip_path res_pjsip_pidf_body_generator res_pjsip_pidf_digium_body_supplement res_pjsip_pidf_eyebeam_body_supplement res_pjsip_publish_asterisk res_pjsip_pubsub res_pjsip_refer res_pjsip_registrar res_pjsip_rfc3326 res_pjsip_sdp_rtp res_pjsip_send_to_voicemail res_pjsip_session res_pjsip_sips_contact res_pjsip_t38 res_pjsip_transport_websocket res_pjsip_xpidf_body_generator,,))
977 $(eval $(call BuildAsteriskModule,res-adsi,Provide ADSI,ADSI resource.,,,res_adsi,,))
978 $(eval $(call BuildAsteriskModule,res-aeap,Provide AEAP,AEAP resource.,+asterisk-res-http-websocket,aeap.conf,res_aeap,,))
979 $(eval $(call BuildAsteriskModule,res-ael-share,Shareable AEL code,Shareable code for AEL.,,,res_ael_share,,))
980 $(eval $(call BuildAsteriskModule,res-agi,Asterisk Gateway Interface,Asterisk Gateway Interface.,+$(PKG_NAME)-res-speech,,res_agi,,))
981 $(eval $(call BuildAsteriskModule,res-ari,Asterisk RESTful interface,Asterisk RESTful Interface.,+$(PKG_NAME)-res-http-websocket,ari.conf,res_ari,,))
982 $(eval $(call BuildAsteriskModule,res-ari-applications,RESTful Stasis application resources,RESTful API module - Stasis application resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis,,res_ari_applications,))
983 $(eval $(call BuildAsteriskModule,res-ari-asterisk,RESTful Asterisk resources,RESTful API module - Asterisk resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis,,res_ari_asterisk,,))
984 $(eval $(call BuildAsteriskModule,res-ari-bridges,RESTful bridge resources,RESTful API module - bridge resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-playback,,res_ari_bridges,,))
985 $(eval $(call BuildAsteriskModule,res-ari-channels,RESTful channel resources,RESTful API module - channel resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-answer +$(PKG_NAME)-res-stasis-playback +$(PKG_NAME)-res-stasis-snoop,,res_ari_channels,,))
986 $(eval $(call BuildAsteriskModule,res-ari-device-states,RESTful device state resources,RESTful API module - device state resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-device-state,,res_ari_device_states,,))
987 $(eval $(call BuildAsteriskModule,res-ari-endpoints,RESTful endpoint resources,RESTful API module - endpoint resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis,,res_ari_endpoints,,))
988 $(eval $(call BuildAsteriskModule,res-ari-events,RESTful WebSocket resource,RESTful API module - WebSocket resource.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis,,res_ari_events,,))
989 $(eval $(call BuildAsteriskModule,res-ari-mailboxes,RESTful mailboxes resources,RESTful API module - mailboxes resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-mailbox,,res_ari_mailboxes,,))
990 $(eval $(call BuildAsteriskModule,res-ari-model,ARI model validators,ARI model validators.,,,res_ari_model,,))
991 $(eval $(call BuildAsteriskModule,res-ari-playbacks,RESTful playback control resources,RESTful API module - playback control resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-playback,,res_ari_playbacks,,))
992 $(eval $(call BuildAsteriskModule,res-ari-recordings,RESTful recording resources,RESTful API module - recording resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis-recording,,res_ari_recordings,,))
993 $(eval $(call BuildAsteriskModule,res-ari-sounds,RESTful sound resources,RESTful API module - sound resources.,+$(PKG_NAME)-res-ari +$(PKG_NAME)-res-ari-model +$(PKG_NAME)-res-stasis,,res_ari_sounds,))
994 $(eval $(call BuildAsteriskModule,res-audiosocket,Audiosocket resource module,Audiosocket resource module.,,,res_audiosocket,))
995 $(eval $(call BuildAsteriskModule,res-calendar,Calendar API,Asterisk calendar integration.,,calendar.conf,res_calendar,,))
996 $(eval $(call BuildAsteriskModule,res-calendar-caldav,CalDAV calendar,Asterisk CalDAV calendar integration.,+$(PKG_NAME)-res-calendar +libical +libneon,,res_calendar_caldav,,))
997 $(eval $(call BuildAsteriskModule,res-calendar-ews,EWS calendar,Asterisk MS Exchange Web Service calendar integration.,+$(PKG_NAME)-res-calendar +libneon,,res_calendar_ews,,))
998 $(eval $(call BuildAsteriskModule,res-calendar-exchange,Exchange calendar,Asterisk MS Exchange calendar integration.,+$(PKG_NAME)-res-calendar +libical +libiksemel +libneon,,res_calendar_exchange,,))
999 $(eval $(call BuildAsteriskModule,res-calendar-icalendar,iCalendar calendar,Asterisk iCalendar .ics file integration.,+$(PKG_NAME)-res-calendar +libical +libneon,,res_calendar_icalendar,,))
1000 $(eval $(call BuildAsteriskModule,res-chan-stats,statsd channel stats,Example of how to use Stasis.,+$(PKG_NAME)-res-statsd,,res_chan_stats,,))
1001 $(eval $(call BuildAsteriskModule,res-clialiases,CLI aliases,CLI aliases.,,cli_aliases.conf,res_clialiases,,))
1002 $(eval $(call BuildAsteriskModule,res-cliexec,Execute from CLI,Simple dialplan execution from the CLI.,,,res_cliexec,,))
1003 $(eval $(call BuildAsteriskModule,res-clioriginate,Calls via CLI,Call origination and redirection from the CLI.,,,res_clioriginate,,))
1004 $(eval $(call BuildAsteriskModule,res-config-ldap,LDAP realtime interface,LDAP realtime interface.,+libopenldap,res_ldap.conf,res_config_ldap,,))
1005 $(eval $(call BuildAsteriskModule,res-config-mysql,MySQL CDR backend,MySQL realtime configuration driver.,+libmysqlclient,,res_config_mysql,,))
1006 $(eval $(call BuildAsteriskModule,res-config-sqlite3,SQLite 3 realtime config engine,SQLite3 realtime config engine.,,,res_config_sqlite3,,))
1007 $(eval $(call BuildAsteriskModule,res-convert,File format conversion CLI command,File format conversion CLI command.,,,res_convert,,))
1008 $(eval $(call BuildAsteriskModule,res-endpoint-stats,Endpoint statistics,Endpoint statistics.,+$(PKG_NAME)-res-statsd,,res_endpoint_stats,,))
1009 $(eval $(call BuildAsteriskModule,res-hep,HEPv3 API,HEPv3 API.,,hep.conf,res_hep,,))
1010 $(eval $(call BuildAsteriskModule,res-hep-pjsip,PJSIP HEPv3 Logger,PJSIP HEPv3 logger.,+$(PKG_NAME)-res-hep +$(PKG_NAME)-pjsip,,res_hep_pjsip,,))
1011 $(eval $(call BuildAsteriskModule,res-hep-rtcp,RTCP HEPv3 Logger,RTCP HEPv3 logger.,+$(PKG_NAME)-res-hep,,res_hep_rtcp,,))
1012 $(eval $(call BuildAsteriskModule,res-fax-spandsp,Spandsp T.38 and G.711,Spandsp G.711 and T.38 FAX technologies.,+$(PKG_NAME)-res-fax +libspandsp +libtiff,,res_fax_spandsp,,))
1013 $(eval $(call BuildAsteriskModule,res-fax,FAX modules,Generic FAX applications.,,res_fax.conf,res_fax,,))
1014 $(eval $(call BuildAsteriskModule,res-format-attr-celt,CELT format attribute module,CELT format attribute module.,,,res_format_attr_celt,,))
1015 $(eval $(call BuildAsteriskModule,res-format-attr-g729,G.729 format attribute module,G.729 format attribute module.,,,res_format_attr_g729,,))
1016 $(eval $(call BuildAsteriskModule,res-format-attr-h263,H.263 format attribute module,H.263 format attribute module.,,,res_format_attr_h263,,))
1017 $(eval $(call BuildAsteriskModule,res-format-attr-h264,H.264 format attribute module,H.264 format attribute module.,,,res_format_attr_h264,,))
1018 $(eval $(call BuildAsteriskModule,res-format-attr-ilbc,ILBC format attribute module,iLBC format attribute module.,,,res_format_attr_ilbc,,))
1019 $(eval $(call BuildAsteriskModule,res-format-attr-opus,Opus format attribute module,Opus format attribute module.,,,res_format_attr_opus,,))
1020 $(eval $(call BuildAsteriskModule,res-format-attr-silk,SILK format attribute module,SILK format attribute module.,,,res_format_attr_silk,,))
1021 $(eval $(call BuildAsteriskModule,res-format-attr-siren14,Siren14 format attribute module,Siren14 format attribute module.,,,res_format_attr_siren14,,))
1022 $(eval $(call BuildAsteriskModule,res-format-attr-siren7,Siren7 format attribute module,Siren7 format attribute module.,,,res_format_attr_siren7,,))
1023 $(eval $(call BuildAsteriskModule,res-format-attr-vp8,VP8 format attribute module,VP8 format attribute module.,,,res_format_attr_vp8,,))
1024 $(eval $(call BuildAsteriskModule,res-geolocation,Geolocation,Geolocation support.,@ASTERISK_LIBXSLT_SUPPORT,geolocation.conf,res_geolocation,,))
1025 $(eval $(call BuildAsteriskModule,res-http-media-cache,HTTP media cache backend,HTTP media cache backend.,+$(PKG_NAME)-curl,,res_http_media_cache,,))
1026 $(eval $(call BuildAsteriskModule,res-http-websocket,HTTP websocket,HTTP WebSocket support.,,,res_http_websocket,,))
1027 $(eval $(call BuildAsteriskModule,res-limit,Resource limits,Resource limits.,,,res_limit,,))
1028 $(eval $(call BuildAsteriskModule,res-manager-devicestate,Device state topic forwarder,Manager device state topic forwarder.,,,res_manager_devicestate,,))
1029 $(eval $(call BuildAsteriskModule,res-manager-presencestate,Presence state topic forwarder,Manager presence state topic forwarder.,,,res_manager_presencestate,,))
1030 $(eval $(call BuildAsteriskModule,res-monitor,PBX channel monitoring,Call monitoring resource.,,,res_monitor,,))
1031 $(eval $(call BuildAsteriskModule,res-musiconhold,MOH,Music On Hold resource.,,musiconhold.conf,res_musiconhold,,))
1032 $(eval $(call BuildAsteriskModule,res-mutestream,Mute audio stream resources,Mute audio stream resources.,,,res_mutestream,,))
1033 $(eval $(call BuildAsteriskModule,res-mwi-devstate,MWI device state subs,This module allows presence subscriptions to voicemail boxes. This\nallows common BLF keys to act as voicemail waiting indicators.,,,res_mwi_devstate,,))
1034 $(eval $(call BuildAsteriskModule,res-mwi-external,Core external MWI resource,Core external MWI resource.,,,res_mwi_external,,))
1035 $(eval $(call BuildAsteriskModule,res-mwi-external-ami,AMI for external MWI,AMI support for external MWI.,+$(PKG_NAME)-res-mwi-external,,res_mwi_external_ami,,))
1036 $(eval $(call BuildAsteriskModule,res-parking,Phone Parking,Call parking resource.,+$(PKG_NAME)-bridge-holding,res_parking.conf,res_parking,,))
1037 $(eval $(call BuildAsteriskModule,res-phoneprov,Phone Provisioning,HTTP phone provisioning.,,phoneprov.conf,res_phoneprov,,))
1038 $(eval $(call BuildAsteriskModule,res-pjsip-geolocation,PJSIP Geolocation,PJSIP Geolocation support.,+asterisk-pjsip +asterisk-res-geolocation,,res_pjsip_geolocation,,))
1039 $(eval $(call BuildAsteriskModule,res-pjsip-phoneprov,PJSIP Phone Provisioning,PJSIP phone provisioning.,+$(PKG_NAME)-pjsip +$(PKG_NAME)-res-phoneprov,,res_pjsip_phoneprov_provider,,))
1040 $(eval $(call BuildAsteriskModule,res-pjsip-stir-shaken,PJSIP STIR/SHAKEN resource module,PJSIP STIR/SHAKEN resource module.,+$(PKG_NAME)-pjsip +$(PKG_NAME)-res-stir-shaken,,res_pjsip_stir_shaken,,))
1041 $(eval $(call BuildAsteriskModule,res-pjproject,Bridge PJPROJECT to Asterisk logging,PJProject log and utility support.,+asterisk-res-sorcery +libpj +libpjlib-util +libpjmedia +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsip +libpjsua +libpjsua2 +libsrtp2,pjproject.conf,res_pjproject,,))
1042 $(eval $(call BuildAsteriskModule,res-pktccops,PktcCOPS manager for MGCP,PktcCOPS manager for MGCP.,,res_pktccops.conf,res_pktccops,,))
1043 $(eval $(call BuildAsteriskModule,res-prometheus,Prometheus resource module,Prometheus resource module.,+libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,prometheus.conf,res_prometheus,,))
1044 $(eval $(call BuildAsteriskModule,res-realtime,RealTime CLI,Realtime data lookup/rewrite.,,,res_realtime,,))
1045 $(eval $(call BuildAsteriskModule,res-remb-modifier,REMB modifier,REMB modifier module.,,,res_remb_modifier,,))
1046 $(eval $(call BuildAsteriskModule,res-resolver-unbound,Unbound DNS resolver,Unbound DNS resolver support.,+libunbound,resolver_unbound.conf,res_resolver_unbound,,))
1047 $(eval $(call BuildAsteriskModule,res-rtp-asterisk,RTP stack,Asterisk RTP stack.,+libpjsip +libpjmedia +libpjnath +libpjsip-simple +libpjsip-ua +libpjsua +libpjsua2,rtp.conf,res_rtp_asterisk,,))
1048 $(eval $(call BuildAsteriskModule,res-rtp-multicast,RTP multicast engine,Multicast RTP engine.,,,res_rtp_multicast,,))
1049 $(eval $(call BuildAsteriskModule,res-security-log,Security event logging,Security event logging.,,,res_security_log,,))
1050 $(eval $(call BuildAsteriskModule,res-smdi,Provide SMDI,Simplified Message Desk Interface resource.,,smdi.conf,res_smdi,,))
1051 $(eval $(call BuildAsteriskModule,res-snmp,SNMP [Sub]Agent for Asterisk,SNMP agent for Asterisk.,+libnetsnmp,res_snmp.conf,res_snmp,,))
1052 $(eval $(call BuildAsteriskModule,res-sorcery,Sorcery data layer,Sorcery backend modules for data access intended for using realtime as\nbackend.,,sorcery.conf,res_sorcery_astdb res_sorcery_config res_sorcery_memory res_sorcery_realtime,,))
1053 $(eval $(call BuildAsteriskModule,res-sorcery-memory-cache,Sorcery memory cache object wizard,Sorcery memory cache object wizard.,,,res_sorcery_memory_cache,,))
1054 $(eval $(call BuildAsteriskModule,res-speech,Speech Recognition API,Generic speech recognition API.,,,res_speech,,))
1055 $(eval $(call BuildAsteriskModule,res-speech-aeap,AEAP Speech Engine,AEAP Speech Engine support.,+asterisk-res-aeap +asterisk-res-speech,,res_speech_aeap,,))
1056 $(eval $(call BuildAsteriskModule,res-srtp,SRTP Support,Secure RTP.,+libsrtp2,,res_srtp,,))
1057 $(eval $(call BuildAsteriskModule,res-stasis,Stasis application,Stasis application support.,,,res_stasis,,))
1058 $(eval $(call BuildAsteriskModule,res-stasis-answer,Stasis application answer,Stasis application answer support.,+$(PKG_NAME)-res-stasis,,res_stasis_answer,,))
1059 $(eval $(call BuildAsteriskModule,res-stasis-device-state,Stasis application device state,Stasis application device state support.,+$(PKG_NAME)-res-stasis,,res_stasis_device_state,,))
1060 $(eval $(call BuildAsteriskModule,res-stasis-mailbox,Stasis application mailbox,Stasis application mailbox support.,+$(PKG_NAME)-res-stasis +$(PKG_NAME)-res-mwi-external,,res_stasis_mailbox,,))
1061 $(eval $(call BuildAsteriskModule,res-stasis-playback,Stasis application playback,Stasis application playback support.,+$(PKG_NAME)-res-stasis-recording,,res_stasis_playback,,))
1062 $(eval $(call BuildAsteriskModule,res-stasis-recording,Stasis application recording,Stasis application recording support.,+$(PKG_NAME)-res-stasis,,res_stasis_recording,,))
1063 $(eval $(call BuildAsteriskModule,res-stasis-snoop,Stasis application snoop,Stasis application snoop support.,+$(PKG_NAME)-res-stasis-recording,,res_stasis_snoop,,))
1064 $(eval $(call BuildAsteriskModule,res-statsd,statsd client,Statsd client support.,,statsd.conf,res_statsd,,))
1065 $(eval $(call BuildAsteriskModule,res-stir-shaken,STIR/SHAKEN resource module,STIR/SHAKEN resource module.,+$(PKG_NAME)-curl,stir_shaken.conf,res_stir_shaken,,))
1066 $(eval $(call BuildAsteriskModule,res-stun-monitor,STUN monitoring,STUN network monitor.,,res_stun_monitor.conf,res_stun_monitor,,))
1067 $(eval $(call BuildAsteriskModule,res-timing-dahdi,DAHDI Timing Interface,DAHDI timing interface.,+$(PKG_NAME)-chan-dahdi,,res_timing_dahdi,,))
1068 $(eval $(call BuildAsteriskModule,res-timing-pthread,pthread Timing Interface,pthread timing interface.,,,res_timing_pthread,,))
1069 $(eval $(call BuildAsteriskModule,res-tonedetect,Tone detection,Tone detection module.,,,res_tonedetect,,))
1070 $(eval $(call BuildAsteriskModule,res-xmpp,XMPP client and component module,Asterisk XMPP interface.,+libiksemel +libopenssl,xmpp.conf,res_xmpp,,))
1071
1072 ################################
1073 # AST utils
1074 # Params:
1075 # 1 - Utility name
1076 # 2 - Description
1077 # 3 - Dependencies
1078 # 4 - Configuration files
1079 ################################
1080 # $(eval $(call BuildAsteriskUtil,Utility,Description,Dependencies,Configuration Files))
1081
1082 $(eval $(call BuildAsteriskUtil,aelparse,Check extensions.ael file.,+$(PKG_NAME)-pbx-ael,))
1083 $(eval $(call BuildAsteriskUtil,astcanary,Assures Asterisk no threads have gone missing.,,))
1084 $(eval $(call BuildAsteriskUtil,astdb2sqlite3,Convert astdb to SQLite 3.,,))
1085 $(eval $(call BuildAsteriskUtil,astdb2bdb,Convert astdb back to Berkeley DB 1.86.,,))
1086 $(eval $(call BuildAsteriskUtil,check_expr,Expression checker [older version].,,))
1087 $(eval $(call BuildAsteriskUtil,check_expr2,Expression checker [newer version].,,))
1088 $(eval $(call BuildAsteriskUtil,conf2ael,Convert .conf to .ael.,+$(PKG_NAME)-pbx-ael,))
1089 $(eval $(call BuildAsteriskUtil,muted,Listens for AMI events. Mutes soundcard during call.,,muted.conf))
1090 $(eval $(call BuildAsteriskUtil,smsq,Send messages from command line.,+libpopt,))
1091 $(eval $(call BuildAsteriskUtil,stereorize,Merge two mono WAV-files to one stereo WAV-file.,,))
1092 $(eval $(call BuildAsteriskUtil,streamplayer,A utility for reading from a raw TCP stream [MOH source].,,))