mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-20 08:27:15 +00:00
Resurrect net/asterisk-oh323.
This commit is contained in:
parent
1ec74787a6
commit
30f8bdc0a0
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=285319
@ -28,6 +28,7 @@
|
||||
SUBDIR += asio
|
||||
SUBDIR += aslookup
|
||||
SUBDIR += asterisk
|
||||
SUBDIR += asterisk-oh323
|
||||
SUBDIR += asterisk10
|
||||
SUBDIR += asterisk14
|
||||
SUBDIR += asterisk14-addons
|
||||
|
43
net/asterisk-oh323/Makefile
Normal file
43
net/asterisk-oh323/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
# New ports collection makefile for: asterisk-oh323
|
||||
# Date created: 17 Jun 2005
|
||||
# Whom: Andriy Pylypenko <bamby@portaone.com>
|
||||
#
|
||||
# $FreeBSD$
|
||||
#
|
||||
|
||||
PORTNAME= asterisk-oh323
|
||||
PORTVERSION= 0.7.3.1
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= net
|
||||
MASTER_SITES= http://www.b2bua.org/chrome/site/
|
||||
|
||||
MAINTAINER= bamby@sippysoft.com
|
||||
COMMENT= A H.323 support module for the Asterisk soft PBX
|
||||
|
||||
BUILD_DEPENDS= ${LOCALBASE}/sbin/asterisk:${PORTSDIR}/net/asterisk14
|
||||
LIB_DEPENDS= pt_r.1:${PORTSDIR}/devel/pwlib\
|
||||
h323_r.1:${PORTSDIR}/net/openh323
|
||||
|
||||
ONLY_FOR_ARCHS= i386 amd64 powerpc
|
||||
USE_GMAKE= yes
|
||||
MAKE_ENV= MKDIR="${MKDIR}" \
|
||||
PWLIBDIR=${LOCALBASE}/share/pwlib \
|
||||
OPENH323DIR=${LOCALBASE}/share/openh323 \
|
||||
CPP="${CXX}" \
|
||||
SYSLIBDIR=${LOCALBASE}/lib
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
# XXX: bsd.gcc.mk now defines CPP
|
||||
CPP= "${CXX}"
|
||||
|
||||
pre-configure:
|
||||
if ${GREP} -sq fixup_codecs ${LOCALBASE}/include/asterisk/channel.h; \
|
||||
then \
|
||||
${PATCH} ${PATCH_ARGS} < ${PATCHDIR}/codecnego.diff; \
|
||||
fi
|
||||
|
||||
post-install:
|
||||
@${CAT} ${PKGMESSAGE}
|
||||
|
||||
.include <bsd.port.post.mk>
|
2
net/asterisk-oh323/distinfo
Normal file
2
net/asterisk-oh323/distinfo
Normal file
@ -0,0 +1,2 @@
|
||||
SHA256 (asterisk-oh323-0.7.3.1.tar.gz) = 723525b07e119b5e4c55f4bab240994b2e9b061c65fa2fcf5650b75873a82d98
|
||||
SIZE (asterisk-oh323-0.7.3.1.tar.gz) = 92142
|
99
net/asterisk-oh323/files/codecnego.diff
Normal file
99
net/asterisk-oh323/files/codecnego.diff
Normal file
@ -0,0 +1,99 @@
|
||||
--- asterisk-driver/chan_oh323.c.orig 2008-03-21 15:06:22.000000000 +0200
|
||||
+++ asterisk-driver/chan_oh323.c 2008-03-21 15:17:00.000000000 +0200
|
||||
@@ -966,7 +966,7 @@
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
-static struct ast_channel *oh323_request(const char *type, int format, void *data, int *cause);
|
||||
+static struct ast_channel *oh323_request(const char *type, const struct ast_codec_pref *formats, void *data, int *cause);
|
||||
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);
|
||||
@@ -2425,11 +2425,11 @@
|
||||
}
|
||||
|
||||
/* Check for format changes */
|
||||
- if (f->subclass != i->owner->nativeformats) {
|
||||
+ if (!(f->subclass & ast_codec_pref_bits(&i->owner->nativeformats))) {
|
||||
ast_log(LOG_NOTICE, "%s: Format changed to %s (native %s).\n",
|
||||
c->name,
|
||||
ast_getformatname(f->subclass),
|
||||
- ast_getformatname(c->nativeformats));
|
||||
+ ast_codec_pref_dump(buf, sizeof(buf), &c->nativeformats));
|
||||
if (ast_set_write_format(c, f->subclass) < 0) {
|
||||
ast_mutex_unlock(&oh323_tab_lock);
|
||||
return(-1);
|
||||
@@ -2830,8 +2830,8 @@
|
||||
|
||||
/* 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(ast_codec_pref_index_audio(&tmp->nativeformats, 0));
|
||||
/*fmt = ast_best_codec(tmp->nativeformats);*/
|
||||
|
||||
tmp->writeformat = fmt;
|
||||
@@ -2943,23 +2943,16 @@
|
||||
* This function limits the number of outbound H.323 calls.
|
||||
* Return NULL on error, the pointer to the channel on success.
|
||||
*/
|
||||
-static struct ast_channel *oh323_request(const char *type, int format, void *data, int *cause)
|
||||
+static struct ast_channel *oh323_request(const char *type, const struct ast_codec_pref *formats, void *data, int *cause)
|
||||
{
|
||||
- int i=0, count, simcount, oldformat;
|
||||
+ int i=0, count, simcount;
|
||||
struct ast_channel *c;
|
||||
char *dest = data;
|
||||
+ char tmp[100];
|
||||
|
||||
if (option_debug)
|
||||
ast_log(LOG_DEBUG, "In oh323_request: type=%s, format=%d, data=%s.\n",
|
||||
- type, format, (char *)data);
|
||||
-
|
||||
- /* Check the format requested */
|
||||
- oldformat = format;
|
||||
- format &= oh323_full_capability;
|
||||
- if (!format) {
|
||||
- ast_log(LOG_ERROR, "Asked to get a channel of unsupported format '%d'\n", format);
|
||||
- return NULL;
|
||||
- }
|
||||
+ type, ast_codec_pref_bits(formats), (char *)data);
|
||||
|
||||
ast_mutex_lock(&oh323_tab_lock);
|
||||
|
||||
@@ -3019,12 +3012,12 @@
|
||||
oh323_tab[i]->owner = c;
|
||||
|
||||
/* Specify our native formats */
|
||||
- c->nativeformats = format;
|
||||
- c->rawwriteformat = format;
|
||||
- c->rawreadformat = format;
|
||||
+ memcpy(&c->nativeformats, formats, sizeof(*formats));
|
||||
+ c->rawwriteformat =
|
||||
+ c->rawreadformat = ast_codec_pref_index_audio(formats, 0);
|
||||
if (option_debug)
|
||||
ast_log(LOG_DEBUG, "%s: Native format changed to %s.\n",
|
||||
- c->name, ast_getformatname(format));
|
||||
+ c->name, ast_codec_pref_dump(tmp, sizeof(tmp), formats));
|
||||
|
||||
ast_mutex_unlock(&oh323_tab_lock);
|
||||
return c;
|
||||
@@ -3455,7 +3448,7 @@
|
||||
ast_log(LOG_DEBUG, "Setting channel '%s' native format to %s!\n",
|
||||
oh323_tab[i]->owner->name,
|
||||
ast_getformatname(oh323_tab[i]->capability));
|
||||
- oh323_tab[i]->owner->nativeformats = oh323_tab[i]->capability;
|
||||
+ ast_codec_pref_append_missing2(&oh323_tab[i]->owner->nativeformats, oh323_tab[i]->capability);
|
||||
}
|
||||
|
||||
/* Set environment variables */
|
||||
@@ -3528,7 +3521,7 @@
|
||||
ast_log(LOG_DEBUG, "Setting channel '%s' native format to %s!\n",
|
||||
oh323_tab[i]->owner->name,
|
||||
ast_getformatname(oh323_tab[i]->capability));
|
||||
- oh323_tab[i]->owner->nativeformats = oh323_tab[i]->capability;
|
||||
+ ast_codec_pref_append_missing2(&oh323_tab[i]->owner->nativeformats, oh323_tab[i]->capability);
|
||||
if (oh323_tab[i]->tx_smooth) {
|
||||
ast_smoother_free(oh323_tab[i]->tx_smooth);
|
||||
oh323_tab[i]->tx_smooth = NULL;
|
54
net/asterisk-oh323/files/patch-Makefile
Normal file
54
net/asterisk-oh323/files/patch-Makefile
Normal file
@ -0,0 +1,54 @@
|
||||
--- Makefile.orig 2008-03-20 16:49:39.000000000 +0200
|
||||
+++ Makefile 2008-03-20 17:58:09.000000000 +0200
|
||||
@@ -41,7 +41,7 @@
|
||||
# Install everything under this directory. If this is empty, then everything
|
||||
# will be installed under /
|
||||
#
|
||||
-DESTDIR=/root/src/asterisk-oh323/debian-420641/slash
|
||||
+DESTDIR=$(PREFIX)
|
||||
|
||||
#
|
||||
# Set PWLIBDIR variable to the directory containing the sources of
|
||||
@@ -51,7 +51,7 @@
|
||||
# compile asterisk-oh323. Do not use the installed library of your
|
||||
# distribution. It won't work.
|
||||
#
|
||||
-PWLIBDIR=/root/src/asterisk-oh323/debian-420641/pwlib
|
||||
+PWLIBDIR?=/root/src/asterisk-oh323/debian-420641/pwlib
|
||||
|
||||
#
|
||||
# Set OPENH323LIBDIR variable to the directory containing the sources of
|
||||
@@ -61,13 +61,13 @@
|
||||
# compile asterisk-oh323. Do not use the installed library of your
|
||||
# distribution. It won't work.
|
||||
#
|
||||
-OPENH323DIR=/root/src/asterisk-oh323/debian-420641/openh323
|
||||
+OPENH323DIR?=/root/src/asterisk-oh323/debian-420641/openh323
|
||||
|
||||
#
|
||||
# Set ASTERISKINCDIR variable to the directory containing the include files of
|
||||
# Asterisk PBX.
|
||||
#
|
||||
-ASTERISKINCDIR=/root/src/asterisk-oh323/debian-420641/slash/include
|
||||
+ASTERISKINCDIR=$(LOCALBASE)/include
|
||||
|
||||
#
|
||||
# Set ASTERISKMODDIR variable to the directory where ASTERISK's modules reside.
|
||||
@@ -93,7 +93,7 @@
|
||||
#
|
||||
# Note: This directory is created under $DESTDIR.
|
||||
#
|
||||
-OH323WRAPLIBDIR=/usr/lib
|
||||
+OH323WRAPLIBDIR=/lib
|
||||
|
||||
#
|
||||
# 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
|
128
net/asterisk-oh323/files/patch-asterisk-driver::Makefile
Normal file
128
net/asterisk-oh323/files/patch-asterisk-driver::Makefile
Normal file
@ -0,0 +1,128 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- asterisk-driver/Makefile.orig
|
||||
+++ asterisk-driver/Makefile
|
||||
@@ -34,23 +34,23 @@
|
||||
ifndef SKIP_SUFFIX
|
||||
ifeq ($(OH323STAT),1)
|
||||
ifeq ($(OH323BUILDTYPE),debug) # Static, debug
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/libpt*_d_s.a))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/libpt*_d_s.a))
|
||||
else # Static, opt
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/libpt*_r_s.a))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/libpt*_r_s.a))
|
||||
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))))
|
||||
else
|
||||
ifeq ($(OH323STAT),1)
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/$(LIBPT_BASE).a))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/$(LIBPT_BASE).a))
|
||||
else
|
||||
- LIBPTPATH=$(word 1,$(shell ls $(PWLIBDIR)/lib/$(LIBPT_BASE).so))
|
||||
+ LIBPTPATH=$(word 1,$(shell ls $(SYSLIBDIR)/$(LIBPT_BASE).so))
|
||||
endif
|
||||
LIBPTNAME=$(subst lib,,$(basename $(notdir $(LIBPTPATH))))
|
||||
endif
|
||||
@@ -59,42 +59,42 @@
|
||||
ifndef SKIP_SUFFIX
|
||||
ifeq ($(OH323STAT),1)
|
||||
ifeq ($(OH323BUILDTYPE),debug) # Static, debug
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*_d_s.a))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*_d_s.a))
|
||||
else
|
||||
ifeq ($(OH323BUILDTYPE),opt) # Static, opt
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*_r_s.a))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*_r_s.a))
|
||||
else # Static, opt, no trace
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/libh323*_n_s.a))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/libh323*_n_s.a))
|
||||
endif
|
||||
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
|
||||
LIBH323NAME=$(subst lib,,$(basename $(notdir $(LIBH323PATH))))
|
||||
else
|
||||
ifeq ($(OH323STAT),1)
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/$(LIBH323_BASE).a))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/$(LIBH323_BASE).a))
|
||||
else
|
||||
- LIBH323PATH=$(word 1,$(shell ls $(OPENH323DIR)/lib/$(LIBH323_BASE).so))
|
||||
+ LIBH323PATH=$(word 1,$(shell ls $(SYSLIBDIR)/$(LIBH323_BASE).so))
|
||||
endif
|
||||
LIBH323NAME=$(subst lib,,$(basename $(notdir $(LIBH323PATH))))
|
||||
endif
|
||||
LIBH323=$(LIBH323NAME)
|
||||
|
||||
ifndef SKIP_EXTLIBS
|
||||
- EXTLIBS=$(shell $(PWLIBDIR)/make/ptlib-config --libs)
|
||||
+ EXTLIBS=$(shell $(PWLIBDIR)/make/ptlib-config --ldflags --libs)
|
||||
endif
|
||||
|
||||
CFLAGS += -pipe -Wstrict-prototypes -Wmissing-prototypes \
|
||||
- -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -fPIC -g -O6 \
|
||||
+ -Wmissing-declarations -D_REENTRANT -D_GNU_SOURCE -fPIC -g \
|
||||
-fomit-frame-pointer -DAST_MODULE=\"chan_oh323.so\"
|
||||
|
||||
DRVDEPS=$(shell ls *.h)
|
||||
@@ -116,6 +116,7 @@
|
||||
if [ ! -d $(DESTDIR)$(ASTERISKETCDIR) ]; then \
|
||||
$(INSTALL) -d $(DESTDIR)$(ASTERISKETCDIR); \
|
||||
fi
|
||||
+ $(INSTALL) -m 0644 oh323.conf.sample $(DESTDIR)$(ASTERISKETCDIR)/
|
||||
if [ ! -f $(DESTDIR)$(ASTERISKETCDIR)/oh323.conf ]; then \
|
||||
$(INSTALL) -m 0644 oh323.conf.sample $(DESTDIR)$(ASTERISKETCDIR)/oh323.conf; \
|
||||
fi
|
||||
@@ -151,19 +152,27 @@
|
||||
@if [ ! -f "$(LIBH323PATH)" ]; then \
|
||||
echo "ERROR: No OPENH323 library found!"; exit 1; \
|
||||
fi
|
||||
+ifeq ($(OH323NOWRAP),1)
|
||||
+ $(CC) -shared -Xlinker -x -g -o $@ $(TARGET_OBJ) \
|
||||
+ ../wrapper/*.o \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBH323) \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBPT) \
|
||||
+ -lstdc++ $(EXTLIBS)
|
||||
+else
|
||||
ifeq ($(OH323STAT),1)
|
||||
$(CC) -shared -Xlinker -x -g -o $@ $(TARGET_OBJ) \
|
||||
-L../wrapper -loh323wrap_s \
|
||||
- -L$(OPENH323DIR)/lib -l$(LIBH323) \
|
||||
- -L$(PWLIBDIR)/lib -l$(LIBPT) \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBH323) \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBPT) \
|
||||
-lstdc++ $(EXTLIBS)
|
||||
else
|
||||
$(CC) -shared -Xlinker -x -g -o $@ $(TARGET_OBJ) \
|
||||
-L../wrapper -loh323wrap \
|
||||
- -L$(OPENH323DIR)/lib -l$(LIBH323) \
|
||||
- -L$(PWLIBDIR)/lib -l$(LIBPT) \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBH323) \
|
||||
+ -L$(SYSLIBDIR) -l$(LIBPT) \
|
||||
-lstdc++ $(EXTLIBS)
|
||||
endif
|
||||
+endif
|
||||
|
||||
%.o: %.c $(DRVDEPS)
|
||||
$(CC) $(CFLAGS) $(ASTERISKINCLUDE) -c -o $@ $<
|
94
net/asterisk-oh323/files/patch-asterisk-driver::chan_oh323.c
Normal file
94
net/asterisk-oh323/files/patch-asterisk-driver::chan_oh323.c
Normal file
@ -0,0 +1,94 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- asterisk-driver/chan_oh323.c.orig
|
||||
+++ asterisk-driver/chan_oh323.c
|
||||
@@ -34,6 +34,7 @@
|
||||
#include <string.h>
|
||||
#include <sys/socket.h>
|
||||
#include <sys/time.h>
|
||||
+#include <stdio.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
@@ -43,6 +44,7 @@
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <math.h>
|
||||
+#include <netinet/in_systm.h>
|
||||
#include <netinet/ip.h>
|
||||
#include <sys/signal.h>
|
||||
|
||||
@@ -83,6 +85,8 @@
|
||||
#include "asterisk/threadstorage.h"
|
||||
#include "asterisk/translate.h"
|
||||
|
||||
+#define CRASH abort()
|
||||
+
|
||||
#include "wrapper.hxx"
|
||||
#include "oh323.h"
|
||||
|
||||
@@ -954,8 +958,8 @@
|
||||
static void oh323_format2codecset(int, int *, int);
|
||||
static int context_from_alias(char *, char **);
|
||||
static int context_from_prefix(char *, char **);
|
||||
-static int oh323_release(void *);
|
||||
-static int oh323_exec_request(void *data);
|
||||
+static int oh323_release(const void *);
|
||||
+static int oh323_exec_request(const void *data);
|
||||
static struct oh323_ep *find_oh323_ep(char *epname, char *host, char *user);
|
||||
void oh323_atexit(void);
|
||||
unsigned int generate_uid(void);
|
||||
@@ -1595,6 +1599,8 @@
|
||||
ast_log(LOG_DEBUG, "%s: Call progress.\n", c->name);
|
||||
p->fr.frametype = AST_FRAME_CONTROL;
|
||||
p->fr.subclass = AST_CONTROL_PROGRESS;
|
||||
+/* The code below is broken with asterisk 1.4.23.1 */
|
||||
+#if 0
|
||||
/* -- Call transfer */
|
||||
} else if (e->type == OH323EXC_CALL_TRANSFER) {
|
||||
/* XXX Asterisk MUST read first the frame returned by this exception
|
||||
@@ -1608,6 +1614,7 @@
|
||||
memcpy(c->dtmfq, e->data, strlen(e->data));
|
||||
write(p->event_pipe[1], notify_buf, 1);
|
||||
}
|
||||
+#endif
|
||||
/* -- Call establishment notification */
|
||||
} else if (e->type == OH323EXC_CALL_ESTABLISHED) {
|
||||
memset(p->rtp.local_addr, 0, sizeof(p->rtp.local_addr));
|
||||
@@ -4110,7 +4117,7 @@
|
||||
/******************************************************************************/
|
||||
/* Monitoring thread and queue call-back functions ****************************/
|
||||
|
||||
-static int oh323_exec_request(void *data)
|
||||
+static int oh323_exec_request(const void *data)
|
||||
{
|
||||
struct request_oh323 *e;
|
||||
int res, i;
|
||||
@@ -4217,7 +4224,7 @@
|
||||
return(0);
|
||||
}
|
||||
|
||||
-static int oh323_release(void *data)
|
||||
+static int oh323_release(const void *data)
|
||||
{
|
||||
struct chan_oh323_pvt *pvt = (struct chan_oh323_pvt *)data;
|
||||
int index;
|
||||
@@ -4240,7 +4247,7 @@
|
||||
return(0);
|
||||
}
|
||||
|
||||
-static int oh323_gk_check(void *data)
|
||||
+static int oh323_gk_check(const void *data)
|
||||
{
|
||||
char gkname[256];
|
||||
|
||||
@@ -4443,7 +4450,7 @@
|
||||
return(-1);
|
||||
}
|
||||
}
|
||||
- monitor_thread = -2;
|
||||
+ monitor_thread = AST_PTHREADT_STOP;
|
||||
} else {
|
||||
ast_log(LOG_WARNING, "Unable to lock the monitor.\n");
|
||||
return(-1);
|
51
net/asterisk-oh323/files/patch-rules.mak
Normal file
51
net/asterisk-oh323/files/patch-rules.mak
Normal file
@ -0,0 +1,51 @@
|
||||
|
||||
$FreeBSD$
|
||||
|
||||
--- rules.mak.orig
|
||||
+++ rules.mak
|
||||
@@ -42,9 +42,9 @@
|
||||
SUBDIRS = wrapper asterisk-driver
|
||||
.PHONY: all build install clean subdirs_build subdir_install subdir_clean \
|
||||
rpm rpm_clean help $(SUBDIRS)
|
||||
-CC = gcc
|
||||
-CPP = g++
|
||||
-MAKE = make
|
||||
+CC ?= gcc
|
||||
+CPP ?= g++
|
||||
+MAKE ?= make
|
||||
INSTALL = install
|
||||
TOUCH = touch
|
||||
AR = ar
|
||||
@@ -63,8 +63,8 @@
|
||||
|
||||
# Set the C++ compiler flags (for wrapper compilation)
|
||||
# and C compiler flags (for channel driver compilation)
|
||||
-CPPFLAGS = -Wall -felide-constructors -x c++ -Os
|
||||
-CFLAGS = -Wall
|
||||
+CPPFLAGS += $(CXXFLAGS) -Wall -felide-constructors -x c++
|
||||
+CFLAGS += -Wall
|
||||
ifeq ($(OH323BUILDTYPE),optnotrace)
|
||||
OPENH323USERFLAGS := NOTRACE=1
|
||||
endif
|
||||
@@ -78,9 +78,9 @@
|
||||
CFLAGS += -DUSE_OLD_CAPABILITIES_API=1
|
||||
endif
|
||||
|
||||
-ifneq ($(PROC),)
|
||||
-CFLAGS += -march=$(PROC)
|
||||
-endif
|
||||
+#ifneq ($(PROC))
|
||||
+#CFLAGS += -march=$(PROC)
|
||||
+#endif
|
||||
|
||||
ifdef HAS_OH323MODS
|
||||
CPPFLAGS += -DHAS_OH323MODS
|
||||
@@ -108,7 +108,7 @@
|
||||
|
||||
clean: subdirs_clean rpm_clean
|
||||
|
||||
-all: subdirs_build subdirs_strip subdirs_install
|
||||
+all: subdirs_build subdirs_strip
|
||||
|
||||
subdirs_build:
|
||||
for x in $(SUBDIRS); do $(MAKE) -C $$x build || exit 1 ; done
|
57
net/asterisk-oh323/files/patch-wrapper::Makefile
Normal file
57
net/asterisk-oh323/files/patch-wrapper::Makefile
Normal file
@ -0,0 +1,57 @@
|
||||
--- wrapper/Makefile.orig Thu Mar 20 16:49:39 2008
|
||||
+++ wrapper/Makefile Fri Mar 21 11:56:29 2008
|
||||
@@ -33,7 +33,7 @@
|
||||
.PHONY: .pwlib_version .openh323_version
|
||||
|
||||
OPENH323USERFLAGS =
|
||||
-STDCCFLAGS :=
|
||||
+STDCCFLAGS := -fPIC
|
||||
|
||||
ifdef NOVIDEO
|
||||
OPENH323USERFLAGS += NOVIDEO=1
|
||||
@@ -62,7 +62,7 @@
|
||||
ifdef OH323_SUPPRESS_H235
|
||||
STDCCFLAGS += -DOH323_SUPPRESS_H235
|
||||
endif
|
||||
-OPENH323FLAGS = $(shell make $(OPENH323USERFLAGS) -f openh323flags.mak \
|
||||
+OPENH323FLAGS := $(shell $(MAKE) $(OPENH323USERFLAGS) -f openh323flags.mak \
|
||||
--no-print-directory -s \
|
||||
PWLIBDIR=$(PWLIBDIR) OPENH323DIR=$(OPENH323DIR) oh323ccflags)
|
||||
CPPFLAGS += $(OPENH323FLAGS)
|
||||
@@ -100,25 +100,29 @@
|
||||
@if [ "$(OPENH323_VERSION)" = "UNKNOWN" ]; then \
|
||||
echo "*** Cannot determine the version of OPENH323!"; exit 1; \
|
||||
fi
|
||||
+ifneq ($(OH323NOWRAP),1)
|
||||
ifeq ($(OH323STAT),1)
|
||||
$(AR) rc liboh323wrap_s.a $(WRAPOBJECTS)
|
||||
else
|
||||
- $(CC) -shared -Wl,-soname,liboh323wrap.so -o liboh323wrap.so $(WRAPOBJECTS)
|
||||
+ $(CC) -shared -Wl,-soname,liboh323wrap.so.1 -o liboh323wrap.so.1 $(WRAPOBJECTS)
|
||||
+ ln -sfh liboh323wrap.so.1 liboh323wrap.so
|
||||
+endif
|
||||
endif
|
||||
|
||||
strip:
|
||||
|
||||
install:
|
||||
+ifneq ($(OH323NOWRAP),1)
|
||||
if [ ! -d $(DESTDIR)$(OH323WRAPLIBDIR) ]; then \
|
||||
- $(INSTALL) -d $(DESTDIR)$(OH323WRAPLIBDIR); \
|
||||
+ $(MKDIR) $(DESTDIR)$(OH323WRAPLIBDIR); \
|
||||
fi
|
||||
ifeq ($(OH323STAT),1)
|
||||
- $(INSTALL) -m 0644 liboh323wrap_s.a $(DESTDIR)$(OH323WRAPLIBDIR)
|
||||
+ $(BSD_INSTALL_PROGRAM) liboh323wrap_s.a $(DESTDIR)$(OH323WRAPLIBDIR)
|
||||
else
|
||||
- $(INSTALL) liboh323wrap.so $(DESTDIR)$(OH323WRAPLIBDIR)
|
||||
- cd $(DESTDIR)$(OH323WRAPLIBDIR); rm -f ./liboh323wrap.so.1; rm -f ./liboh323wrap.so.1.1
|
||||
- cd $(DESTDIR)$(OH323WRAPLIBDIR); ln -s liboh323wrap.so liboh323wrap.so.1
|
||||
- cd $(DESTDIR)$(OH323WRAPLIBDIR); ln -s liboh323wrap.so liboh323wrap.so.1.1
|
||||
+ $(BSD_INSTALL_PROGRAM) liboh323wrap.so.1 $(DESTDIR)$(OH323WRAPLIBDIR)
|
||||
+ cd $(DESTDIR)$(OH323WRAPLIBDIR); rm -f ./liboh323wrap.so
|
||||
+ cd $(DESTDIR)$(OH323WRAPLIBDIR); ln -s liboh323wrap.so.1 liboh323wrap.so
|
||||
+endif
|
||||
endif
|
||||
|
||||
clean:
|
10
net/asterisk-oh323/files/patch-wrapper::asteriskaudio.cxx
Normal file
10
net/asterisk-oh323/files/patch-wrapper::asteriskaudio.cxx
Normal file
@ -0,0 +1,10 @@
|
||||
--- wrapper/asteriskaudio.cxx.orig 2008-03-20 17:26:57.000000000 +0200
|
||||
+++ wrapper/asteriskaudio.cxx 2008-03-20 17:30:38.000000000 +0200
|
||||
@@ -29,6 +29,7 @@
|
||||
*/
|
||||
|
||||
#include <ptlib.h>
|
||||
+#include <ptlib/sound.h>
|
||||
#include <sys/time.h>
|
||||
#include <rtp.h>
|
||||
|
27
net/asterisk-oh323/files/patch-wrapper::check_ver
Normal file
27
net/asterisk-oh323/files/patch-wrapper::check_ver
Normal file
@ -0,0 +1,27 @@
|
||||
--- wrapper/check_ver.orig Thu Apr 13 14:02:00 2006
|
||||
+++ wrapper/check_ver Thu Apr 13 14:11:54 2006
|
||||
@@ -1,10 +1,17 @@
|
||||
#!/bin/sh
|
||||
|
||||
-if [ -f .$2_version ]; then
|
||||
- mv .$2_version .$2_version.old
|
||||
+if [ -f .${2}_version ]; then
|
||||
+ mv .${2}_version .${2}_version.old
|
||||
fi
|
||||
-
|
||||
-MAJOR_VER=`cat $1/version.h | grep "#define MAJOR_VERSION" | awk -F\ '{print $3}'`
|
||||
-MINOR_VER=`cat $1/version.h | grep "#define MINOR_VERSION" | awk -F\ '{print $3}'`
|
||||
-BUILD_NUM=`cat $1/version.h | grep "#define BUILD_NUMBER" | awk -F\ '{print $3}'`
|
||||
-echo -e "$MAJOR_VER.$MINOR_VER.$BUILD_NUM" > .$2_version
|
||||
+case ${2} in
|
||||
+ pwlib)
|
||||
+ grep "PWLIB_VERSION" ${1}/../../include/ptbuildopts.h | \
|
||||
+ awk -F\ '{print $3}' > .${2}_version
|
||||
+ ;;
|
||||
+ openh323)
|
||||
+ grep "OPENH323_VERSION" ${1}/../../include/${2}/${2}buildopts.h | \
|
||||
+ awk -F\ '{print $3}' > .${2}_version
|
||||
+ ;;
|
||||
+ *)
|
||||
+ ;;
|
||||
+esac
|
12
net/asterisk-oh323/files/patch-wrapper::openh323flags.mak
Normal file
12
net/asterisk-oh323/files/patch-wrapper::openh323flags.mak
Normal file
@ -0,0 +1,12 @@
|
||||
--- wrapper/openh323flags.mak.orig 2008-03-20 16:49:39.000000000 +0200
|
||||
+++ wrapper/openh323flags.mak 2008-05-16 11:18:00.000000000 +0300
|
||||
@@ -1,6 +1,9 @@
|
||||
|
||||
include $(OPENH323DIR)/openh323u.mak
|
||||
|
||||
+obj_r/*.dep:
|
||||
+ @true # suppress implicit rule
|
||||
+
|
||||
oh323ccflags:
|
||||
@echo $(STDCCFLAGS)
|
||||
|
10
net/asterisk-oh323/files/patch-wrapper::wrapconnection.cxx
Normal file
10
net/asterisk-oh323/files/patch-wrapper::wrapconnection.cxx
Normal file
@ -0,0 +1,10 @@
|
||||
--- wrapper/wrapconnection.cxx.orig 2008-03-20 17:31:59.000000000 +0200
|
||||
+++ wrapper/wrapconnection.cxx 2008-03-20 17:32:19.000000000 +0200
|
||||
@@ -30,6 +30,7 @@
|
||||
/************************************************************************/
|
||||
|
||||
#include <ptlib.h>
|
||||
+#include <ptlib/sound.h>
|
||||
#include <h323.h>
|
||||
#include <h323pdu.h>
|
||||
#include <mediafmt.h>
|
10
net/asterisk-oh323/files/patch-wrapper::wrapendpoint.cxx
Normal file
10
net/asterisk-oh323/files/patch-wrapper::wrapendpoint.cxx
Normal file
@ -0,0 +1,10 @@
|
||||
--- wrapper/wrapendpoint.cxx.orig 2008-03-20 17:33:42.000000000 +0200
|
||||
+++ wrapper/wrapendpoint.cxx 2008-03-20 17:33:54.000000000 +0200
|
||||
@@ -30,6 +30,7 @@
|
||||
/************************************************************************/
|
||||
|
||||
#include <ptlib.h>
|
||||
+#include <ptlib/sound.h>
|
||||
#include <h323.h>
|
||||
#include <h323pdu.h>
|
||||
#include <mediafmt.h>
|
10
net/asterisk-oh323/files/patch-wrapper::wrapper.cxx
Normal file
10
net/asterisk-oh323/files/patch-wrapper::wrapper.cxx
Normal file
@ -0,0 +1,10 @@
|
||||
--- wrapper/wrapper.cxx.orig 2008-03-20 17:35:37.000000000 +0200
|
||||
+++ wrapper/wrapper.cxx 2008-03-20 17:35:50.000000000 +0200
|
||||
@@ -31,6 +31,7 @@
|
||||
/* INCLUDE FILES ********************************************************/
|
||||
|
||||
#include <ptlib.h>
|
||||
+#include <ptlib/sound.h>
|
||||
#include <h323.h>
|
||||
#include <h323pdu.h>
|
||||
#include <mediafmt.h>
|
3
net/asterisk-oh323/pkg-descr
Normal file
3
net/asterisk-oh323/pkg-descr
Normal file
@ -0,0 +1,3 @@
|
||||
Alternative implementation of H.323 protocol support for Asterisk PBX.
|
||||
|
||||
WWW: http://www.inaccessnetworks.com/ian/projects/asterisk-oh323/
|
9
net/asterisk-oh323/pkg-message
Normal file
9
net/asterisk-oh323/pkg-message
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
*********************************************
|
||||
* *
|
||||
* Do not forget to disable loading *
|
||||
* the chan_h323 module as it will most *
|
||||
* likely prevent the Asterisk from working! *
|
||||
* *
|
||||
*********************************************
|
||||
|
6
net/asterisk-oh323/pkg-plist
Normal file
6
net/asterisk-oh323/pkg-plist
Normal file
@ -0,0 +1,6 @@
|
||||
@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/asterisk/modules/chan_oh323.so
|
||||
lib/liboh323wrap.so
|
||||
lib/liboh323wrap.so.1
|
Loading…
Reference in New Issue
Block a user