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

Möglichkeiten der Voice-Mailbox

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von lo4dro, 7 Nov. 2004.

  1. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Guten Morgen.

    Ich hab ein paar Fragen zum VBox System von Asterisk.

    1) kann man neue Nachrichten im
    a) Display des ISDN Telefons signalisieren
    b) den PC-Lautsprecher bipsen lassen
    c) Beim Abnehmen des Hörers (ISDN) eine Mitteilung abspielen bevor das freizeichen kommt.

    2) Abhängig von der übermittelten Rufnummer eine persönliche Nachricht abspielen (vielleicht über CC möglcih)
     
  2. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    1a) Das kommt auf dein Telefon an. Wier soll denn die Signalisierung aussehen? Wenn Du ein ISDN-Telefon mit SMS-Funktion hast, dann könntest Du ne SMS an das Telefon schicken. Es wäre aber auch möglich, dass die VoicemailBox ne eigenen Telefonnummer bekommt, die in deinem Telefonbuch des ISDN-Telefons unter z.b. "VoiceMail" abgelegt wurde. Wenn dann eine Nachricht auf deiner VBox ist, dann könnte über diese Nummer "kurz" an deinem ISDN-Telefon angeklingelt werden, und du siehst dann auf dem Display eionen "verpssten" Anruf der VBox.
    1b) Sollte kein Problem sein, wenn du dafür n skript schreiben kannst. Das kann man dann ja einfach aus Asterisk starten, wenn ne VMail in deiner VBox ist.
    c) Da wird es schwierig. Denke mal das es darauf ankommt, wie Du dein ISDN-Telefon an den Asterisk anschließt. Direkt an HFC könnte man vielleicht mit der s-Extension ein AGI-Skript starten. An einer TK-Anlage mit CAPI könnte es gehen, wenn die tk-Anlage ne Autodial-Funktion hat (oder das Telefon), sodass Du direkt auf dem Asterisk landest.

    2) Das geht bestimm: Entweder direkt über die Extension für jede Rufnummer, oder über ein AGI-Skript und ne Datenbank (wohl angenehmer zu verwalten).
     
  3. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ich hab noch was vergessen *g*

    1d) Mailbox soll Uhrzeitabhängig reagieren. z.b. zwischen 8-12 Uhr nach 5sec, restlichezeit 30sec Klingeln
     
  4. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    @Hupe
    Da ich noch ein sehr grosser Anfänger bin, würde ich mich an ein zwei Beispiele freuen.

    1a) würde das kurze Klingeln in Frage kommen.
    1b) wie schreibt man so ein script

    2) vielleicht ein kleines Beispiel wie man so ne extension abfrägt. Mir fällt nur so was ein:

    exten => 300/0785154321,1,Playback(Hallo-Meier.mp3)
    exten => 300,2,Voicemail(u${EXTEN})
     
  5. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    1d) Über ein AGI-Skript dann auch kein Problem. Da kann man dann ja die "timeout"-Zeit des Dial-Befehles als uhrzeitabhängige Variable setzen.
    Asterisk hat aber auch direkt über den Dialplan ne Möglichkeit einer Tag/Nacht-Schaltung zu nutzen.
     
  6. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    1a) Naja, für den Fall, dass Du CAPI nutzt kann ich dir das wohl sagen:

    Richte in Deiner capi.conf ne MSN für die VBox ein. Dann einfach den Befehl (77 MSN der VBox, 15 des Telefons):

    exten s,1, DIAL(CAPI/15:77,1)
    1 ist der Timeout in Sekunden. Es klingelt also nur eine Sekunde. Die extension muss man natürlich den Bedürfnissen anpassen.
    Von HFC habe ich nicht soviel Ahnung, und verkneife mir dann mal ein (vermutlich falsches) Beispiel.

    1b)
    AGI-Skripte kann man in so einigen Programmiersprachen schreiben: Perl, ein Shellskript, PHP, Java ...
    weitere infos findest Du hier.
    Normale Skripte und Programme, kannman mittels des Befehles System ausführen.

    2)
    exten => 300/0785154321,1,Playback(Hallo-Meier)
    (Playback spielt keine mp3s ab, dazu "MP3Player" nutzen)
    exten => 300,2,Voicemail(u${EXTEN})
    Das ist ne Möglichkeit für die Dialplan-Version. Bei vielen verschiedenen "Anrufern" natürlich ein wenig "aufwendig". Da könnte man dann besser über ein AGI-Skript die CallerID über eine SQL-Datenbank auswerten, und dann ein entsprechendes Soundfile abspielen. Hab ich noch nie gemacht, ich bin mir aber sicher, dass sowas geht.
     
  7. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    1a) wie der dial Befehl aussieht ist mir klar, nur wo wird der in die extension.conf eingefügt? kommt der nach zwischen Voicemail & Hangup
    (exten => 300,3,dial....)

    exten => 300,2,Dial(${S0INT}/${EXTEN},20)
    exten => 300,3,Voicemail(u${EXTEN})
    exten => 300,3,Dial.....
    exten => 300,4,Hangup
    exten => 300,102,Voicemail(b${EXTEN})
    exten => 300,103,Hangup
     
  8. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Also irgendwie geht das net.
    Kann es sein, das eine Voicemail aufrurf die priorität erhöht?.
    Das sobald die Voicemail angesprochen wird eine 101 dazugezählt wird?
    Ich glaube ich hab sowas im wiki gelesen.

    Dann müsste ich der Eintrag so aussehen?

    ;;;; ISDN-User DN:300
    exten => 300,1,SendText(Ich bin das Telefon ${EXTEN})
    exten => 300,2,Dial(${S0INT}/${EXTEN},10)
    exten => 300,3,Voicemail(u${EXTEN})
    exten => 300,4,Hangup
    exten => 300,102,Voicemail(b${EXTEN})
    exten => 300,103,Dial(${S0AMT}12:9999,5
    exten => 300,104,Hangup
     
  9. Hupe

    Hupe Aktives Mitglied

    Registriert seit:
    8 Apr. 2004
    Beiträge:
    2,586
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Code:
    Return codes
    If all the called channels are busy, Dial will exit with a return code of 0 and will continue in the current context at priority n+101, if it exists, where n is the priority of the Dial command. This allows you to set up different behavior for a busy response as opposed to a no-answer response.
    
    If Dial was unable to place the call for some other reason, such as timing out before any channel answered successfully, then Dial will exit with a return code of 0 and execute the next higher priority (n+1) command.
    
    If the g option is specified, and the called party hangs up before the calling party, then Dial exits with a return code of 0 to continue execution at priority n+1.
    
    Dial returns -1 if the originating channel hangs up, or if the call is bridged and either of the parties in the bridge terminate the call.
    
    
    If you are using kapejod's bristuff, you will have a n + 201 priority as well. Dial goes to this priority if no one is logged in on the called extension. I.e. giving an unavailable message instead of a busy message when no phone is connected to the extension.
    
    Example:
    exten => 4000,1,Dial(SIP/${EXTEN},15)
    exten => 4000,2,Voicemail(u${EXTEN})
    exten => 4000,102,Voicemail(b${EXTEN})
    exten => 4000,202,Voicemail(u${EXTEN})
    
    Quelle
     
  10. lo4dro

    lo4dro Mitglied

    Registriert seit:
    14 Okt. 2004
    Beiträge:
    656
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So ich hab ml folgendes versuch:

    ;;;; ISDN-User DN:300
    exten => 300,1,Dial(${S0INT}/${EXTEN},10)
    exten => 300,2,Voicemail(u${EXTEN})
    exten => 300,3,Dial(${S0AMT}/12,5)
    exten => 300,4,Hangup
    exten => 300,102,Voicemail(b${EXTEN})
    exten => 300,103,Dial(${S0AMT}/12,5)
    exten => 300,104,Hangup

    Leider wird nach der Mailbox kein Dialbefehl abgesetz.

    Das zeigt mir asterisk an:
    pbx*CLI>
    Nov 8 17:09:35 NOTICE[1112755120]: channel.c:284 ast_alloc_uniqueid: uid = asterisk-2144-1099930175.26
    -- Executing Dial("SIP/200-7e5e", "Zap/g1/300|10") in new stack
    Nov 8 17:09:35 NOTICE[1119189936]: channel.c:284 ast_alloc_uniqueid: uid = asterisk-2144-1099930175.27
    -- Called g1/300
    -- Zap/1-1 is ringing
    -- Nobody picked up in 10000 ms
    -- Hungup 'Zap/1-1'
    -- Executing VoiceMail("SIP/200-7e5e", "u300") in new stack
    -- Playing 'voicemail/default/300/greet' (language 'de')
    -- Playing 'vm-isunavail' (language 'de')
    -- Playing 'vm-intro' (language 'de')
    -- Playing 'beep' (language 'de')
    -- Recording the message
    -- x=0, open writing: /var/spool/asterisk/voicemail/default/300/INBOX/msg0000 format: wav, 0x811cca8
    -- User hung up
    == Spawn extension (sipgate, 300, 2) exited non-zero on 'SIP/200-7e5e'

    Vielleicht hat ja noch jemad einen Tipp?