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

[FRAGE] Variable zwischen Shell und Asterisk austauschen

Dieses Thema im Forum "Asterisk Skripte" wurde erstellt von HobbyStern, 10 Jan. 2009.

  1. HobbyStern

    HobbyStern Aktives Mitglied

    Registriert seit:
    5 Dez. 2005
    Beiträge:
    1,834
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    vorhanden
    Ort:
    Ruhrgebiet
    Hallo Zusammen,

    wie würdet ihr folgendes lösen?

    Ein entfernter Anrufer möchte gerne aus einer Textdatei die letzte Rufnummer vorgelesen bekommen, welche sich natürlich ändert.

    Textdatei liegt immer am gleichen Platz (bsp.txt)
    Die Einträge sind normalisiert und lauten Uhrzeit (hh:mm) [leer] und Nummer (xxxxxxx)

    Es sollte nunmehr so laufen das ich diese Textdatei auslese und die Zeile als Variable in den Asterisk sende, das dann per saytext an den Anrufer.

    Mein Verständnisproblem besteht in der Übergabe der Variable.


    Liebe Grüsse am WE,

    Stefan
     
  2. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Geht mit AGI
    http://www.voip-info.org/wiki/view/Asterisk+AGI+php

    Damit kannst Du aus dem Dialplan Variablen an das Script übergeben und im Script Variablen setzen die dann im Dialplan zur Verfügung stehen.

    In DeinemFall würde ich aber die Daten in mySQL speichern und per SQL Befehl aus dem Dialplan heraus auslesen.
     
  3. HobbyStern

    HobbyStern Aktives Mitglied

    Registriert seit:
    5 Dez. 2005
    Beiträge:
    1,834
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    vorhanden
    Ort:
    Ruhrgebiet
    Hi Thomas,

    "MeinGottMarkus" hat es lange gedauert endlich mal wieder Zeit für den Asterisken zu haben :rolleyes:

    Erstmal Danke!

    Was ich mit der Variable vorhatte war die Telefonnummer eines extern (ISDN) Anrufenden zu behalten und diese dann wieder ausgehend zu signalisieren, als MSN sozusagen.

    Ich hoffe das war verständlich - nur muss ich ehrlich sagen nicht mehr genau zu wissen wie ich das vorhatte :D

    Nimm´s mir nicht übel - heute ist Fr. der 13te :-/

    [EDIT]
    Jetzt habe ich es wieder - ich wollte mich (eben weil das was ich hier geschrieben habe - nicht geht) anrufen lassen wenn jemand eine Mailbox Nachricht hinterlässt...
    [END-EDIT]

    LG Stefan
     
  4. Thomas007

    Thomas007 Aktives Mitglied

    Registriert seit:
    18 Sep. 2005
    Beiträge:
    1,455
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi,

    einfach in der h extension ${VMSTATUS} abfragen und mit DEADAGI ein Script starten was per AMI ORIGINATE den Anruf durchführt.

    Oder die Infos in eine mySQL Datenbank schreiben.
    Ein Cron job schaut dann alle Stunde ob da was zu benachrichtigen ist und ruft an, auch bis zu x-mal, usw...

    Ansonsten gibt es noch das hier in der voicemail.conf
    ; If you need to have an external program, i.e. /usr/bin/myapp called when a
    ; voicemail is left, delivered, or your voicemailbox is checked, uncomment
    ; this:
    ;externnotify=/usr/bin/myapp

    Falls man keine Handyflat hat und sparen möchte ist auch folgendes technisch möglich:

    Provider mit frei wählbarer CallerID nehmen
    Asterisk kurz auf dem Handy anrufen lassen, an die CID des Anrufers 88 dranhängen für angerufen, 99 für Nachricht hinterlassen
    Nummer steht dann im Handy als verpasster Anruf, an der Endung sieht man den Status

    Rückruf dann auf eine Sipgate Nummer, Asteriskt erkennt die CID und spielt mit BackGround und Option n KOSTENLOS die Nachricht ab.
    Geht natürlich nur bis zu einer bestimmten Länge und ist etwas unsicher da Dritte die CID faken können.
     
  5. HobbyStern

    HobbyStern Aktives Mitglied

    Registriert seit:
    5 Dez. 2005
    Beiträge:
    1,834
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    vorhanden
    Ort:
    Ruhrgebiet
    Hey,

    das ist ja mal was - Vielen Dank !

    Thema Handyflat ( meine Lösung )

    Ich habe 1&1 Mobilfunk Handys angeschafft, alle telefonieren direkt ins Festnetz und untereinander, zu allen Mobilfunk-Netzen wählen sie sich erst in den Asterisken ein und von dort aus, je nach Bedarf wieder hinaus.

    Sehr gut erkannt.

    :groesste:
     
  6. HobbyStern

    HobbyStern Aktives Mitglied

    Registriert seit:
    5 Dez. 2005
    Beiträge:
    1,834
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    vorhanden
    Ort:
    Ruhrgebiet
    Ich setze es noch einmal für nachfolgende ein (Quelle voip-info,org)

    externnotify

    Want to run an external program whenever a caller leaves a voice mail message for a user? This is where the externnotify command comes in handy. Externnotify takes a string value which is the command line you want to execute when the caller finishes leaving a message.
    Note: see an example of an external notification script here.
    Note: This command will also run after a person who has logged into a mailbox exits the VoiceMailMain() application. (Remark: This seems not to be the case for Asterisk 1.2.x)

    The way it works is basically any time that somebody leaves a voicemail on the system (regardless of mailbox number), the command specified for externnotify is run with the arguments (in this order): context, extension, and number of voicemails in that mailbox. These arguments are passed to the program that you set in the externnotify variable.
     
  7. peterchenwillba

    peterchenwillba Neuer User

    Registriert seit:
    6 Juli 2009
    Beiträge:
    1
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Gleiches Problem

    Habe Asterisk auf einem Minimal-System laufen und will Variablen zwischen Asterisk und Shell-Scripten austauschen. Da weder die AGI noch Backticks zur Verfügung steht weiß ich nicht weiter und würde mich über Hilfe freuen. :confused:

    Hintergrund:
    Asterisk übergibt Variablen wie z.B. CallerID an ein Srcipt, es werden weitere Scripte gestartet und bestimmte Variablen sollen an Asterisk zurück gegeben werden, damit Asterisk Captures an den Caller sendet etc.

    Gruß Peter