aboutsummaryrefslogtreecommitdiffstats
path: root/net/asterisk14-addons
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2011-11-09 09:28:30 +0800
committersobomax <sobomax@FreeBSD.org>2011-11-09 09:28:30 +0800
commite4dc36673245972ddd2913cafd67976c4caec4f9 (patch)
tree8dbfa1e364081686a11be6708fe4e79afa14f5ef /net/asterisk14-addons
parente5afdd9c45193f97959749a844ee13db0060252c (diff)
downloadfreebsd-ports-gnome-e4dc36673245972ddd2913cafd67976c4caec4f9.tar.gz
freebsd-ports-gnome-e4dc36673245972ddd2913cafd67976c4caec4f9.tar.zst
freebsd-ports-gnome-e4dc36673245972ddd2913cafd67976c4caec4f9.zip
Resurrect net/asterisk14-addons and upgrade to latest 1.4.13. Assign
maintainership to bamby@sippysoft.com, apparently old maintainer has no interest in maintaining this.
Diffstat (limited to 'net/asterisk14-addons')
-rw-r--r--net/asterisk14-addons/Makefile49
-rw-r--r--net/asterisk14-addons/distinfo2
-rw-r--r--net/asterisk14-addons/files/codecnego.diff215
-rw-r--r--net/asterisk14-addons/files/patch-Makefile11
-rw-r--r--net/asterisk14-addons/pkg-descr5
-rw-r--r--net/asterisk14-addons/pkg-plist10
6 files changed, 292 insertions, 0 deletions
diff --git a/net/asterisk14-addons/Makefile b/net/asterisk14-addons/Makefile
new file mode 100644
index 000000000000..4df9fdc3e057
--- /dev/null
+++ b/net/asterisk14-addons/Makefile
@@ -0,0 +1,49 @@
+# New ports collection makefile for: asterisk-addons
+# Date created: 23 March 2006
+# Whom: Fabian Gast <fgast@only640k.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= asterisk14
+PORTVERSION= 1.4.13
+CATEGORIES= net
+MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/ \
+ http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/
+PKGNAMESUFFIX= -addons
+DISTNAME= asterisk${PKGNAMESUFFIX}-${DISTVERSION}
+
+MAINTAINER= bamby@sippysoft.com
+COMMENT= GPL modules for the Asterisk Open Source PBX
+
+BUILD_DEPENDS= asterisk:${PORTSDIR}/net/asterisk14
+RUN_DEPENDS= asterisk:${PORTSDIR}/net/asterisk14
+
+OPTIONS= SAMPLE_CONFIG "Install sample configuration files" off
+
+ONLY_FOR_ARCHS= i386 amd64 powerpc
+USE_AUTOTOOLS= libtool
+USE_MYSQL= yes
+USE_GMAKE= yes
+GNU_CONFIGURE= yes
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_SAMPLE_CONFIG)
+PLIST_SUB+= SAMPLE_CONFIG=""
+.else
+PLIST_SUB+= SAMPLE_CONFIG="@comment "
+.endif
+
+pre-configure:
+ if ${GREP} -sq fixup_codecs ${LOCALBASE}/include/asterisk/channel.h; \
+ then \
+ ${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/codecnego.diff; \
+ fi
+
+post-install:
+.if defined(WITH_SAMPLE_CONFIG)
+ @cd ${WRKSRC} && ${GMAKE} samples
+.endif
+
+.include <bsd.port.post.mk>
diff --git a/net/asterisk14-addons/distinfo b/net/asterisk14-addons/distinfo
new file mode 100644
index 000000000000..4e9b9fff2fd9
--- /dev/null
+++ b/net/asterisk14-addons/distinfo
@@ -0,0 +1,2 @@
+SHA256 (asterisk-addons-1.4.13.tar.gz) = 4041b4a3071ce64537ad97d0961e69dc699b59436da9bb6aaf6a6394bfc8e967
+SIZE (asterisk-addons-1.4.13.tar.gz) = 825032
diff --git a/net/asterisk14-addons/files/codecnego.diff b/net/asterisk14-addons/files/codecnego.diff
new file mode 100644
index 000000000000..0cfe569b41ea
--- /dev/null
+++ b/net/asterisk14-addons/files/codecnego.diff
@@ -0,0 +1,215 @@
+--- channels/chan_ooh323.c.orig 2007-07-21 15:17:52.000000000 +0800
++++ channels/chan_ooh323.c 2008-02-13 15:37:17.000000000 +0800
+@@ -42,8 +42,8 @@
+
+
+ /* Channel Definition */
+-static struct ast_channel *ooh323_request(const char *type, int format,
+- void *data, int *cause);
++static struct ast_channel *ooh323_request(const char *type, const struct ast_codec_pref *format, void *data, int *cause);
++
+ static int ooh323_digit_begin(struct ast_channel *ast, char digit);
+ static int ooh323_digit_end(struct ast_channel *ast, char digit, unsigned int duration);
+ static int ooh323_call(struct ast_channel *ast, char *dest, int timeout);
+@@ -57,8 +57,7 @@
+
+ static enum ast_rtp_get_result ooh323_get_rtp_peer(struct ast_channel *chan, struct ast_rtp **rtp);
+ static enum ast_rtp_get_result ooh323_get_vrtp_peer(struct ast_channel *chan, struct ast_rtp **rtp);
+-static int ooh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp,
+- struct ast_rtp *vrtp, int codecs, int nat_active);
++static int ooh323_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp, struct ast_rtp *vrtp, const struct ast_codec_pref *codecs, int nat_active);
+
+ static void print_codec_to_cli(int fd, struct ast_codec_pref *pref);
+ static void ast_ooh323c_exit();
+@@ -244,6 +243,7 @@
+ {
+ struct ast_channel *ch = NULL;
+ int fmt;
++ int cap;
+ if(gH323Debug)
+ ast_log(LOG_DEBUG, "--- ooh323_new - %s\n", host);
+
+@@ -258,10 +258,11 @@
+ ast_mutex_lock(&ch->lock);
+ ch->tech = &ooh323_tech;
+
+- ch->nativeformats = i->capability;
+-
++ ast_codec_pref_init(&ch->nativeformats);
++ ast_codec_pref_append_missing2(&ch->nativeformats, i->capability);
+
+- fmt = ast_best_codec(ch->nativeformats);
++ cap = ast_codec_pref_bits(&ch->nativeformats);
++ fmt = ast_best_codec(cap);
+
+ ch->fds[0] = ast_rtp_fd(i->rtp);
+ ch->fds[1] = ast_rtcp_fd(i->rtp);
+@@ -451,8 +452,7 @@
+ /*
+ Possible data values - peername, exten/peername, exten@ip
+ */
+-static struct ast_channel *ooh323_request(const char *type, int format,
+- void *data, int *cause)
++static struct ast_channel *ooh323_request(const char *type, const struct ast_codec_pref *formats, void *data, int *cause)
+
+ {
+ struct ast_channel *chan=NULL;
+@@ -461,22 +461,11 @@
+ char *dest = NULL;
+ char *ext = NULL;
+ char tmp[256];
+- char formats[512];
+- int oldformat;
+ char *sport = NULL;
+ int port = 0;
+
+ if(gH323Debug)
+- ast_verbose("--- ooh323_request - data %s format %s\n", (char*)data,
+- ast_getformatname_multiple(formats,512,format) );
+-
+- oldformat = format;
+- format &= ((AST_FORMAT_MAX_AUDIO << 1) - 1);
+- if (!format) {
+- ast_log(LOG_NOTICE, "Asked to get a channel of unsupported format "
+- "'%d'\n", format);
+- return NULL;
+- }
++ ast_verbose("--- ooh323_request - data %s format %s\n", (char*)data, ast_codec_pref_dump(tmp, sizeof(tmp), formats) );
+
+ p = ooh323_alloc(0,0); /* Initial callRef is zero */
+
+@@ -536,8 +525,8 @@
+ if(ext)
+ strncpy(p->exten, ext, sizeof(p->exten)-1);
+
+- if(peer->capability & format)
+- p->capability = peer->capability & format;
++ if(peer->capability & formats->audio_bits)
++ p->capability = peer->capability & formats->audio_bits;
+ else{
+ p->capability = peer->capability;
+ }
+@@ -971,11 +960,11 @@
+
+ if(f->frametype == AST_FRAME_VOICE)
+ {
+- if(!(f->subclass & ast->nativeformats))
++ if(!(f->subclass & ast->nativeformats.audio_bits))
+ {
+ ast_log(LOG_WARNING, "Asked to transmit frame type %d, while native "
+ "formats is %d (read/write = %d/%d)\n",
+- f->subclass, ast->nativeformats, ast->readformat,
++ f->subclass, ast->nativeformats.audio_bits, ast->readformat,
+ ast->writeformat);
+ return 0;
+ }
+@@ -2219,12 +2208,12 @@
+ int x, codec;
+
+ for(x = 0; x < 32 ; x++) {
+- codec = ast_codec_pref_index(pref, x);
++ codec = ast_codec_pref_index_audio(pref, x);
+ if (!codec)
+ break;
+ ast_cli(fd, "%s", ast_getformatname(codec));
+- ast_cli(fd, ":%d", pref->framing[x]);
+- if (x < 31 && ast_codec_pref_index(pref, x + 1))
++ ast_cli(fd, ":%d", pref->audio_framing[x]);
++ if (x < 31 && ast_codec_pref_index_audio(pref, x + 1))
+ ast_cli(fd, ",");
+ }
+ if (!x)
+@@ -3020,13 +3009,13 @@
+ (ooCallData *call, struct ast_codec_pref *prefs)
+ {
+ int i=0;
+- int codec = ast_codec_pref_index(prefs, i);
++ int codec = ast_codec_pref_index_audio(prefs, i);
+
+ ooResetCapPrefs(call);
+ while(codec)
+ {
+ ooAppendCapToCapPrefs(call, ooh323_convertAsteriskCapToH323Cap(codec));
+- codec = ast_codec_pref_index(prefs, ++i);
++ codec = ast_codec_pref_index_audio(prefs, ++i);
+ }
+
+ return 0;
+@@ -3058,7 +3047,7 @@
+
+ static int ooh323_set_rtp_peer
+ (struct ast_channel *chan, struct ast_rtp *rtp, struct ast_rtp *vrtp,
+- int codecs, int nat_active)
++ const struct ast_codec_pref *codecs, int nat_active)
+ {
+ /* XXX Deal with Video */
+ struct ooh323_pvt *p;
+@@ -3106,7 +3095,7 @@
+ strncpy(mediaInfo.lMediaIP, ast_inet_ntoa(us.sin_addr), sizeof(mediaInfo.lMediaIP)-1);
+ mediaInfo.lMediaPort = ntohs(us.sin_port);
+ mediaInfo.lMediaCntrlPort = mediaInfo.lMediaPort +1;
+- for(x=0; 0 != (format=ast_codec_pref_index(&p->prefs, x)); x++)
++ for(x=0; 0 != (format=ast_codec_pref_index_audio(&p->prefs, x)); x++)
+ {
+ strcpy(mediaInfo.dir, "transmit");
+ mediaInfo.cap = ooh323_convertAsteriskCapToH323Cap(format);
+@@ -3250,10 +3239,11 @@
+ /* We already hold the channel lock */
+ if (f->frametype == AST_FRAME_VOICE)
+ {
+- if (f->subclass != p->owner->nativeformats)
++ if (!(f->subclass & p->owner->nativeformats.audio_bits))
+ {
+ ast_log(LOG_DEBUG, "Oooh, format changed to %d\n", f->subclass);
+- p->owner->nativeformats = f->subclass;
++ ast_codec_pref_append(&p->owner->nativeformats, f->subclass);
++ p->capability |= f->subclass;
+ ast_set_read_format(p->owner, p->owner->readformat);
+ ast_set_write_format(p->owner, p->owner->writeformat);
+ }
+--- channels/ooh323cDriver.c.orig 2007-01-20 06:27:05.000000000 +0800
++++ channels/ooh323cDriver.c 2008-02-11 16:47:24.000000000 +0800
+@@ -66,7 +66,7 @@
+ if(gH323Debug)
+ ast_verbose("\tAdding capabilities to H323 endpoint\n");
+
+- for(x=0; 0 != (format=ast_codec_pref_index(prefs, x)); x++)
++ for(x=0; 0 != (format=ast_codec_pref_index_audio(prefs, x)); x++)
+ {
+ if(format & AST_FORMAT_ULAW)
+ {
+@@ -172,14 +172,14 @@
+ ret |= ooCallEnableDTMFH245Signal(call);
+
+
+- for(x=0; 0 !=(format=ast_codec_pref_index(prefs, x)); x++)
++ for(x=0; 0 !=(format=ast_codec_pref_index_audio(prefs, x)); x++)
+ {
+ if(format & AST_FORMAT_ULAW)
+ {
+ if(gH323Debug)
+ ast_verbose("\tAdding g711 ulaw capability to call(%s, %s)\n",
+ call->callType, call->callToken);
+- txframes = prefs->framing[x];
++ txframes = prefs->audio_framing[x];
+ ret= ooCallAddG711Capability(call, OO_G711ULAW64K, txframes,
+ grxframes, OORXANDTX,
+ &ooh323c_start_receive_channel,
+@@ -192,7 +192,7 @@
+ if(gH323Debug)
+ ast_verbose("\tAdding g711 alaw capability to call(%s, %s)\n",
+ call->callType, call->callToken);
+- txframes = prefs->framing[x];
++ txframes = prefs->audio_framing[x];
+ ret= ooCallAddG711Capability(call, OO_G711ALAW64K, txframes,
+ grxframes, OORXANDTX,
+ &ooh323c_start_receive_channel,
+@@ -206,7 +206,7 @@
+ if(gH323Debug)
+ ast_verbose("\tAdding g729A capability to call(%s, %s)\n",
+ call->callType, call->callToken);
+- txframes = (prefs->framing[x])/10;
++ txframes = (prefs->audio_framing[x])/10;
+ ret= ooCallAddG729Capability(call, OO_G729A, txframes, 24,
+ OORXANDTX, &ooh323c_start_receive_channel,
+ &ooh323c_start_transmit_channel,
diff --git a/net/asterisk14-addons/files/patch-Makefile b/net/asterisk14-addons/files/patch-Makefile
new file mode 100644
index 000000000000..4bcc7f4e3115
--- /dev/null
+++ b/net/asterisk14-addons/files/patch-Makefile
@@ -0,0 +1,11 @@
+--- Makefile.orig Thu Feb 14 00:58:11 2008
++++ Makefile Fri Feb 22 19:17:58 2008
+@@ -27,7 +27,7 @@
+ # Overwite config files on "make samples"
+ OVERWRITE:=y
+
+-ASTCFLAGS+=-fPIC
++ASTCFLAGS+=-fPIC -I${PREFIX}/include
+
+ #NOISY_BUILD=yes
+
diff --git a/net/asterisk14-addons/pkg-descr b/net/asterisk14-addons/pkg-descr
new file mode 100644
index 000000000000..d2454dbd184f
--- /dev/null
+++ b/net/asterisk14-addons/pkg-descr
@@ -0,0 +1,5 @@
+This package contains additional modules for the Asterisk Open Source PBX
+which are, not included in the normal base distribution, becouse of licence
+incompatilities.
+
+WWW: http://www.asteriskpbx.com
diff --git a/net/asterisk14-addons/pkg-plist b/net/asterisk14-addons/pkg-plist
new file mode 100644
index 000000000000..eec5dd3eca6e
--- /dev/null
+++ b/net/asterisk14-addons/pkg-plist
@@ -0,0 +1,10 @@
+lib/asterisk/modules/app_addon_sql_mysql.so
+lib/asterisk/modules/app_saycountpl.so
+lib/asterisk/modules/cdr_addon_mysql.so
+lib/asterisk/modules/res_config_mysql.so
+lib/asterisk/modules/format_mp3.so
+lib/asterisk/modules/chan_ooh323.so
+%%SAMPLE_CONFIG%%etc/asterisk/cdr_mysql.conf
+%%SAMPLE_CONFIG%%etc/asterisk/res_mysql.conf
+%%SAMPLE_CONFIG%%etc/asterisk/ooh323.conf
+%%SAMPLE_CONFIG%%etc/asterisk/mysql.conf