aboutsummaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/asterisk/Makefile5
-rw-r--r--net/asterisk/distinfo12
-rw-r--r--net/asterisk/files/codecnego-patch-Makefile36
-rw-r--r--net/asterisk/files/feature_disconnect.diff42
-rw-r--r--net/asterisk/files/nocodecnego-patch-Makefile13
-rw-r--r--net/asterisk/files/patch-channels::chan_zap.c80
-rw-r--r--net/asterisk/pkg-plist16
-rw-r--r--net/asterisk10/Makefile5
-rw-r--r--net/asterisk10/distinfo12
-rw-r--r--net/asterisk10/files/codecnego-patch-Makefile36
-rw-r--r--net/asterisk10/files/feature_disconnect.diff42
-rw-r--r--net/asterisk10/files/nocodecnego-patch-Makefile13
-rw-r--r--net/asterisk10/files/patch-channels::chan_zap.c80
-rw-r--r--net/asterisk10/pkg-plist16
-rw-r--r--net/asterisk14/Makefile5
-rw-r--r--net/asterisk14/distinfo12
-rw-r--r--net/asterisk14/files/codecnego-patch-Makefile36
-rw-r--r--net/asterisk14/files/feature_disconnect.diff42
-rw-r--r--net/asterisk14/files/nocodecnego-patch-Makefile13
-rw-r--r--net/asterisk14/files/patch-channels::chan_zap.c80
-rw-r--r--net/asterisk14/pkg-plist16
-rw-r--r--net/asterisk16/Makefile5
-rw-r--r--net/asterisk16/distinfo12
-rw-r--r--net/asterisk16/files/codecnego-patch-Makefile36
-rw-r--r--net/asterisk16/files/feature_disconnect.diff42
-rw-r--r--net/asterisk16/files/nocodecnego-patch-Makefile13
-rw-r--r--net/asterisk16/files/patch-channels::chan_zap.c80
-rw-r--r--net/asterisk16/pkg-plist16
28 files changed, 184 insertions, 632 deletions
diff --git a/net/asterisk/Makefile b/net/asterisk/Makefile
index 7a26149ab87a..04c3e76a12cd 100644
--- a/net/asterisk/Makefile
+++ b/net/asterisk/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= asterisk
-PORTVERSION= 1.4.21.2
-PORTREVISION= 5
+PORTVERSION= 1.4.22
CATEGORIES= net
MASTER_SITES= http://ftp.digium.com/pub/asterisk/ \
http://ftp.digium.com/pub/asterisk/old-releases/
@@ -167,7 +166,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
-PATCHFILES= asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz
+PATCHFILES= asterisk-1.4.22-codec-negotiation-20081110.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else
diff --git a/net/asterisk/distinfo b/net/asterisk/distinfo
index 6ad2bde8020c..4dabf084e6bc 100644
--- a/net/asterisk/distinfo
+++ b/net/asterisk/distinfo
@@ -1,6 +1,6 @@
-MD5 (asterisk-1.4.21.2.tar.gz) = 46881e1345eca21ea13a7d5b1036fa6e
-SHA256 (asterisk-1.4.21.2.tar.gz) = 27c3bb0e47c6f762c0ce701cd97b5f23fd3424984523bf353593b77a696ea8b5
-SIZE (asterisk-1.4.21.2.tar.gz) = 11528693
-MD5 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 3e4e21dd15a7629c5058ba59bb689d82
-SHA256 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 646617020c71631e9a0d4544e6e4211f68769732d03ec65f94220e73ba0250fe
-SIZE (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 39255
+MD5 (asterisk-1.4.22.tar.gz) = 7626febc4a01e16e012dfccb9e4ab9d2
+SHA256 (asterisk-1.4.22.tar.gz) = 7a6d80ed8de3a1bfd7f2c3442ec5eb1da3eeaff6ace1a3c04578848181eee79a
+SIZE (asterisk-1.4.22.tar.gz) = 11598693
+MD5 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 56aeedb24ea3042138b68792b8edbc40
+SHA256 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = fb765bdd6aa028ae519648348e9c7d2a91a2338079f9d32f89022d2dbb4b434b
+SIZE (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 40040
diff --git a/net/asterisk/files/codecnego-patch-Makefile b/net/asterisk/files/codecnego-patch-Makefile
index e6b6ac476b42..0146d59c7b21 100644
--- a/net/asterisk/files/codecnego-patch-Makefile
+++ b/net/asterisk/files/codecnego-patch-Makefile
@@ -1,8 +1,5 @@
-
-$FreeBSD$
-
---- Makefile.orig
-+++ Makefile
+--- Makefile.orig 2008-10-16 17:36:35.000000000 +0300
++++ Makefile 2008-10-16 17:36:36.000000000 +0300
@@ -129,7 +129,7 @@
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
@@ -15,16 +12,16 @@ $FreeBSD$
@@ -214,9 +214,11 @@
ASTLDFLAGS+=-L/usr/local/lib
endif
-
+
+ifneq ($(OSARCH),FreeBSD)
ifneq ($(PROC),ultrasparc)
ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
endif
+endif
-
+
ifeq ($(PROC),ppc)
ASTCFLAGS+=-fsigned-char
-@@ -224,7 +224,7 @@
+@@ -224,7 +226,7 @@
ifeq ($(OSARCH),FreeBSD)
# -V is understood by BSD Make, not by GNU make.
@@ -33,7 +30,7 @@ $FreeBSD$
ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
endif
-@@ -404,15 +404,15 @@
+@@ -401,15 +403,15 @@
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
@@ -54,7 +51,7 @@ $FreeBSD$
$(MAKE) -C sounds install
update:
-@@ -433,47 +433,47 @@
+@@ -430,47 +432,47 @@
OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
installdirs:
@@ -134,7 +131,7 @@ $FreeBSD$
fi
$(SUBDIRS_INSTALL):
-@@ -507,7 +507,7 @@
+@@ -506,7 +508,7 @@
@exit 1
endif
@@ -143,7 +140,7 @@ $FreeBSD$
@if [ -x /usr/sbin/asterisk-post-install ]; then \
/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
fi
-@@ -545,31 +545,23 @@
+@@ -544,31 +546,23 @@
upgrade: bininstall
adsi:
@@ -183,7 +180,7 @@ $FreeBSD$
( \
echo "[directories]" ; \
echo "astetcdir => $(ASTETCDIR)" ; \
-@@ -655,20 +647,23 @@
+@@ -655,20 +649,23 @@
echo "; Default: strict"; \
echo ";"; \
echo ";translation_algorithm = strict"; \
@@ -211,16 +208,3 @@ $FreeBSD$
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -695,10 +690,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk/files/feature_disconnect.diff b/net/asterisk/files/feature_disconnect.diff
index 5be713b0da13..a712e906c924 100644
--- a/net/asterisk/files/feature_disconnect.diff
+++ b/net/asterisk/files/feature_disconnect.diff
@@ -143,9 +143,9 @@
+
#endif /* _AST_FEATURES_H */
---- res/res_features.c.orig 2008-04-08 14:55:25.000000000 +0300
-+++ res/res_features.c 2008-04-08 14:59:59.000000000 +0300
-@@ -485,18 +485,6 @@
+--- res/res_features.c.orig 2008-10-16 18:17:33.000000000 +0300
++++ res/res_features.c 2008-10-16 18:49:20.000000000 +0300
+@@ -517,18 +517,6 @@
}
@@ -164,32 +164,38 @@
/*! \brief
* set caller and callee according to the direction
*/
-@@ -1061,32 +1049,35 @@
+@@ -1121,38 +1109,40 @@
+ res = 0;
+ break;
+ }
+- ast_rwlock_unlock(&features_lock);
+
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
-+ ast_rwlock_rdlock(&features_lock);
-+ AST_LIST_LOCK(&feature_list);
++ ast_rwlock_rdlock(&features_lock);
++ AST_LIST_LOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
-+ AST_LIST_UNLOCK(&feature_list);
-+ ast_rwlock_unlock(&features_lock);
++ AST_LIST_UNLOCK(&feature_list);
++ ast_rwlock_unlock(&features_lock);
+}
+
+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result)
{
int x;
- struct ast_flags features;
- int res = FEATURE_RETURN_PASSDIGITS;
struct ast_call_feature *feature;
- const char *dynamic_features;
+ const char *dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
char *tmp, *tok;
+ int res = FEATURE_RETURN_PASSDIGITS;
+ int feature_detected = 0;
- if (sense == FEATURE_SENSE_CHAN) {
- ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
@@ -200,8 +206,8 @@
- }
- if (option_debug > 2)
- ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d dynamic=%s\n", chan->name, peer->name, code, sense, features.flags, dynamic_features);
-+ result->builtin_feature = NULL;
-+ result->num_dyn_features = 0;
++ result->builtin_feature = NULL;
++ result->num_dyn_features = 0;
- ast_rwlock_rdlock(&features_lock);
for (x = 0; x < FEATURES_COUNT; x++) {
@@ -212,18 +218,10 @@
if (!strcmp(builtin_features[x].exten, code)) {
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
+ feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
- if (res == FEATURE_RETURN_PASSDIGITS)
-@@ -1094,7 +1085,6 @@
- }
- }
- }
-- ast_rwlock_unlock(&features_lock);
-
- if (ast_strlen_zero(dynamic_features))
- return res;
-@@ -1102,9 +1092,7 @@
+@@ -1169,9 +1159,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@@ -233,7 +231,7 @@
continue;
}
-@@ -1112,21 +1100,52 @@
+@@ -1179,21 +1167,52 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
diff --git a/net/asterisk/files/nocodecnego-patch-Makefile b/net/asterisk/files/nocodecnego-patch-Makefile
index c325d81f10af..cf5e1df564b0 100644
--- a/net/asterisk/files/nocodecnego-patch-Makefile
+++ b/net/asterisk/files/nocodecnego-patch-Makefile
@@ -208,16 +208,3 @@
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -654,10 +649,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk/files/patch-channels::chan_zap.c b/net/asterisk/files/patch-channels::chan_zap.c
deleted file mode 100644
index ab02c02af962..000000000000
--- a/net/asterisk/files/patch-channels::chan_zap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-$FreeBSD$
-
---- channels/chan_zap.c.orig Tue Nov 29 20:24:39 2005
-+++ channels/chan_zap.c Fri Jan 13 13:28:33 2006
-@@ -638,6 +638,7 @@ static struct zt_pvt {
- int cidlen;
- int ringt;
- int ringt_base;
-+ int waitnorings;
- int stripmsd;
- int callwaitcas;
- int callwaitrings;
-@@ -2308,6 +2309,19 @@ static int zt_hangup(struct ast_channel
- }
-
- ast_mutex_lock(&p->lock);
-+ switch (p->sig) {
-+ case SIG_FXSGS:
-+ case SIG_FXSKS:
-+ case SIG_FXSLS:
-+ if((ast->_state == AST_STATE_RING) && (p->ringt > 1))
-+ {
-+ p->waitnorings = 1;
-+ }
-+ break;
-+ default:
-+ break;
-+ };
-+
-
- index = zt_get_index(ast, p, 1);
-
-@@ -6129,7 +6143,37 @@ static void *ss_thread(void *data)
- ast_setstate(chan, AST_STATE_RING);
- chan->rings = 1;
- p->ringt = p->ringt_base;
-+ p->waitnorings = 0;
- res = ast_pbx_run(chan);
-+
-+ if(p->waitnorings)
-+ {
-+ p->ringt = p->ringt_base;
-+ for(;;)
-+ {
-+ int i,j=0;
-+ i = ZT_IOMUX_SIGEVENT | ZT_IOMUX_NOWAIT;
-+ if (ioctl(p->subs[index].zfd, ZT_IOMUX, &i) == -1)
-+ break;
-+
-+ if (ioctl(p->subs[index].zfd, ZT_GETEVENT, &j) == -1)
-+ break;
-+
-+ if(j == ZT_EVENT_RINGOFFHOOK)
-+ p->ringt = p->ringt_base;
-+
-+ usleep(20000);
-+
-+ if (p->ringt <= 0)
-+ break;
-+
-+ else if (p->ringt > 0)
-+ p->ringt--;
-+ }
-+ p->ringt = 0;
-+ p->waitnorings = 0;
-+ }
-+
- if (res) {
- ast_hangup(chan);
- ast_log(LOG_WARNING, "PBX exited non-zero\n");
-@@ -6431,7 +6475,7 @@ static void *do_monitor(void *data)
- i = iflist;
- while(i) {
- if ((i->subs[SUB_REAL].zfd > -1) && i->sig && (!i->radio)) {
-- if (!i->owner && !i->subs[SUB_REAL].owner) {
-+ if (!i->owner && !i->subs[SUB_REAL].owner && !i->waitnorings) {
- /* This needs to be watched, as it lacks an owner */
- pfds[count].fd = i->subs[SUB_REAL].zfd;
- pfds[count].events = POLLPRI;
diff --git a/net/asterisk/pkg-plist b/net/asterisk/pkg-plist
index 30a17b65c5fb..39eb05a85806 100644
--- a/net/asterisk/pkg-plist
+++ b/net/asterisk/pkg-plist
@@ -92,8 +92,8 @@ etc/asterisk/telcordia-1.adsi-dist
etc/asterisk/voicemail.conf-dist
@unexec if cmp -s %D/etc/asterisk/vpb.conf %D/etc/asterisk/vpb.conf-dist; then rm -f %D/etc/asterisk/vpb.conf; fi
etc/asterisk/vpb.conf-dist
-@unexec if cmp -s %D/etc/asterisk/zapata.conf %D/etc/asterisk/zapata.conf-dist; then rm -f %D/etc/asterisk/zapata.conf; fi
-etc/asterisk/zapata.conf-dist
+@unexec if cmp -s %D/etc/asterisk/chan_dahdi.conf %D/etc/asterisk/chan_dahdi.conf-dist; then rm -f %D/etc/asterisk/chan_dahdi.conf; fi
+etc/asterisk/chan_dahdi.conf-dist
@unexec if cmp -s %D/etc/asterisk/udptl.conf %D/etc/asterisk/udptl.conf-dist; then rm -f %D/etc/asterisk/udptl.conf; fi
etc/asterisk/udptl.conf-dist
@unexec if cmp -s %D/etc/asterisk/users.conf %D/etc/asterisk/users.conf-dist; then rm -f %D/etc/asterisk/users.conf; fi
@@ -151,9 +151,9 @@ include/asterisk/compat.h
include/asterisk/compiler.h
include/asterisk/config.h
include/asterisk/crypto.h
+include/asterisk/dahdi_compat.h
include/asterisk/devicestate.h
include/asterisk/dial.h
-include/asterisk/dlfcn-compat.h
include/asterisk/dns.h
include/asterisk/dnsmgr.h
include/asterisk/doxyref.h
@@ -204,6 +204,7 @@ include/asterisk/tdd.h
include/asterisk/term.h
include/asterisk/threadstorage.h
include/asterisk/time.h
+include/asterisk/tonezone_compat.h
include/asterisk/transcap.h
include/asterisk/translate.h
include/asterisk/udptl.h
@@ -807,14 +808,13 @@ share/asterisk/static-http/prototype.js
%%WITH_ZAPTEL%%lib/asterisk/modules/app_flash.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_meetme.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_page.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapbarge.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapras.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapscan.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdibarge.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiras.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiscan.so
%%WITH_ODBC%%lib/asterisk/modules/cdr_odbc.so
%%WITH_FREETDS%%lib/asterisk/modules/cdr_tds.so
%%WITH_H323%%lib/asterisk/modules/chan_h323.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/chan_zap.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/codec_zap.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/chan_dahdi.so
%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
@dirrm share/asterisk/static-http
diff --git a/net/asterisk10/Makefile b/net/asterisk10/Makefile
index 7a26149ab87a..04c3e76a12cd 100644
--- a/net/asterisk10/Makefile
+++ b/net/asterisk10/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= asterisk
-PORTVERSION= 1.4.21.2
-PORTREVISION= 5
+PORTVERSION= 1.4.22
CATEGORIES= net
MASTER_SITES= http://ftp.digium.com/pub/asterisk/ \
http://ftp.digium.com/pub/asterisk/old-releases/
@@ -167,7 +166,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
-PATCHFILES= asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz
+PATCHFILES= asterisk-1.4.22-codec-negotiation-20081110.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else
diff --git a/net/asterisk10/distinfo b/net/asterisk10/distinfo
index 6ad2bde8020c..4dabf084e6bc 100644
--- a/net/asterisk10/distinfo
+++ b/net/asterisk10/distinfo
@@ -1,6 +1,6 @@
-MD5 (asterisk-1.4.21.2.tar.gz) = 46881e1345eca21ea13a7d5b1036fa6e
-SHA256 (asterisk-1.4.21.2.tar.gz) = 27c3bb0e47c6f762c0ce701cd97b5f23fd3424984523bf353593b77a696ea8b5
-SIZE (asterisk-1.4.21.2.tar.gz) = 11528693
-MD5 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 3e4e21dd15a7629c5058ba59bb689d82
-SHA256 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 646617020c71631e9a0d4544e6e4211f68769732d03ec65f94220e73ba0250fe
-SIZE (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 39255
+MD5 (asterisk-1.4.22.tar.gz) = 7626febc4a01e16e012dfccb9e4ab9d2
+SHA256 (asterisk-1.4.22.tar.gz) = 7a6d80ed8de3a1bfd7f2c3442ec5eb1da3eeaff6ace1a3c04578848181eee79a
+SIZE (asterisk-1.4.22.tar.gz) = 11598693
+MD5 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 56aeedb24ea3042138b68792b8edbc40
+SHA256 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = fb765bdd6aa028ae519648348e9c7d2a91a2338079f9d32f89022d2dbb4b434b
+SIZE (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 40040
diff --git a/net/asterisk10/files/codecnego-patch-Makefile b/net/asterisk10/files/codecnego-patch-Makefile
index e6b6ac476b42..0146d59c7b21 100644
--- a/net/asterisk10/files/codecnego-patch-Makefile
+++ b/net/asterisk10/files/codecnego-patch-Makefile
@@ -1,8 +1,5 @@
-
-$FreeBSD$
-
---- Makefile.orig
-+++ Makefile
+--- Makefile.orig 2008-10-16 17:36:35.000000000 +0300
++++ Makefile 2008-10-16 17:36:36.000000000 +0300
@@ -129,7 +129,7 @@
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
@@ -15,16 +12,16 @@ $FreeBSD$
@@ -214,9 +214,11 @@
ASTLDFLAGS+=-L/usr/local/lib
endif
-
+
+ifneq ($(OSARCH),FreeBSD)
ifneq ($(PROC),ultrasparc)
ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
endif
+endif
-
+
ifeq ($(PROC),ppc)
ASTCFLAGS+=-fsigned-char
-@@ -224,7 +224,7 @@
+@@ -224,7 +226,7 @@
ifeq ($(OSARCH),FreeBSD)
# -V is understood by BSD Make, not by GNU make.
@@ -33,7 +30,7 @@ $FreeBSD$
ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
endif
-@@ -404,15 +404,15 @@
+@@ -401,15 +403,15 @@
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
@@ -54,7 +51,7 @@ $FreeBSD$
$(MAKE) -C sounds install
update:
-@@ -433,47 +433,47 @@
+@@ -430,47 +432,47 @@
OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
installdirs:
@@ -134,7 +131,7 @@ $FreeBSD$
fi
$(SUBDIRS_INSTALL):
-@@ -507,7 +507,7 @@
+@@ -506,7 +508,7 @@
@exit 1
endif
@@ -143,7 +140,7 @@ $FreeBSD$
@if [ -x /usr/sbin/asterisk-post-install ]; then \
/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
fi
-@@ -545,31 +545,23 @@
+@@ -544,31 +546,23 @@
upgrade: bininstall
adsi:
@@ -183,7 +180,7 @@ $FreeBSD$
( \
echo "[directories]" ; \
echo "astetcdir => $(ASTETCDIR)" ; \
-@@ -655,20 +647,23 @@
+@@ -655,20 +649,23 @@
echo "; Default: strict"; \
echo ";"; \
echo ";translation_algorithm = strict"; \
@@ -211,16 +208,3 @@ $FreeBSD$
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -695,10 +690,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk10/files/feature_disconnect.diff b/net/asterisk10/files/feature_disconnect.diff
index 5be713b0da13..a712e906c924 100644
--- a/net/asterisk10/files/feature_disconnect.diff
+++ b/net/asterisk10/files/feature_disconnect.diff
@@ -143,9 +143,9 @@
+
#endif /* _AST_FEATURES_H */
---- res/res_features.c.orig 2008-04-08 14:55:25.000000000 +0300
-+++ res/res_features.c 2008-04-08 14:59:59.000000000 +0300
-@@ -485,18 +485,6 @@
+--- res/res_features.c.orig 2008-10-16 18:17:33.000000000 +0300
++++ res/res_features.c 2008-10-16 18:49:20.000000000 +0300
+@@ -517,18 +517,6 @@
}
@@ -164,32 +164,38 @@
/*! \brief
* set caller and callee according to the direction
*/
-@@ -1061,32 +1049,35 @@
+@@ -1121,38 +1109,40 @@
+ res = 0;
+ break;
+ }
+- ast_rwlock_unlock(&features_lock);
+
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
-+ ast_rwlock_rdlock(&features_lock);
-+ AST_LIST_LOCK(&feature_list);
++ ast_rwlock_rdlock(&features_lock);
++ AST_LIST_LOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
-+ AST_LIST_UNLOCK(&feature_list);
-+ ast_rwlock_unlock(&features_lock);
++ AST_LIST_UNLOCK(&feature_list);
++ ast_rwlock_unlock(&features_lock);
+}
+
+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result)
{
int x;
- struct ast_flags features;
- int res = FEATURE_RETURN_PASSDIGITS;
struct ast_call_feature *feature;
- const char *dynamic_features;
+ const char *dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
char *tmp, *tok;
+ int res = FEATURE_RETURN_PASSDIGITS;
+ int feature_detected = 0;
- if (sense == FEATURE_SENSE_CHAN) {
- ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
@@ -200,8 +206,8 @@
- }
- if (option_debug > 2)
- ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d dynamic=%s\n", chan->name, peer->name, code, sense, features.flags, dynamic_features);
-+ result->builtin_feature = NULL;
-+ result->num_dyn_features = 0;
++ result->builtin_feature = NULL;
++ result->num_dyn_features = 0;
- ast_rwlock_rdlock(&features_lock);
for (x = 0; x < FEATURES_COUNT; x++) {
@@ -212,18 +218,10 @@
if (!strcmp(builtin_features[x].exten, code)) {
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
+ feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
- if (res == FEATURE_RETURN_PASSDIGITS)
-@@ -1094,7 +1085,6 @@
- }
- }
- }
-- ast_rwlock_unlock(&features_lock);
-
- if (ast_strlen_zero(dynamic_features))
- return res;
-@@ -1102,9 +1092,7 @@
+@@ -1169,9 +1159,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@@ -233,7 +231,7 @@
continue;
}
-@@ -1112,21 +1100,52 @@
+@@ -1179,21 +1167,52 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
diff --git a/net/asterisk10/files/nocodecnego-patch-Makefile b/net/asterisk10/files/nocodecnego-patch-Makefile
index c325d81f10af..cf5e1df564b0 100644
--- a/net/asterisk10/files/nocodecnego-patch-Makefile
+++ b/net/asterisk10/files/nocodecnego-patch-Makefile
@@ -208,16 +208,3 @@
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -654,10 +649,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk10/files/patch-channels::chan_zap.c b/net/asterisk10/files/patch-channels::chan_zap.c
deleted file mode 100644
index ab02c02af962..000000000000
--- a/net/asterisk10/files/patch-channels::chan_zap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-$FreeBSD$
-
---- channels/chan_zap.c.orig Tue Nov 29 20:24:39 2005
-+++ channels/chan_zap.c Fri Jan 13 13:28:33 2006
-@@ -638,6 +638,7 @@ static struct zt_pvt {
- int cidlen;
- int ringt;
- int ringt_base;
-+ int waitnorings;
- int stripmsd;
- int callwaitcas;
- int callwaitrings;
-@@ -2308,6 +2309,19 @@ static int zt_hangup(struct ast_channel
- }
-
- ast_mutex_lock(&p->lock);
-+ switch (p->sig) {
-+ case SIG_FXSGS:
-+ case SIG_FXSKS:
-+ case SIG_FXSLS:
-+ if((ast->_state == AST_STATE_RING) && (p->ringt > 1))
-+ {
-+ p->waitnorings = 1;
-+ }
-+ break;
-+ default:
-+ break;
-+ };
-+
-
- index = zt_get_index(ast, p, 1);
-
-@@ -6129,7 +6143,37 @@ static void *ss_thread(void *data)
- ast_setstate(chan, AST_STATE_RING);
- chan->rings = 1;
- p->ringt = p->ringt_base;
-+ p->waitnorings = 0;
- res = ast_pbx_run(chan);
-+
-+ if(p->waitnorings)
-+ {
-+ p->ringt = p->ringt_base;
-+ for(;;)
-+ {
-+ int i,j=0;
-+ i = ZT_IOMUX_SIGEVENT | ZT_IOMUX_NOWAIT;
-+ if (ioctl(p->subs[index].zfd, ZT_IOMUX, &i) == -1)
-+ break;
-+
-+ if (ioctl(p->subs[index].zfd, ZT_GETEVENT, &j) == -1)
-+ break;
-+
-+ if(j == ZT_EVENT_RINGOFFHOOK)
-+ p->ringt = p->ringt_base;
-+
-+ usleep(20000);
-+
-+ if (p->ringt <= 0)
-+ break;
-+
-+ else if (p->ringt > 0)
-+ p->ringt--;
-+ }
-+ p->ringt = 0;
-+ p->waitnorings = 0;
-+ }
-+
- if (res) {
- ast_hangup(chan);
- ast_log(LOG_WARNING, "PBX exited non-zero\n");
-@@ -6431,7 +6475,7 @@ static void *do_monitor(void *data)
- i = iflist;
- while(i) {
- if ((i->subs[SUB_REAL].zfd > -1) && i->sig && (!i->radio)) {
-- if (!i->owner && !i->subs[SUB_REAL].owner) {
-+ if (!i->owner && !i->subs[SUB_REAL].owner && !i->waitnorings) {
- /* This needs to be watched, as it lacks an owner */
- pfds[count].fd = i->subs[SUB_REAL].zfd;
- pfds[count].events = POLLPRI;
diff --git a/net/asterisk10/pkg-plist b/net/asterisk10/pkg-plist
index 30a17b65c5fb..39eb05a85806 100644
--- a/net/asterisk10/pkg-plist
+++ b/net/asterisk10/pkg-plist
@@ -92,8 +92,8 @@ etc/asterisk/telcordia-1.adsi-dist
etc/asterisk/voicemail.conf-dist
@unexec if cmp -s %D/etc/asterisk/vpb.conf %D/etc/asterisk/vpb.conf-dist; then rm -f %D/etc/asterisk/vpb.conf; fi
etc/asterisk/vpb.conf-dist
-@unexec if cmp -s %D/etc/asterisk/zapata.conf %D/etc/asterisk/zapata.conf-dist; then rm -f %D/etc/asterisk/zapata.conf; fi
-etc/asterisk/zapata.conf-dist
+@unexec if cmp -s %D/etc/asterisk/chan_dahdi.conf %D/etc/asterisk/chan_dahdi.conf-dist; then rm -f %D/etc/asterisk/chan_dahdi.conf; fi
+etc/asterisk/chan_dahdi.conf-dist
@unexec if cmp -s %D/etc/asterisk/udptl.conf %D/etc/asterisk/udptl.conf-dist; then rm -f %D/etc/asterisk/udptl.conf; fi
etc/asterisk/udptl.conf-dist
@unexec if cmp -s %D/etc/asterisk/users.conf %D/etc/asterisk/users.conf-dist; then rm -f %D/etc/asterisk/users.conf; fi
@@ -151,9 +151,9 @@ include/asterisk/compat.h
include/asterisk/compiler.h
include/asterisk/config.h
include/asterisk/crypto.h
+include/asterisk/dahdi_compat.h
include/asterisk/devicestate.h
include/asterisk/dial.h
-include/asterisk/dlfcn-compat.h
include/asterisk/dns.h
include/asterisk/dnsmgr.h
include/asterisk/doxyref.h
@@ -204,6 +204,7 @@ include/asterisk/tdd.h
include/asterisk/term.h
include/asterisk/threadstorage.h
include/asterisk/time.h
+include/asterisk/tonezone_compat.h
include/asterisk/transcap.h
include/asterisk/translate.h
include/asterisk/udptl.h
@@ -807,14 +808,13 @@ share/asterisk/static-http/prototype.js
%%WITH_ZAPTEL%%lib/asterisk/modules/app_flash.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_meetme.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_page.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapbarge.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapras.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapscan.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdibarge.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiras.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiscan.so
%%WITH_ODBC%%lib/asterisk/modules/cdr_odbc.so
%%WITH_FREETDS%%lib/asterisk/modules/cdr_tds.so
%%WITH_H323%%lib/asterisk/modules/chan_h323.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/chan_zap.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/codec_zap.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/chan_dahdi.so
%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
@dirrm share/asterisk/static-http
diff --git a/net/asterisk14/Makefile b/net/asterisk14/Makefile
index 7a26149ab87a..04c3e76a12cd 100644
--- a/net/asterisk14/Makefile
+++ b/net/asterisk14/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= asterisk
-PORTVERSION= 1.4.21.2
-PORTREVISION= 5
+PORTVERSION= 1.4.22
CATEGORIES= net
MASTER_SITES= http://ftp.digium.com/pub/asterisk/ \
http://ftp.digium.com/pub/asterisk/old-releases/
@@ -167,7 +166,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
-PATCHFILES= asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz
+PATCHFILES= asterisk-1.4.22-codec-negotiation-20081110.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else
diff --git a/net/asterisk14/distinfo b/net/asterisk14/distinfo
index 6ad2bde8020c..4dabf084e6bc 100644
--- a/net/asterisk14/distinfo
+++ b/net/asterisk14/distinfo
@@ -1,6 +1,6 @@
-MD5 (asterisk-1.4.21.2.tar.gz) = 46881e1345eca21ea13a7d5b1036fa6e
-SHA256 (asterisk-1.4.21.2.tar.gz) = 27c3bb0e47c6f762c0ce701cd97b5f23fd3424984523bf353593b77a696ea8b5
-SIZE (asterisk-1.4.21.2.tar.gz) = 11528693
-MD5 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 3e4e21dd15a7629c5058ba59bb689d82
-SHA256 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 646617020c71631e9a0d4544e6e4211f68769732d03ec65f94220e73ba0250fe
-SIZE (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 39255
+MD5 (asterisk-1.4.22.tar.gz) = 7626febc4a01e16e012dfccb9e4ab9d2
+SHA256 (asterisk-1.4.22.tar.gz) = 7a6d80ed8de3a1bfd7f2c3442ec5eb1da3eeaff6ace1a3c04578848181eee79a
+SIZE (asterisk-1.4.22.tar.gz) = 11598693
+MD5 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 56aeedb24ea3042138b68792b8edbc40
+SHA256 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = fb765bdd6aa028ae519648348e9c7d2a91a2338079f9d32f89022d2dbb4b434b
+SIZE (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 40040
diff --git a/net/asterisk14/files/codecnego-patch-Makefile b/net/asterisk14/files/codecnego-patch-Makefile
index e6b6ac476b42..0146d59c7b21 100644
--- a/net/asterisk14/files/codecnego-patch-Makefile
+++ b/net/asterisk14/files/codecnego-patch-Makefile
@@ -1,8 +1,5 @@
-
-$FreeBSD$
-
---- Makefile.orig
-+++ Makefile
+--- Makefile.orig 2008-10-16 17:36:35.000000000 +0300
++++ Makefile 2008-10-16 17:36:36.000000000 +0300
@@ -129,7 +129,7 @@
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
@@ -15,16 +12,16 @@ $FreeBSD$
@@ -214,9 +214,11 @@
ASTLDFLAGS+=-L/usr/local/lib
endif
-
+
+ifneq ($(OSARCH),FreeBSD)
ifneq ($(PROC),ultrasparc)
ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
endif
+endif
-
+
ifeq ($(PROC),ppc)
ASTCFLAGS+=-fsigned-char
-@@ -224,7 +224,7 @@
+@@ -224,7 +226,7 @@
ifeq ($(OSARCH),FreeBSD)
# -V is understood by BSD Make, not by GNU make.
@@ -33,7 +30,7 @@ $FreeBSD$
ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
endif
-@@ -404,15 +404,15 @@
+@@ -401,15 +403,15 @@
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
@@ -54,7 +51,7 @@ $FreeBSD$
$(MAKE) -C sounds install
update:
-@@ -433,47 +433,47 @@
+@@ -430,47 +432,47 @@
OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
installdirs:
@@ -134,7 +131,7 @@ $FreeBSD$
fi
$(SUBDIRS_INSTALL):
-@@ -507,7 +507,7 @@
+@@ -506,7 +508,7 @@
@exit 1
endif
@@ -143,7 +140,7 @@ $FreeBSD$
@if [ -x /usr/sbin/asterisk-post-install ]; then \
/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
fi
-@@ -545,31 +545,23 @@
+@@ -544,31 +546,23 @@
upgrade: bininstall
adsi:
@@ -183,7 +180,7 @@ $FreeBSD$
( \
echo "[directories]" ; \
echo "astetcdir => $(ASTETCDIR)" ; \
-@@ -655,20 +647,23 @@
+@@ -655,20 +649,23 @@
echo "; Default: strict"; \
echo ";"; \
echo ";translation_algorithm = strict"; \
@@ -211,16 +208,3 @@ $FreeBSD$
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -695,10 +690,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk14/files/feature_disconnect.diff b/net/asterisk14/files/feature_disconnect.diff
index 5be713b0da13..a712e906c924 100644
--- a/net/asterisk14/files/feature_disconnect.diff
+++ b/net/asterisk14/files/feature_disconnect.diff
@@ -143,9 +143,9 @@
+
#endif /* _AST_FEATURES_H */
---- res/res_features.c.orig 2008-04-08 14:55:25.000000000 +0300
-+++ res/res_features.c 2008-04-08 14:59:59.000000000 +0300
-@@ -485,18 +485,6 @@
+--- res/res_features.c.orig 2008-10-16 18:17:33.000000000 +0300
++++ res/res_features.c 2008-10-16 18:49:20.000000000 +0300
+@@ -517,18 +517,6 @@
}
@@ -164,32 +164,38 @@
/*! \brief
* set caller and callee according to the direction
*/
-@@ -1061,32 +1049,35 @@
+@@ -1121,38 +1109,40 @@
+ res = 0;
+ break;
+ }
+- ast_rwlock_unlock(&features_lock);
+
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
-+ ast_rwlock_rdlock(&features_lock);
-+ AST_LIST_LOCK(&feature_list);
++ ast_rwlock_rdlock(&features_lock);
++ AST_LIST_LOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
-+ AST_LIST_UNLOCK(&feature_list);
-+ ast_rwlock_unlock(&features_lock);
++ AST_LIST_UNLOCK(&feature_list);
++ ast_rwlock_unlock(&features_lock);
+}
+
+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result)
{
int x;
- struct ast_flags features;
- int res = FEATURE_RETURN_PASSDIGITS;
struct ast_call_feature *feature;
- const char *dynamic_features;
+ const char *dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
char *tmp, *tok;
+ int res = FEATURE_RETURN_PASSDIGITS;
+ int feature_detected = 0;
- if (sense == FEATURE_SENSE_CHAN) {
- ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
@@ -200,8 +206,8 @@
- }
- if (option_debug > 2)
- ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d dynamic=%s\n", chan->name, peer->name, code, sense, features.flags, dynamic_features);
-+ result->builtin_feature = NULL;
-+ result->num_dyn_features = 0;
++ result->builtin_feature = NULL;
++ result->num_dyn_features = 0;
- ast_rwlock_rdlock(&features_lock);
for (x = 0; x < FEATURES_COUNT; x++) {
@@ -212,18 +218,10 @@
if (!strcmp(builtin_features[x].exten, code)) {
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
+ feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
- if (res == FEATURE_RETURN_PASSDIGITS)
-@@ -1094,7 +1085,6 @@
- }
- }
- }
-- ast_rwlock_unlock(&features_lock);
-
- if (ast_strlen_zero(dynamic_features))
- return res;
-@@ -1102,9 +1092,7 @@
+@@ -1169,9 +1159,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@@ -233,7 +231,7 @@
continue;
}
-@@ -1112,21 +1100,52 @@
+@@ -1179,21 +1167,52 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
diff --git a/net/asterisk14/files/nocodecnego-patch-Makefile b/net/asterisk14/files/nocodecnego-patch-Makefile
index c325d81f10af..cf5e1df564b0 100644
--- a/net/asterisk14/files/nocodecnego-patch-Makefile
+++ b/net/asterisk14/files/nocodecnego-patch-Makefile
@@ -208,16 +208,3 @@
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -654,10 +649,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk14/files/patch-channels::chan_zap.c b/net/asterisk14/files/patch-channels::chan_zap.c
deleted file mode 100644
index ab02c02af962..000000000000
--- a/net/asterisk14/files/patch-channels::chan_zap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-$FreeBSD$
-
---- channels/chan_zap.c.orig Tue Nov 29 20:24:39 2005
-+++ channels/chan_zap.c Fri Jan 13 13:28:33 2006
-@@ -638,6 +638,7 @@ static struct zt_pvt {
- int cidlen;
- int ringt;
- int ringt_base;
-+ int waitnorings;
- int stripmsd;
- int callwaitcas;
- int callwaitrings;
-@@ -2308,6 +2309,19 @@ static int zt_hangup(struct ast_channel
- }
-
- ast_mutex_lock(&p->lock);
-+ switch (p->sig) {
-+ case SIG_FXSGS:
-+ case SIG_FXSKS:
-+ case SIG_FXSLS:
-+ if((ast->_state == AST_STATE_RING) && (p->ringt > 1))
-+ {
-+ p->waitnorings = 1;
-+ }
-+ break;
-+ default:
-+ break;
-+ };
-+
-
- index = zt_get_index(ast, p, 1);
-
-@@ -6129,7 +6143,37 @@ static void *ss_thread(void *data)
- ast_setstate(chan, AST_STATE_RING);
- chan->rings = 1;
- p->ringt = p->ringt_base;
-+ p->waitnorings = 0;
- res = ast_pbx_run(chan);
-+
-+ if(p->waitnorings)
-+ {
-+ p->ringt = p->ringt_base;
-+ for(;;)
-+ {
-+ int i,j=0;
-+ i = ZT_IOMUX_SIGEVENT | ZT_IOMUX_NOWAIT;
-+ if (ioctl(p->subs[index].zfd, ZT_IOMUX, &i) == -1)
-+ break;
-+
-+ if (ioctl(p->subs[index].zfd, ZT_GETEVENT, &j) == -1)
-+ break;
-+
-+ if(j == ZT_EVENT_RINGOFFHOOK)
-+ p->ringt = p->ringt_base;
-+
-+ usleep(20000);
-+
-+ if (p->ringt <= 0)
-+ break;
-+
-+ else if (p->ringt > 0)
-+ p->ringt--;
-+ }
-+ p->ringt = 0;
-+ p->waitnorings = 0;
-+ }
-+
- if (res) {
- ast_hangup(chan);
- ast_log(LOG_WARNING, "PBX exited non-zero\n");
-@@ -6431,7 +6475,7 @@ static void *do_monitor(void *data)
- i = iflist;
- while(i) {
- if ((i->subs[SUB_REAL].zfd > -1) && i->sig && (!i->radio)) {
-- if (!i->owner && !i->subs[SUB_REAL].owner) {
-+ if (!i->owner && !i->subs[SUB_REAL].owner && !i->waitnorings) {
- /* This needs to be watched, as it lacks an owner */
- pfds[count].fd = i->subs[SUB_REAL].zfd;
- pfds[count].events = POLLPRI;
diff --git a/net/asterisk14/pkg-plist b/net/asterisk14/pkg-plist
index 30a17b65c5fb..39eb05a85806 100644
--- a/net/asterisk14/pkg-plist
+++ b/net/asterisk14/pkg-plist
@@ -92,8 +92,8 @@ etc/asterisk/telcordia-1.adsi-dist
etc/asterisk/voicemail.conf-dist
@unexec if cmp -s %D/etc/asterisk/vpb.conf %D/etc/asterisk/vpb.conf-dist; then rm -f %D/etc/asterisk/vpb.conf; fi
etc/asterisk/vpb.conf-dist
-@unexec if cmp -s %D/etc/asterisk/zapata.conf %D/etc/asterisk/zapata.conf-dist; then rm -f %D/etc/asterisk/zapata.conf; fi
-etc/asterisk/zapata.conf-dist
+@unexec if cmp -s %D/etc/asterisk/chan_dahdi.conf %D/etc/asterisk/chan_dahdi.conf-dist; then rm -f %D/etc/asterisk/chan_dahdi.conf; fi
+etc/asterisk/chan_dahdi.conf-dist
@unexec if cmp -s %D/etc/asterisk/udptl.conf %D/etc/asterisk/udptl.conf-dist; then rm -f %D/etc/asterisk/udptl.conf; fi
etc/asterisk/udptl.conf-dist
@unexec if cmp -s %D/etc/asterisk/users.conf %D/etc/asterisk/users.conf-dist; then rm -f %D/etc/asterisk/users.conf; fi
@@ -151,9 +151,9 @@ include/asterisk/compat.h
include/asterisk/compiler.h
include/asterisk/config.h
include/asterisk/crypto.h
+include/asterisk/dahdi_compat.h
include/asterisk/devicestate.h
include/asterisk/dial.h
-include/asterisk/dlfcn-compat.h
include/asterisk/dns.h
include/asterisk/dnsmgr.h
include/asterisk/doxyref.h
@@ -204,6 +204,7 @@ include/asterisk/tdd.h
include/asterisk/term.h
include/asterisk/threadstorage.h
include/asterisk/time.h
+include/asterisk/tonezone_compat.h
include/asterisk/transcap.h
include/asterisk/translate.h
include/asterisk/udptl.h
@@ -807,14 +808,13 @@ share/asterisk/static-http/prototype.js
%%WITH_ZAPTEL%%lib/asterisk/modules/app_flash.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_meetme.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_page.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapbarge.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapras.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapscan.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdibarge.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiras.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiscan.so
%%WITH_ODBC%%lib/asterisk/modules/cdr_odbc.so
%%WITH_FREETDS%%lib/asterisk/modules/cdr_tds.so
%%WITH_H323%%lib/asterisk/modules/chan_h323.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/chan_zap.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/codec_zap.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/chan_dahdi.so
%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
@dirrm share/asterisk/static-http
diff --git a/net/asterisk16/Makefile b/net/asterisk16/Makefile
index 7a26149ab87a..04c3e76a12cd 100644
--- a/net/asterisk16/Makefile
+++ b/net/asterisk16/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= asterisk
-PORTVERSION= 1.4.21.2
-PORTREVISION= 5
+PORTVERSION= 1.4.22
CATEGORIES= net
MASTER_SITES= http://ftp.digium.com/pub/asterisk/ \
http://ftp.digium.com/pub/asterisk/old-releases/
@@ -167,7 +166,7 @@ EXTRA_PATCHES+= ${PATCHDIR}/ilbc_enable.diff
.endif
.if defined(WITH_CODEC_PATCH)
-PATCHFILES= asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz
+PATCHFILES= asterisk-1.4.22-codec-negotiation-20081110.diff.gz
PATCH_SITES= http://b2bua.org/chrome/site/
EXTRA_PATCHES+= ${PATCHDIR}/codecnego-patch-Makefile
.else
diff --git a/net/asterisk16/distinfo b/net/asterisk16/distinfo
index 6ad2bde8020c..4dabf084e6bc 100644
--- a/net/asterisk16/distinfo
+++ b/net/asterisk16/distinfo
@@ -1,6 +1,6 @@
-MD5 (asterisk-1.4.21.2.tar.gz) = 46881e1345eca21ea13a7d5b1036fa6e
-SHA256 (asterisk-1.4.21.2.tar.gz) = 27c3bb0e47c6f762c0ce701cd97b5f23fd3424984523bf353593b77a696ea8b5
-SIZE (asterisk-1.4.21.2.tar.gz) = 11528693
-MD5 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 3e4e21dd15a7629c5058ba59bb689d82
-SHA256 (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 646617020c71631e9a0d4544e6e4211f68769732d03ec65f94220e73ba0250fe
-SIZE (asterisk-1.4.21.1-codec-negotiation-20080715.diff.gz) = 39255
+MD5 (asterisk-1.4.22.tar.gz) = 7626febc4a01e16e012dfccb9e4ab9d2
+SHA256 (asterisk-1.4.22.tar.gz) = 7a6d80ed8de3a1bfd7f2c3442ec5eb1da3eeaff6ace1a3c04578848181eee79a
+SIZE (asterisk-1.4.22.tar.gz) = 11598693
+MD5 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 56aeedb24ea3042138b68792b8edbc40
+SHA256 (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = fb765bdd6aa028ae519648348e9c7d2a91a2338079f9d32f89022d2dbb4b434b
+SIZE (asterisk-1.4.22-codec-negotiation-20081110.diff.gz) = 40040
diff --git a/net/asterisk16/files/codecnego-patch-Makefile b/net/asterisk16/files/codecnego-patch-Makefile
index e6b6ac476b42..0146d59c7b21 100644
--- a/net/asterisk16/files/codecnego-patch-Makefile
+++ b/net/asterisk16/files/codecnego-patch-Makefile
@@ -1,8 +1,5 @@
-
-$FreeBSD$
-
---- Makefile.orig
-+++ Makefile
+--- Makefile.orig 2008-10-16 17:36:35.000000000 +0300
++++ Makefile 2008-10-16 17:36:36.000000000 +0300
@@ -129,7 +129,7 @@
ASTMANDIR=$(mandir)
ifneq ($(findstring BSD,$(OSARCH)),)
@@ -15,16 +12,16 @@ $FreeBSD$
@@ -214,9 +214,11 @@
ASTLDFLAGS+=-L/usr/local/lib
endif
-
+
+ifneq ($(OSARCH),FreeBSD)
ifneq ($(PROC),ultrasparc)
ASTCFLAGS+=$(shell if $(CC) -march=$(PROC) -S -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-march=$(PROC)"; fi)
endif
+endif
-
+
ifeq ($(PROC),ppc)
ASTCFLAGS+=-fsigned-char
-@@ -224,7 +224,7 @@
+@@ -224,7 +226,7 @@
ifeq ($(OSARCH),FreeBSD)
# -V is understood by BSD Make, not by GNU make.
@@ -33,7 +30,7 @@ $FreeBSD$
ASTCFLAGS+=$(shell if test $(BSDVERSION) -lt 500016 ; then echo "-D_THREAD_SAFE"; fi)
AST_LIBS+=$(shell if test $(BSDVERSION) -lt 502102 ; then echo "-lc_r"; else echo "-pthread"; fi)
endif
-@@ -404,15 +404,15 @@
+@@ -401,15 +403,15 @@
# Should static HTTP be installed during make samples or even with its own target ala
# webvoicemail? There are portions here that *could* be customized but might also be
# improved a lot. I'll put it here for now.
@@ -54,7 +51,7 @@ $FreeBSD$
$(MAKE) -C sounds install
update:
-@@ -433,47 +433,47 @@
+@@ -430,47 +432,47 @@
OLDHEADERS=$(filter-out $(NEWHEADERS),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
installdirs:
@@ -134,7 +131,7 @@ $FreeBSD$
fi
$(SUBDIRS_INSTALL):
-@@ -507,7 +507,7 @@
+@@ -506,7 +508,7 @@
@exit 1
endif
@@ -143,7 +140,7 @@ $FreeBSD$
@if [ -x /usr/sbin/asterisk-post-install ]; then \
/usr/sbin/asterisk-post-install $(DESTDIR) . ; \
fi
-@@ -545,31 +545,23 @@
+@@ -544,31 +546,23 @@
upgrade: bininstall
adsi:
@@ -183,7 +180,7 @@ $FreeBSD$
( \
echo "[directories]" ; \
echo "astetcdir => $(ASTETCDIR)" ; \
-@@ -655,20 +647,23 @@
+@@ -655,20 +649,23 @@
echo "; Default: strict"; \
echo ";"; \
echo ";translation_algorithm = strict"; \
@@ -211,16 +208,3 @@ $FreeBSD$
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -695,10 +690,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk16/files/feature_disconnect.diff b/net/asterisk16/files/feature_disconnect.diff
index 5be713b0da13..a712e906c924 100644
--- a/net/asterisk16/files/feature_disconnect.diff
+++ b/net/asterisk16/files/feature_disconnect.diff
@@ -143,9 +143,9 @@
+
#endif /* _AST_FEATURES_H */
---- res/res_features.c.orig 2008-04-08 14:55:25.000000000 +0300
-+++ res/res_features.c 2008-04-08 14:59:59.000000000 +0300
-@@ -485,18 +485,6 @@
+--- res/res_features.c.orig 2008-10-16 18:17:33.000000000 +0300
++++ res/res_features.c 2008-10-16 18:49:20.000000000 +0300
+@@ -517,18 +517,6 @@
}
@@ -164,32 +164,38 @@
/*! \brief
* set caller and callee according to the direction
*/
-@@ -1061,32 +1049,35 @@
+@@ -1121,38 +1109,40 @@
+ res = 0;
+ break;
+ }
+- ast_rwlock_unlock(&features_lock);
+
return res;
}
-static int ast_feature_interpret(struct ast_channel *chan, struct ast_channel *peer, struct ast_bridge_config *config, char *code, int sense)
+void ast_features_lock(void)
+{
-+ ast_rwlock_rdlock(&features_lock);
-+ AST_LIST_LOCK(&feature_list);
++ ast_rwlock_rdlock(&features_lock);
++ AST_LIST_LOCK(&feature_list);
+}
+
+void ast_features_unlock(void)
+{
-+ AST_LIST_UNLOCK(&feature_list);
-+ ast_rwlock_unlock(&features_lock);
++ AST_LIST_UNLOCK(&feature_list);
++ ast_rwlock_unlock(&features_lock);
+}
+
+int ast_feature_detect(struct ast_channel *chan, const struct ast_flags *features, char *code, struct feature_interpret_result *result)
{
int x;
- struct ast_flags features;
- int res = FEATURE_RETURN_PASSDIGITS;
struct ast_call_feature *feature;
- const char *dynamic_features;
+ const char *dynamic_features = pbx_builtin_getvar_helper(chan, "DYNAMIC_FEATURES");
char *tmp, *tok;
+ int res = FEATURE_RETURN_PASSDIGITS;
+ int feature_detected = 0;
- if (sense == FEATURE_SENSE_CHAN) {
- ast_copy_flags(&features, &(config->features_caller), AST_FLAGS_ALL);
@@ -200,8 +206,8 @@
- }
- if (option_debug > 2)
- ast_log(LOG_DEBUG, "Feature interpret: chan=%s, peer=%s, code=%s, sense=%d, features=%d dynamic=%s\n", chan->name, peer->name, code, sense, features.flags, dynamic_features);
-+ result->builtin_feature = NULL;
-+ result->num_dyn_features = 0;
++ result->builtin_feature = NULL;
++ result->num_dyn_features = 0;
- ast_rwlock_rdlock(&features_lock);
for (x = 0; x < FEATURES_COUNT; x++) {
@@ -212,18 +218,10 @@
if (!strcmp(builtin_features[x].exten, code)) {
- res = builtin_features[x].operation(chan, peer, config, code, sense, NULL);
+ result->builtin_feature = &builtin_features[x];
+ feature_detected = 1;
break;
} else if (!strncmp(builtin_features[x].exten, code, strlen(code))) {
- if (res == FEATURE_RETURN_PASSDIGITS)
-@@ -1094,7 +1085,6 @@
- }
- }
- }
-- ast_rwlock_unlock(&features_lock);
-
- if (ast_strlen_zero(dynamic_features))
- return res;
-@@ -1102,9 +1092,7 @@
+@@ -1169,9 +1159,7 @@
tmp = ast_strdupa(dynamic_features);
while ((tok = strsep(&tmp, "#"))) {
@@ -233,7 +231,7 @@
continue;
}
-@@ -1112,21 +1100,52 @@
+@@ -1179,21 +1167,52 @@
if (!strcmp(feature->exten, code)) {
if (option_verbose > 2)
ast_verbose(VERBOSE_PREFIX_3 " Feature Found: %s exten: %s\n",feature->sname, tok);
diff --git a/net/asterisk16/files/nocodecnego-patch-Makefile b/net/asterisk16/files/nocodecnego-patch-Makefile
index c325d81f10af..cf5e1df564b0 100644
--- a/net/asterisk16/files/nocodecnego-patch-Makefile
+++ b/net/asterisk16/files/nocodecnego-patch-Makefile
@@ -208,16 +208,3 @@
done
@echo " +--------- Asterisk Web Voicemail ----------+"
@echo " + +"
-@@ -654,10 +649,10 @@
-
- __rpm: include/asterisk/version.h include/asterisk/buildopts.h spec
- rm -rf /tmp/asterisk ; \
-- mkdir -p /tmp/asterisk/redhat/RPMS/i386 ; \
-+ $(MKDIR) /tmp/asterisk/redhat/RPMS/i386 ; \
- $(MAKE) DESTDIR=/tmp/asterisk install ; \
- $(MAKE) DESTDIR=/tmp/asterisk samples ; \
-- mkdir -p /tmp/asterisk/etc/rc.d/init.d ; \
-+ $(MKDIR) /tmp/asterisk/etc/rc.d/init.d ; \
- cp -f contrib/init.d/rc.redhat.asterisk /tmp/asterisk/etc/rc.d/init.d/asterisk ; \
- rpmbuild --rcfile /usr/lib/rpm/rpmrc:redhat/rpmrc -bb asterisk.spec
-
diff --git a/net/asterisk16/files/patch-channels::chan_zap.c b/net/asterisk16/files/patch-channels::chan_zap.c
deleted file mode 100644
index ab02c02af962..000000000000
--- a/net/asterisk16/files/patch-channels::chan_zap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-
-$FreeBSD$
-
---- channels/chan_zap.c.orig Tue Nov 29 20:24:39 2005
-+++ channels/chan_zap.c Fri Jan 13 13:28:33 2006
-@@ -638,6 +638,7 @@ static struct zt_pvt {
- int cidlen;
- int ringt;
- int ringt_base;
-+ int waitnorings;
- int stripmsd;
- int callwaitcas;
- int callwaitrings;
-@@ -2308,6 +2309,19 @@ static int zt_hangup(struct ast_channel
- }
-
- ast_mutex_lock(&p->lock);
-+ switch (p->sig) {
-+ case SIG_FXSGS:
-+ case SIG_FXSKS:
-+ case SIG_FXSLS:
-+ if((ast->_state == AST_STATE_RING) && (p->ringt > 1))
-+ {
-+ p->waitnorings = 1;
-+ }
-+ break;
-+ default:
-+ break;
-+ };
-+
-
- index = zt_get_index(ast, p, 1);
-
-@@ -6129,7 +6143,37 @@ static void *ss_thread(void *data)
- ast_setstate(chan, AST_STATE_RING);
- chan->rings = 1;
- p->ringt = p->ringt_base;
-+ p->waitnorings = 0;
- res = ast_pbx_run(chan);
-+
-+ if(p->waitnorings)
-+ {
-+ p->ringt = p->ringt_base;
-+ for(;;)
-+ {
-+ int i,j=0;
-+ i = ZT_IOMUX_SIGEVENT | ZT_IOMUX_NOWAIT;
-+ if (ioctl(p->subs[index].zfd, ZT_IOMUX, &i) == -1)
-+ break;
-+
-+ if (ioctl(p->subs[index].zfd, ZT_GETEVENT, &j) == -1)
-+ break;
-+
-+ if(j == ZT_EVENT_RINGOFFHOOK)
-+ p->ringt = p->ringt_base;
-+
-+ usleep(20000);
-+
-+ if (p->ringt <= 0)
-+ break;
-+
-+ else if (p->ringt > 0)
-+ p->ringt--;
-+ }
-+ p->ringt = 0;
-+ p->waitnorings = 0;
-+ }
-+
- if (res) {
- ast_hangup(chan);
- ast_log(LOG_WARNING, "PBX exited non-zero\n");
-@@ -6431,7 +6475,7 @@ static void *do_monitor(void *data)
- i = iflist;
- while(i) {
- if ((i->subs[SUB_REAL].zfd > -1) && i->sig && (!i->radio)) {
-- if (!i->owner && !i->subs[SUB_REAL].owner) {
-+ if (!i->owner && !i->subs[SUB_REAL].owner && !i->waitnorings) {
- /* This needs to be watched, as it lacks an owner */
- pfds[count].fd = i->subs[SUB_REAL].zfd;
- pfds[count].events = POLLPRI;
diff --git a/net/asterisk16/pkg-plist b/net/asterisk16/pkg-plist
index 30a17b65c5fb..39eb05a85806 100644
--- a/net/asterisk16/pkg-plist
+++ b/net/asterisk16/pkg-plist
@@ -92,8 +92,8 @@ etc/asterisk/telcordia-1.adsi-dist
etc/asterisk/voicemail.conf-dist
@unexec if cmp -s %D/etc/asterisk/vpb.conf %D/etc/asterisk/vpb.conf-dist; then rm -f %D/etc/asterisk/vpb.conf; fi
etc/asterisk/vpb.conf-dist
-@unexec if cmp -s %D/etc/asterisk/zapata.conf %D/etc/asterisk/zapata.conf-dist; then rm -f %D/etc/asterisk/zapata.conf; fi
-etc/asterisk/zapata.conf-dist
+@unexec if cmp -s %D/etc/asterisk/chan_dahdi.conf %D/etc/asterisk/chan_dahdi.conf-dist; then rm -f %D/etc/asterisk/chan_dahdi.conf; fi
+etc/asterisk/chan_dahdi.conf-dist
@unexec if cmp -s %D/etc/asterisk/udptl.conf %D/etc/asterisk/udptl.conf-dist; then rm -f %D/etc/asterisk/udptl.conf; fi
etc/asterisk/udptl.conf-dist
@unexec if cmp -s %D/etc/asterisk/users.conf %D/etc/asterisk/users.conf-dist; then rm -f %D/etc/asterisk/users.conf; fi
@@ -151,9 +151,9 @@ include/asterisk/compat.h
include/asterisk/compiler.h
include/asterisk/config.h
include/asterisk/crypto.h
+include/asterisk/dahdi_compat.h
include/asterisk/devicestate.h
include/asterisk/dial.h
-include/asterisk/dlfcn-compat.h
include/asterisk/dns.h
include/asterisk/dnsmgr.h
include/asterisk/doxyref.h
@@ -204,6 +204,7 @@ include/asterisk/tdd.h
include/asterisk/term.h
include/asterisk/threadstorage.h
include/asterisk/time.h
+include/asterisk/tonezone_compat.h
include/asterisk/transcap.h
include/asterisk/translate.h
include/asterisk/udptl.h
@@ -807,14 +808,13 @@ share/asterisk/static-http/prototype.js
%%WITH_ZAPTEL%%lib/asterisk/modules/app_flash.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_meetme.so
%%WITH_ZAPTEL%%lib/asterisk/modules/app_page.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapbarge.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapras.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/app_zapscan.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdibarge.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiras.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/app_dahdiscan.so
%%WITH_ODBC%%lib/asterisk/modules/cdr_odbc.so
%%WITH_FREETDS%%lib/asterisk/modules/cdr_tds.so
%%WITH_H323%%lib/asterisk/modules/chan_h323.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/chan_zap.so
-%%WITH_ZAPTEL%%lib/asterisk/modules/codec_zap.so
+%%WITH_ZAPTEL%%lib/asterisk/modules/chan_dahdi.so
%%WITH_ODBC%%lib/asterisk/modules/res_config_odbc.so
%%WITH_ODBC%%lib/asterisk/modules/res_odbc.so
@dirrm share/asterisk/static-http