iaxmodem 1.1.0

IAXmodem is a software modem written in C that uses an IAX channel
(commonly provided by an Asterisk PBX system) instead of a traditional
phone line and uses a DSP library instead of DSP hardware chipsets.

IAXmodem was originally conceived to function as a fax modem usable
with HylaFAX, and it does that well. However IAXmodem also has been
known to function with mgetty+sendfax and efax.

.. much cleanup from my earlier verisions, thanks brad@
This commit is contained in:
todd 2008-04-21 03:49:22 +00:00
parent f52319ab69
commit 1d9e28be19
9 changed files with 162 additions and 0 deletions

View File

@ -0,0 +1,40 @@
# $OpenBSD: Makefile,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
COMMENT= a software fax modem that uses an IAX channel
DISTNAME= iaxmodem-1.1.0
CATEGORIES= telephony
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=iaxmodem/}
HOMEPAGE= http://iaxmodem.sourceforge.net/
MAINTAINER= Todd T. Fries <todd@openbsd.org>
# GPL
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB= c m util
LIB_DEPENDS= tiff::graphics/tiff
USE_LIBTOOL= Yes
CONFIGURE_STYLE= gnu
CONFIGURE_ENV= LDFLAGS="-L${LOCALBASE}/lib"
CFLAGS+= -I${LOCALBASE}/include
do-install:
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/iaxmodem
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/iaxmodem
${INSTALL_PROGRAM} ${WRKSRC}/iaxmodem ${PREFIX}/bin
${INSTALL_DATA} ${WRKSRC}/iaxmodem-cfg.ttyIAX \
${PREFIX}/share/examples/iaxmodem/iaxmodem-cfg.ttyIAX
${INSTALL_DATA} ${WRKSRC}/config.ttyIAX \
${PREFIX}/share/examples/iaxmodem/hylafax-cfg.ttyIAX
${INSTALL_DATA} ${WRKSRC}/README ${PREFIX}/share/doc/iaxmodem
${INSTALL_DATA} ${WRKSRC}/FAQ ${PREFIX}/share/doc/iaxmodem
${INSTALL_DATA} ${WRKSRC}/iaxmodem.1 ${PREFIX}/man/man1
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
MD5 (iaxmodem-1.1.0.tar.gz) = ITwlTP/qr9ShlAhz6ZnxqQ==
RMD160 (iaxmodem-1.1.0.tar.gz) = 4TrFkl1MV/dVXm4JofAmcu6LNU8=
SHA1 (iaxmodem-1.1.0.tar.gz) = TWQL2pzvEPNdWIUmkC82TxT2egQ=
SHA256 (iaxmodem-1.1.0.tar.gz) = gNeXOeDGWGd0+iXD3i68MvbdJuFggKV7x30hVqGD9Gw=
SIZE (iaxmodem-1.1.0.tar.gz) = 2317697

View File

@ -0,0 +1,19 @@
$OpenBSD: patch-Makefile_in,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
--- Makefile.in.orig Thu Feb 7 20:57:47 2008
+++ Makefile.in Thu Mar 27 21:58:54 2008
@@ -3,13 +3,13 @@ DSPVER= @DSPVER@
IAXVER= @IAXVER@
CFLAGS:= -DMODEMVER=\"${MODEMVER}\" -DDSPVER=\"${DSPVER}\" -DIAXVER=\"${IAXVER}\" \
- -Wall -g -DSTATICLIBS -DUSE_UNIX98_PTY \
+ -Wall -g -DSTATICLIBS \
-std=c99 -Ilib/libiax2/src -Ilib/spandsp/src \
${CFLAGS}
OUR_CFLAGS= -Wall -g -DSTATICLIBS -DUSE_UNIX98_PTY \
-std=c99 -Ilib/libiax2/src -Ilib/spandsp/src
OBJS= iaxmodem.o lib/spandsp/src/.libs/libspandsp.a lib/libiax2/src/.libs/libiax.a
-LDFLAGS+= -lm -lutil -ltiff
+LDFLAGS+= @LDFLAGS@ -lm -lutil -ltiff
all: iaxmodem

View File

@ -0,0 +1,11 @@
$OpenBSD: patch-configure,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
--- configure.orig Thu Feb 7 20:58:41 2008
+++ configure Thu Mar 27 21:13:17 2008
@@ -22,6 +22,7 @@ if [ -n "${IAXVER}" ]; then
fi
cat Makefile.in | sed -e "s/@VERSION@/${IAXMODEMVER}/g" | \
+ sed -e "s,@LDFLAGS@,${LDFLAGS},g" | \
sed -e "s/@DSPVER@/${DSPVER}/g" | \
sed -e "s/@IAXVER@/${IAXVER}/g" > Makefile

View File

@ -0,0 +1,10 @@
$OpenBSD: patch-iaxmodem-cfg_ttyIAX,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
--- iaxmodem-cfg.ttyIAX.orig Sun Apr 20 22:18:51 2008
+++ iaxmodem-cfg.ttyIAX Sun Apr 20 22:19:30 2008
@@ -1,5 +1,5 @@
device /dev/ttyIAX
-owner uucp:uucp
+owner uucp:dialer
mode 660
port 4570
refresh 300

View File

@ -0,0 +1,38 @@
$OpenBSD: patch-iaxmodem_c,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
--- iaxmodem.c.orig Thu Feb 7 19:57:47 2008
+++ iaxmodem.c Sat Mar 29 03:17:59 2008
@@ -60,11 +60,13 @@
#endif
#include <spandsp.h>
-#ifdef STATICLIBS
+/* #ifdef STATICLIBS */
#include <iax-client.h>
+/*
#else
#include <iax/iax-client.h>
#endif
+ */
#ifndef MODEMVER
#define MODEMVER "0.0.0"
@@ -163,6 +165,9 @@ int logmode = S_IRUSR | S_IWUSR | S_IRGRP;
#include "compat/headers.h"
#include "sys/stropts.h"
#endif
+#ifdef __OpenBSD__
+#include "compat/strings.c"
+#endif
void
printlog(FILE *fp, char *fmt, ...)
@@ -637,7 +642,8 @@ iaxmodem(const char *config, int nondaemon)
int fd;
char logfile[256];
- printlog(LOG_ERROR, "Modem started\n");
+ printlog(LOG_ERROR, "Modem %s started\n",config);
+ setproctitle("uucp [%s]",config);
pwent = getpwnam("uucp");

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-lib_spandsp_src_Makefile_in,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
--- lib/spandsp/src/Makefile.in.orig Thu Feb 7 20:59:43 2008
+++ lib/spandsp/src/Makefile.in Thu Mar 27 21:32:34 2008
@@ -485,7 +485,7 @@ clean-libLTLIBRARIES:
rm -f "$${dir}/so_locations"; \
done
libspandsp.la: $(libspandsp_la_OBJECTS) $(libspandsp_la_DEPENDENCIES)
- $(LINK) -rpath $(libdir) $(libspandsp_la_LDFLAGS) $(libspandsp_la_OBJECTS) $(libspandsp_la_LIBADD) $(LIBS)
+ $(LINK) -rpath $(libdir) $(libspandsp_la_LDFLAGS) $(libspandsp_la_OBJECTS) $(libspandsp_la_LIBADD) $(LDFLAGS) $(LIBS)
clean-noinstPROGRAMS:
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
@@ -956,7 +956,7 @@ v29tx_floating_rrc.h: make_modem_filter$(EXEEXT)
./make_modem_filter$(EXEEXT) -m V.29 -t >v29tx_floating_rrc.h
make_modem_filter$(EXEEXT): make_modem_filter.c filter_tools.c filter_tools.h config.h
- $(CC_FOR_BUILD) -I. -o $@ make_modem_filter.c filter_tools.c -lm
+ $(CC_FOR_BUILD) $(CFLAGS) -I. -o $@ make_modem_filter.c filter_tools.c -lm
$(DSP): msvc/msvcproj.head msvc/msvcproj.foot Makefile.am
echo "creating $(DSP)"

View File

@ -0,0 +1,7 @@
IAXmodem is a software modem written in C that uses an IAX channel
(commonly provided by an Asterisk PBX system) instead of a traditional
phone line and uses a DSP library instead of DSP hardware chipsets.
IAXmodem was originally conceived to function as a fax modem usable
with HylaFAX, and it does that well. However IAXmodem also has been
known to function with mgetty+sendfax and efax.

View File

@ -0,0 +1,11 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2008/04/21 03:49:22 todd Exp $
bin/iaxmodem
@man man/man1/iaxmodem.1
share/doc/iaxmodem/
share/doc/iaxmodem/FAQ
share/doc/iaxmodem/README
share/examples/iaxmodem/
@sample ${SYSCONFDIR}/iaxmodem/
share/examples/iaxmodem/hylafax-cfg.ttyIAX
share/examples/iaxmodem/iaxmodem-cfg.ttyIAX
@sample ${SYSCONFDIR}/iaxmodem/ttyIAX0