Andere Voicemail Ansage als erwartet

chucky03

Neuer User
Mitglied seit
15 Mai 2007
Beiträge
19
Punkte für Reaktionen
0
Punkte
0
Hi,

folgendes Problem, egal welchen Zusand ich mit dem Telefon herstelle(gerade besetzt oder vom asterisk abgemeldet), es wird immer die selbstaufgesprochene Temp Nachricht gesprochen. Hier ein Beispiel:

Code:
-- Executing VoiceMail("SIP/asterisk-08171628", "1234@other|b") in new stack
-- Playing '/var/spool/asterisk/voicemail/other/1234/temp' (language 'de')

Code:
-- Executing VoiceMail("SIP/asterisk-08171628", "1234@other|u") in new stack
-- Playing '/var/spool/asterisk/voicemail/other/1234/temp' (language 'de')

Ich hab das ganze so verstanden, dass der anhand des "b" und "u" die entsprechende Nachricht ansagen würde, man sieht aber, dass er immer die temp Nachricht raushaut.

Hier noch meine Sip.conf
Code:
exten=>24,1,Set(ZIELNR=${EXTEN})
exten=>24,n,Dial(SIP/15,3,Ttr)
exten=>24,n,Goto(s-${DIALSTATUS},1)
exten=>s-NOANSWER,1,VoiceMail(1234@other,u) ; Ansage "nicht erreichbar"
exten=>s-BUSY,1,VoiceMail(1234@oher,b); Ansage "besetzt"
exten=>s-CONGESTION,1,VoiceMail(1234@other,b); 
exten=>s-CHANUNAVAIL,1,VoiceMail(1234@other,u);

Hat jemand nen tipp fuer mich?
thx chucky
 
mehrere Tipps...

  1. in s-BUSY steht "oher" anstatt "other"
  2. man sollte nicht s-IRGENDWAS verwenden, sondern besser r- denn die extension "s" ist prinzipiell schon von Asterisk reserviert
  3. erkläre mal bitte, was Du mit 1234@other erreichen willst
 
Hi, danke für deine Tipps.

1234 ist die Mailbox und other ist der Context.

Ich werde deine Ratschläge Montag gleich mal ausprobieren ;-)

Danke noch mal!
 
Habe s- durch r- ersetzt und den Rechtschreibfehler korrigiert, leider ohne Änderung. Nach wie vor spielt er immer die Temp Message ab und nicht die Busy oder Unavailable.
 
Kannst Du mal bitte testen, was nach dieser Änderung passiert?

Code:
exten=>s-NOANSWER,1,VoiceMail,u1234

Bitte die CLI Ausgabe hier posten.
Eventuell wäre auch die voicemail.conf mal ganz interessant ;)
 
mhh das verstehe ich jetzt nicht, erst sagst du mir ich soll auf r- umstellen und in deinem Post steht -s und ohne den Context kann es doch gar nicht funktionieren, sagt er auch im Logfile

Ich hab das so geaendert:
Code:
exten=>24,n,Goto(s-${DIALSTATUS},1)
exten=>s-NOANSWER,1,VoiceMail,u1234

Das ist der ouput aus der CLI:

Code:
Jun 12 16:35:03 WARNING[3536]: app_voicemail.c:2414 leave_voicemail: No entry in voicemail config file for '1234'
Jun 12 16:35:13 WARNING[3536]: pbx.c:2415 __ast_pbx_run: Timeout, but no rule 't' in context 'default'

Hier ist meine "riesiege" voicemail.conf:

Code:
[general]
format=wav49|g-m|wav
skipms=3000
maxsilence=10
silencethreshold=128
maxlogins=10

[zonemessages]
eastern=America/New_York|'vm-received' Q 'digits/at' IMp
central=America/Chicago|'vm-received' Q 'digits/at' IMp
central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours'
military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p'

[default]

[other]
;The intro can be customized on a per-context basis
;directoryintro=dir-company2
1234 => 5678,Company2 User,[email protected]
 
daß da "s-" steht kommt einfach daher, daß ich aus Faulheit Deine Originalzeile kopiert hatte und dann lediglich die Änderung im hinteren Teil eingetragen hatte. Wenn Du auf r- umgestellt hast, muß da natürlich auch ein "r-" hin ;)

Stell doch mal in der voicemail.conf die Mailbox in den [default] Kontext und trag dann im Dialplan einfach mal testweise
Code:
exten => r-NOANSWER,1,voicemail, u1234
ein.
 
Hi, sorry hatte gestern leider keine zeit, das zu testen.

Nachdem ich die 1234 Mailbox in default genommen habe komtm das:

Code:
Executing Goto("SIP/asterisk-b5e00470", "r-NOANSWER|1") in new stack
Goto (default,r-NOANSWER,1)
Executing VoiceMail("SIP/asterisk-b5e00470", "u1234") in new stack
Playing '/var/spool/asterisk/voicemail/default/1234/temp' (language 'de')

Es wird nach wie vor nur die temp Message abgespielt, das kann doch nicht war sein :/

Es existieren aber alle Soundfiles die er benötigt.

Code:
asterisk:/var/spool/asterisk/voicemail/default/1234# ls -al
total 132
drwx------ 5 asterisk asterisk  4096 2007-06-14 11:27 .
drwx------ 3 asterisk asterisk  4096 2007-06-07 16:17 ..
-rwx------ 1 asterisk asterisk  1551 2007-06-14 11:27 busy.gsm
-rwx------ 1 asterisk asterisk 15084 2007-06-14 11:27 busy.wav
-rwx------ 1 asterisk asterisk  1556 2007-06-14 11:27 busy.WAV
drwx------ 2 asterisk asterisk  4096 2007-06-14 11:39 INBOX
drwx------ 2 asterisk asterisk  4096 2007-06-14 11:26 Old
-rwx------ 1 asterisk asterisk  4191 2007-06-14 11:28 temp.gsm
-rwx------ 1 asterisk asterisk 40684 2007-06-14 11:28 temp.wav
-rwx------ 1 asterisk asterisk  4220 2007-06-14 11:28 temp.WAV
drwx------ 2 asterisk asterisk  4096 2007-06-14 11:39 tmp
-rwx------ 1 asterisk asterisk  2508 2007-06-14 11:27 unavail.gsm
-rwx------ 1 asterisk asterisk 24364 2007-06-14 11:27 unavail.wav
-rwx------ 1 asterisk asterisk  2530 2007-06-14 11:27 unavail.WAV

Hast du noch ne idee?
 
Nur noch mal zu zeigen:

Code:
Executing Goto("SIP/asterisk-b5e034a0", "r-BUSY|1") in new stack
Goto (default,r-BUSY,1)
Executing VoiceMail("SIP/asterisk-b5e034a0", "b1234") in new stack
Playing '/var/spool/asterisk/voicemail/default/1234/temp' (language 'de')

Auch wenn besetzt erkannt wird, spielt er die temp Message :/
 
Ändere doch bitte mal Deinen Dialplan ab in
Code:
exten=>r-NOANSWER,1,VoiceMail(u1234)
oder von mir aus auch
Code:
exten=>r-NOANSWER,1,VoiceMail(1234,u)
und teste erneut.
Ich nehme an Du hast die Syntax des Voicemail-CMD durcheinandergeworfen. Das Komma hat da nix verloren, dafür brauchst Du Klammern.
 
madiehl schrieb:
Ich nehme an Du hast die Syntax des Voicemail-CMD durcheinandergeworfen. Das Komma hat da nix verloren, dafür brauchst Du Klammern.

Das ist ziemlicher Unsinn! Erkläre mir bitte, wie Du die Klammer in einer extensions.conf generieren willst, die per Realtime generiert wird.

Code:
exten=>r-NOANSWER,1,VoiceMail(u1234)

ist absolut gleichbedeutend mit

Code:
exten=>r-NOANSWER,1,VoiceMail,u1234

Das ist übrigens eindeutig durch das CLI Protokoll oben

Code:
Executing VoiceMail("SIP/asterisk-b5e00470", "u1234") in new stack

bewiesen :-Ö

Ich würde als nächsten Schritt mal empfehlen, die temp-Ansagen einfach zu löschen und zu prüfen, ob dann die richtigen Ansagen kommen.
 
Dann solltest Du mal meinen Asterisk Kurs mitmachen, oder zumindest mal lesen.

In Exkursion 3 bin ich extra auf genau dieses Syntax-Thema eingegangen ;)
 
Eine andere Idee:
Hast Du evtl. einen vorkonfigurierten Asterisk wie z.B. AccessVoIP?
Leider kann man das nicht erkennen, da Du keine Signatur hast.

@betateilchen
Das ist schon zu lange her mit dem Kurs und Dein Buch liegt noch auf dem Nachttischschrank ;)
 
Danke!

nachdem ich die temp.* Dateien gelöscht hatte, funktionierte es!

Woran mag das liegen?
 
Du hast eine Ansage für vorübergehende Nichterreichbarkeit aufgenommen.

Kann man da löschen wo man sie aufgenommen hat. Die Auswahl erscheint natürlich nur wenn man zuvor auch eine solche Ansage aufgenommen hat.

0 Mailbox options
1 Record your unavailable message
2 Record your busy message
3 Record your name
4 Record your temporary message (new in Asterisk v1.2)
5 Change your password
* Return to the main menu
 
gelöst

DANKE!

Nu hab ich das System verstanden, so wie eine "temp-Message" da ist, wird diese auch abgespielt. Löscht man diese, werden je nach Dailstatus die anderen Ansagen abgespielt.
 
Kostenlos!

Statistik des Forums

Themen
248,343
Beiträge
2,288,795
Mitglieder
377,656
Neuestes Mitglied
julieshroyer