Wechsel des Providers in Abhängigkeit von Freiminuten

TinTin

Aktives Mitglied
Mitglied seit
6 Mai 2004
Beiträge
1,864
Punkte für Reaktionen
0
Punkte
0
Hallo,

hat vielleicht zufällig schon jemand einen Diaplan ausgearbeitet um Freiminuten (wie z.B. die 120 Freiminuten von T-Online bei einem DSL 2000 Anschluß mit classic flat) voll auszuschöpfen und danach automatisch einen anderen Provider zu nutzen?

Der Dialplan müßte folgendes erledigen :

1. 120 (Minuten) in die Datenbank schreiben und zwar monatlich zu einem festen Datum

2. wird ein Gespräch geführt, darf es nur max. 120 min. dauern oder soviel Minuten wie noch übrig sind. Nach Beendigung des Gesprächs müssen die "verbrauchten" Minuten abgezogen werden und die Datenbank aktualisiert werden

3. ist das Kontigent der Freiminuten verbraucht (0) dann soll über einen anderen (vorher festgelegten) Provider rausgewählt werden

Ich denke das sollte sich evtl. alles ohne Skript nur mit dbget und dbput realisieren lassen und die Länge des Gesprächs kann man ja auch im Dial command festlegen, der Wert muß halt nur aus einer Variablen kommen.

Frage ist nur wie ich monatlich 120 in die Datenbank schreibe und wie ich die Dauer des Gesprächs nach dessen Beendigung abfrage.

Hat jemand schon etwas in diese Richtung gemacht? Oder einen Ansatz hierfür?

Gruß,
Tin
 
Frage ist nur wie ich monatlich 120 in die Datenbank schreibe

am einfachsten mit einem Eintrag in der crontab nach der Art: /usr/sbin/asterisk -rx "dbput blablabla" der eben einmal im Monat ausgeführt wird.

und wie ich die Dauer des Gesprächs nach dessen Beendigung abfrage.

Wenn Du die MySQL Erweiterungen verwendest für Asterisk verwendest, kannst Du das nach dem Gespräch einfach aus der Datenbank auslesen.
 
Danke betateilchen,

das mit crontab war eine gute Idee. DBPut funktioniert allerdings leider nicht über die Shell - aber man kann auf "database put" ausweichen, das sieht dann z.B. so aus bei mir:

asterisk -rx "database put tonline freeminutes 120"

Die Dauer des Gesprächs kann man sich über die Variable {ANSWEREDTIME} holen, das ist die Zeit vom Answer bis zum Hangup, ist in manchen Wikis falsch beschrieben (!)

Habe jetzt eine Lösung fertig - wenn wer Interesse hat, poste ich sie hier gerne.

Gruß,
Tin
 
DBPut funktioniert allerdings leider nicht über die Shell - aber man kann auf "database put"

Das meinte ich doch :roll: es ging mir doch nur um das Prinzip mit der crontab.

Was machst Du, wenn mehrere Teilnehmer gleichzeitig versuchen, über dei T-Online-Freiminuten rauszutelefonieren :wink: ?

Poste doch Deine Lösung einfach mal unaufgefordert hier rein.
 
betateilchen schrieb:
Das meinte ich doch :roll: es ging mir doch nur um das Prinzip mit der crontab.

Sollte auch kein Vorwurf sein - war nur erst frustiert, dass es mit dbput nicht lief - hab mich dann halb kringelig gesucht nach einer Lösung und obige gefunden, die ich dem Forum nicht vorenthalten wollte ;)

Was machst Du, wenn mehrere Teilnehmer gleichzeitig versuchen, über dei T-Online-Freiminuten rauszutelefonieren :wink: ?

Die Freiminuten nutzt bei mir nur eine Leitung (sprich ein User mit einem Telefon), die 120 Minuten sind ja auch relativ schnell verbraucht. Wenn mehrere gleichzeitig darüber telefonieren wollten, gibt's natürlich ein Problem, dann kann es vorkommen, dass übers Ziel hinausgeschossen wird, wenn die Minuten fast aufgebraucht sind. Das könnte man natürlich abfangen indem man z.B. ab Restminutenzeit X schon kein zweites Gespräch über den account mehr zuläßt, es kann dann zwar immer noch passieren (bei langen Gesprächen), aber less likely.

Poste doch Deine Lösung einfach mal unaufgefordert hier rein.

Kann ich machen, ist dann aber quick & dirty, habe im Moment zu viel anderes zu tun und bin auch gerade noch zum ersten Mal Vater geworden :D

[edit]
Hier geht's weiter mit der Lösung

Gruß,
Tin
 
Kostenlos!

Zurzeit aktive Besucher

Statistik des Forums

Themen
248,463
Beiträge
2,291,957
Mitglieder
377,889
Neuestes Mitglied
Carol Edens