aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormadpilot <madpilot@FreeBSD.org>2018-11-01 07:42:52 +0800
committermadpilot <madpilot@FreeBSD.org>2018-11-01 07:42:52 +0800
commit76d1e7a8e69a5a47116eed5668ee44bd95f5023f (patch)
tree413da38807a95d0404b44f2e81ccd45e61991b58 /net
parentd17b7e72764690af054f09f9b71bb39cbefe318a (diff)
downloadfreebsd-ports-gnome-76d1e7a8e69a5a47116eed5668ee44bd95f5023f.tar.gz
freebsd-ports-gnome-76d1e7a8e69a5a47116eed5668ee44bd95f5023f.tar.zst
freebsd-ports-gnome-76d1e7a8e69a5a47116eed5668ee44bd95f5023f.zip
- Add asterisk 16.0.0 to ports
- Update g72x module to 1.4.3, which add support for asterisk 16 - Add asterisk16 flavor and conflicts to asterisk modules ports which support it - Add conflicts to other asterisk versions ports - Add deprecation notice to asterisk15 which will reach EOL on 2019-10-03 - Fix wording on SOUNDS option description - Remove old MOVED line for asterisk16 which was for the long removed asterisk 1.6 version Approved by: portmgr (flavors already approved in the past)
Diffstat (limited to 'net')
-rw-r--r--net/Makefile1
-rw-r--r--net/asterisk-g72x/Makefile15
-rw-r--r--net/asterisk-g72x/distinfo6
-rw-r--r--net/asterisk13/Makefile4
-rw-r--r--net/asterisk15/Makefile7
-rw-r--r--net/asterisk16/Makefile301
-rw-r--r--net/asterisk16/distinfo7
-rw-r--r--net/asterisk16/files/asterisk.in81
-rw-r--r--net/asterisk16/files/patch-Makefile122
-rw-r--r--net/asterisk16/files/patch-agi__Makefile13
-rw-r--r--net/asterisk16/files/patch-channels-chan_dahdi.c33
-rw-r--r--net/asterisk16/files/patch-channels__sip__include__sip.h11
-rw-r--r--net/asterisk16/files/patch-configure78
-rw-r--r--net/asterisk16/files/patch-contrib_Makefile15
-rw-r--r--net/asterisk16/files/patch-main__Makefile16
-rw-r--r--net/asterisk16/files/patch-main__asterisk.exports.in11
-rw-r--r--net/asterisk16/files/patch-main__http.c11
-rw-r--r--net/asterisk16/files/patch-main__lock.c12
-rw-r--r--net/asterisk16/files/patch-res_res__pjsip_pjsip__cli.c11
-rw-r--r--net/asterisk16/pkg-descr5
-rw-r--r--net/asterisk16/pkg-message36
-rw-r--r--net/asterisk16/pkg-plist412
22 files changed, 1196 insertions, 12 deletions
diff --git a/net/Makefile b/net/Makefile
index eed6a78a773f..4841dfc687b8 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -34,6 +34,7 @@
SUBDIR += asterisk-g72x
SUBDIR += asterisk13
SUBDIR += asterisk15
+ SUBDIR += asterisk16
SUBDIR += avahi
SUBDIR += avahi-app
SUBDIR += avahi-autoipd
diff --git a/net/asterisk-g72x/Makefile b/net/asterisk-g72x/Makefile
index 47e4d9360576..6d538fc2da0c 100644
--- a/net/asterisk-g72x/Makefile
+++ b/net/asterisk-g72x/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= g72x
-PORTVERSION= 1.4.2
-PORTREVISION= 1
+PORTVERSION= 1.4.3
CATEGORIES= net
MASTER_SITES= http://asterisk.hosting.lv/src/
DISTNAME= asterisk-${PORTNAME}-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}
@@ -12,21 +11,27 @@ COMMENT= G.729 codec for Asterisk PBX
LIB_DEPENDS= libbcg729.so:audio/bcg729
-FLAVORS= asterisk13 asterisk15
+FLAVORS= asterisk13 asterisk15 asterisk16
FLAVOR?= ${FLAVORS[1]}
asterisk13_PKGNAMEPREFIX= asterisk13-
-asterisk13_CONFLICTS_INSTALL= asterisk15-g72x
+asterisk13_CONFLICTS_INSTALL= asterisk15-g72x asterisk16-g72x
asterisk13_BUILD_DEPENDS= asterisk:net/asterisk13
asterisk13_RUN_DEPENDS= asterisk:net/asterisk13
asterisk15_CONFIGURE_ARGS= --with-asterisk130
asterisk15_PKGNAMEPREFIX= asterisk15-
-asterisk15_CONFLICTS_INSTALL= asterisk13-g72x
+asterisk15_CONFLICTS_INSTALL= asterisk13-g72x asterisk16-g72x
asterisk15_BUILD_DEPENDS= asterisk:net/asterisk15
asterisk15_RUN_DEPENDS= asterisk:net/asterisk15
asterisk15_CONFIGURE_ARGS= --with-asterisk150
+asterisk16_PKGNAMEPREFIX= asterisk16-
+asterisk16_CONFLICTS_INSTALL= asterisk13-g72x asterisk15-g72x
+asterisk16_BUILD_DEPENDS= asterisk:net/asterisk16
+asterisk16_RUN_DEPENDS= asterisk:net/asterisk16
+asterisk16_CONFIGURE_ARGS= --with-asterisk160
+
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --with-bcg729
USES= autoreconf compiler libtool localbase tar:bzip2
diff --git a/net/asterisk-g72x/distinfo b/net/asterisk-g72x/distinfo
index a19bf0f9f41e..fbe6aa7f2e35 100644
--- a/net/asterisk-g72x/distinfo
+++ b/net/asterisk-g72x/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1521966069
-SHA256 (asterisk-g72x-1.4.2.tar.bz2) = 0c6cb1a61d408c882ce3fe10db4d467407ce3863f672a91aa7d3aea082a23fbc
-SIZE (asterisk-g72x-1.4.2.tar.bz2) = 125789
+TIMESTAMP = 1539248414
+SHA256 (asterisk-g72x-1.4.3.tar.bz2) = ffea55374c2134415569b876a68d9a12ce376146a22fad3963c8edc281052adf
+SIZE (asterisk-g72x-1.4.3.tar.bz2) = 126220
diff --git a/net/asterisk13/Makefile b/net/asterisk13/Makefile
index 1892e1941b58..4782bdc1ebed 100644
--- a/net/asterisk13/Makefile
+++ b/net/asterisk13/Makefile
@@ -54,7 +54,7 @@ MAKE_ARGS+= NOISY_BUILD=yes \
CONFLICTS= ossp-uuid-[0-9]*
CONFLICTS_BUILD= linuxthreads-*
-CONFLICTS_INSTALL= asterisk15
+CONFLICTS_INSTALL= asterisk15 asterisk16
OPTIONS_DEFINE= ASTVERSION BACKTRACE CURL EXCHANGE FREETDS LDAP LUA \
MP3PLAYER OOH323 OPTIMIZED_CFLAGS PJSIP PORTAUDIO RADIUS SNMP \
@@ -92,7 +92,7 @@ NEWT_DESC= Newt User Interface
OPTIONS_GROUP+= SOUNDS
OPTIONS_GROUP_SOUNDS= G729 JAPANESE
-SOUNDS_DESC= Core and/or Music-on-Hold (MoH) Sound Files
+SOUNDS_DESC= Core and Music-on-Hold (MoH) Sound Files
G729_DESC= Install G.729 format sounds
JAPANESE_DESC= Install Japanese voice prompts
ASTERISK_CORE_G729_SOUNDS= asterisk-core-sounds-en-g729-1.5.tar.gz
diff --git a/net/asterisk15/Makefile b/net/asterisk15/Makefile
index 44aa96ffd75d..88e1b3ea188a 100644
--- a/net/asterisk15/Makefile
+++ b/net/asterisk15/Makefile
@@ -16,6 +16,9 @@ COMMENT= Open Source PBX and telephony toolkit
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/LICENSE
+DEPRECATED= Asterisk 15.x will reach EOL on 2019-10-03. Please migrate to net/asterisk16
+EXPIRATION_DATE=2019-10-03
+
LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \
libjansson.so:devel/jansson
@@ -55,7 +58,7 @@ MAKE_ARGS+= NOISY_BUILD=yes \
CONFLICTS= ossp-uuid-[0-9]*
CONFLICTS_BUILD= linuxthreads-*
-CONFLICTS_INSTALL= asterisk13
+CONFLICTS_INSTALL= asterisk13 asterisk16
OPTIONS_DEFINE= ASTVERSION BACKTRACE CURL EXCHANGE FREETDS LDAP LUA \
MP3PLAYER OOH323 OPTIMIZED_CFLAGS PJSIP PORTAUDIO RADIUS SNMP \
@@ -93,7 +96,7 @@ NEWT_DESC= Newt User Interface
OPTIONS_GROUP+= SOUNDS
OPTIONS_GROUP_SOUNDS= G729 JAPANESE
-SOUNDS_DESC= Core and/or Music-on-Hold (MoH) Sound Files
+SOUNDS_DESC= Core and Music-on-Hold (MoH) Sound Files
G729_DESC= Install G.729 format sounds
JAPANESE_DESC= Install Japanese voice prompts
ASTERISK_CORE_G729_SOUNDS= asterisk-core-sounds-en-g729-1.5.tar.gz
diff --git a/net/asterisk16/Makefile b/net/asterisk16/Makefile
new file mode 100644
index 000000000000..ee90aba26f94
--- /dev/null
+++ b/net/asterisk16/Makefile
@@ -0,0 +1,301 @@
+# $FreeBSD$
+
+PORTNAME= asterisk
+PORTVERSION= 16.0.0
+CATEGORIES= net
+MASTER_SITES= https://downloads.asterisk.org/pub/telephony/%SUBDIR%/:DEFAULT,g729
+MASTER_SITE_SUBDIR= asterisk/ \
+ asterisk/old-releases/ \
+ sounds/releases/:g729
+PKGNAMESUFFIX= 16
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
+
+MAINTAINER= madpilot@FreeBSD.org
+COMMENT= Open Source PBX and telephony toolkit
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+LIB_DEPENDS= libuuid.so:misc/e2fsprogs-libuuid \
+ libjansson.so:devel/jansson
+
+ONLY_FOR_ARCHS= amd64 armv6 armv7 i386 powerpc sparc64
+
+EXTRACT_ONLY:= ${DISTNAME}${EXTRACT_SUFX}
+
+USES= bison cpe gmake iconv libedit localbase \
+ shebangfix sqlite ssl ncurses
+USE_CSTD= gnu89
+USE_GNOME= libxml2
+USE_LDCONFIG= yes
+USE_RC_SUBR= asterisk
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --datarootdir=${DATADIR} \
+ --with-ilbc=internal \
+ --with-crypto=${OPENSSLBASE} \
+ --with-pjproject-bundled=no \
+ --with-ssl=${OPENSSLBASE}
+
+CPE_VENDOR= digium
+
+SHEBANG_FILES= agi/agi-test.agi \
+ agi/jukebox.agi \
+ contrib/scripts/astversion
+
+MAKE_ENV= PTHREAD_LIBS="-lpthread" \
+ MKDIR="${MKDIR}" \
+ PWLIBDIR=${LOCALBASE}/share/pwlib \
+ OSVERSION=${OSVERSION} \
+ DOCSDIR=${DOCSDIR} \
+ ASTCFLAGS="${CFLAGS}" \
+ ASTLDFLAGS="${LDFLAGS}"
+MAKE_ARGS+= NOISY_BUILD=yes \
+ ASTDATADIR=${DATADIR}
+
+CONFLICTS= ossp-uuid-[0-9]*
+CONFLICTS_BUILD= linuxthreads-*
+CONFLICTS_INSTALL= asterisk13 asterisk15
+
+OPTIONS_DEFINE= ASTVERSION BACKTRACE CURL EXCHANGE FREETDS LDAP LUA \
+ MP3PLAYER OOH323 OPTIMIZED_CFLAGS PJSIP PORTAUDIO RADIUS SNMP \
+ SPANDSP SRTP SYSINFO XMPP
+OPTIONS_DEFAULT= CURL FREETDS GSM LUA MP3PLAYER NEWT ODBC MYSQL PGSQL PJSIP \
+ PORTAUDIO RADIUS SNMP SPANDSP SPEEX SQLITE2 SRTP VORBIS
+
+OPTIONS_DEFINE_i386= DAHDI
+OPTIONS_DEFINE_amd64= DAHDI
+OPTIONS_DEFINE_sparc64= DAHDI
+
+OPTIONS_DEFAULT_i386= DAHDI BASE XMPP
+OPTIONS_DEFAULT_amd64= DAHDI BASE XMPP
+OPTIONS_DEFAULT_sparc64= DAHDI GCC XMPP
+OPTIONS_DEFAULT_powerpc= GCC XMPP
+OPTIONS_DEFAULT_armv6= BASE
+OPTIONS_DEFAULT_armv7= BASE
+
+OPTIONS_GROUP= CODECS
+OPTIONS_GROUP_CODECS= GSM NEWG711 SPEEX VORBIS
+CODECS_DESC= Encoder/Decoder (Codec) Support
+
+OPTIONS_SINGLE= COMPILER
+OPTIONS_SINGLE_COMPILER= BASE GCC
+COMPILER_DESC= Compiler to use
+
+OPTIONS_GROUP+= DATABASE
+OPTIONS_GROUP_DATABASE= MYSQL ODBC PGSQL SQLITE2
+DATABASE_DESC= Database Support
+
+OPTIONS_MULTI= MENU
+OPTIONS_MULTI_MENU= NCURSES NEWT
+MENU_DESC= Menuselect Interface Backend
+NEWT_DESC= Newt User Interface
+
+OPTIONS_GROUP+= SOUNDS
+OPTIONS_GROUP_SOUNDS= G729 JAPANESE
+SOUNDS_DESC= Core and Music-on-Hold (MoH) Sound Files
+G729_DESC= Install G.729 format sounds
+JAPANESE_DESC= Install Japanese voice prompts
+ASTERISK_CORE_G729_SOUNDS= asterisk-core-sounds-en-g729-1.5.tar.gz
+ASTERISK_MOH_G729_SOUNDS= asterisk-moh-opsound-g729-2.03.tar.gz
+G729_DISTFILES= ${ASTERISK_CORE_G729_SOUNDS}:g729 \
+ ${ASTERISK_MOH_G729_SOUNDS}:g729
+
+ASTVERSION_DESC?= Install astversion (requires bash)
+BACKTRACE_DESC?= Stack backtrace support via (lib)execinfo
+BASE_DESC= Use base compiler
+DAHDI_DESC?= DAHDI support
+EXCHANGE_DESC?= Exchange calendar support
+MP3PLAYER_DESC= Install MP3 Player for Music-On-Hold (mpg123)
+NEWG711_DESC?= New G711 Codec
+OOH323_DESC?= ooh323 support
+PJSIP_DESC?= Build the PJSIP based SIP channel
+SRTP_DESC?= SecureRTP support
+SYSINFO_DESC?= Use devel/libsysinfo to get system information
+XMPP_DESC?= XMPP/GTALK support
+
+OPTIONS_SUB= yes
+
+ASTVERSION_RUN_DEPENDS= bash:shells/bash
+
+BACKTRACE_CONFIGURE_WITH= execinfo
+
+CURL_CONFIGURE_ON= --with-libcurl
+CURL_CONFIGURE_OFF= --with-libcurl=no
+CURL_LIB_DEPENDS= libcurl.so:ftp/curl
+
+DAHDI_CONFIGURE_ON= --with-dahdi --with-openr2
+DAHDI_CONFIGURE_OFF= --without-dahdi --without-openr2
+DAHDI_LIB_DEPENDS= libpri.so:misc/libpri \
+ libopenr2.so:misc/openr2 \
+ libtonezone.so:misc/dahdi
+
+EXCHANGE_CONFIGURE_OFF= --without-neon --without-neon29
+EXCHANGE_LIB_DEPENDS= libneon.so:www/neon \
+ libexpat.so:textproc/expat2
+EXCHANGE_USES= gettext-runtime
+
+FREETDS_CONFIGURE_ON= --with-tds=${LOCALBASE}
+FREETDS_CONFIGURE_OFF= --without-tds
+FREETDS_LIB_DEPENDS= libsybdb.so:databases/freetds
+
+GCC_USE= GCC=yes
+
+GSM_CONFIGURE_WITH= gsm
+GSM_LIB_DEPENDS= libgsm.so:audio/gsm
+
+JAPANESE_RUN_DEPENDS= ${LOCALBASE}/share/asterisk/sounds/ja/digits/0.gsm:japanese/asterisk-sounds
+
+LDAP_CONFIGURE_WITH= ldap
+LDAP_USE= OPENLDAP=yes
+
+LUA_CONFIGURE_WITH= lua
+LUA_USES= lua
+LUA_CFLAGS= -I${LUA_INCDIR}
+LUA_LDFLAGS= -L${LUA_LIBDIR}
+
+MYSQL_CONFIGURE_WITH= mysqlclient
+MYSQL_USES= mysql
+
+MP3PLAYER_RUN_DEPENDS= mpg123:audio/mpg123
+
+NCURSES_USES= ncurses
+NEWT_LIB_DEPENDS= libnewt.so:devel/newt
+
+ODBC_CONFIGURE_WITH= unixodbc
+ODBC_CONFIGURE_ON= --with-ltdl
+ODBC_LIB_DEPENDS= libodbc.so:databases/unixODBC \
+ libltdl.so:devel/libltdl
+
+PGSQL_CONFIGURE_WITH= postgres
+PGSQL_USES= pgsql
+
+PJSIP_CONFIGURE_WITH= pjproject
+PJSIP_USES= pkgconfig
+PJSIP_LIB_DEPENDS= libspeex.so:audio/speex \
+ libspeexdsp.so:audio/speexdsp
+
+PORTAUDIO_CONFIGURE_WITH= portaudio
+PORTAUDIO_LIB_DEPENDS= libportaudio.so:audio/portaudio
+
+RADIUS_CONFIGURE_WITH= radius
+RADIUS_LIB_DEPENDS= libradiusclient-ng.so:net/radiusclient
+
+SNMP_CONFIGURE_WITH= netsnmp
+SNMP_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp \
+ libpkg.so:ports-mgmt/pkg
+
+SPANDSP_CONFIGURE_WITH= spandsp
+SPANDSP_LIB_DEPENDS= libspandsp.so:comms/spandsp \
+ libtiff.so:graphics/tiff
+
+SPEEX_CONFIGURE_WITH= speex
+SPEEX_LIB_DEPENDS= libspeex.so:audio/speex \
+ libspeexdsp.so:audio/speexdsp
+
+SQLITE2_CONFIGURE_WITH= sqlite
+SQLITE2_LIB_DEPENDS= libsqlite.so:databases/sqlite2
+
+SRTP_CONFIGURE_WITH= srtp
+SRTP_LIB_DEPENDS= libsrtp2.so:net/libsrtp2
+
+SYSINFO_LIB_DEPENDS= libsysinfo.so:devel/libsysinfo
+
+VORBIS_CONFIGURE_WITH= ogg
+VORBIS_LIB_DEPENDS= libvorbis.so:audio/libvorbis \
+ libogg.so:audio/libogg
+
+XMPP_CONFIGURE_WITH= iksemel
+XMPP_LIB_DEPENDS= libiksemel.so:textproc/iksemel
+
+ASTERISK_USER?= asterisk
+ASTERISK_GROUP?= asterisk
+
+USERS= ${ASTERISK_USER}
+GROUPS= ${ASTERISK_GROUP} dahdi
+
+.include <bsd.port.options.mk>
+
+.if ${PORT_OPTIONS:MPJSIP} && ${PORT_OPTIONS:MSRTP}
+LIB_DEPENDS+= libpj.so:net/pjsip-extsrtp
+.elif ${PORT_OPTIONS:MPJSIP} && ! ${PORT_OPTIONS:MSRTP}
+LIB_DEPENDS+= libpj.so:net/pjsip
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if empty(ICONV_LIB)
+CONFIGURE_ARGS+=ac_cv_lib_iconv_iconv_open=no \
+ ac_cv_lib_iconv_libiconv_open=no
+.endif
+
+.if ${PREFIX} == ${LOCALBASE}
+VARDIR=/var
+.else
+VARDIR=${PREFIX}/var
+.endif
+
+SUB_LIST+= ASTERISK_USER=${ASTERISK_USER}
+PLIST_SUB+= ASTERISK_USER=${ASTERISK_USER} \
+ ASTERISK_GROUP=${ASTERISK_GROUP} \
+ VARDIR=${VARDIR}
+
+post-extract:
+ @${FIND} ${WRKSRC} -name '*.d' -delete
+
+post-extract-G729-on:
+ ${CP} ${DISTDIR}/${ASTERISK_CORE_G729_SOUNDS} ${WRKSRC}/sounds
+ ${CP} ${DISTDIR}/${ASTERISK_MOH_G729_SOUNDS} ${WRKSRC}/sounds
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|/var/lib|${PREFIX}/share|g' ${WRKSRC}/configs/samples/musiconhold.conf.sample
+.if exists(${FILESDIR}/.asterisk.makeopts)
+ ${CP} ${FILESDIR}/.asterisk.makeopts ${WRKSRC}/menuselect.makeopts
+.endif
+
+post-patch-SYSINFO-on:
+ @${REINPLACE_CMD} -e 's/%%LIBSYSINFO%%/-lsysinfo/' ${WRKSRC}/main/Makefile
+
+post-patch-SYSINFO-off:
+ @${REINPLACE_CMD} -e '/#define HAVE_SYSINFO 1/d' ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e '/%%LIBSYSINFO%%/d' ${WRKSRC}/main/Makefile
+
+post-configure:
+ @cd ${WRKSRC} && ${MAKE_CMD} menuselect.makeopts
+ @cd ${WRKSRC} && ./menuselect/menuselect --disable res_timing_kqueue menuselect.makeopts
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable chan_mgcp menuselect.makeopts
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable res_pktccops menuselect.makeopts
+
+post-configure-MYSQL-on:
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable res_config_mysql menuselect.makeopts
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable app_mysql menuselect.makeopts
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable cdr_mysql menuselect.makeopts
+
+post-configure-OOH323-on:
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable chan_ooh323 menuselect.makeopts
+
+post-configure-NEWG711-on:
+ @cd ${WRKSRC} && ./menuselect/menuselect --enable G711_NEW_ALGORITHM menuselect.makeopts
+
+post-configure-OPTIMIZED_CFLAGS-off:
+ @cd ${WRKSRC} && ./menuselect/menuselect --disable BUILD_NATIVE menuselect.makeopts
+
+post-install:
+ @${RM} ${STAGEDIR}${ETCDIR}/*.conf ${STAGEDIR}${ETCDIR}/extensions.ael ${STAGEDIR}${ETCDIR}/extensions.lua
+ @${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/ast[a-f]* ${STAGEDIR}${PREFIX}/lib/*.so.* ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/modules/*.so ${STAGEDIR}${DATADIR}/agi-bin/eagi-*
+ ${FIND} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/modules -type f -name '*.so' | ${SED} "s,^${STAGEDIR}${PREFIX}/,," >> ${TMPPLIST}
+ ${FIND} ${STAGEDIR}${DATADIR}/sounds -type f | ${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST}
+ ${FIND} ${STAGEDIR}${DATADIR}/moh -type f | ${SED} "s,^${STAGEDIR}${DATADIR},${DATADIR}," >> ${TMPPLIST}
+
+ (cd ${STAGEDIR} && \
+ ${ECHO} "@owner ${ASTERISK_USER}" >> ${TMPPLIST} && \
+ ${ECHO} "@group ${ASTERISK_GROUP}" >> ${TMPPLIST} && \
+ ${FIND} var/spool/${PORTNAME}/voicemail/default -type f | ${SED} "s,^,/," >> ${TMPPLIST} && \
+ ${FIND} var/spool/${PORTNAME}/voicemail/ -type d | ${SED} "s,^,@dir /," >> ${TMPPLIST} && \
+ ${ECHO} "@owner" >> ${TMPPLIST} && \
+ ${ECHO} "@group" >> ${TMPPLIST});
+
+post-install-ASTVERSION-off:
+ @${RM} ${STAGEDIR}${PREFIX}/sbin/astversion
+
+.include <bsd.port.post.mk>
diff --git a/net/asterisk16/distinfo b/net/asterisk16/distinfo
new file mode 100644
index 000000000000..89824c8bcd47
--- /dev/null
+++ b/net/asterisk16/distinfo
@@ -0,0 +1,7 @@
+TIMESTAMP = 1539154646
+SHA256 (asterisk-16.0.0.tar.gz) = 49fae7b140ef579c5a31eb77ef4e433e3a28d9db6cae1c16fe05fdf41e4b263d
+SIZE (asterisk-16.0.0.tar.gz) = 27713317
+SHA256 (asterisk-core-sounds-en-g729-1.5.tar.gz) = 8b28a59cfa53b59c76e0a191704f0708e3d83acffab8c5e6f25dfc599f0123f9
+SIZE (asterisk-core-sounds-en-g729-1.5.tar.gz) = 1551123
+SHA256 (asterisk-moh-opsound-g729-2.03.tar.gz) = 0147ca9a97f0c550227aacb7793499057c4d2c64e021c95f93722f27d5549585
+SIZE (asterisk-moh-opsound-g729-2.03.tar.gz) = 1103000
diff --git a/net/asterisk16/files/asterisk.in b/net/asterisk16/files/asterisk.in
new file mode 100644
index 000000000000..87127d3e9b32
--- /dev/null
+++ b/net/asterisk16/files/asterisk.in
@@ -0,0 +1,81 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: asterisk
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add the following lines to /etc/rc.conf to enable asterisk:
+#
+# asterisk_enable (bool): Set it to "YES" to enable asterisk
+# Default is "NO"
+# asterisk_user (string): User asterisk runs as
+# Default is %%ASTERISK_USER%%
+# asterisk_args (string): Extra argumeents to pass to asterisk at startup
+# Default is "-n"
+# asterisk_pidfile (string): Location of the asterisk pid file
+# Default is /var/run/asterisk/asterisk.pid
+# asterisk_stopsleep (int): Number of seconds to sleep before sending stop command
+# Default is 0, which disables it
+#
+
+. /etc/rc.subr
+
+name=asterisk
+rcvar=asterisk_enable
+desc="Asterisk PBX server"
+
+load_rc_config $name
+
+: ${asterisk_enable:=NO}
+: ${asterisk_user:=%%ASTERISK_USER%%}
+: ${asterisk_args=-n}
+: ${asterisk_pidfile:=/var/run/asterisk/asterisk.pid}
+: ${asterisk_stopsleep:=0}
+
+extra_commands=reload
+
+start_precmd=asterisk_precmd
+stop_cmd=asterisk_stop
+reload_cmd=asterisk_reload
+
+command="%%PREFIX%%/sbin/asterisk"
+command_args="${asterisk_args} -F -U ${asterisk_user}"
+pidfile=${asterisk_pidfile}
+
+asterisk_precmd()
+{
+ local rundir=${asterisk_pidfile%/*}
+ if [ ! -d $rundir ] ; then
+ install -d -m 0755 -o asterisk -g asterisk $rundir
+ fi
+}
+
+asterisk_stop()
+{
+ if [ -z "$rc_pid" ]; then
+ [ -n "$rc_fast" ] && return 0
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Stopping asterisk.'
+ if [ ${asterisk_stopsleep} -gt 0 ]; then
+ sleep ${asterisk_stopsleep}
+ fi
+ $command -nqrx 'core stop now'
+ wait_for_pids $rc_pid
+}
+
+asterisk_reload()
+{
+ if [ -z "$rc_pid" ]; then
+ _run_rc_notrunning
+ return 1
+ fi
+ echo 'Reloading asterisk.'
+ $command -nqrx 'reload'
+}
+
+run_rc_command "$1"
diff --git a/net/asterisk16/files/patch-Makefile b/net/asterisk16/files/patch-Makefile
new file mode 100644
index 000000000000..e6a1050cfc17
--- /dev/null
+++ b/net/asterisk16/files/patch-Makefile
@@ -0,0 +1,122 @@
+--- Makefile.orig 2018-08-08 16:02:31 UTC
++++ Makefile
+@@ -138,7 +138,7 @@ ASTTOPDIR:=$(subst $(space),\$(space),$(CURDIR))
+ OVERWRITE=y
+
+ # Include debug and macro symbols in the executables (-g) and profiling info (-pg)
+-DEBUG=-g3
++#DEBUG=-g3
+
+ # Asterisk.conf is located in ASTETCDIR or by using the -C flag
+ # when starting Asterisk
+@@ -162,7 +162,7 @@ LINKER_SYMBOL_PREFIX=
+ #_ASTCFLAGS+=-DOLD_DSP_ROUTINES
+
+ # Default install directory for DAHDI hooks.
+-DAHDI_UDEV_HOOK_DIR = /usr/share/dahdi/span_config.d
++#DAHDI_UDEV_HOOK_DIR = /usr/share/dahdi/span_config.d
+
+ # If the file .asterisk.makeopts is present in your home directory, you can
+ # include all of your favorite menuselect options so that every time you download
+@@ -222,7 +222,7 @@ endif
+
+ ifeq ($(OSARCH),FreeBSD)
+ # -V is understood by BSD Make, not by GNU make.
+- BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
++ BSDVERSION=$(OSVERSION)
+ _ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
+ endif
+
+@@ -462,8 +462,12 @@ endif
+ $(INSTALL) -m 644 $$n "$(DESTDIR)$(ASTDATADIR)/static-http/docs" ; \
+ done \
+ fi
++ if [ ! -d $(DESTDIR)$(DOCSDIR)/images ]; then \
++ $(MKDIR) $(DESTDIR)$(DOCSDIR)/images; \
++ fi
++
+ for x in images/*.jpg; do \
+- $(INSTALL) -m 644 $$x "$(DESTDIR)$(ASTDATADIR)/images" ; \
++ $(INSTALL) -m 644 $$x "$(DESTDIR)$(DOCSDIR)/images" ; \
+ done
+ $(MAKE) -C sounds install
+ find rest-api -name "*.json" | while read x; do \
+@@ -562,7 +566,7 @@ INSTALLDIRS="$(ASTLIBDIR)" "$(ASTMODDIR)" "$(ASTSBINDI
+ "$(ASTDATADIR)/firmware/iax" "$(ASTDATADIR)/images" "$(ASTDATADIR)/keys" \
+ "$(ASTDATADIR)/phoneprov" "$(ASTDATADIR)/rest-api" "$(ASTDATADIR)/static-http" \
+ "$(ASTDATADIR)/sounds" "$(ASTDATADIR)/moh" "$(ASTMANDIR)/man8" "$(AGI_DIR)" "$(ASTDBDIR)" \
+- "$(ASTDATADIR)/third-party"
++ "$(ASTDATADIR)/third-party" "$(ASTSPOOLDIR)/outgoing"
+
+ installdirs:
+ @for i in $(INSTALLDIRS); do \
+@@ -601,10 +605,10 @@ endif
+ if [ -f contrib/firmware/iax/iaxy.bin ] ; then \
+ $(INSTALL) -m 644 contrib/firmware/iax/iaxy.bin "$(DESTDIR)$(ASTDATADIR)/firmware/iax/iaxy.bin"; \
+ fi
+-ifeq ($(HAVE_DAHDI),1)
+- $(INSTALL) -d $(DESTDIR)/$(DAHDI_UDEV_HOOK_DIR)
+- $(INSTALL) -m 644 contrib/scripts/dahdi_span_config_hook $(DESTDIR)$(DAHDI_UDEV_HOOK_DIR)/40-asterisk
+-endif
++#ifeq ($(HAVE_DAHDI),1)
++# $(INSTALL) -d $(DESTDIR)/$(DAHDI_UDEV_HOOK_DIR)
++# $(INSTALL) -m 644 contrib/scripts/dahdi_span_config_hook $(DESTDIR)$(DAHDI_UDEV_HOOK_DIR)/40-asterisk
++#endif
+
+ $(SUBDIRS_INSTALL):
+ +@DESTDIR="$(DESTDIR)" ASTSBINDIR="$(ASTSBINDIR)" ASTDATADIR="$(ASTDATADIR)" $(SUBMAKE) -C $(@:-install=) install
+@@ -719,7 +723,7 @@ ifneq ($(filter ~%,$(DESTDIR)),)
+ @exit 1
+ endif
+
+-install: badshell bininstall datafiles
++install: badshell bininstall datafiles samples
+ @if [ -x /usr/sbin/asterisk-post-install ]; then \
+ /usr/sbin/asterisk-post-install "$(DESTDIR)" . ; \
+ fi
+@@ -764,23 +768,10 @@ upgrade: bininstall
+ # (2) the extension to strip off
+ define INSTALL_CONFIGS
+ @for x in configs/$(1)/*$(2); do \
+- dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x $(2)`"; \
+- if [ -f "$${dst}" ]; then \
+- if [ "$(OVERWRITE)" = "y" ]; then \
+- if cmp -s "$${dst}" "$$x" ; then \
+- echo "Config file $$x is unchanged"; \
+- continue; \
+- fi ; \
+- mv -f "$${dst}" "$${dst}.old" ; \
+- else \
+- echo "Skipping config file $$x"; \
+- continue; \
+- fi ;\
+- fi ; \
+ echo "Installing file $$x"; \
+- $(INSTALL) -m 644 "$$x" "$${dst}" ;\
++ $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x .sample`.sample ; \
+ done ; \
+- if [ "$(OVERWRITE)" = "y" ]; then \
++ if true; then \
+ echo "Updating asterisk.conf" ; \
+ sed -e 's|^astetcdir.*$$|astetcdir => $(ASTETCDIR)|' \
+ -e 's|^astmoddir.*$$|astmoddir => $(ASTMODDIR)|' \
+@@ -793,8 +784,8 @@ define INSTALL_CONFIGS
+ -e 's|^astrundir.*$$|astrundir => $(ASTVARRUNDIR)|' \
+ -e 's|^astlogdir.*$$|astlogdir => $(ASTLOGDIR)|' \
+ -e 's|^astsbindir.*$$|astsbindir => $(ASTSBINDIR)|' \
+- "$(DESTDIR)$(ASTCONFPATH)" > "$(DESTDIR)$(ASTCONFPATH).tmp" ; \
+- $(INSTALL) -m 644 "$(DESTDIR)$(ASTCONFPATH).tmp" "$(DESTDIR)$(ASTCONFPATH)" ; \
++ "$(DESTDIR)$(ASTCONFPATH).sample" > "$(DESTDIR)$(ASTCONFPATH).tmp" ; \
++ $(INSTALL) -m 644 "$(DESTDIR)$(ASTCONFPATH).tmp" "$(DESTDIR)$(ASTCONFPATH).sample" ; \
+ rm -f "$(DESTDIR)$(ASTCONFPATH).tmp" ; \
+ fi
+ endef
+@@ -810,7 +801,7 @@ adsi:
+ else \
+ echo "Installing $$x" ; \
+ fi ; \
+- $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \
++ $(INSTALL) -m 644 $$x $(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`.sample ; \
+ done
+
+ samples: adsi
diff --git a/net/asterisk16/files/patch-agi__Makefile b/net/asterisk16/files/patch-agi__Makefile
new file mode 100644
index 000000000000..59d928b697b3
--- /dev/null
+++ b/net/asterisk16/files/patch-agi__Makefile
@@ -0,0 +1,13 @@
+--- agi/Makefile.orig 2012-10-14 21:56:13 UTC
++++ agi/Makefile
+@@ -16,7 +16,9 @@ ASTTOPDIR?=..
+
+ .PHONY: clean all uninstall
+
+-AGIS=$(MENUSELECT_AGIS)
++AGIS_BIN=eagi-test eagi-sphinx-test
++AGIS_SCR=agi-test.agi jukebox.agi
++AGIS=$(AGIS_SCR) $(AGIS_BIN)
+
+ ifeq ($(OSARCH),SunOS)
+ LIBS+=-lsocket -lnsl
diff --git a/net/asterisk16/files/patch-channels-chan_dahdi.c b/net/asterisk16/files/patch-channels-chan_dahdi.c
new file mode 100644
index 000000000000..06be04cc4886
--- /dev/null
+++ b/net/asterisk16/files/patch-channels-chan_dahdi.c
@@ -0,0 +1,33 @@
+--- channels/chan_dahdi.c.orig 2018-08-08 16:02:31 UTC
++++ channels/chan_dahdi.c
+@@ -4599,6 +4599,8 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+ return;
+ }
+ if (p->echocancel.head.tap_length) {
++ struct dahdi_echocanparams *pecp;
++
+ #if defined(HAVE_PRI) || defined(HAVE_SS7)
+ switch (p->sig) {
+ #if defined(HAVE_PRI)
+@@ -4629,7 +4631,9 @@ void dahdi_ec_enable(struct dahdi_pvt *p)
+ break;
+ }
+ #endif /* defined(HAVE_PRI) || defined(HAVE_SS7) */
+- res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &p->echocancel);
++
++ pecp = &p->echocancel.head;
++ res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp);
+ if (res) {
+ ast_log(LOG_WARNING, "Unable to enable echo cancellation on channel %d (%s)\n", p->channel, strerror(errno));
+ } else {
+@@ -4663,8 +4667,9 @@ void dahdi_ec_disable(struct dahdi_pvt *p)
+
+ if (p->echocanon) {
+ struct dahdi_echocanparams ecp = { .tap_length = 0 };
++ struct dahdi_echocanparams *pecp = &ecp;
+
+- res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &ecp);
++ res = ioctl(p->subs[SUB_REAL].dfd, DAHDI_ECHOCANCEL_PARAMS, &pecp);
+
+ if (res)
+ ast_log(LOG_WARNING, "Unable to disable echo cancellation on channel %d: %s\n", p->channel, strerror(errno));
diff --git a/net/asterisk16/files/patch-channels__sip__include__sip.h b/net/asterisk16/files/patch-channels__sip__include__sip.h
new file mode 100644
index 000000000000..a5ed190fc7c5
--- /dev/null
+++ b/net/asterisk16/files/patch-channels__sip__include__sip.h
@@ -0,0 +1,11 @@
+--- channels/sip/include/sip.h.orig 2014-07-24 17:47:29 UTC
++++ channels/sip/include/sip.h
+@@ -192,7 +192,7 @@
+ #define DEFAULT_MOHINTERPRET "default" /*!< The default music class */
+ #define DEFAULT_MOHSUGGEST ""
+ #define DEFAULT_VMEXTEN "asterisk" /*!< Default voicemail extension */
+-#define DEFAULT_CALLERID "asterisk" /*!< Default caller ID */
++#define DEFAULT_CALLERID "Unknown" /*!< Default caller ID */
+ #define DEFAULT_MWI_FROM ""
+ #define DEFAULT_NOTIFYMIME "application/simple-message-summary"
+ #define DEFAULT_ALLOWGUEST TRUE
diff --git a/net/asterisk16/files/patch-configure b/net/asterisk16/files/patch-configure
new file mode 100644
index 000000000000..56755814c1c1
--- /dev/null
+++ b/net/asterisk16/files/patch-configure
@@ -0,0 +1,78 @@
+--- configure.orig 2018-08-08 16:02:31 UTC
++++ configure
+@@ -4661,8 +4661,6 @@ case "${host_os}" in
+ ;;
+ dragonfly*|freebsd*)
+ ac_default_prefix=/usr/local
+- CPPFLAGS=-I/usr/local/include
+- LDFLAGS=-L/usr/local/lib
+ ;;
+ openbsd*)
+ ac_default_prefix=/usr/local
+@@ -20328,6 +20326,8 @@ $as_echo_n "checking for getifaddrs() support... " >&6
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
++ #include <sys/types.h>
++ #include <sys/socket.h>
+ #include <ifaddrs.h>
+ int
+ main ()
+@@ -29156,6 +29156,8 @@ fi
+
+ for ver in 5.3 5.2 5.1; do
+
++vernodot=`echo ${ver} | sed 's/\.//'`
++
+ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no"; then
+ pbxlibdir=""
+ # if --with-LUA=DIR has been specified, use it.
+@@ -29170,13 +29172,13 @@ if test "x${PBX_LUA}" != "x1" -a "${USE_LUA}" != "no";
+ ast_ext_lib_check_save_CFLAGS="${CFLAGS}"
+ CFLAGS="${CFLAGS} "
+ as_ac_Lib=`$as_echo "ac_cv_lib_lua${ver}''_luaL_newstate" | $as_tr_sh`
+-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua${ver}" >&5
+-$as_echo_n "checking for luaL_newstate in -llua${ver}... " >&6; }
++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for luaL_newstate in -llua-${ver}" >&5
++$as_echo_n "checking for luaL_newstate in -llua-${ver}... " >&6; }
+ if eval \${$as_ac_Lib+:} false; then :
+ $as_echo_n "(cached) " >&6
+ else
+ ac_check_lib_save_LIBS=$LIBS
+-LIBS="-llua${ver} ${pbxlibdir} -lm $LIBS"
++LIBS="-llua-${ver} ${pbxlibdir} -lm $LIBS"
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
+
+@@ -29218,7 +29220,7 @@ fi
+
+ # now check for the header.
+ if test "${AST_LUA_FOUND}" = "yes"; then
+- LUA_LIB="${pbxlibdir} -llua${ver} -lm"
++ LUA_LIB="${pbxlibdir} -llua-${ver} -lm"
+ # if --with-LUA=DIR has been specified, use it.
+ if test "x${LUA_DIR}" != "x"; then
+ LUA_INCLUDE="-I${LUA_DIR}/include"
+@@ -29228,8 +29230,8 @@ fi
+ # check for the header
+ ast_ext_lib_check_saved_CPPFLAGS="${CPPFLAGS}"
+ CPPFLAGS="${CPPFLAGS} ${LUA_INCLUDE}"
+- as_ac_Header=`$as_echo "ac_cv_header_lua${ver}/lua.h" | $as_tr_sh`
+-ac_fn_c_check_header_mongrel "$LINENO" "lua${ver}/lua.h" "$as_ac_Header" "$ac_includes_default"
++ as_ac_Header=`$as_echo "ac_cv_header_lua${vernodot}/lua.h" | $as_tr_sh`
++ac_fn_c_check_header_mongrel "$LINENO" "lua${vernodot}/lua.h" "$as_ac_Header" "$ac_includes_default"
+ if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
+ LUA_HEADER_FOUND=1
+ else
+@@ -29256,9 +29258,9 @@ fi
+
+ if test "x${PBX_LUA}" = "x1" ; then
+ if test x"${LUA_DIR}" = x; then
+- LUA_INCLUDE="${LUA_INCLUDE} -I/usr/include/lua${ver}"
++ LUA_INCLUDE="${LUA_INCLUDE} -I/usr/include/lua${vernodot}"
+ else
+- LUA_INCLUDE="${LUA_INCLUDE} -I${LUA_DIR}/lua${ver}"
++ LUA_INCLUDE="${LUA_INCLUDE} -I${LUA_DIR}/lua${vernodot}"
+ fi
+ break;
+ fi
diff --git a/net/asterisk16/files/patch-contrib_Makefile b/net/asterisk16/files/patch-contrib_Makefile
new file mode 100644
index 000000000000..1b2e67909406
--- /dev/null
+++ b/net/asterisk16/files/patch-contrib_Makefile
@@ -0,0 +1,15 @@
+--- contrib/Makefile.orig 2017-04-12 21:47:53 UTC
++++ contrib/Makefile
+@@ -24,10 +24,10 @@ install:
+ $(INSTALL) -m 755 scripts/ast_logescalator "$(DESTDIR)$(ASTDATADIR)/scripts/ast_logescalator"
+ $(INSTALL) -m 755 scripts/ast_loggrabber "$(DESTDIR)$(ASTDATADIR)/scripts/ast_loggrabber"
+ $(INSTALL) -m 755 scripts/ast_coredumper "$(DESTDIR)$(ASTDATADIR)/scripts/ast_coredumper"
+- $(INSTALL) -m 755 scripts/refcounter.py "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"
++# $(INSTALL) -m 755 scripts/refcounter.py "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"
+
+ uninstall:
+ -rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/ast_logescalator"
+ -rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/ast_loggrabber"
+ -rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/ast_coredumper"
+- -rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"
++# -rm -f "$(DESTDIR)$(ASTDATADIR)/scripts/refcounter.py"
diff --git a/net/asterisk16/files/patch-main__Makefile b/net/asterisk16/files/patch-main__Makefile
new file mode 100644
index 000000000000..21f82c0fa065
--- /dev/null
+++ b/net/asterisk16/files/patch-main__Makefile
@@ -0,0 +1,16 @@
+--- main/Makefile.orig 2018-08-08 16:02:31 UTC
++++ main/Makefile
+@@ -80,9 +80,12 @@ endif
+
+ ifeq ($(OSARCH),FreeBSD)
+ # -V is understood by BSD Make, not by GNU make.
+- BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
++ BSDVERSION=$(OSVERSION)
++ BSDVERSION?=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
+ AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
++ CRYPT_LIB=$(shell if test $(BSDVERSION) -ge 1200001 ; then echo "-lcrypt"; fi)
+ AST_LIBS+=-lcrypto
++ AST_LIBS+=%%LIBSYSINFO%%
+ endif
+
+ ifneq ($(findstring $(OSARCH), mingw32 cygwin ),)
diff --git a/net/asterisk16/files/patch-main__asterisk.exports.in b/net/asterisk16/files/patch-main__asterisk.exports.in
new file mode 100644
index 000000000000..c2fe031398e2
--- /dev/null
+++ b/net/asterisk16/files/patch-main__asterisk.exports.in
@@ -0,0 +1,11 @@
+--- main/asterisk.exports.in.orig 2018-08-08 16:02:31 UTC
++++ main/asterisk.exports.in
+@@ -63,6 +63,8 @@
+
+ */
+ LINKER_SYMBOL_PREFIX_IO_stdin_used;
++ LINKER_SYMBOL_PREFIX__progname;
++ LINKER_SYMBOL_PREFIXenviron;
+ local:
+ *;
+ };
diff --git a/net/asterisk16/files/patch-main__http.c b/net/asterisk16/files/patch-main__http.c
new file mode 100644
index 000000000000..db0d1afd44ef
--- /dev/null
+++ b/net/asterisk16/files/patch-main__http.c
@@ -0,0 +1,11 @@
+--- main/http.c.orig 2017-12-20 20:39:39 UTC
++++ main/http.c
+@@ -2044,7 +2044,7 @@ static int __ast_http_load(int reload)
+ struct http_uri_redirect *redirect;
+ struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 };
+ uint32_t bindport = DEFAULT_PORT;
+- RAII_VAR(struct ast_sockaddr *, addrs, NULL, ast_free);
++ struct ast_sockaddr *addrs = NULL;
+ int num_addrs = 0;
+ int http_tls_was_enabled = 0;
+
diff --git a/net/asterisk16/files/patch-main__lock.c b/net/asterisk16/files/patch-main__lock.c
new file mode 100644
index 000000000000..c1111fa8bbac
--- /dev/null
+++ b/net/asterisk16/files/patch-main__lock.c
@@ -0,0 +1,12 @@
+--- main/lock.c.orig 2018-08-08 16:02:31 UTC
++++ main/lock.c
+@@ -692,9 +692,6 @@ int __ast_rwlock_init(int tracking, const char *filena
+ #endif /* DEBUG_THREADS */
+
+ pthread_rwlockattr_init(&attr);
+-#ifdef HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP
+- pthread_rwlockattr_setkind_np(&attr, PTHREAD_RWLOCK_PREFER_WRITER_NP);
+-#endif
+ res = pthread_rwlock_init(&t->lock, &attr);
+ pthread_rwlockattr_destroy(&attr);
+
diff --git a/net/asterisk16/files/patch-res_res__pjsip_pjsip__cli.c b/net/asterisk16/files/patch-res_res__pjsip_pjsip__cli.c
new file mode 100644
index 000000000000..1a03ed498b98
--- /dev/null
+++ b/net/asterisk16/files/patch-res_res__pjsip_pjsip__cli.c
@@ -0,0 +1,11 @@
+--- res/res_pjsip/pjsip_cli.c.orig 2017-12-20 20:39:39 UTC
++++ res/res_pjsip/pjsip_cli.c
+@@ -163,7 +163,7 @@ char *ast_sip_cli_traverse_objects(struct ast_cli_entr
+ }
+ regex = a->argv[4];
+ } else {
+- regex = "";
++ regex = ".";
+ }
+
+ if (cmd == CLI_GENERATE
diff --git a/net/asterisk16/pkg-descr b/net/asterisk16/pkg-descr
new file mode 100644
index 000000000000..9acc93a1d51a
--- /dev/null
+++ b/net/asterisk16/pkg-descr
@@ -0,0 +1,5 @@
+Asterisk is an Open Source PBX and telephony toolkit. It is, in a
+sense, middleware between Internet and telephony channels on the bottom,
+and Internet and telephony applications at the top.
+
+WWW: https://www.asterisk.org
diff --git a/net/asterisk16/pkg-message b/net/asterisk16/pkg-message
new file mode 100644
index 000000000000..08d8de995d68
--- /dev/null
+++ b/net/asterisk16/pkg-message
@@ -0,0 +1,36 @@
+###########################################################################
+
+ This port supports custom Asterisk configurations using a *user-supplied*
+ menuselect.makeopt file.
+
+ This feature is of most value for users that want to disable or override
+ default functionality that they dont want or need, particular in space
+ and/or resource constrained, or embedded environments.
+
+ If a file named ".asterisk.makeopts" is found in the ports files/
+ directory, its contents will be used to configure Asterisk at the
+ post-configure stage.
+
+ If the file is *not* found, the port will default to a 'normal' Asterisk
+ menuselect configuration, and only execute menuselect commands according
+ to what port OPTIONS the user has selected.
+
+ The format of this file is the same as the output of a standard
+ `make menuselect` command, as per standard build instructions for
+ Asterisk.
+
+ NOTE: The contents of this file *MUST* be syntactically and semantically
+ valid, as the port does *NOT* perform validation of this file.
+
+ In particular, ensure that all Asterisk options have their
+ dependencies met, using the corresponding port OPTIONS dependencies.
+
+ The `menuselect --check-deps` command can be used to verify the
+ configuration
+
+ The following related documentation resources are also available:
+
+ * https://wiki.asterisk.org/wiki/display/AST/Using+Menuselect+to+Select+Asterisk+Options
+ * http://www.asteriskdocs.org/en/3rd_Edition/asterisk-book-html-chunk/installing_base_configuration.html#Installing_id293213
+
+################################################################################
diff --git a/net/asterisk16/pkg-plist b/net/asterisk16/pkg-plist
new file mode 100644
index 000000000000..5caa0f5bdf5c
--- /dev/null
+++ b/net/asterisk16/pkg-plist
@@ -0,0 +1,412 @@
+@sample %%ETCDIR%%/acl.conf.sample
+@sample %%ETCDIR%%/adsi.conf.sample
+@sample %%ETCDIR%%/agents.conf.sample
+@sample %%ETCDIR%%/alarmreceiver.conf.sample
+@sample %%ETCDIR%%/alsa.conf.sample
+@sample %%ETCDIR%%/amd.conf.sample
+@sample %%ETCDIR%%/app_mysql.conf.sample
+@sample %%ETCDIR%%/app_skel.conf.sample
+@sample %%ETCDIR%%/ari.conf.sample
+@sample %%ETCDIR%%/ast_debug_tools.conf.sample
+@sample %%ETCDIR%%/asterisk.adsi.sample
+@sample %%ETCDIR%%/asterisk.conf.sample
+@sample %%ETCDIR%%/calendar.conf.sample
+@sample %%ETCDIR%%/ccss.conf.sample
+@sample %%ETCDIR%%/cdr.conf.sample
+@sample %%ETCDIR%%/cdr_adaptive_odbc.conf.sample
+@sample %%ETCDIR%%/cdr_beanstalkd.conf.sample
+@sample %%ETCDIR%%/cdr_custom.conf.sample
+@sample %%ETCDIR%%/cdr_manager.conf.sample
+@sample %%ETCDIR%%/cdr_mysql.conf.sample
+@sample %%ETCDIR%%/cdr_odbc.conf.sample
+@sample %%ETCDIR%%/cdr_pgsql.conf.sample
+@sample %%ETCDIR%%/cdr_sqlite3_custom.conf.sample
+@sample %%ETCDIR%%/cdr_syslog.conf.sample
+@sample %%ETCDIR%%/cdr_tds.conf.sample
+@sample %%ETCDIR%%/cel.conf.sample
+@sample %%ETCDIR%%/cel_beanstalkd.conf.sample
+@sample %%ETCDIR%%/cel_custom.conf.sample
+@sample %%ETCDIR%%/cel_odbc.conf.sample
+@sample %%ETCDIR%%/cel_pgsql.conf.sample
+@sample %%ETCDIR%%/cel_sqlite3_custom.conf.sample
+@sample %%ETCDIR%%/cel_tds.conf.sample
+@sample %%ETCDIR%%/chan_dahdi.conf.sample
+@sample %%ETCDIR%%/chan_mobile.conf.sample
+@sample %%ETCDIR%%/cli.conf.sample
+@sample %%ETCDIR%%/cli_aliases.conf.sample
+@sample %%ETCDIR%%/cli_permissions.conf.sample
+@sample %%ETCDIR%%/codecs.conf.sample
+@sample %%ETCDIR%%/confbridge.conf.sample
+@sample %%ETCDIR%%/config_test.conf.sample
+@sample %%ETCDIR%%/console.conf.sample
+@sample %%ETCDIR%%/dbsep.conf.sample
+@sample %%ETCDIR%%/dnsmgr.conf.sample
+@sample %%ETCDIR%%/dsp.conf.sample
+@sample %%ETCDIR%%/dundi.conf.sample
+@sample %%ETCDIR%%/enum.conf.sample
+@sample %%ETCDIR%%/extconfig.conf.sample
+@sample %%ETCDIR%%/extensions.ael.sample
+@sample %%ETCDIR%%/extensions.conf.sample
+@sample %%ETCDIR%%/extensions.lua.sample
+@sample %%ETCDIR%%/extensions_minivm.conf.sample
+@sample %%ETCDIR%%/features.conf.sample
+@sample %%ETCDIR%%/festival.conf.sample
+@sample %%ETCDIR%%/followme.conf.sample
+@sample %%ETCDIR%%/func_odbc.conf.sample
+@sample %%ETCDIR%%/hep.conf.sample
+@sample %%ETCDIR%%/http.conf.sample
+@sample %%ETCDIR%%/iax.conf.sample
+@sample %%ETCDIR%%/iaxprov.conf.sample
+@sample %%ETCDIR%%/indications.conf.sample
+@sample %%ETCDIR%%/logger.conf.sample
+@sample %%ETCDIR%%/manager.conf.sample
+@sample %%ETCDIR%%/meetme.conf.sample
+@sample %%ETCDIR%%/mgcp.conf.sample
+@sample %%ETCDIR%%/minivm.conf.sample
+@sample %%ETCDIR%%/misdn.conf.sample
+@sample %%ETCDIR%%/modules.conf.sample
+@sample %%ETCDIR%%/motif.conf.sample
+@sample %%ETCDIR%%/musiconhold.conf.sample
+@sample %%ETCDIR%%/muted.conf.sample
+@sample %%ETCDIR%%/ooh323.conf.sample
+@sample %%ETCDIR%%/osp.conf.sample
+@sample %%ETCDIR%%/oss.conf.sample
+@sample %%ETCDIR%%/phone.conf.sample
+@sample %%ETCDIR%%/phoneprov.conf.sample
+@sample %%ETCDIR%%/pjproject.conf.sample
+@sample %%ETCDIR%%/pjsip.conf.sample
+@sample %%ETCDIR%%/pjsip_notify.conf.sample
+@sample %%ETCDIR%%/pjsip_wizard.conf.sample
+@sample %%ETCDIR%%/queuerules.conf.sample
+@sample %%ETCDIR%%/queues.conf.sample
+@sample %%ETCDIR%%/res_config_mysql.conf.sample
+@sample %%ETCDIR%%/res_config_sqlite.conf.sample
+@sample %%ETCDIR%%/res_config_sqlite3.conf.sample
+@sample %%ETCDIR%%/res_corosync.conf.sample
+@sample %%ETCDIR%%/res_curl.conf.sample
+@sample %%ETCDIR%%/res_fax.conf.sample
+@sample %%ETCDIR%%/res_ldap.conf.sample
+@sample %%ETCDIR%%/res_odbc.conf.sample
+@sample %%ETCDIR%%/res_parking.conf.sample
+@sample %%ETCDIR%%/res_pgsql.conf.sample
+@sample %%ETCDIR%%/res_pktccops.conf.sample
+@sample %%ETCDIR%%/res_snmp.conf.sample
+@sample %%ETCDIR%%/res_stun_monitor.conf.sample
+@sample %%ETCDIR%%/resolver_unbound.conf.sample
+@sample %%ETCDIR%%/rtp.conf.sample
+@sample %%ETCDIR%%/say.conf.sample
+@sample %%ETCDIR%%/sip.conf.sample
+@sample %%ETCDIR%%/sip_notify.conf.sample
+@sample %%ETCDIR%%/skinny.conf.sample
+@sample %%ETCDIR%%/sla.conf.sample
+@sample %%ETCDIR%%/smdi.conf.sample
+@sample %%ETCDIR%%/sorcery.conf.sample
+@sample %%ETCDIR%%/ss7.timers.sample
+@sample %%ETCDIR%%/stasis.conf.sample
+@sample %%ETCDIR%%/statsd.conf.sample
+@sample %%ETCDIR%%/telcordia-1.adsi.sample
+@sample %%ETCDIR%%/test_sorcery.conf.sample
+@sample %%ETCDIR%%/udptl.conf.sample
+@sample %%ETCDIR%%/unistim.conf.sample
+@sample %%ETCDIR%%/users.conf.sample
+@sample %%ETCDIR%%/voicemail.conf.sample
+@sample %%ETCDIR%%/vpb.conf.sample
+@sample %%ETCDIR%%/xmpp.conf.sample
+include/asterisk.h
+include/asterisk/_private.h
+include/asterisk/abstract_jb.h
+include/asterisk/acl.h
+include/asterisk/adsi.h
+include/asterisk/ael_structs.h
+include/asterisk/agi.h
+include/asterisk/alaw.h
+include/asterisk/alertpipe.h
+include/asterisk/aoc.h
+include/asterisk/app.h
+include/asterisk/ari.h
+include/asterisk/ast_expr.h
+include/asterisk/ast_version.h
+include/asterisk/astdb.h
+include/asterisk/astmm.h
+include/asterisk/astobj2.h
+include/asterisk/audiohook.h
+include/asterisk/autochan.h
+include/asterisk/autoconfig.h
+include/asterisk/backtrace.h
+include/asterisk/beep.h
+include/asterisk/bridge.h
+include/asterisk/bridge_after.h
+include/asterisk/bridge_basic.h
+include/asterisk/bridge_channel.h
+include/asterisk/bridge_channel_internal.h
+include/asterisk/bridge_features.h
+include/asterisk/bridge_internal.h
+include/asterisk/bridge_roles.h
+include/asterisk/bridge_technology.h
+include/asterisk/bucket.h
+include/asterisk/build.h
+include/asterisk/buildinfo.h
+include/asterisk/buildopts.h
+include/asterisk/calendar.h
+include/asterisk/callerid.h
+include/asterisk/causes.h
+include/asterisk/ccss.h
+include/asterisk/cdr.h
+include/asterisk/cel.h
+include/asterisk/celt.h
+include/asterisk/channel.h
+include/asterisk/channel_internal.h
+include/asterisk/channelstate.h
+include/asterisk/chanvars.h
+include/asterisk/cli.h
+include/asterisk/codec.h
+include/asterisk/compat.h
+include/asterisk/compiler.h
+include/asterisk/config.h
+include/asterisk/config_options.h
+include/asterisk/conversions.h
+include/asterisk/core_local.h
+include/asterisk/core_unreal.h
+include/asterisk/crypto.h
+include/asterisk/data_buffer.h
+include/asterisk/datastore.h
+include/asterisk/devicestate.h
+include/asterisk/dial.h
+include/asterisk/dlinkedlists.h
+include/asterisk/dns.h
+include/asterisk/dns_core.h
+include/asterisk/dns_internal.h
+include/asterisk/dns_naptr.h
+include/asterisk/dns_query_set.h
+include/asterisk/dns_recurring.h
+include/asterisk/dns_resolver.h
+include/asterisk/dns_srv.h
+include/asterisk/dns_test.h
+include/asterisk/dns_tlsa.h
+include/asterisk/dnsmgr.h
+include/asterisk/doxygen/architecture.h
+include/asterisk/doxygen/licensing.h
+include/asterisk/doxyref.h
+include/asterisk/dsp.h
+include/asterisk/dundi.h
+include/asterisk/endian.h
+include/asterisk/endpoints.h
+include/asterisk/enum.h
+include/asterisk/event.h
+include/asterisk/event_defs.h
+include/asterisk/extconf.h
+include/asterisk/features.h
+include/asterisk/features_config.h
+include/asterisk/file.h
+include/asterisk/format.h
+include/asterisk/format_cache.h
+include/asterisk/format_cap.h
+include/asterisk/format_compatibility.h
+include/asterisk/frame.h
+include/asterisk/framehook.h
+include/asterisk/fskmodem.h
+include/asterisk/fskmodem_float.h
+include/asterisk/fskmodem_int.h
+include/asterisk/global_datastores.h
+include/asterisk/hashtab.h
+include/asterisk/heap.h
+include/asterisk/http.h
+include/asterisk/http_websocket.h
+include/asterisk/ilbc.h
+include/asterisk/image.h
+include/asterisk/indications.h
+include/asterisk/inline_api.h
+include/asterisk/io.h
+include/asterisk/iostream.h
+include/asterisk/json.h
+include/asterisk/linkedlists.h
+include/asterisk/localtime.h
+include/asterisk/lock.h
+include/asterisk/logger.h
+include/asterisk/manager.h
+include/asterisk/max_forwards.h
+include/asterisk/md5.h
+include/asterisk/media_cache.h
+include/asterisk/media_index.h
+include/asterisk/message.h
+include/asterisk/mixmonitor.h
+include/asterisk/mod_format.h
+include/asterisk/module.h
+include/asterisk/monitor.h
+include/asterisk/multicast_rtp.h
+include/asterisk/musiconhold.h
+include/asterisk/named_locks.h
+include/asterisk/netsock2.h
+include/asterisk/network.h
+include/asterisk/optional_api.h
+include/asterisk/options.h
+include/asterisk/opus.h
+include/asterisk/parking.h
+include/asterisk/paths.h
+include/asterisk/pbx.h
+include/asterisk/phoneprov.h
+include/asterisk/pickup.h
+include/asterisk/pktccops.h
+include/asterisk/plc.h
+include/asterisk/poll-compat.h
+include/asterisk/presencestate.h
+include/asterisk/privacy.h
+include/asterisk/pval.h
+include/asterisk/res_fax.h
+include/asterisk/res_hep.h
+include/asterisk/res_mwi_external.h
+include/asterisk/res_odbc.h
+include/asterisk/res_odbc_transaction.h
+include/asterisk/res_pjproject.h
+include/asterisk/res_pjsip.h
+include/asterisk/res_pjsip_body_generator_types.h
+include/asterisk/res_pjsip_cli.h
+include/asterisk/res_pjsip_outbound_publish.h
+include/asterisk/res_pjsip_presence_xml.h
+include/asterisk/res_pjsip_pubsub.h
+include/asterisk/res_pjsip_session.h
+include/asterisk/res_srtp.h
+include/asterisk/rtp_engine.h
+include/asterisk/say.h
+include/asterisk/sched.h
+include/asterisk/sdp_srtp.h
+include/asterisk/security_events.h
+include/asterisk/security_events_defs.h
+include/asterisk/select.h
+include/asterisk/sem.h
+include/asterisk/sha1.h
+include/asterisk/silk.h
+include/asterisk/sip_api.h
+include/asterisk/slin.h
+include/asterisk/slinfactory.h
+include/asterisk/smdi.h
+include/asterisk/smoother.h
+include/asterisk/sorcery.h
+include/asterisk/sounds_index.h
+include/asterisk/speech.h
+include/asterisk/spinlock.h
+include/asterisk/srv.h
+include/asterisk/stasis.h
+include/asterisk/stasis_app.h
+include/asterisk/stasis_app_device_state.h
+include/asterisk/stasis_app_impl.h
+include/asterisk/stasis_app_mailbox.h
+include/asterisk/stasis_app_playback.h
+include/asterisk/stasis_app_recording.h
+include/asterisk/stasis_app_snoop.h
+include/asterisk/stasis_bridges.h
+include/asterisk/stasis_cache_pattern.h
+include/asterisk/stasis_channels.h
+include/asterisk/stasis_endpoints.h
+include/asterisk/stasis_internal.h
+include/asterisk/stasis_message_router.h
+include/asterisk/stasis_system.h
+include/asterisk/stasis_test.h
+include/asterisk/statsd.h
+include/asterisk/stream.h
+include/asterisk/stringfields.h
+include/asterisk/strings.h
+include/asterisk/stun.h
+include/asterisk/syslog.h
+include/asterisk/taskprocessor.h
+include/asterisk/tcptls.h
+include/asterisk/tdd.h
+include/asterisk/term.h
+include/asterisk/test.h
+include/asterisk/threadpool.h
+include/asterisk/threadstorage.h
+include/asterisk/time.h
+include/asterisk/timing.h
+include/asterisk/transcap.h
+include/asterisk/translate.h
+include/asterisk/udptl.h
+include/asterisk/ulaw.h
+include/asterisk/unaligned.h
+include/asterisk/uri.h
+include/asterisk/utils.h
+include/asterisk/uuid.h
+include/asterisk/vector.h
+include/asterisk/version.h
+include/asterisk/xml.h
+include/asterisk/xmldoc.h
+include/asterisk/xmpp.h
+lib/libasteriskssl.so
+lib/libasteriskssl.so.1
+man/man8/astdb2bdb.8.gz
+man/man8/astdb2sqlite3.8.gz
+man/man8/asterisk.8.gz
+man/man8/astgenkey.8.gz
+man/man8/autosupport.8.gz
+man/man8/safe_asterisk.8.gz
+sbin/astcanary
+sbin/astdb2bdb
+sbin/astdb2sqlite3
+sbin/asterisk
+sbin/astgenkey
+%%ASTVERSION%%sbin/astversion
+sbin/autosupport
+sbin/rasterisk
+sbin/safe_asterisk
+%%DATADIR%%/agi-bin/agi-test.agi
+%%DATADIR%%/agi-bin/eagi-sphinx-test
+%%DATADIR%%/agi-bin/eagi-test
+%%DATADIR%%/agi-bin/jukebox.agi
+%%DATADIR%%/documentation/appdocsxml.dtd
+%%DATADIR%%/documentation/appdocsxml.xslt
+%%DATADIR%%/documentation/core-en_US.xml
+%%DATADIR%%/phoneprov/000000000000-directory.xml
+%%DATADIR%%/phoneprov/000000000000-phone.cfg
+%%DATADIR%%/phoneprov/000000000000.cfg
+%%DATADIR%%/phoneprov/polycom.xml
+%%DATADIR%%/phoneprov/polycom_line.xml
+%%DATADIR%%/phoneprov/snom-mac.xml
+%%DATADIR%%/rest-api/applications.json
+%%DATADIR%%/rest-api/asterisk.json
+%%DATADIR%%/rest-api/bridges.json
+%%DATADIR%%/rest-api/channels.json
+%%DATADIR%%/rest-api/deviceStates.json
+%%DATADIR%%/rest-api/endpoints.json
+%%DATADIR%%/rest-api/events.json
+%%DATADIR%%/rest-api/mailboxes.json
+%%DATADIR%%/rest-api/playbacks.json
+%%DATADIR%%/rest-api/recordings.json
+%%DATADIR%%/rest-api/resources.json
+%%DATADIR%%/rest-api/sounds.json
+%%DATADIR%%/scripts/ast_coredumper
+%%DATADIR%%/scripts/ast_logescalator
+%%DATADIR%%/scripts/ast_loggrabber
+%%DATADIR%%/static-http/appdocsxml.xslt
+%%DATADIR%%/static-http/ajamdemo.html
+%%DATADIR%%/static-http/astman.css
+%%DATADIR%%/static-http/astman.js
+%%DATADIR%%/static-http/core-en_US.xml
+%%DATADIR%%/static-http/prototype.js
+%%DATADIR%%/static-http/mantest.html
+%%DOCSDIR%%/images/asterisk-intro.jpg
+%%DOCSDIR%%/images/kpad2.jpg
+@dir lib/asterisk/modules
+@dir %%DATADIR%%/documentation/thirdparty
+@dir %%DATADIR%%/firmware/iax
+@dir %%DATADIR%%/images
+@dir %%DATADIR%%/keys
+@dir %%DATADIR%%/moh
+@dir %%DATADIR%%/sounds
+@dir %%DATADIR%%/third-party
+@owner %%ASTERISK_USER%%
+@group %%ASTERISK_GROUP%%
+@dir %%VARDIR%%/log/asterisk/cdr-csv
+@dir %%VARDIR%%/log/asterisk/cdr-custom
+@dir %%VARDIR%%/log/asterisk/cel-custom
+@dir %%VARDIR%%/log/asterisk
+@dir %%VARDIR%%/spool/asterisk/dictate
+@dir %%VARDIR%%/spool/asterisk/meetme
+@dir %%VARDIR%%/spool/asterisk/monitor
+@dir %%VARDIR%%/spool/asterisk/outgoing
+@dir %%VARDIR%%/spool/asterisk/recording
+@dir %%VARDIR%%/spool/asterisk
+@dir %%VARDIR%%/spool/asterisk/system
+@dir %%VARDIR%%/spool/asterisk/tmp
+@dir %%VARDIR%%/db/asterisk
+@dir %%VARDIR%%/run/asterisk
+@owner
+@group