Anrufbeantworter geht wieder nicht

Sternenfaenger

Neuer User
Mitglied seit
28 Feb 2007
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe den Anrufbeantworter gemäß der Beschreibung für Dummies installiert:
http://wiki.ip-phone-forum.de/gateways:avm:howtos:mods:anrufbeantworter_for_dummies
Er hatte auch mal funktioniert, aber nun kommt keine Ansage mehr und aufgezeichnet wird auch nicht mehr.
Es wird lediglich eine leere .alaw Datei unter /var/media/ftp/anrufbeantworter erzeugt. Vorher wurde auf dem Stick die .alaw Datei angelegt und in eine WAV-Datei konvertiert.

Wie kann man denn das ganze debuggen, wenn man keine Telefonanlage hat und man nichtständig anrufen will ? Wird ja langsam etwas teuer...

Vielen Dank im Vorraus für evtl. Tipps.
Gruß,
Mark

Hier noch meine Konfig:
Fritzbox 7170
Firmware: 29.04.29
Telefonanschlüsse: Analog (kein ISDN).

Hier meine Einstellungen:
(sensible Info wurde gegen XXX ersetzt)

capircvd.handler
Code:
#!/bin/sh

isdn2wav="/var/media/ftp/anrufbeantworter/isdn2wav"  # kompletter Pfad zur isdn2wav-Datei
mailer_to="[email protected]"					# Eure E-Mail Addi
mailer_from="[email protected]"				# Eure E-Mail Addi
mailer_server="mail.gmx.net:25"	# Euer E-Mail Server
mailer_username="XXX"						#	Euer E-Mail Anmeldename
mailer_password="XXX"						# Euer E-Mail Passwort

format=$1
called=$2
calling=$3
file=$4
an=$5
remote=$6
mailformat=$7

sender=@SENDER@
cookie=`date +"%s"`

case "$format" in
voice)
 if test -e $file ; then
  basefile=`echo $file|sed -e "s/\.alaw//"`
  wavfile=$basefile.wav
  $isdn2wav "$file" "$wavfile"
  mv "$wavfile" /var/media/ftp/anrufbeantworter/neue_anrufe/verpasster_anruf.wav # Benennt das File das per mail kommen soll in verpasster_anruf.wav um.
  # cp "$wavfile" /var/media/ftp/anrufbeantworter/neue_anrufe/verpasster_anruf.wav # Kopiert das File das per mail kommen soll in verpasster_anruf.wav

  mailer -s "AB - $basefile" -f "$mailer_from" -t "$mailer_to" -m "$mailer_server" -a "$mailer_username" -w "$mailer_password" -d /var/media/ftp/anrufbeantworter/neue_anrufe/verpasster_anruf.wav # und versendet diese Datei dann auch

  rm /var/media/ftp/anrufbeantworter/neue_anrufe/verpasster_anruf.wav 	#löscht das wave file nach erfolgter Aktion
  rm "$file"   		#löscht das alaw file nach erfolgter Aktion

 else
  
  echo -e "To: $an\nSubject: Eingegangener Anruf!\n\nEingegangener Anruf von Rufnummer $calling auf $called, keine Aufnahme ! ...\n\n"
 fi
;;		# voice 

exec)
 ;;		# exec
*)

 echo "Unknown call to capircvd.handler, see README and capircvd sourcecode!"

esac

capircvd.conf
Code:
=global
iprefix 49         	# Landesvorwahl
nprefix XXX       	# Ortsvorwahl (ohne führende Null!)
onerror exit

=controller1				# ISDN
dontuse true	   		# dontuse false bedeutet dieser Controler verwendet wird


=controller2				# ISDN
dontuse true      	# dontuse false bedeutet dieser Controler verwendet wird


=controller3       	# Interner Ctrl
dontuse true				# dontuse true bedeutet dieser Controler wird nicht verwendet


=controller4       	# Analog
dontuse false				# dontuse true bedeutet dieser Controler wird nicht verwendet


=controller5       	# VOIP (nicht Konform!)
dontuse true				# dontuse true bedeutet dieser Controler wird nicht verwendet


# Skript, welches nach einer Aufnahme ausgeführt wird (voller Pfad!)
#
=default
handler		/var/media/ftp/anrufbeantworter/capircvd.handler 	#Hier natürlich auf euren Pfad anpassen
recipient	root



# MSN1 (Landesvorwahl + Ortsvorwahl + Rufnummer)
#
=49170XXX
mode voice   				# voice oder ignore
delay 1 						# Zeit nach der der Anrufbeantworter eingreifen/aufnehmen soll
record later 				# nach Ansage aufnehmen = "later", gleichzeitig = "on"
announcement 				../ansage-MSN1.la   # relativer Pfad zum Parameter "-d /var/media....". Keine volle Pfadangabe!!!
 
iss dein stick umbenannt worden beim reoot oder so?
hast du zugriff auf die datenmenge wie angegeben?
 
Wie meinst Du das ?
Ich habe doch nirgens in der Config den Sticknamen eingetragen.
Entgegen der "Anleitung zum starten des AB vom Stick.txt" ist der Pfad zum anrufbeantworter-Verzeichnis bei mir auch nicht "/var/media/ftp/USB_DRIVE-Partition-0-1/anrufbeantworter", sondern "/var/media/ftp/anrufbeantworter". So stellt sich das für mich jedenfalls dar, wenn ich mirch per Telnet durch die Verzeichnisse hangel.
Der Dienst "capircvd", dessen Binary sich ja nur auf meinem Stick befindet, lässt sich vermutlich starten. Jedenfalls führt "killall -9 capircvd" nur zum Fehler "Der angegebene Dienst existiert nicht", wenn ich nach einem Restart der FritzBox oder nach gekilltem capi-Dienst nicht mindestens einmal "/var/media/ftp/anrufbeantworter/capircvd -b -d /var/media/ftp/anrufbeantworter /neue_anrufe -c /var/media/ftp/anrufbeantworter" zum Starten des Dienstes aufgerufen hab, was mir sagt, dass der Start dann zuvor erfolgreich war, wenn diese Fehlermeldung nicht kommt. Selbstverständlich starte ich den Dienst und lasse ihn auch laufen bevor ich mit einem Anruf teste, ob der AB auch rangeht. Desweiteren lässt sich durch die offensichtlich neu angelegte .alaw-Datei sagen, welche jedoch keine Daten enthält, dass da wohl ein Dienst arbeitet, jedoch nicht ganz korrekt. Der Stick ist auch nicht voll oder schreibgeschützt.
Tolls wärs, wenn man capircvd irgendwie anweisen könnte, das, was es grad macht, an die shell weiterzuleiten und man dann z.B. per Telnet verfolgen kann, wie weit das Teil kommt (quasi debuggen).
Geht das ?
Oder gibts irgendwo ein Fehlerlogging ?

Bin am verzweifeln. :noidea:
Aber vielleicht hat ja jemand noch ne Idee.

Gruß,
Mark
 
Hab nen dummen Fehler gemacht:
Den langen String zum Starten des Dienstes hab ich mir in ne Textdatei kopiert, um ihn von da aus in die Zwischenablage und dann ins Telnetfenster kopieren zu können. Dummerweise hab ich da wohl irgendwann in der Pfadangabe für den Ordner, wo die neuen Anrufe abgespeichert werden sollen ein Leerzeichen eingefügt, was da nicht hinsollte. :mad:
Ok, nu is ja alles wieder I.O. :)
Einerseits ganz schön doof von mir, andererseits wärs schön, wenn capirvcd ne Warnmeldung ausgespuckt hätte: "Cannot access destination path" oder so.

Naja...
Ich kann ja C/C++ programmieren. Vielleicht find ich ja den Quellcode von capirvcd und noch bischen Info mit welchem compiler man sowas dann erstellt. Hab sonst nur Anwendungen für MS Windows geschrieben, noch nicht für Linux & Co.
Ich hätte ja auch noch ne nette Idee für ein weiteres Add-On der FB.
Mehr dazu in nem anderen Thread.
 
Ok, jetzt geht der AB aber ich kann nich mehr telefonieren

Ok, jetzt geht der AB aber ich kann nich mehr telefonieren:
Scheint so, als würde der AB auch rangehen, wenn ich raustelefonieren will.
Wie kann man das verhindern ?

Ich benutze den Analoganschluss (hab kein ISDN).
Ich dachte bisher, das geht durch "mode ignore":
Code:
=global
iprefix 49         	# Landesvorwahl
nprefix 53XX       	# Ortsvorwahl (ohne führende Null!)
onerror exit

=controller1				# ISDN
dontuse true	   		# dontuse false bedeutet dieser Controler verwendet wird


=controller2				# ISDN
dontuse true      	# dontuse false bedeutet dieser Controler verwendet wird


=controller3       	# Interner Ctrl
dontuse true				# dontuse true bedeutet dieser Controler wird nicht verwendet


=controller4       	# Analog
dontuse false				# dontuse true bedeutet dieser Controler wird nicht verwendet


=controller5       	# VOIP (nicht Konform!)
dontuse true				# dontuse true bedeutet dieser Controler wird nicht verwendet


# Skript, welches nach einer Aufnahme ausgeführt wird (voller Pfad!)
#
=default
handler		/var/media/ftp/anrufbeantworter/capircvd.handler 	#Hier natürlich auf euren Pfad anpassen
recipient	root


# Raustelefonieren ermöglichen
#
=4953-MEINE-NUMMER--
mode ignore  				# voice oder ignore

# Raustelefonieren ermöglichen
#
4953-MEINE-2TE-NUMMER=VOIP-NUMMER
mode ignore  				# voice oder ignore

# (alle anderen Rufnummern behandeln: Anrufe entgegen nehmen)
#
=
mode voice   				# voice oder ignore
delay 15 						# Zeit nach der der Anrufbeantworter eingreifen/aufnehmen soll
record on				    # 'later': nach Ansage aufnehmen, 'on': mit Ansage aufnehmen, 'off': nicht aufnehmen
announcement 				../ansage-MSN1.la   # relativer Pfad zum Parameter "-d /var/media....". Keine volle Pfadangabe!!!

Mist und ich dachte, nun könnte ich das Teil nutzen....
Naja, aber vielleicht kennt ja jemand die Lösung (?).

Gruß,
Mark
 
was soll
4953-MEINE-2TE-NUMMER=VOIP-NUMMER
bedeuten? Doch nicht das was ich denke, oder? Voip geht nicht!

Eigentlich sollten ausgehende Anrufe nicht durch Ctrl4 empfangen werden. Getestet hab ich's nicht.

BTW:
Wenn du Änderungen an der Konfiguration machst und es ging vorher, dann sollte der Fehler meisstens daran liegen.
 
Hi bodega.
Cool, dass Du gleich antwortest. Vielen Dank schonmal dafür :)

Also ich hatte das gestern nur so halb getestet:
Also ich hab nur einen analogen Tel.anschluss.
Ich konnte vom Handy aus dort anrufen und der AB ging ran, die Ansage wurde abgespielt und gleichzeitig wurde aufgenommen (ein kleiner Spass von mir, damit man hört, ob sich der Anrufer über den AB-Spruch aufregt *g*).
Ich hatte gestern nicht versucht, von meinem Telefon, was an der FB ist, rauszutelefonieren.
Es scheint nun so zu sein, dass wenn man auf meinem Festnetz anruft, geht der AB ran und die Ansage kommt und es wird aufgenommen = alles super soweit. Will man vom Festnetz über das Telefon, was an der FB angeschlossen ist, raustelefonieren, dann bekommt man kein Freizeichen, solange noch der capircvd dienst läuft.
Deshalt hatte ich nun versucht, die config Datei zu ändern (so, wie oben gepostet), aber so gehts auch nicht. Ich hatte auch noch die VOIP-Nummer angegeben, nur für den Fall, dass capircvd darauf reagiert. Er soll halt Anrufer von dieser Nummer ignorieren.
Ich poste gleich mal gern die Log-Datei...
 
Hier die log-datei:

Code:
co=1 /var/media/ftp/debug.log
This is the child...
capircvd 0.2.42 started @ Fri Mar  2 16:59:30 2007

Trying to load /var/media/ftp/anrufbeantworter/capircvd.conf
fileop	: configfile is '/var/media/ftp/anrufbeantworter/capircvd.conf'
'Exit on Error' is activated!
sinfo	: Using 49 as international prefix
sinfo	: Using 5331 as national prefix
fileop	: spool-directory:/var/media/ftp/anrufbeantworter/neue_anrufe
init	: CAPIApp() aufgerufen...
sinfo	: Anzahl Controller: 5

sinfo	:  Controller Nr.1
sinfo    : Anzahl B-Kanäle : 2
sinfo    :  Manufacturer    : AVM GmbH
sinfo    :   Serial#        : 0000000
sinfo    :   Version        : 2.0
sinfo    :   Firmwarever.   : 49.23


sinfo	:  Controller Nr.2
sinfo    : Anzahl B-Kanäle : 2
sinfo    :  Manufacturer    : AVM GmbH
sinfo    :   Serial#        : 0000000
sinfo    :   Version        : 2.0
sinfo    :   Firmwarever.   : 49.23


sinfo	:  Controller Nr.3
sinfo    : Anzahl B-Kanäle : 2
sinfo    :  Manufacturer    : AVM GmbH
sinfo    :   Serial#        : 0000000
sinfo    :   Version        : 2.0
sinfo    :   Firmwarever.   : 49.23


sinfo	:  Controller Nr.4
sinfo    : Anzahl B-Kanäle : 1
sinfo    :  Manufacturer    : AVM GmbH
sinfo    :   Serial#        : 0000000
sinfo    :   Version        : 2.0
sinfo    :   Firmwarever.   : 49.23


sinfo	:  Controller Nr.5
sinfo    : Anzahl B-Kanäle : 3
sinfo    :  Manufacturer    : AVM GmbH
sinfo    :   Serial#        : 0000000
sinfo    :   Version        : 2.0
sinfo    :   Firmwarever.   : 49.23

sinfo    : B-Kanäle gesamt: 10

fileop	: CAPI FileNr: 4
fileop	: ApplicationID=5

configuration for -  to controller1 -
capireq	: LISTEN_REQ fuer Controller 1
configuration for -  to controller2 -
capireq	: LISTEN_REQ fuer Controller 2
configuration for -  to controller3 -
capireq	: LISTEN_REQ fuer Controller 3
configuration for -  to controller4 -
capireq	: LISTEN_REQ fuer Controller 4
configuration for -  to controller5 -
capireq	: LISTEN_REQ fuer Controller 5
init	: CAPIApp() beendet...
init	: CAPIApp.Run() will be called
capiconf	: Received CAPI_CONF!
capiconf	: LISTEN_CONF
capiconf	: Received CAPI_CONF!
capiconf	: LISTEN_CONF
capiconf	: Received CAPI_CONF!
capiconf	: LISTEN_CONF
capiconf	: Received CAPI_CONF!
capiconf	: LISTEN_CONF
capiconf	: Received CAPI_CONF!
capiconf	: LISTEN_CONF
capircvd forked...
capiind	: Received CAPI_IND!
IND MsgNumber:2093
IND CONNECT PLCI=5893
Typ der Callingnumber: 48
Typ der Callednumber: 16
configuration for -  to controller5 -
configuration for - 0#4953MEINE-FESTNETZNUMMER to  -
Dienst ist Nr:1
CAPIConn Init
ConnVoice Init
WaitConnectTime: 15
Answering VoiceCall...
capiconf	: Received CAPI_CONF!
capiconf	: ALERT_CONF
Sleeping 15000000 usec...
capiind	: Received CAPI_IND!
IND MsgNumber:2099
IND DISCONNECT reason=13456
Call disconnected...
WaitforConnectThread canceln...
 
Achja: Die oben gezeigte Log-Datei wird produziert, wenn ich den Hörer des Telefons an der FB abnehme, um rauszutelefonieren.
Ich interpretier das so, dass capircvd den ausgehenden Anruf annimmt, was ich ja nicht will. Die VOIP-Nummer kann ich gerne wegnehmen. Glaub aber nicht, dass das was ändert.
 
Also folgende Zeilen würde ich erstmal entfernen:

Code:
# Raustelefonieren ermöglichen
#
4953-MEINE-2TE-NUMMER=VOIP-NUMMER
mode ignore  				# voice oder ignore

# (alle anderen Rufnummern behandeln: Anrufe entgegen nehmen)
#
=
mode voice   				# voice oder ignore
delay 15 						# Zeit nach der der Anrufbeantworter eingreifen/aufnehmen soll
record on				    # 'later': nach Ansage aufnehmen, 'on': mit Ansage aufnehmen, 'off': nicht aufnehmen
announcement 				../ansage-MSN1.la   # relativer Pfad zum Parameter "-d /var/media....". Keine volle Pfadangabe!!!

vor allem der letzte Eintrag mit dem '='. Du musst leider jede Nummer einzeln eintragen.
 
Danke

Hmm.
Also, wie gesagt: Die VOIP-Nummer habe ich entfernt. Hat scheinbar kein Effekt. Ich hatte allerdings bisher noch keinen Anruf über die VOIP-Nummer bekommen. Wenn der AB darauf nicht klarkommt, wie Du sagst, könnte ich das ja verschmerzen.
Viel wichtiger ist es, dass er auch Gespräche entgegen nimmt, dessen Anrufernummer unbekannt ist. Ich kann doch nicht ALLE Telefonnummern von denen ich möglicherweise angerufen werden kann (theretisch von allen weltweit) dort eintragen.
Mit den von mir oben gezeigten Einstellungen verhält sich capircvd so, wie ich es fast von einem AB erwarte: Er nimmt nach einiger Zeit, die er mir gibt, selber zum Telefonhörer zu greifen, den Anruf entgegen, egal woher der kommt. Bei Analog werden sowieso kaum Rufnummern übertragen (lediglich solche, die von digitalen Nebenstellen kommen, wie Handy, ...)

Vielleicht ist es mit der aktuellen Implementierung der capircvd nicht möglich bei alleiniger Verwendung des analogen Controllers zwischen eingehenden und ausgehenden Verbindungen zu unterscheiden. Dann sollte dieses Manko vielleicht in einer kommenden Revision behoben werden.
Der Quellcode von capircvd wurde ja mitgeliefert. Ich hab bisher jedoch noch nie unter Linux compiliert. Bei mir läuft nur Windoof (bis auf der Fritzbox und meiner DBox). Ich denke mit M$ Visual Studio kann ich die Sourcen zwar erstellen, aber eben nur für M$ Windoof, was ja nicht auf der FB läuft.

Kennt jemand einen C/C++ Compiler und sogar vielleicht noch eine schöne IDE, die auf Windows läuft und Binaries für Linux erzeugen kann ?
Ich bin Softwareentwickler und kann mir die capircvd-Sourcen gern mal anschauen.

Solange es da noch keine weiteren Möglichkeiten gibt, werde ich den AB Dienst (capirvcd) anschalten, wenn ich nicht da bin und wenn ich da bin, muss ich ihn halt ausschalten, damit ich raustelefonieren kann. Dumm nur, dass ich dann immer dafür nen PC brauche. Egal. Wenigstens geht er.

Vielen Dank an alle, die sich ihre Gedanken gemacht haben und noch machen werden.

Gruß,
Mark

Gruß,
Mark
 
Hi,

also ich glaube hier liegt ein kleiner Irrtum vor: hinter dem = wird nicht die Nummer des Anrufers eingetragen (das wär ja verhältnismässig sinnlos im Zusammenhang mit einem Anrufbeantworter), sondern die angerufene Nummer, also in Deinem Fall Deine normale Festnetznummer (voip funktioniert soweit ich bisher verstanden habe wohl nicht mit dem capircvd - korrigiert mich bitte, wenn ich falsch liege).
Wenn man mehrere MSNs hat, kann man also für die unterschiedlichen Nummern unterschiedliche ABs konfigurieren (ich hab z.b. ne geschäftliche Nummer, auf der der AB lauscht, und die privaten Nummern nimmt unsere 'echter' AB im Telefon an). Wenn Du Deine MSN da einträgst, sollte der capircvd auch nicht mehr auf die ausgehenden Gespräche reagieren.

Was Deine Frage nach dem C++-Compiler und dem Sourcecode betrifft: Der capircvd-Sourcecode ist hier http://capircvd.berlios.de/ erhältlich. Damit er auf der FBox läuft, ist allerdings ein Patch notwendig (andere libcapi-Version). Es gibt einen Patch von spblinux (http://www.spblinux.de/fbox/capircvd_fbox.diff), der macht auch noch einige andere Sachen, unter anderem werden die Anrufnachrichten gezippt, was bei mir aber nicht funktioniert.

Ich selbst hab den Patch daher modifiziert und noch einige weitere Features hinzugefügt, Infos hierzu findest Du im Thread http://www.ip-phone-forum.de/showthread.php?t=92207, ziemlich am Ende. Den Sourcecode hab ich noch nirgends abgelegt, wird aber auf jeden Fall noch kommen (schreibt die GPL ja auch vor). Bei Interesse kann ich den auch direkt zusenden.

Zum Kompilieren brauchts eine Crosscompiler-Toolchain. Unter Windows sollte das auch mit Cygwin gehen, oder halt mit dem FriBoLi-Vmware-Paket. Das ist aber umfangreicher zu erklären und anderswo hier im Forum schon umfassend abgehandelt. Ich selbst benutze die Toolchain aus dem DS-Mod.

Gruss, Nico
 
McNetic schrieb:
voip funktioniert soweit ich bisher verstanden habe wohl nicht mit dem capircvd - korrigiert mich bitte, wenn ich falsch liege
Jo.. capircvd geht nicht mit VoIP.
Ich hab da mal was entwickelt, womit man einen VoIP/CAPI AB basteln kann. Ist aber noch im Beta-Stadium... (so, genug Werbung ;))
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.