.titleBar { margin-bottom: 5px!important; }

SpanDSP rxfax mit neuem Asterisk CVS

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von another-way, 10 Juni 2005.

  1. another-way

    another-way Neuer User

    Registriert seit:
    4 Sep. 2004
    Beiträge:
    63
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gestern habe ich die neueste CVS von asterisk gezogen.
    wollte nun das makefile für rxfax patchen was leider fehlschlug....

    hat jemand rxfax mit dem neuen cvs am laufen??


    Beim kompilieren kommt da ein Fehler zu Zeile 93 in der app_rxfax.c

    es gibt wohl keine variable mit namen callerid....
     
  2. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Du masst das Makefiel einfach manuell patchen. Dazu die Zeilen die mit + beginnen einfach in die richtige Stelle in /apps/Makefiel einsetzen.
    Das Ergebnis könnt dann so aussehen:
    Vorher:
    Code:
    #
    # Asterisk -- A telephony toolkit for Linux.
    # 
    # Makefile for PBX frontends (dynamically loaded)
    #
    # Copyright (C) 1999, Mark Spencer
    #
    # Mark Spencer <markster@linux-support.net>
    #
    # This program is free software, distributed under the terms of
    # the GNU General Public License
    #
    
    USE_MYSQL_VM_INTERFACE=0
    USE_POSTGRES_VM_INTERFACE=0
    
    #APPS=app_dial.so app_playback.so app_directory.so app_intercom.so app_mp3.so 
    APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\
         app_system.so app_echo.so app_record.so app_image.so app_url.so app_disa.so \
         app_adsiprog.so app_getcpeid.so app_milliwatt.so \
         app_zapateller.so app_setcallerid.so app_festival.so \
         app_queue.so app_senddtmf.so app_parkandannounce.so app_striplsd.so \
         app_setcidname.so app_lookupcidname.so app_substring.so app_macro.so \
         app_authenticate.so app_softhangup.so app_lookupblacklist.so \
         app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \
         app_enumlookup.so app_transfer.so app_setcidnum.so app_cdr.so \
         app_hasnewvoicemail.so app_sayunixtime.so app_cut.so app_read.so \
         app_setcdruserfield.so app_random.so app_ices.so app_eval.so \
         app_nbscat.so app_sendtext.so app_exec.so app_sms.so \
         app_groupcount.so app_txtcidname.so app_controlplayback.so \
         app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \
         app_test.so app_forkcdr.so app_math.so app_realtime.so \
         app_dumpchan.so app_waitforsilence.so app_while.so app_setrdnis.so
    
    ifneq (${OSARCH},Darwin)
    ifneq (${OSARCH},SunOS)
    APPS+=app_intercom.so
    endif
    endif
    
    #
    # Obsolete things...
    #
    
    #APPS+=app_sql_postgres.so
    #APPS+=app_sql_odbc.so
    #APPS+=app_rpt.so
    
    APPS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
    APPS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
    APPS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "app_osplookup.so" ; fi)
    
    CURLLIBS=$(shell curl-config --libs)
    ifneq (${CURLLIBS},)
    	APPS+=app_curl.so
    	ifeq (${OSARCH},OpenBSD)
    		CFLAGS+=-I/usr/local/include
    	endif
    endif
    
    CFLAGS+=-fPIC
    #
    # If you have MySQL 4.1 or later you can use ODBC
    # storage
    #
    #CFLAGS+=-DUSE_ODBC_STORAGE
    
    all: $(APPS)
    
    clean:
    	rm -f *.so *.o look .depend
    
    %.so : %.o
    	$(CC) $(SOLINK) -o $@ $<
    
    app_rpt.so : app_rpt.o
    	$(CC) $(SOLINK) -o $@ $< -ltonezone
    
    install: all
    	for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
    	rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
    	rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
    
    app_curl.so: app_curl.o
    	$(CC) $(SOLINK) -o $@ $< $(CURLLIBS)
    
    app_voicemail.so : app_voicemail.o
    ifeq ($(USE_MYSQL_VM_INTERFACE),1)
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz
    else
    ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq
    else
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< 
    endif
    endif
    
    app_sql_postgres.o: app_sql_postgres.c
    	$(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
    
    app_sql_postgres.so: app_sql_postgres.o
    	$(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq
    
    app_sql_odbc.so: app_sql_odbc.o
    	$(CC) $(SOLINK) -o $@ $< -lodbc
    
    look:	look.c
    	$(CC) -pipe -O6 -g look.c -o look -lncurses
    
    ifneq ($(wildcard .depend),)
    include .depend
    endif
    
    depend: .depend
    
    .depend:
    	../mkdep $(CFLAGS) `ls *.c`
    
    env:
    	env
    
    Nachher:
    Code:
    #
    # Asterisk -- A telephony toolkit for Linux.
    # 
    # Makefile for PBX frontends (dynamically loaded)
    #
    # Copyright (C) 1999, Mark Spencer
    #
    # Mark Spencer <markster@linux-support.net>
    #
    # This program is free software, distributed under the terms of
    # the GNU General Public License
    #
    
    USE_MYSQL_VM_INTERFACE=0
    USE_POSTGRES_VM_INTERFACE=0
    
    #APPS=app_dial.so app_playback.so app_directory.so app_intercom.so app_mp3.so 
    APPS=app_dial.so app_playback.so app_voicemail.so app_directory.so app_mp3.so\
         app_system.so app_echo.so app_record.so app_image.so app_url.so app_disa.so \
         app_adsiprog.so app_getcpeid.so app_milliwatt.so \
         app_zapateller.so app_setcallerid.so app_festival.so \
         app_queue.so app_senddtmf.so app_parkandannounce.so app_striplsd.so \
         app_setcidname.so app_lookupcidname.so app_substring.so app_macro.so \
         app_authenticate.so app_softhangup.so app_lookupblacklist.so \
         app_waitforring.so app_privacy.so app_db.so app_chanisavail.so \
         app_enumlookup.so app_transfer.so app_setcidnum.so app_cdr.so \
         app_hasnewvoicemail.so app_sayunixtime.so app_cut.so app_read.so \
         app_setcdruserfield.so app_random.so app_ices.so app_eval.so \
         app_nbscat.so app_sendtext.so app_exec.so app_sms.so \
         app_groupcount.so app_txtcidname.so app_controlplayback.so \
         app_talkdetect.so app_alarmreceiver.so app_userevent.so app_verbose.so \
         app_test.so app_forkcdr.so app_math.so app_realtime.so \
         app_dumpchan.so app_waitforsilence.so app_while.so app_setrdnis.so
    
    ifneq (${OSARCH},Darwin)
    ifneq (${OSARCH},SunOS)
    APPS+=app_intercom.so
    endif
    endif
    
    #
    # Obsolete things...
    #
    
    #APPS+=app_sql_postgres.so
    #APPS+=app_sql_odbc.so
    #APPS+=app_rpt.so
    
    APPS+=$(shell if [ -f /usr/include/linux/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
    APPS+=$(shell if [ -f /usr/local/include/zaptel.h ]; then echo "app_zapras.so app_meetme.so app_flash.so app_zapbarge.so app_zapscan.so" ; fi)
    APPS+=$(shell if [ -f /usr/include/osp/osp.h ]; then echo "app_osplookup.so" ; fi)
    
    APPS+=$(shell if [ -f /usr/include/spandsp.h ]; then echo "app_rxfax.so app_txfax.so" ; fi)
    APPS+=$(shell if [ -f /usr/local/include/spandsp.h ]; then echo "app_rxfax.so app_txfax.so" ; fi)
    
    CURLLIBS=$(shell curl-config --libs)
    ifneq (${CURLLIBS},)
    	APPS+=app_curl.so
    	ifeq (${OSARCH},OpenBSD)
    		CFLAGS+=-I/usr/local/include
    	endif
    endif
    
    CFLAGS+=-fPIC
    #
    # If you have MySQL 4.1 or later you can use ODBC
    # storage
    #
    #CFLAGS+=-DUSE_ODBC_STORAGE
    
    all: $(APPS)
    
    clean:
    	rm -f *.so *.o look .depend
    
    %.so : %.o
    	$(CC) $(SOLINK) -o $@ $<
    
    app_rpt.so : app_rpt.o
    	$(CC) $(SOLINK) -o $@ $< -ltonezone
    
    install: all
    	for x in $(APPS); do $(INSTALL) -m 755 $$x $(DESTDIR)$(MODULES_DIR) ; done
    	rm -f $(DESTDIR)$(MODULES_DIR)/app_datetime.so
    	rm -f $(DESTDIR)$(MODULES_DIR)/app_qcall.so
    
    app_rxfax.so : app_rxfax.o
    	$(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
    
    app_txfax.so : app_txfax.o
    	$(CC) $(SOLINK) -o $@ $< -lspandsp -ltiff
    
    app_curl.so: app_curl.o
    	$(CC) $(SOLINK) -o $@ $< $(CURLLIBS)
    
    app_voicemail.so : app_voicemail.o
    ifeq ($(USE_MYSQL_VM_INTERFACE),1)
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -L/usr/lib/mysql -lmysqlclient -lz
    else
    ifeq ($(USE_POSTGRES_VM_INTERFACE),1)
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< -lpq
    else
    	$(CC) $(SOLINK) -o $@ $(MLFLAGS) $< 
    endif
    endif
    
    app_sql_postgres.o: app_sql_postgres.c
    	$(CC) -pipe -I/usr/local/pgsql/include $(CFLAGS) -c -o app_sql_postgres.o app_sql_postgres.c
    
    app_sql_postgres.so: app_sql_postgres.o
    	$(CC) $(SOLINK) -o $@ $< -L/usr/local/pgsql/lib -lpq
    
    app_sql_odbc.so: app_sql_odbc.o
    	$(CC) $(SOLINK) -o $@ $< -lodbc
    
    look:	look.c
    	$(CC) -pipe -O6 -g look.c -o look -lncurses
    
    ifneq ($(wildcard .depend),)
    include .depend
    endif
    
    depend: .depend
    
    .depend:
    	../mkdep $(CFLAGS) `ls *.c`
    
    env:
    	env
    
     
  3. another-way

    another-way Neuer User

    Registriert seit:
    4 Sep. 2004
    Beiträge:
    63
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich habs shcon manuell gepatcht... hat ja auch geklappt nu rbeim kompilieren der rxfax.c kommt der fehler das die variable callerid (zeile 93) nicht existiert oder so ähnlich
     
  4. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hast Du ne alte Version von SpanDsp? Bei mir das mit der "callerid"-Variable ist doch schon ne weile her.
    aktuelle Version von Spandsp
     
  5. another-way

    another-way Neuer User

    Registriert seit:
    4 Sep. 2004
    Beiträge:
    63
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    genau diese version und app_rxfax.c und app_txfax.c habe ich dafür genommen
     
  6. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe letzte Woche mal die neue CVS-Head kompiliert. Da ging es noch.
     
  7. another-way

    another-way Neuer User

    Registriert seit:
    4 Sep. 2004
    Beiträge:
    63
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    also die cvs von gestern hat sich schon sehr von meiner jetzigen version unterschieden.
    evtl haben die ja wieder was verändert....
    mir ging es hauptsächlich darum das deutschproblem im voicemail zu beheben, und der von gestern sagt die zeit mit deutscher sprache ordentlich an, leider geht dann fax nicht mehr....
     
  8. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Habe mal Asterisk neu ausgeloggt. Kann das Problem reproduzieren. Im Quelltext von app_rxfax hat sich nichts geändert, seitdem ich das das letzte mal erfolgreich kompiliert habe. Und in Asterisk konnte ich auch nix finden, was das Problem auslöst.
    Hab es mal in den Bug-Tracker con SpanDsp reingesetzt.
     
  9. betateilchen

    betateilchen Grandstream-Guru

    Registriert seit:
    30 Juni 2004
    Beiträge:
    12,882
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    am Letzenberg
    Das Problem mit der CallerID tritt übrigens auch in der app_ldap.c auf.

    Probiere mal, in der betreffenden Zeile das "callerid" durch "cid.cid_num" zu ersetzen.
     
  10. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Jo, so klappt es:
    (Zeile 92-95 aus app_rxfax)
    Code:
    #if (ASTERISK_VERSION_NUM <= 011000)
                          chan->cid.cid_num,
    #else
                          (chan->cid.cid_num)  ?  chan->cid.cid_num  :  "",
    #endif
    
    Hätte ich auch selber drauf kommen können... Diese Änderungen hatte ich schon mal in der chan_capi.c vornehmen müssen. Nur damals konnt ich Spandsp noch einwandfrei kompilieren. Naja, nächstesmal lese ich den Quelltext weiter. Einfach die Zeile 93 bearbeiten. Dann lässt es sich kompilieren.
     
  11. another-way

    another-way Neuer User

    Registriert seit:
    4 Sep. 2004
    Beiträge:
    63
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    genau das wars.
    danke