mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-07 06:40:06 +00:00
- Use pwlib and openh323 from ports
- Update to latest codec negotiation patch Submitted by: Andriy I Pylypenko <bamby@portaone.com> (MAINTAINER)
This commit is contained in:
parent
b27709344b
commit
53e76e68e0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=160513
@ -7,23 +7,23 @@
|
||||
|
||||
PORTNAME= asterisk-oh323
|
||||
PORTVERSION= 0.7.3
|
||||
PORTREVISION= 1
|
||||
PORTREVISION= 2
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.inaccessnetworks.com/projects/asterisk-oh323/download/
|
||||
|
||||
MAINTAINER= bamby@portaone.com
|
||||
COMMENT= A H.323 support module for the Asterisk soft PBX
|
||||
|
||||
BUILD_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/devel/pwlib152:build \
|
||||
${NONEXISTENT}:${PORTSDIR}/net/openh323-112:build \
|
||||
${LOCALBASE}/sbin/asterisk:${PORTSDIR}/net/asterisk
|
||||
BUILD_DEPENDS= ${LOCALBASE}/sbin/asterisk:${PORTSDIR}/net/asterisk
|
||||
LIB_DEPENDS= pt_r.1:${PORTSDIR}/devel/pwlib\
|
||||
h323_r.1:${PORTSDIR}/net/openh323
|
||||
|
||||
USE_GMAKE= yes
|
||||
MAKE_ENV= MKDIR="${MKDIR}" \
|
||||
PWLIBDIR=${WRKDIRPREFIX}${PORTSDIR}/devel/pwlib152/work/pwlib \
|
||||
OPENH323DIR=${WRKDIRPREFIX}${PORTSDIR}/net/openh323-112/work/openh323 \
|
||||
PWLIBDIR=${LOCALBASE}/share/pwlib \
|
||||
OPENH323DIR=${LOCALBASE}/share/openh323 \
|
||||
CPP="${CXX}" \
|
||||
USE_OLD_CAPABILITIES_API="yes"
|
||||
SYSLIBDIR=${LOCALBASE}/lib
|
||||
|
||||
post-install:
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
|
@ -1,5 +1,5 @@
|
||||
--- Makefile.orig Wed Jan 18 10:54:59 2006
|
||||
+++ Makefile Wed Jan 18 11:50:59 2006
|
||||
--- Makefile.orig Fri Sep 9 17:03:53 2005
|
||||
+++ Makefile Thu Apr 13 13:52:00 2006
|
||||
@@ -41,7 +41,7 @@
|
||||
# Install everything under this directory. If this is empty, then everything
|
||||
# will be installed under /
|
||||
@ -52,3 +52,12 @@
|
||||
|
||||
#
|
||||
# Set WRAPTRACING to 1 to enable tracing information from the OpenH323Wrap
|
||||
@@ -120,7 +120,7 @@
|
||||
# With this flag on the channel driver is huge, in size, but Asterisk boots
|
||||
# faster!
|
||||
#
|
||||
-OH323STAT=1
|
||||
+#OH323STAT=1
|
||||
|
||||
#
|
||||
# Define options that were used during Asterisk compilation. It is
|
||||
|
@ -1,5 +1,33 @@
|
||||
--- asterisk-driver/Makefile.orig Wed Jan 18 11:43:28 2006
|
||||
+++ asterisk-driver/Makefile Wed Jan 18 11:55:34 2006
|
||||
--- asterisk-driver/Makefile.orig Fri Sep 9 16:35:25 2005
|
||||
+++ asterisk-driver/Makefile Thu Apr 13 14:22:51 2006
|
||||
@@ -40,9 +40,9 @@
|
||||
endif
|
||||
else
|
||||
ifeq ($(OH323BUILDTYPE),debug) # Shared, debug
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/libpt*d.so))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/libpt*d.so))
|
||||
else # Shared, opt
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/libpt*r.so))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/libpt*r.so))
|
||||
endif
|
||||
endif
|
||||
LIBPTNAME=$(subst lib,,$(basename $(notdir $(LIBPTPATH))))
|
||||
@@ -69,12 +69,12 @@
|
||||
endif
|
||||
else
|
||||
ifeq ($(OH323BUILDTYPE),debug) # Shared, debug
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*d.so))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*d.so))
|
||||
else
|
||||
ifeq ($(OH323BUILDTYPE),opt) # Shared, opt
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*r.so))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*r.so))
|
||||
else # Shared, opt, no trace
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*n.so))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*n.so))
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -90,7 +90,7 @@
|
||||
LIBH323=$(LIBH323NAME)
|
||||
|
||||
|
@ -1,8 +1,5 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- asterisk-driver/chan_oh323.c.orig Tue Sep 20 13:50:34 2005
|
||||
+++ asterisk-driver/chan_oh323.c Wed Jan 25 17:59:14 2006
|
||||
+++ asterisk-driver/chan_oh323.c Wed Apr 19 16:06:11 2006
|
||||
@@ -43,10 +43,12 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
@ -26,32 +23,33 @@ $FreeBSD$
|
||||
static int oh323_text(struct ast_channel *c, const char *text);
|
||||
static int oh323_call(struct ast_channel *c, char *dest, int timeout);
|
||||
static int oh323_hangup(struct ast_channel *c);
|
||||
@@ -2402,11 +2404,11 @@ static int oh323_write(struct ast_channe
|
||||
@@ -2402,11 +2404,12 @@ static int oh323_write(struct ast_channe
|
||||
}
|
||||
|
||||
/* Check for format changes */
|
||||
- if (f->subclass != i->owner->nativeformats) {
|
||||
+ if (!f->subclass & i->owner->nativeformats.bits) {
|
||||
+ if (!f->subclass & ast_codec_pref_bits(&i->owner->nativeformats)) {
|
||||
+ char tmp[512];
|
||||
ast_log(LOG_NOTICE, "%s: Format changed to %s (native %s).\n",
|
||||
c->name,
|
||||
ast_getformatname(f->subclass),
|
||||
- ast_getformatname(c->nativeformats));
|
||||
+ ast_getformatname(c->nativeformats.bits));
|
||||
+ ast_codec_pref_dump(tmp, sizeof(tmp), &c->nativeformats));
|
||||
if (ast_set_write_format(c, f->subclass) < 0) {
|
||||
ast_mutex_unlock(&oh323_tab_lock);
|
||||
return(-1);
|
||||
@@ -2802,8 +2804,8 @@ static struct ast_channel *ast_oh323_new
|
||||
@@ -2802,8 +2805,8 @@ static struct ast_channel *ast_oh323_new
|
||||
|
||||
/* Set our native format */
|
||||
/* XXX: Only one should be selected */
|
||||
- tmp->nativeformats = oh323_capability;
|
||||
- fmt = oh323_codec_choose(tmp->nativeformats);
|
||||
+ ast_codec_pref_append_missing2(&tmp->nativeformats, oh323_capability);
|
||||
+ fmt = oh323_codec_choose(tmp->nativeformats.bits);
|
||||
+ fmt = oh323_codec_choose(ast_codec_pref_bits(&tmp->nativeformats));
|
||||
/*fmt = ast_best_codec(tmp->nativeformats);*/
|
||||
|
||||
tmp->writeformat = fmt;
|
||||
@@ -2927,23 +2929,15 @@ static struct ast_channel *ast_oh323_new
|
||||
@@ -2927,23 +2930,15 @@ static struct ast_channel *ast_oh323_new
|
||||
* This function limits the number of outbound H.323 calls.
|
||||
* Return NULL on error, the pointer to the channel on success.
|
||||
*/
|
||||
@ -74,28 +72,32 @@ $FreeBSD$
|
||||
- ast_log(LOG_ERROR, "Asked to get a channel of unsupported format '%d'\n", format);
|
||||
- return NULL;
|
||||
- }
|
||||
+ type, formats->bits, (char *)data);
|
||||
+ type, ast_codec_pref_bits(formats), (char *)data);
|
||||
|
||||
ast_mutex_lock(&oh323_tab_lock);
|
||||
|
||||
@@ -3003,12 +2997,12 @@ static struct ast_channel *oh323_request
|
||||
@@ -3003,13 +2998,14 @@ static struct ast_channel *oh323_request
|
||||
oh323_tab[i]->owner = c;
|
||||
|
||||
/* Specify our native formats */
|
||||
- c->nativeformats = format;
|
||||
- c->rawwriteformat = format;
|
||||
- c->rawreadformat = format;
|
||||
- if (option_debug)
|
||||
+ memcpy(&c->nativeformats, formats, sizeof(struct ast_codec_pref));
|
||||
+ c->rawwriteformat = formats->bits;
|
||||
+ c->rawreadformat = formats->bits;
|
||||
if (option_debug)
|
||||
+ c->rawwriteformat = ast_codec_pref_bits(formats);
|
||||
+ c->rawreadformat = ast_codec_pref_bits(formats);
|
||||
+ if (option_debug) {
|
||||
+ char tmp[512];
|
||||
ast_log(LOG_DEBUG, "%s: Native format changed to %s.\n",
|
||||
- c->name, ast_getformatname(format));
|
||||
+ c->name, ast_getformatname(formats->bits));
|
||||
|
||||
-
|
||||
+ c->name, ast_codec_pref_dump(tmp, sizeof(tmp), formats));
|
||||
+ }
|
||||
ast_mutex_unlock(&oh323_tab_lock);
|
||||
return c;
|
||||
@@ -3439,7 +3433,8 @@ char *setup_h323_connection(call_details
|
||||
}
|
||||
@@ -3439,7 +3435,8 @@ char *setup_h323_connection(call_details
|
||||
ast_log(LOG_DEBUG, "Setting channel '%s' native format to %s!\n",
|
||||
oh323_tab[i]->owner->name,
|
||||
ast_getformatname(oh323_tab[i]->capability));
|
||||
@ -105,7 +107,7 @@ $FreeBSD$
|
||||
}
|
||||
|
||||
/* Set environment variables */
|
||||
@@ -3512,7 +3507,8 @@ char *setup_h323_connection(call_details
|
||||
@@ -3512,7 +3509,8 @@ char *setup_h323_connection(call_details
|
||||
ast_log(LOG_DEBUG, "Setting channel '%s' native format to %s!\n",
|
||||
oh323_tab[i]->owner->name,
|
||||
ast_getformatname(oh323_tab[i]->capability));
|
||||
@ -115,7 +117,7 @@ $FreeBSD$
|
||||
if (oh323_tab[i]->tx_smooth) {
|
||||
ast_smoother_free(oh323_tab[i]->tx_smooth);
|
||||
oh323_tab[i]->tx_smooth = NULL;
|
||||
@@ -4429,7 +4425,7 @@ static int kill_monitor(void)
|
||||
@@ -4429,7 +4427,7 @@ static int kill_monitor(void)
|
||||
return(-1);
|
||||
}
|
||||
}
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- wrapper/asteriskaudio.cxx.orig Wed Jan 18 11:01:05 2006
|
||||
+++ wrapper/asteriskaudio.cxx Wed Jan 18 11:01:34 2006
|
||||
@@ -164,7 +164,7 @@ PAsteriskSoundChannel::~PAsteriskSoundCh
|
||||
WRAPTRACE(3, "Total I/Os: read=" << readCount << ", write=" << writeCount);
|
||||
WRAPTRACE(3, "Short I/Os: write=" << shortWriteCount);
|
||||
WRAPTRACE(4, "Object deleted.");
|
||||
- baseChannel = NULL;
|
||||
+// baseChannel = NULL;
|
||||
}
|
||||
|
||||
PStringArray PAsteriskSoundChannel::GetDeviceNames(Directions dir)
|
||||
@@ -231,7 +231,7 @@ BOOL PAsteriskSoundChannel::Open(const P
|
||||
**********/
|
||||
if (deviceFd < 0)
|
||||
return FALSE;
|
||||
- baseChannel = this; // XXX Use the old interface of the PSoundChannel
|
||||
+// baseChannel = this; // XXX Use the old interface of the PSoundChannel
|
||||
os_handle = deviceFd;
|
||||
mediaFormat = mediaFmt;
|
||||
frameTime = frameTm;
|
@ -1,20 +0,0 @@
|
||||
--- wrapper/wrapendpoint.cxx.orig Wed Jan 18 11:11:31 2006
|
||||
+++ wrapper/wrapendpoint.cxx Wed Jan 18 11:12:23 2006
|
||||
@@ -1206,7 +1206,7 @@ WrapH323EndPoint::CreateConnection(unsig
|
||||
WRAPTRACE(2, "Incoming connection with no calling party number in SETUP.");
|
||||
ud.calling_num[0] = '\0';
|
||||
}
|
||||
- tmp.MakeEmpty();
|
||||
+ tmp = PString();
|
||||
/* Get Called party number */
|
||||
(setupPDU->GetQ931()).GetCalledPartyNumber(tmp);
|
||||
if (!tmp.IsEmpty()) {
|
||||
@@ -1230,7 +1230,7 @@ WrapH323EndPoint::CreateConnection(unsig
|
||||
WRAPTRACE(2, "Incoming connection with no called party number in SETUP.");
|
||||
ud.called_num[0] = '\0';
|
||||
}
|
||||
- tmp.MakeEmpty();
|
||||
+ tmp = PString();
|
||||
/* Get Redirecting number */
|
||||
(setupPDU->GetQ931()).GetRedirectingNumber(tmp);
|
||||
if (!tmp.IsEmpty()) {
|
@ -1,11 +0,0 @@
|
||||
--- wrapper/wrapper.cxx.orig Wed Jan 18 11:15:33 2006
|
||||
+++ wrapper/wrapper.cxx Wed Jan 18 11:15:36 2006
|
||||
@@ -570,7 +570,7 @@ extern "C" {
|
||||
{ H323Connection::EndedByTemporaryFailure, OH323END_TEMP_FAILURE, "Temporary failure" },
|
||||
{ H323Connection::EndedByQ931Cause, OH323END_Q931CAUSE, "Call ended with Q.931 cause" },
|
||||
{ H323Connection::EndedByDurationLimit, OH323END_DURATION_LIMIT, "Call ended due to enforced duration limit" },
|
||||
- { H323Connection::EndedByInvalidConferenceID, OH323END_INVALIDCID, "Call cleared due to invalid conference ID" },
|
||||
+// { H323Connection::EndedByInvalidConferenceID, OH323END_INVALIDCID, "Call cleared due to invalid conference ID" },
|
||||
{ -1, -1, "Unknown reason" },
|
||||
};
|
||||
|
@ -1,5 +1,7 @@
|
||||
@unexec if cmp -s %D/etc/asterisk/oh323.conf %D/etc/asterisk/oh323.conf.sample; then rm -f %D/etc/asterisk/oh323.conf; fi
|
||||
etc/asterisk/oh323.conf.sample
|
||||
@exec [ -f %B/oh323.conf ] || cp %B/%f %B/oh323.conf
|
||||
lib/liboh323wrap_s.a
|
||||
lib/asterisk/modules/chan_oh323.so
|
||||
lib/liboh323wrap.so
|
||||
lib/liboh323wrap.so.1
|
||||
lib/liboh323wrap.so.1.1
|
||||
|
Loading…
Reference in New Issue
Block a user