From: Andreas Eversberg Date: Thu, 23 Oct 2008 19:26:44 +0000 (+0200) Subject: added chan_lcr and Makefile.am fixes by Matthias X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=commitdiff_plain;h=122a9b232937a3c8dcf791165f6db67c357fd1bf added chan_lcr and Makefile.am fixes by Matthias minor improvements for lcradmin modified: Makefile.am modified: Makefile.in modified: chan_lcr.c modified: configure modified: configure.ac modified: lcradmin.c --- diff --git a/Makefile.am b/Makefile.am index 8eebb53..844c2d8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,41 +20,58 @@ ## the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, ## Boston, MA 02110-1301, USA. -#INSTALLATION_DEFINES = \ -# -DCONFIG_DATA="\"$(pkgsysconfdir)\"" \ -# -DSHARE_DATA="\"$(pkgdatadir)\"" \ -# -DLOG_DIR="\"$(pkglogdir)\"" \ -# -DEXTENSION_DATA="\"$(localstatedir)/lib/lcr\"" +INSTALLdir = $(DESTDIR)/usr/local/lcr -INSTALLdir = /usr/local/lcr +pkglogdir=$(localstatedir)/log/@PACKAGE@ +pkgsysconfdir=$(sysconfdir)/@PACKAGE@ + +#CONFIGdir=$(DESTDIR)$(pkgsysconfdir) +#SHAREdir=$(DESTDIR)$(pkgdatadir) +#LOGdir=$(DESTDIR)$(pkglogdir) +#EXTENSIONdir=$(DESTDIR)$(localstatedir)/lib/lcr -astmoddir = /usr/lib/asterisk/modules +CONFIGdir=$(INSTALLdir) +SHAREdir=$(INSTALLdir) +LOGdir=$(INSTALLdir) +EXTENSIONdir=$(INSTALLdir)/extensions + +astmoddir = $(DESTDIR)/usr/lib/asterisk/modules INSTALLATION_DEFINES = \ - -DCONFIG_DATA="\"$(INSTALLdir)\"" \ - -DSHARE_DATA="\"$(INSTALLdir)\"" \ - -DLOG_DIR="\"$(INSTALLdir)\"" \ - -DEXTENSION_DATA="\"$(INSTALLdir)/extensions\"" + -DCONFIG_DATA="\"$(CONFIGdir)\"" \ + -DSHARE_DATA="\"$(SHAREdir)\"" \ + -DLOG_DIR="\"$(LOGdir)\"" \ + -DEXTENSION_DATA="\"$(EXTENSIONdir)/extensions\"" INCLUDES = $(all_includes) -I/usr/include/mISDNuser $(INSTALLATION_DEFINES) bin_PROGRAMS = lcradmin gentones genwave +sbin_PROGRAMS = lcr genrc genextension + if ENABLE_ASTERISK_CHANNEL_DRIVER -sbin_PROGRAMS = lcr genrc genextension chan_lcr.so -chan_lcr_so_SOURCES = +noinst_PROGRAMS = chan_lcr.so +chan_lcr_so_SOURCES = chan_lcr_so_LDFLAGS = -shared -chan_lcr_so_LDADD = chan_lcr.o bchannel.o options.o +chan_lcr_so_LDADD = chan_lcr.po bchannel.po options.po callerid.po + +chan_lcr.po: chan_lcr.c chan_lcr.h + $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c chan_lcr.c -o chan_lcr.po -chan_lcr.o: chan_lcr.c chan_lcr.h - $(CC) $(INCLUDES) -D_GNU_SOURCE -c chan_lcr.c +bchannel.po: bchannel.c bchannel.h + $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c bchannel.c -o bchannel.po -bchannel.o: bchannel.c bchannel.h - $(CC) $(INCLUDES) -D_GNU_SOURCE -c bchannel.c +callerid.po: callerid.c callerid.h + $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c callerid.c -o callerid.po -else -sbin_PROGRAMS = lcr genrc genextension +options.po: options.c options.h + $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c options.c -o options.po + +install-exec-hook: + mkdir -p $(astmoddir) + $(INSTALL) -d $(astmoddir) + $(INSTALL) chan_lcr.so $(astmoddir) endif lcr_SOURCES = action.cpp mISDN.cpp tones.c \ @@ -81,43 +98,41 @@ install-data-hook: @sh -c 'grep -n strncat *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strncat, use makro instead." ; exit -1 ; fi' @sh -c 'grep -n sprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use sprintf, use makro instead." ; exit -1 ; fi' @sh -c 'grep -n snprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi' - mkdir -p $(INSTALLdir) - mkdir -p $(INSTALLdir)/extensions - @if test -a $(INSTALLdir)/options.conf ; then \ + mkdir -p $(CONFIGdir) + mkdir -p $(SHAREdir) + mkdir -p $(LOGdir) + mkdir -p $(EXTENSIONdir) + @if test -a $(CONFIGdir)/options.conf ; then \ echo "NOTE: options.conf already exists, not changed." ; else \ - cp -v default/options.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/interface.conf ; then \ + cp -v default/options.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/interface.conf ; then \ echo "NOTE: interface.conf already exists, not changed." ; else \ - cp -v default/interface.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/routing.conf ; then \ + cp -v default/interface.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/routing.conf ; then \ echo "NOTE: routing.conf already exists, not changed." ; else \ - cp -v default/routing.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/numbering_int.conf ; then \ + cp -v default/routing.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/numbering_int.conf ; then \ echo "NOTE: numbering_int.conf is obsolete, please use routing." ; fi - @if test -a $(INSTALLdir)/numbering_ext.conf ; then \ + @if test -a $(CONFIGdir)/numbering_ext.conf ; then \ echo "NOTE: numbering_ext.conf is obsolete, please use routing." ; fi - @if test -a $(INSTALLdir)/directory.list ; then \ + @if test -a $(CONFIGdir)/directory.list ; then \ echo "NOTE: directory.list already exists, not changed." ; else \ - cp -v default/directory.list $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_american ; then \ + cp -v default/directory.list $(CONFIGdir) ; fi + @if test -a $(SHAREdir)/tones_american ; then \ echo "NOTE: american tones already exists, not overwritten." ; else \ - cp -a tones_american $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_german ; then \ + cp -a tones_american $(SHAREdir) ; fi + @if test -a $(SHAREdir)/tones_german ; then \ echo "NOTE: german tones already exists, not overwritten." ; else \ - cp -a tones_german $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/vbox_german ; then \ + cp -a tones_german $(SHAREdir) ; fi + @if test -a $(SHAREdir)/vbox_german ; then \ echo "NOTE: german vbox tones already exists, not overwritten." ; else \ - cp -a vbox_german $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/vbox_english ; then \ + cp -a vbox_german $(SHAREdir) ; fi + @if test -a $(SHAREdir)/vbox_english ; then \ echo "NOTE: english vbox tones already exists, not overwritten." ; else \ - cp -a vbox_english $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_efi ; then \ + cp -a vbox_english $(SHAREdir) ; fi + @if test -a $(SHAREdir)/tones_efi ; then \ echo "NOTE: special efi tones already exists, not overwritten." ; else \ - cp -a tones_efi $(INSTALLdir) ; fi -if ENABLE_ASTERISK_CHANNEL_DRIVER - @echo "Moving chan_lcr.so (if it fails, do it manually)" - mv $(sbindir)/chan_lcr.so $(astmoddir) -endif + cp -a tones_efi $(SHAREdir) ; fi # test rule, nothing important #echo: @@ -129,7 +144,4 @@ endif COMPILE=$(CXXCOMPILE) LINK=$(CXXLINK) -pkglogdir=$(localstatedir)/log/@PACKAGE@ -pkgsysconfdir=$(sysconfdir)/@PACKAGE@ - diff --git a/Makefile.in b/Makefile.in index bbe9f66..929550d 100644 --- a/Makefile.in +++ b/Makefile.in @@ -14,12 +14,6 @@ @SET_MAKE@ -#INSTALLATION_DEFINES = \ -# -DCONFIG_DATA="\"$(pkgsysconfdir)\"" \ -# -DSHARE_DATA="\"$(pkgdatadir)\"" \ -# -DLOG_DIR="\"$(pkglogdir)\"" \ -# -DEXTENSION_DATA="\"$(localstatedir)/lib/lcr\"" - srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ @@ -41,12 +35,8 @@ NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : bin_PROGRAMS = lcradmin$(EXEEXT) gentones$(EXEEXT) genwave$(EXEEXT) -@ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE@sbin_PROGRAMS = lcr$(EXEEXT) \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE@ genrc$(EXEEXT) \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE@ genextension$(EXEEXT) -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@sbin_PROGRAMS = lcr$(EXEEXT) \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ genrc$(EXEEXT) \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ genextension$(EXEEXT) \ +sbin_PROGRAMS = lcr$(EXEEXT) genrc$(EXEEXT) genextension$(EXEEXT) +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@noinst_PROGRAMS = \ @ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ chan_lcr.so$(EXEEXT) subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ @@ -66,12 +56,12 @@ CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) -PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS) +PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(sbin_PROGRAMS) am_chan_lcr_so_OBJECTS = chan_lcr_so_OBJECTS = $(am_chan_lcr_so_OBJECTS) @ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr_so_DEPENDENCIES = \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ chan_lcr.o bchannel.o \ -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ options.o +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ chan_lcr.po bchannel.po \ +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ options.po callerid.po am_genextension_OBJECTS = genext.$(OBJEXT) options.$(OBJEXT) \ extension.$(OBJEXT) genextension_OBJECTS = $(am_genextension_OBJECTS) @@ -215,18 +205,29 @@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -INSTALLdir = /usr/local/lcr -astmoddir = /usr/lib/asterisk/modules +INSTALLdir = $(DESTDIR)/usr/local/lcr +pkglogdir = $(localstatedir)/log/@PACKAGE@ +pkgsysconfdir = $(sysconfdir)/@PACKAGE@ + +#CONFIGdir=$(DESTDIR)$(pkgsysconfdir) +#SHAREdir=$(DESTDIR)$(pkgdatadir) +#LOGdir=$(DESTDIR)$(pkglogdir) +#EXTENSIONdir=$(DESTDIR)$(localstatedir)/lib/lcr +CONFIGdir = $(INSTALLdir) +SHAREdir = $(INSTALLdir) +LOGdir = $(INSTALLdir) +EXTENSIONdir = $(INSTALLdir)/extensions +astmoddir = $(DESTDIR)/usr/lib/asterisk/modules INSTALLATION_DEFINES = \ - -DCONFIG_DATA="\"$(INSTALLdir)\"" \ - -DSHARE_DATA="\"$(INSTALLdir)\"" \ - -DLOG_DIR="\"$(INSTALLdir)\"" \ - -DEXTENSION_DATA="\"$(INSTALLdir)/extensions\"" + -DCONFIG_DATA="\"$(CONFIGdir)\"" \ + -DSHARE_DATA="\"$(SHAREdir)\"" \ + -DLOG_DIR="\"$(LOGdir)\"" \ + -DEXTENSION_DATA="\"$(EXTENSIONdir)/extensions\"" INCLUDES = $(all_includes) -I/usr/include/mISDNuser $(INSTALLATION_DEFINES) @ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr_so_SOURCES = @ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr_so_LDFLAGS = -shared -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr_so_LDADD = chan_lcr.o bchannel.o options.o +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr_so_LDADD = chan_lcr.po bchannel.po options.po callerid.po lcr_SOURCES = action.cpp mISDN.cpp tones.c \ action_efi.cpp crypt.cpp mail.c trace.c \ action_vbox.cpp dss1.cpp main.c \ @@ -249,8 +250,6 @@ genextension_SOURCES = genext.c options.c extension.c # This should better be removed and all .c files renamed to .cpp COMPILE = $(CXXCOMPILE) LINK = $(CXXLINK) -pkglogdir = $(localstatedir)/log/@PACKAGE@ -pkgsysconfdir = $(sysconfdir)/@PACKAGE@ all: config.h $(MAKE) $(AM_MAKEFLAGS) all-am @@ -329,6 +328,9 @@ uninstall-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +clean-noinstPROGRAMS: + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) install-sbinPROGRAMS: $(sbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(sbindir)" || $(mkdir_p) "$(DESTDIR)$(sbindir)" @@ -647,10 +649,11 @@ distclean-generic: maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." +@ENABLE_ASTERISK_CHANNEL_DRIVER_FALSE@install-exec-hook: clean: clean-am -clean-am: clean-binPROGRAMS clean-generic clean-sbinPROGRAMS \ - mostlyclean-am +clean-am: clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ + clean-sbinPROGRAMS mostlyclean-am distclean: distclean-am -rm -f $(am__CONFIG_DISTCLEAN_FILES) @@ -674,6 +677,8 @@ install-data-am: $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-exec-am: install-binPROGRAMS install-sbinPROGRAMS + @$(NORMAL_INSTALL) + $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-info: install-info-am @@ -704,26 +709,39 @@ uninstall-am: uninstall-binPROGRAMS uninstall-info-am \ uninstall-sbinPROGRAMS .PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \ - clean-binPROGRAMS clean-generic clean-sbinPROGRAMS ctags dist \ - dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \ - distcheck distclean distclean-compile distclean-generic \ - distclean-hdr distclean-tags distcleancheck distdir \ - distuninstallcheck dvi dvi-am html html-am info info-am \ - install install-am install-binPROGRAMS install-data \ - install-data-am install-data-hook install-exec install-exec-am \ - install-info install-info-am install-man install-sbinPROGRAMS \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ - tags uninstall uninstall-am uninstall-binPROGRAMS \ - uninstall-info-am uninstall-sbinPROGRAMS - - -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr.o: chan_lcr.c chan_lcr.h -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -c chan_lcr.c - -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@bchannel.o: bchannel.c bchannel.h -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -c bchannel.c + clean-binPROGRAMS clean-generic clean-noinstPROGRAMS \ + clean-sbinPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \ + dist-shar dist-tarZ dist-zip distcheck distclean \ + distclean-compile distclean-generic distclean-hdr \ + distclean-tags distcleancheck distdir distuninstallcheck dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am \ + install-data-hook install-exec install-exec-am \ + install-exec-hook install-info install-info-am install-man \ + install-sbinPROGRAMS install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-compile \ + mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \ + uninstall-am uninstall-binPROGRAMS uninstall-info-am \ + uninstall-sbinPROGRAMS + + +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@chan_lcr.po: chan_lcr.c chan_lcr.h +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c chan_lcr.c -o chan_lcr.po + +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@bchannel.po: bchannel.c bchannel.h +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c bchannel.c -o bchannel.po + +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@callerid.po: callerid.c callerid.h +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c callerid.c -o callerid.po + +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@options.po: options.c options.h +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(CC) $(INCLUDES) -D_GNU_SOURCE -fPIC -c options.c -o options.po + +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@install-exec-hook: +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ mkdir -p $(astmoddir) +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(INSTALL) -d $(astmoddir) +@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ $(INSTALL) chan_lcr.so $(astmoddir) # Special install function to preserve existing configs. # Optimization with equivalen results are welcome @@ -735,41 +753,41 @@ install-data-hook: @sh -c 'grep -n strncat *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use strncat, use makro instead." ; exit -1 ; fi' @sh -c 'grep -n sprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use sprintf, use makro instead." ; exit -1 ; fi' @sh -c 'grep -n snprintf *.c* --exclude chan_lcr.c --exclude bchannel.c --exclude callerid.c ; if test $$''? = 0 ; then echo "dont use snprintf, use makro instead." ; exit -1 ; fi' - mkdir -p $(INSTALLdir) - mkdir -p $(INSTALLdir)/extensions - @if test -a $(INSTALLdir)/options.conf ; then \ + mkdir -p $(CONFIGdir) + mkdir -p $(SHAREdir) + mkdir -p $(LOGdir) + mkdir -p $(EXTENSIONdir) + @if test -a $(CONFIGdir)/options.conf ; then \ echo "NOTE: options.conf already exists, not changed." ; else \ - cp -v default/options.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/interface.conf ; then \ + cp -v default/options.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/interface.conf ; then \ echo "NOTE: interface.conf already exists, not changed." ; else \ - cp -v default/interface.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/routing.conf ; then \ + cp -v default/interface.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/routing.conf ; then \ echo "NOTE: routing.conf already exists, not changed." ; else \ - cp -v default/routing.conf $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/numbering_int.conf ; then \ + cp -v default/routing.conf $(CONFIGdir) ; fi + @if test -a $(CONFIGdir)/numbering_int.conf ; then \ echo "NOTE: numbering_int.conf is obsolete, please use routing." ; fi - @if test -a $(INSTALLdir)/numbering_ext.conf ; then \ + @if test -a $(CONFIGdir)/numbering_ext.conf ; then \ echo "NOTE: numbering_ext.conf is obsolete, please use routing." ; fi - @if test -a $(INSTALLdir)/directory.list ; then \ + @if test -a $(CONFIGdir)/directory.list ; then \ echo "NOTE: directory.list already exists, not changed." ; else \ - cp -v default/directory.list $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_american ; then \ + cp -v default/directory.list $(CONFIGdir) ; fi + @if test -a $(SHAREdir)/tones_american ; then \ echo "NOTE: american tones already exists, not overwritten." ; else \ - cp -a tones_american $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_german ; then \ + cp -a tones_american $(SHAREdir) ; fi + @if test -a $(SHAREdir)/tones_german ; then \ echo "NOTE: german tones already exists, not overwritten." ; else \ - cp -a tones_german $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/vbox_german ; then \ + cp -a tones_german $(SHAREdir) ; fi + @if test -a $(SHAREdir)/vbox_german ; then \ echo "NOTE: german vbox tones already exists, not overwritten." ; else \ - cp -a vbox_german $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/vbox_english ; then \ + cp -a vbox_german $(SHAREdir) ; fi + @if test -a $(SHAREdir)/vbox_english ; then \ echo "NOTE: english vbox tones already exists, not overwritten." ; else \ - cp -a vbox_english $(INSTALLdir) ; fi - @if test -a $(INSTALLdir)/tones_efi ; then \ + cp -a vbox_english $(SHAREdir) ; fi + @if test -a $(SHAREdir)/tones_efi ; then \ echo "NOTE: special efi tones already exists, not overwritten." ; else \ - cp -a tones_efi $(INSTALLdir) ; fi -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ @echo "Moving chan_lcr.so (if it fails, do it manually)" -@ENABLE_ASTERISK_CHANNEL_DRIVER_TRUE@ mv $(sbindir)/chan_lcr.so $(astmoddir) + cp -a tones_efi $(SHAREdir) ; fi # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/chan_lcr.c b/chan_lcr.c index ee5ae6b..cfd3c61 100644 --- a/chan_lcr.c +++ b/chan_lcr.c @@ -649,21 +649,24 @@ static void lcr_start_pbx(struct chan_call *call, struct ast_channel *ast, int c { int cause, ret; union parameter newparam; + char *exten = ast->exten; + if (!*exten) + exten = "s"; - CDEBUG(call, ast, "Try to start pbx. (exten=%s context=%s complete=%s)\n", ast->exten, ast->context, complete?"yes":"no"); + CDEBUG(call, ast, "Try to start pbx. (exten=%s context=%s complete=%s)\n", exten, ast->context, complete?"yes":"no"); if (complete) { /* if not match */ - if (!ast_canmatch_extension(ast, ast->context, ast->exten, 1, call->oad)) + if (!ast_canmatch_extension(ast, ast->context, exten, 1, call->oad)) { - CDEBUG(call, ast, "Got 'sending complete', but extension '%s' will not match at context '%s' - releasing.\n", ast->exten, ast->context); + CDEBUG(call, ast, "Got 'sending complete', but extension '%s' will not match at context '%s' - releasing.\n", exten, ast->context); cause = 1; goto release; } - if (!ast_exists_extension(ast, ast->context, ast->exten, 1, call->oad)) + if (!ast_exists_extension(ast, ast->context, exten, 1, call->oad)) { - CDEBUG(call, ast, "Got 'sending complete', but extension '%s' would match at context '%s', if more digits would be dialed - releasing.\n", ast->exten, ast->context); + CDEBUG(call, ast, "Got 'sending complete', but extension '%s' would match at context '%s', if more digits would be dialed - releasing.\n", exten, ast->context); cause = 28; goto release; } @@ -678,7 +681,7 @@ static void lcr_start_pbx(struct chan_call *call, struct ast_channel *ast, int c goto start; } - if (ast_canmatch_extension(ast, ast->context, ast->exten, 1, call->oad)) + if (ast_canmatch_extension(ast, ast->context, exten, 1, call->oad)) { /* send setup acknowledge to lcr */ if (call->state != CHAN_LCR_STATE_IN_DIALING) { @@ -690,7 +693,7 @@ static void lcr_start_pbx(struct chan_call *call, struct ast_channel *ast, int c call->state = CHAN_LCR_STATE_IN_DIALING; /* if match, start pbx */ - if (ast_exists_extension(ast, ast->context, ast->exten, 1, call->oad)) { + if (ast_exists_extension(ast, ast->context, exten, 1, call->oad)) { CDEBUG(call, ast, "Extensions matches.\n"); goto start; } @@ -724,11 +727,7 @@ static void lcr_start_pbx(struct chan_call *call, struct ast_channel *ast, int c goto release; } call->pbx_started = 1; -// if (call->state == CHAN_LCR_STATE_IN_DIALING) - ast_setstate(ast, AST_STATE_RINGING); -// else -// ast_setstate(ast, AST_STATE_RINGING); -// return; + ast_setstate(ast, AST_STATE_RING); } /* @@ -1961,6 +1960,7 @@ static int lcr_hangup(struct ast_channel *ast) /* during prepare, we change to release state */ CDEBUG(call, ast, "We must wait until we received our ref, until we can free call instance.\n"); call->state = CHAN_LCR_STATE_RELEASE; + call->ast = NULL; } } if (!pthread_equal(tid, chan_tid)) @@ -2125,10 +2125,9 @@ static int lcr_indicate(struct ast_channel *ast, int cond, const void *data, siz ast_moh_stop(ast); call->on_hold = 0; break; -#ifdef AST_CONTROL_SRCUPDATE +#if ASTERISK_VERSION_NUM >= 10600 case AST_CONTROL_SRCUPDATE: - CDEBUG(call, ast, "Received indicate AST_CONTROL_SRCUPDATE from Asterisk.\n"); - res = -1; + CDEBUG(call, ast, "Received AST_CONTROL_SRCUPDATE from Asterisk.\n"); break; #endif default: diff --git a/configure b/configure index bd966c4..a0a90f8 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for lcr 1.2. +# Generated by GNU Autoconf 2.63 for lcr 1.3. # # Report bugs to . # @@ -596,8 +596,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='lcr' PACKAGE_TARNAME='lcr' -PACKAGE_VERSION='1.2' -PACKAGE_STRING='lcr 1.2' +PACKAGE_VERSION='1.3' +PACKAGE_STRING='lcr 1.3' PACKAGE_BUGREPORT='andreas@eversberg.eu' ac_unique_file="main.c" @@ -1297,7 +1297,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures lcr 1.2 to adapt to many kinds of systems. +\`configure' configures lcr 1.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1363,7 +1363,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of lcr 1.2:";; + short | recursive ) echo "Configuration of lcr 1.3:";; esac cat <<\_ACEOF @@ -1461,7 +1461,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -lcr configure 1.2 +lcr configure 1.3 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1475,7 +1475,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by lcr $as_me 1.2, which was +It was created by lcr $as_me 1.3, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -4033,7 +4033,7 @@ fi # Define the identity of the package. PACKAGE=lcr - VERSION=1.2 + VERSION=1.3 cat >>confdefs.h <<_ACEOF @@ -10078,7 +10078,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by lcr $as_me 1.2, which was +This file was extended by lcr $as_me 1.3, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -10141,7 +10141,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -lcr config.status 1.2 +lcr config.status 1.3 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 672bf71..ef76a4e 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl Boston, MA 02110-1301, USA. dnl This keeps being the first instruction. dnl Change the 2nd argument if the version increases dnl 1st + 2nd argument is used for distribution package name -AC_INIT(lcr, 1.2, andreas@eversberg.eu) +AC_INIT(lcr, 1.3, andreas@eversberg.eu) AC_PREREQ(2.59) AC_CONFIG_SRCDIR([main.c]) AM_CONFIG_HEADER(config.h) @@ -32,7 +32,7 @@ AM_CONFIG_HEADER(config.h) # fix warnings from autoconf + automake AC_GNU_SOURCE # AC_USE_SYSTEM_EXTENSIONS -AM_INIT_AUTOMAKE(lcr,1.2) +AM_INIT_AUTOMAKE(lcr,1.3) diff --git a/lcradmin.c b/lcradmin.c index 1459aeb..a351fbf 100644 --- a/lcradmin.c +++ b/lcradmin.c @@ -1656,7 +1656,7 @@ int main(int argc, char *argv[]) printf("dial - Tell LCR the next number to dial for extension.\n"); printf("release - Tell LCR to release endpoint with given number.\n"); printf("block - Block given port.\n"); - printf("unblock - Unblock given port.\n"); + printf("unblock/load - Unblock given port.\n"); printf("unload - Unload port. To load port use 'block' or 'unblock'.\n"); printf("testcall [options] [present|restrict []] - Testcall\n"); printf(" -> options = --setup-timeout --proceeding-timeout \n"); @@ -1693,7 +1693,8 @@ int main(int argc, char *argv[]) goto usage; mode = MODE_RELEASE; } else - if (!(strcasecmp(argv[1],"unblock"))) + if (!(strcasecmp(argv[1],"unblock")) + || !(strcasecmp(argv[1],"load"))) { if (argc <= 2) goto usage;