e95728511c55bad4d4b481c5784374c1ed370bd7
[packages.git] / net / asterisk-1.8.x / Makefile
1 #
2 # Copyright (C) 2008-2010 OpenWrt.org
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:=asterisk18
11 PKG_VERSION:=1.8.2.3
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=asterisk-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=http://downloads.digium.com/pub/asterisk/releases/
16 PKG_MD5SUM:=e394b63dd71c07497620dc12883e0b80
17
18 PKG_BUILD_DIR=$(BUILD_DIR)/asterisk-$(PKG_VERSION)
19
20 include $(INCLUDE_DIR)/package.mk
21
22 define Package/asterisk18/Default
23   SUBMENU:=asterisk18 (Complete Open Source PBX), v1.8.x
24   SECTION:=net
25   CATEGORY:=Network
26   URL:=http://www.asterisk.org/
27   MAINTAINER:=Hans Zandbelt <hans.zandbelt@gmail.com>
28 endef
29
30 define Package/asterisk18/Default/description
31  Asterisk is a complete PBX in software. It provides all of the features
32  you would expect from a PBX and more. Asterisk does voice over IP in three
33  protocols, and can interoperate with almost all standards-based telephony
34  equipment using relatively inexpensive hardware.
35 endef
36
37
38 define Package/asterisk18
39 $(call Package/asterisk18/Default)
40   TITLE:=Complete open source PBX
41   DEPENDS:= +libopenssl +libncurses +libpopt +libpthread +zlib @!TARGET_avr32
42 endef
43
44 define Package/asterisk18/description
45 $(call Package/asterisk18/Default/description)
46 endef
47
48 define Package/asterisk18-sounds
49 $(call Package/asterisk18/Default)
50   TITLE:=Sound files
51   DEPENDS:= +asterisk18
52 endef
53
54 define Package/asterisk18-sounds/description
55 $(call Package/asterisk18/Default/description)
56  This package contains sound files for Asterisk.
57 endef
58
59
60 define Package/asterisk18-voicemail
61 $(call Package/asterisk18/Default)
62   TITLE:=Voicemail support
63   DEPENDS:= +asterisk18
64 endef
65
66 define Package/asterisk18-voicemail/description
67 $(call Package/asterisk18/Default/description)
68  This package contains voicemail related modules for Asterisk.
69 endef
70
71 define Package/asterisk18-app-meetme
72 $(call Package/asterisk18/Default)
73   TITLE:=conferencing support
74   DEPENDS:= +asterisk18 +dahdi-tools-libtonezone +kmod-dahdi-linux
75 endef
76
77 define Package/asterisk18-app-meetme/description
78 $(call Package/asterisk18/Default/description)
79  This package provides the MeetMe application driver Conferencing support to
80  Asterisk.
81 endef
82
83 define Package/asterisk18-chan-iax2
84 $(call Package/asterisk18/Default)
85   TITLE:=IAX support
86   DEPENDS:= +asterisk18
87 endef
88
89 define Package/asterisk18-chan-iax2/description
90 $(call Package/asterisk18/Default/description)
91  This package provides IAX support to
92  Asterisk.
93 endef
94
95 define Package/asterisk18-cdr
96 $(call Package/asterisk18/Default)
97   TITLE:=CDR support
98   DEPENDS:= +asterisk18
99 endef
100
101 define Package/asterisk18-cdr/description
102 $(call Package/asterisk18/Default/description)
103  This package provides Call Detail Record support to
104  Asterisk.
105 endef
106
107 define Package/asterisk18-res-musiconhold
108 $(call Package/asterisk18/Default)
109   TITLE:=MOH support
110   DEPENDS:= +asterisk18
111 endef
112
113 define Package/asterisk18-res-musiconhold/description
114 $(call Package/asterisk18/Default/description)
115  This package provides Music On Hold support to
116  Asterisk.
117 endef
118
119 define Package/asterisk18-chan-gtalk
120 $(call Package/asterisk18/Default)
121   TITLE:=GTalk support
122   DEPENDS:= +asterisk18 +libiksemel
123 endef
124
125 define Package/asterisk18-chan-gtalk/description
126 $(call Package/asterisk18/Default/description)
127  This package provides the channel chan_gtalk and res_jabber for GTalk
128  support to Asterisk.
129 endef
130
131 define Package/asterisk18-chan-mobile
132 $(call Package/asterisk18/Default)
133   TITLE:=Mobile channel support
134   DEPENDS:= +asterisk18 +bluez-libs
135 endef
136
137 define Package/asterisk18-chan-mobile/description
138 $(call Package/asterisk18/Default/description)
139  This package provides the channel chan_mobile support to Asterisk.
140 endef
141
142 define Package/asterisk18-chan-mgcp
143 $(call Package/asterisk18/Default)
144   TITLE:=MGCP channel support
145   DEPENDS:= +asterisk18
146 endef
147
148 define Package/asterisk18-chan-mgcp/description
149 $(call Package/asterisk18/Default/description)
150  This package provides the channel chan_mgcp support to Asterisk.
151 endef
152
153 define Package/asterisk18-curl
154 $(call Package/asterisk18/Default)
155   TITLE:=CURL support
156   DEPENDS:= +asterisk18 +libcurl
157 endef
158
159 define Package/asterisk18-curl/description
160 $(call Package/asterisk18/Default/description)
161  This package provides CURL
162  support to Asterisk.
163 endef
164  
165 define Package/asterisk18-mysql
166 $(call Package/asterisk18/Default)
167   TITLE:=MySQL support
168   DEPENDS:= +asterisk18 +libmysqlclient
169 endef
170
171 define Package/asterisk18-mysql/description
172 $(call Package/asterisk18/Default/description)
173  This package provides MySQL
174  support to Asterisk.
175 endef
176  
177 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-app-meetme),)
178   CONFIGURE_ARGS+= \
179         --with-dahdi="$(STAGING_DIR)/usr"
180 else
181   CONFIGURE_ARGS+= \
182         --without-dahdi
183 endif
184
185 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-gtalk),)
186   CONFIGURE_ARGS+= \
187         --with-gnutls="$(STAGING_DIR)/usr" \
188         --with-iksemel="$(STAGING_DIR)/usr"
189   SITE_VARS+= \
190         ac_cv_lib_iksemel_iks_start_sasl=yes \
191         ac_cv_lib_gnutls_gnutls_bye=yes
192 else
193   CONFIGURE_ARGS+= \
194         --without-gnutls \
195         --without-iksemel
196 endif
197
198 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-curl),)
199   CONFIGURE_ARGS+= \
200         --with-curl="$(STAGING_DIR)/usr"
201 else
202   CONFIGURE_ARGS+= \
203         --without-curl
204 endif
205
206 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-mysql),)
207   CONFIGURE_ARGS+= \
208         --with-mysqlclient="$(STAGING_DIR)/usr/bin"
209 else
210   CONFIGURE_ARGS+= \
211         --without-mysqlclient
212 endif
213
214 ifneq ($(SDK)$(CONFIG_PACKAGE_asterisk18-chan-mobile),)
215   CONFIGURE_ARGS+= \
216         --with-bluetooth="$(STAGING_DIR)/usr"
217 else
218   CONFIGURE_ARGS+= \
219         --without-bluetooth
220 endif
221
222 CONFIGURE_ARGS+= \
223         --without-curses \
224         --with-gsm=internal \
225         --without-gtk \
226         --without-gtk2 \
227         --without-isdnnet \
228         --without-kde \
229         --without-misdn \
230         --without-nbs \
231         --with-ncurses="$(STAGING_DIR)/usr" \
232         --without-netsnmp \
233         --without-newt \
234         --without-odbc \
235         --without-ogg \
236         --without-osptk \
237         --with-popt="$(STAGING_DIR)/usr" \
238         --without-pri \
239         --without-qt \
240         --without-radius \
241         --without-sdl \
242         --without-spandsp \
243         --without-suppserv \
244         --without-tds \
245         --without-termcap \
246         --without-tinfo \
247         --without-vorbis \
248         --without-vpb \
249         --with-z="$(STAGING_DIR)/usr" \
250         --disable-xmldoc
251
252 EXTRA_CFLAGS+= $(TARGET_CPPFLAGS)
253 EXTRA_LDFLAGS+= $(TARGET_LDFLAGS)
254
255 define Build/Configure
256         -rm $(PKG_BUILD_DIR)/menuselect.makeopts
257         $(call Build/Configure/Default,,$(SITE_VARS))
258 endef
259
260 define Build/Compile
261         $(MAKE) -C "$(PKG_BUILD_DIR)" \
262                 include/asterisk/version.h \
263                 include/asterisk/buildopts.h defaults.h \
264                 makeopts.embed_rules
265         ASTCFLAGS="$(EXTRA_CFLAGS) -DLOW_MEMORY" \
266         ASTLDFLAGS="$(EXTRA_LDFLAGS)" \
267         $(MAKE) -C "$(PKG_BUILD_DIR)" \
268                 ASTVARLIBDIR="/usr/lib/asterisk" \
269                 NOISY_BUILD="1" \
270                 DEBUG="" \
271                 OPTIMIZE="" \
272                 DESTDIR="$(PKG_INSTALL_DIR)" \
273                 all install samples
274         $(SED) 's|/var/lib/asterisk|/usr/lib/asterisk|g' $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf
275 endef
276
277 define Build/InstallDev
278         $(INSTALL_DIR) $(1)/usr/include/asterisk-1.8/include/asterisk/
279         $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk/*.h $(1)/usr/include/asterisk-1.8/include/asterisk/
280         $(CP) $(PKG_INSTALL_DIR)/usr/include/asterisk.h $(1)/usr/include/asterisk-1.8/include/
281 endef
282
283 define Package/asterisk18/conffiles
284 /etc/asterisk/asterisk.conf
285 /etc/asterisk/modules.conf
286 /etc/asterisk/extensions.conf
287 /etc/asterisk/sip.conf
288 /etc/asterisk/sip_notify.conf
289 /etc/asterisk/features.conf
290 /etc/asterisk/indications.conf
291 /etc/asterisk/logger.conf
292 /etc/asterisk/manager.conf
293 /etc/asterisk/rtp.conf
294 /etc/default/asterisk
295 /etc/init.d/asterisk
296 endef
297
298 define Package/asterisk18/install
299         $(INSTALL_DIR) $(1)/etc/asterisk
300         for f in asterisk extensions features \
301                 indications logger manager modules \
302                 sip sip_notify rtp; do \
303                 $(CP) $(PKG_INSTALL_DIR)/etc/asterisk/$$$$f.conf $(1)/etc/asterisk/ ; \
304         done
305         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
306         for f in app_dial app_echo app_playback app_macro \
307                 chan_sip res_rtp_asterisk res_rtp_multicast \
308                 codec_ulaw codec_gsm \
309                 format_gsm format_pcm format_wav format_wav_gsm \
310                 pbx_config \
311                 func_strings func_timeout func_callerid func_logic; do \
312                 $(CP) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$$$$f.so $(1)/usr/lib/asterisk/modules/ ; \
313         done
314         $(INSTALL_DIR) $(1)/usr/sbin
315         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/asterisk $(1)/usr/sbin/
316         $(INSTALL_DIR) $(1)/etc/default
317         $(INSTALL_DATA)  ./files/asterisk.default $(1)/etc/default/asterisk
318         $(INSTALL_DIR) $(1)/etc/init.d
319         $(INSTALL_BIN)  ./files/asterisk.init $(1)/etc/init.d/asterisk
320 endef
321
322 define Package/asterisk18-sounds/install
323         $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
324         $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/* $(1)/usr/lib/asterisk/sounds/
325         rm -f $(1)/usr/lib/asterisk/sounds/vm-*
326         rm -f $(1)/usr/lib/asterisk/sounds/conf-*
327 endef
328
329
330 define Package/asterisk18-voicemail/conffiles
331 /etc/asterisk/voicemail.conf
332 endef
333
334 define Package/asterisk18-voicemail/install
335         $(INSTALL_DIR) $(1)/etc/asterisk
336         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/voicemail.conf $(1)/etc/asterisk/
337         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
338         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*voicemail.so $(1)/usr/lib/asterisk/modules/
339         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_adsi.so $(1)/usr/lib/asterisk/modules/
340         $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
341         $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/vm-*.gsm $(1)/usr/lib/asterisk/sounds/
342 endef
343
344 define Package/asterisk18-app-meetme/conffiles
345 /etc/asterisk/meetme.conf
346 endef
347
348 define Package/asterisk18-app-meetme/install
349         $(INSTALL_DIR) $(1)/etc/asterisk
350         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/meetme.conf $(1)/etc/asterisk/
351         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
352         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_meetme.so $(1)/usr/lib/asterisk/modules/
353         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_dahdi.so $(1)/usr/lib/asterisk/modules/
354         $(INSTALL_DIR) $(1)/usr/lib/asterisk/sounds/
355         $(CP) $(PKG_INSTALL_DIR)/var/lib/asterisk/sounds/en/conf-*.gsm $(1)/usr/lib/asterisk/sounds/
356 endef
357
358 define Package/asterisk18-chan-iax2/conffiles
359 /etc/asterisk/iax.conf
360 /etc/asterisk/iaxprov.conf
361 endef
362
363 define Package/asterisk18-cdr/conffiles
364 /etc/asterisk/cdr.conf
365 /etc/asterisk/cdr_custom.conf
366 /etc/asterisk/cdr_manager.conf
367 /etc/asterisk/cdr_odbc.conf
368 /etc/asterisk/cdr_pgsql.conf
369 /etc/asterisk/cdr_tds.conf
370 endef
371
372 define Package/asterisk18-res-musiconhold/conffiles
373 /etc/asterisk/musiconhold.conf
374 endef
375
376 define Package/asterisk18-chan-iax2/install
377         $(INSTALL_DIR) $(1)/etc/asterisk
378         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iax.conf $(1)/etc/asterisk/
379         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/iaxprov.conf $(1)/etc/asterisk/
380         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
381         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_iax2.so $(1)/usr/lib/asterisk/modules/
382 endef
383
384 define Package/asterisk18-cdr/install
385         $(INSTALL_DIR) $(1)/etc/asterisk
386         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr*.conf $(1)/etc/asterisk/
387         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
388         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/*cdr*.so $(1)/usr/lib/asterisk/modules/
389 endef
390
391 define Package/asterisk18-res-musiconhold/install
392         $(INSTALL_DIR) $(1)/etc/asterisk
393         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/musiconhold.conf $(1)/etc/asterisk/
394         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
395         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_musiconhold.so $(1)/usr/lib/asterisk/modules/
396 endef
397
398 define Package/asterisk18-chan-gtalk/conffiles
399 /etc/asterisk/gtalk.conf
400 /etc/asterisk/jabber.conf
401 endef
402
403 define Package/asterisk18-chan-gtalk/install
404         $(INSTALL_DIR) $(1)/etc/asterisk
405         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/gtalk.conf $(1)/etc/asterisk/
406         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/jabber.conf $(1)/etc/asterisk/
407         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
408         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_gtalk.so $(1)/usr/lib/asterisk/modules/
409         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_jabber.so $(1)/usr/lib/asterisk/modules/
410 endef
411
412 define Package/asterisk18-chan-mobile/conffiles
413 /etc/asterisk/chan_mobile.conf
414 endef
415
416 define Package/asterisk18-chan-mobile/install
417         $(INSTALL_DIR) $(1)/etc/asterisk
418         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/chan_mobile.conf $(1)/etc/asterisk/
419         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
420         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mobile.so $(1)/usr/lib/asterisk/modules/
421 endef
422
423 define Package/asterisk18-chan-mgcp/conffiles
424 /etc/asterisk/mgcp.conf
425 endef
426
427 define Package/asterisk18-chan-mgcp/install
428         $(INSTALL_DIR) $(1)/etc/asterisk
429         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/mgcp.conf $(1)/etc/asterisk/
430         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
431         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/chan_mgcp.so $(1)/usr/lib/asterisk/modules/
432 endef
433
434 define Package/asterisk18-curl/install
435         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
436         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/func_curl.so $(1)/usr/lib/asterisk/modules/
437         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_curl.so $(1)/usr/lib/asterisk/modules/
438 endef
439
440 define Package/asterisk18-mysql/conffiles
441 /etc/asterisk/app_mysql.conf
442 /etc/asterisk/res_config_mysql.conf
443 /etc/asterisk/cdr_mysql.conf
444 endef
445
446 define Package/asterisk18-mysql/install
447         $(INSTALL_DIR) $(1)/etc/asterisk
448         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/app_mysql.conf $(1)/etc/asterisk/
449         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/res_config_mysql.conf $(1)/etc/asterisk/
450         $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/asterisk/cdr_mysql.conf $(1)/etc/asterisk/
451         $(INSTALL_DIR) $(1)/usr/lib/asterisk/modules
452         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/app_mysql.so $(1)/usr/lib/asterisk/modules/
453         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/cdr_mysql.so $(1)/usr/lib/asterisk/modules/
454         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/res_config_mysql.so $(1)/usr/lib/asterisk/modules/
455 endef
456
457 define Buildasterisk18ModuleTemplate
458
459   define Package/asterisk18-$(subst _,-,$(1))
460   $$(call Package/asterisk18/Default)
461     TITLE:=$(2) support
462     DEPENDS:= +asterisk18
463   endef
464
465   define Package/asterisk18-$(subst _,-,$(1))/description
466   $$(call Package/asterisk18/Default/description)
467     This package provides support $(3) in Asterisk.
468   endef
469
470   define Package/asterisk18-$(subst _,-,$(1))/install
471         $(INSTALL_DIR) $$(1)/usr/lib/asterisk/modules
472         $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/lib/asterisk/modules/$(1).so $$(1)/usr/lib/asterisk/modules/
473   endef
474
475   $$(eval $$(call BuildPackage,asterisk18-$(subst _,-,$(1))))
476 endef
477
478 $(eval $(call BuildPackage,asterisk18))
479 $(eval $(call BuildPackage,asterisk18-voicemail))
480 $(eval $(call BuildPackage,asterisk18-sounds))
481 #$(eval $(call BuildPackage,asterisk18-app-meetme))
482 $(eval $(call BuildPackage,asterisk18-chan-iax2))
483 $(eval $(call BuildPackage,asterisk18-cdr))
484 $(eval $(call BuildPackage,asterisk18-res-musiconhold))
485 $(eval $(call BuildPackage,asterisk18-chan-gtalk))
486 $(eval $(call BuildPackage,asterisk18-chan-mobile))
487 $(eval $(call BuildPackage,asterisk18-chan-mgcp))
488 $(eval $(call BuildPackage,asterisk18-curl))
489 $(eval $(call BuildPackage,asterisk18-mysql))
490 $(eval $(call Buildasterisk18ModuleTemplate,app_authenticate,Authenticate,support for executing arbitrary authenticate commands))
491 $(eval $(call Buildasterisk18ModuleTemplate,app_chanisavail,Channel availability check,support for checking if a channel is available))
492 $(eval $(call Buildasterisk18ModuleTemplate,app_chanspy,Channel listen in,support for listening in on any channel))
493 $(eval $(call Buildasterisk18ModuleTemplate,app_directed_pickup,Directed call pickup,support for directed call pickup))
494 $(eval $(call Buildasterisk18ModuleTemplate,app_exec,Exec application,support for application execution))
495 $(eval $(call Buildasterisk18ModuleTemplate,app_minivm,Minimal voicemail system,a voicemail system in small building blocks working together based on the Comedian Mail voicemail system))
496 $(eval $(call Buildasterisk18ModuleTemplate,app_readexten,Extension to variable,a trivial application to read an extension into a variable))
497 $(eval $(call Buildasterisk18ModuleTemplate,app_read,Variable read,a trivial application to read a variable))
498 $(eval $(call Buildasterisk18ModuleTemplate,app_sayunixtime,Say Unix time,an application to say Unix time))
499 $(eval $(call Buildasterisk18ModuleTemplate,app_sms,SMS,SMS support (ETSI ES 201 912 protocol 1)))
500 $(eval $(call Buildasterisk18ModuleTemplate,app_stack,Stack applications, stack applications Gosub Return etc.))
501 $(eval $(call Buildasterisk18ModuleTemplate,app_system,System exec,support for executing system commands))
502 $(eval $(call Buildasterisk18ModuleTemplate,app_talkdetect,File playback with audio detect,for file playback with audio detect))
503 $(eval $(call Buildasterisk18ModuleTemplate,app_waituntil,Sleep,support sleeping until the given epoch))
504 $(eval $(call Buildasterisk18ModuleTemplate,app_while,While loop,a while loop implementation))
505 $(eval $(call Buildasterisk18ModuleTemplate,chan_agent,Agents proxy channel, an implementation of agents proxy channel))
506 $(eval $(call Buildasterisk18ModuleTemplate,chan_local,Local proxy channel, an implementation of local proxy channel))
507 $(eval $(call Buildasterisk18ModuleTemplate,codec_alaw,Signed linear to alaw translation,translation between signed linear and alaw codecs)) 
508 $(eval $(call Buildasterisk18ModuleTemplate,codec_ulaw,Signed linear to ulaw translation,translation between signed linear and ulaw codecs))
509 $(eval $(call Buildasterisk18ModuleTemplate,codec_a_mu,Alaw to ulaw translation,translation between alaw and ulaw codecs))
510 $(eval $(call Buildasterisk18ModuleTemplate,codec_g722,G.722,a high bit rate 48/56/64Kbps ITU standard codec)) 
511 $(eval $(call Buildasterisk18ModuleTemplate,codec_g726,Signed linear to G.726 translation,translation between signed linear and ITU G.726-32kbps codecs))
512 $(eval $(call Buildasterisk18ModuleTemplate,format_g726,G.726,support for headerless G.726 16/24/32/40kbps data format))
513 $(eval $(call Buildasterisk18ModuleTemplate,format_g729,G.729,support for raw headerless G729 data))
514 $(eval $(call Buildasterisk18ModuleTemplate,format_sln,Raw slinear format,support for raw slinear format))
515 $(eval $(call Buildasterisk18ModuleTemplate,format_sln16,Raw slinear 16 format,support for Raw slinear 16 format))
516 $(eval $(call Buildasterisk18ModuleTemplate,func_db,Database interaction,functions for interaction with the database))
517 $(eval $(call Buildasterisk18ModuleTemplate,func_devstate,Blinky lights control,functions for manually controlled blinky lights))
518 $(eval $(call Buildasterisk18ModuleTemplate,func_vmcount,vmcount dialplan,a vmcount dialplan function))
519 $(eval $(call Buildasterisk18ModuleTemplate,func_extstate,Hinted extension state,retrieving the state of a hinted extension for dialplan control))
520 $(eval $(call Buildasterisk18ModuleTemplate,func_global,Global variable,global variable dialplan functions))
521 $(eval $(call Buildasterisk18ModuleTemplate,func_shell,Shell,support for shell execution))
522 $(eval $(call Buildasterisk18ModuleTemplate,pbx_ael,Asterisk Extension Logic,support for symbolic Asterisk Extension Logic))
523 $(eval $(call Buildasterisk18ModuleTemplate,res_ael_share,Shareable AEL code,support for shareable AEL code mainly between internal and external modules))
524 $(eval $(call Buildasterisk18ModuleTemplate,pbx_spool,Call Spool,outgoing call spool support))
525 $(eval $(call Buildasterisk18ModuleTemplate,res_agi,Asterisk Gateway Interface,support for the Asterisk Gateway Interface extension))
526 $(eval $(call Buildasterisk18ModuleTemplate,app_alarmreceiver,Alarm receiver,Central Station Alarm receiver for Ademco Contact ID))
527 $(eval $(call Buildasterisk18ModuleTemplate,app_setcallerid,Set callerid,support for setting callerid))
528 $(eval $(call Buildasterisk18ModuleTemplate,app_verbose,Verbose logging,Verbose logging application))
529 $(eval $(call Buildasterisk18ModuleTemplate,func_channel,Channel info,Channel info dialplan function))
530 $(eval $(call Buildasterisk18ModuleTemplate,func_blacklist,Blacklist on callerid,looking up the callerid number, and see if it is blacklisted))
531 $(eval $(call Buildasterisk18ModuleTemplate,app_originate,Originate a call,originating an outbound call and connecting it to a specified extension or application))