Voicemail legt auf, wenn keine Nachricht aufgezeichnet wurde

musiKk

Neuer User
Mitglied seit
30 Okt 2007
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich habe folgendes Problem:

Ich habe in der extension.conf folgende Konfiguration:
Code:
exten => _200X,1,Dial(SIP/${EXTEN},5)
exten => _200X,2,VoiceMail(${EXTEN}@voicemail)
D.h. nach 5 Sekunden (weil ichs grad teste, ists so kurz), soll die Mailbox ran. Tut sie auch. Auch das Abhoeren klappt wunderbar:
Code:
[voicemail]
2000 => 1111,test,mail@dresse
2005 => 2222,test2,mail@dresse2
Die Mails werden ebenfalls ordnungsgemaess verschickt. Nun aber das eigentliche Problem: Wenn der Anrufer direkt nach dem Piepton der Mailbox (nach dem er eigentlich etwas aufs "Band" sprechen soll) auflegt und somit nichts aufgezeichnet wird, klappt das Abhoeren nicht. Will der Angerufene naemlich diesen Eintrag in der Mailbox abhoeren, legt diese einfach auf. Dadurch komme ich auch nicht ins Sprachmenue, in dem ich die Nachricht dann loeschen kann.

Kennt jemand das Problem und weiss vielleicht auch, wie man es umgehen kann? Ich habe eine Weile danach gesucht, konnte aber leider nichts passendes finden.

Vielen Dank schonmal!
(Asterisk 1.4.13 auf Debian Etch)
 
Äh, was willst Du denn abhören bzw. was soll Asterisk Dir denn vorspielen, wenn der Anrufer keine (oder nur eine sehr stille und kurze) Nachricht hinterlassen hat?

Da ist doch nichts...

Oder habe ich Dich falsch verstanden?

Andererseits: Auflegen sollte Asterisk nicht. Wie das bei 1.4 ist, kann ich aber leider nicht sagen...
 
Ralph* schrieb:
Andererseits: Auflegen sollte Asterisk nicht.
Richtig, genau das ist das Problem. Normal kommt nach einer abgespielten Nachricht ja das Sprachmenue, in dem man die naechste Nachricht abhoeren oder die aktuelle loeschen kann. Da komme ich gar nicht mehr hin, weil Asterisk auflegt. Somit muss ich die Nachricht halt haendisch aus dem entsprechenden Verzeichnis (/var/spool/asterisk/voicemail/....) loeschen (und ich bin froh, dass es noch so einfach ist und dadurch nicht noch irgendwelche Inkonsistenzen auftreten).

Ich hoffe, ich habe mich jetzt besser ausgedrueckt. Es ist nur ein kleines Detail, aber die Situation, dass der Anrufer gleich auflegt, weil er nicht auf die Voicemail sprechen will, ist sicher nicht sooo ungewoehnlich.
 
Seltsam...

Die Situation, dass ein Anrufer zwar noch bis zum "Piep" wartet, dann aber nichts aufspricht, ist natürlich nicht ungewöhnlich und führt bei uns auch nicht zu dem von Dir beschriebenen Verhalten.

Wenn ein Anrufer eine (längere) Nachricht hinterlässt, dann kannst Du die aber schon abhören und landest danach ordnungsgemäß im Sprachmenü, oder?

Wie sieht denn der Eintrag in der extensions.conf aus, mit dem Du die Mailboxabfrage durchführst?

Leider habe ich keine 1.4 im Einsatz, kann den Fehler also nicht nachvollziehen. Sorry, dass ich nicht helfen kann ;-(
 
Ralph* schrieb:
Wenn ein Anrufer eine (längere) Nachricht hinterlässt, dann kannst Du die aber schon abhören und landest danach ordnungsgemäß im Sprachmenü, oder?
Richtig, dann lande ich im Sprachmenue und kann die Nachricht z. B. per Druck auf 7 loeschen.

Ralph* schrieb:
Wie sieht denn der Eintrag in der extensions.conf aus, mit dem Du die Mailboxabfrage durchführst?
Code:
exten => 2999,1,NoOp(${CALLERID(num)} called the mailbox)
exten => 2999,2,VoiceMailMain(${CALLERID(num)}@voicemail|s)
Die NoOp hatte ich erst spaeter wegen eines anderen Problems eingebaut, um eine Debug-Meldung zu haben, ob die CALLERID ueberhaupt stimmt, damit hat es demzufolge nicht zu tun.

Ich praezisiere nochmal kurz (vielleicht hilft es bei der Loesungssuche):
Wenn die Nachricht abgehoert wird, kommt die Ansage, wann der Anruf kam noch. Ist alles default auf englisch, also z. B. "First message received at 2.33 pm" und exakt danach wird getrennt. Das Verhalten kann ich zu 100% reproduzieren, indem ich als Anrufer dieser Nummer waehrend des Pieptones auflege.
 
Gibt denn die CLI mehr Aufschluss über den Fehler?
Vorher bitte "set verbose 10" setzen.

Gruß

Martin
 
swatchy schrieb:
Gibt denn die CLI mehr Aufschluss über den Fehler?
Vorher bitte "set verbose 10" setzen.

Ich stelle mal einen normalen Anruf und die Disconnect-Geschichte gegenueber.
Legt ein normaler Anrufer auf, erscheint
Code:
== Spawn extension (meine-telefone, 2005, 1) exited non-zero on 'SIP/2000-0829d060'
Die letzten beiden Eintraege im CLI bei der VoiceMail-Geschichte sind:
Code:
-- <SIP/2005-082a20c0> Playing '/var/spool/asterisk/voicemail/voicemail/2005/INBOX/msg0000' (language 'en')
== Spawn extension (meine-telefone, 2999, 2) exited non-zero on 'SIP/2005-082a20c0'
Ist also eine ganz normale Trennung. Die Datei, die abgespielt werden soll, existiert auch. Da hat sie zwar die Endung .wav, aber die wird im CLI konsequent nicht mit angezeigt. Die Debug-Meldungen sehen alle ganz genau so aus wie in dem Fall, in dem alles ordentlich funktioniert.

Uebrigens hab ich (warum auch immer) jetzt erst probiert, eine Nachricht schon waehrend der Zeitansage zu loeschen und das klappt auch. Ich muss also nicht erst im Dateisystem rumloeschen. Ist halt dennoch umstaendlich, weil man vorher ja nicht weiss, ob der Anrufer was aufgesprochen hat.

Ich weiss nicht, wie konfus das alles wirkt, ich finds schwierig, das schriftlich gut zu erklaeren. Vielen Dank auch schonmal fuer die Antworten bisher. So langsam denke ich, dass ein Eintrag in der Bug-Liste vielleicht nicht verkehrt waere...
 
Also mit meiner Version 1.4.12.1 ist alles in Ordnung.

Schreibt er die Dateien auch richtig, so wie hier:

Code:
    -- Executing [70@brd:1] VoiceMail("IAX2/10-12", "10@voicemail") in new stack
    -- <IAX2/10-12> Playing 'vm-intro' (language 'de')
    -- <IAX2/10-12> Playing 'beep' (language 'de')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/voicemail/10/tmp/sOgBKc format: wav49, 0x8225030
    -- x=1, open writing:  /var/spool/asterisk/voicemail/voicemail/10/tmp/sOgBKc format: gsm, 0x8240d20
    -- x=2, open writing:  /var/spool/asterisk/voicemail/voicemail/10/tmp/sOgBKc format: wav, 0x8244a80
    -- User hung up

Welche Formate hast Du denn gewählt? Vielleicht wählst du einfach mal die Standardformate (wav49,gsm,wav) aus?


Gruß

Martin
 
So sieht der komplette Aufzeichenvorgang bei mir aus:
Code:
    -- Executing [2005@meine-telefone:2] VoiceMail("SIP/2000-082a7568", "2005@voicemail") in new stack
    -- <SIP/2000-082a7568> Playing 'vm-intro' (language 'en')
    -- <SIP/2000-082a7568> Playing 'beep' (language 'en')
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/voicemail/2005/tmp/latsgw format: wav, 0x82af650
    -- User hung up
Der sieht so aus, egal, ob was aufgezeichnet wurde, oder nicht. Im Falle eines zeitigen Auflegens des Anrufers (welche zum Fehlerfall fuehrt), ist die wav-Datei 44 Bytes gross. Vielleicht verschluckt sich Asterisk beim Abspielen daran?

Wie vielleicht schon ersichtlich wurde, verwende ich nur wav. Ich habe jetzt allerdings auch einmal gsm probiert (die dabei entstehende Datei ist dann 0 Bytes gross), aber das fuehrt leider zum gleichen Fehlverhalten => das VoiceMail-System legt beim Abhoeren dieser Nachricht auf.
 
Ich habe keine Rat mehr, aber vielleicht hat jemand diesselbe Version (1.4.13) installiert und kann dies mal bei sich ausprobieren?!

Gruß

Martin
 
Hallo,

ich habe mittlerweilse das gleiche Problem festgestellt. Ich benutze Asterisk 1.4.13 auf debian (kernel 2.6.18 ) und mISDN 1.1.6. Bei mir hat die Nachricht exakt die Länge 0 (duration in msgxxxx.txt ist 0), die zugehörige gsm-Datei ist ebenfalls 0 Byte groß.
Beim "Abhören" dieser Nachricht, legt die Box einfach auf.
Nachrichten die größer als 0 sind, haben kein Problem.
Ist das vielleicht noch keinem aufgefallen, da solche "0-Nachrichten" nicht so oft vorkommen? Meist ist ja noch irgendwas zu hören, was die Box aufzeichnet, bevor die Verbindung abgebaut wird.
Könnte mir als Workaround höchstens einen Job vorstellen, der regelmäßig nach Nachrichten mit Größe 0 sucht und diese löscht.
Man könnte natürlich auch die Mindestlänge für Nachrichtenaufzeichnung von 0 auf 1 setzen, damit würden vermutlich solche kurzen Nachrichten gar nicht mehr aufgezeichnet werden. (Bin mir nicht sicher ob es Leuten gelingt Nachrichten unter 1 Sekunde zu hinterlassen, vielleicht "ruf zurück" und sofort auflegen?)

Beste Grüße.
Tjareson
 
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.