[FRAGE] Variable zwischen Shell und Asterisk austauschen

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,844
Punkte für Reaktionen
0
Punkte
36
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
 
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.
 
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
 
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.
 
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:
 
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.
 
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
 
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.