LCR - schlank und nur für Mobilfunk

HobbyStern

Aktives Mitglied
Mitglied seit
5 Dez 2005
Beiträge
1,844
Punkte für Reaktionen
0
Punkte
36
Hallo Zusammen,

mein LCR läuft bisher so das ich nur die Handygespräche von Hand einmal die Woche, je nach Preis, revidiere - leider sind dann oft gegen Mitte/Ende der Woche die Preise so extrem ausgerissen das man wieder ran muss.

Ich habe mir einiges an LCR Lösungen durchgelesen - Beispiele sind zB das Telefonsparbuch.deoder VoipJet.com oder die Anleitung von voip-info.org.

Diese Lösungen sind alle sehr umfassend (und die beste Datenbank dürfte die des Telefonsparbuches sein) - aber die Lösungen sind alle ziemlich groß dimensioniert.

Daher meine Frage :

Löst jemand sein LCR ggf. an einem einfachen Skript welches nur die aktuellen Mobilfunkvorwahlen aus Quelle "X" ausliest und einsetzt?

Im Vorab ein Danke für Eure Meinungen,

Stefan
 
Ich habe das ganze mit MySQL geloest (allerdings weltweit incl. PSTN und VoIP). Das ist sicher zu gross fuer Dich.
Was aber Mobilfunk (DE) betrifft, folgende kleine Anregung:

Code:
#! /bin/bash

MYSITE="http://www.telefonsparbuch.de/tmpl/calc/telephone/std/simple/index.htm?type=Telephone&show_ads=0&show_info=1&jscript=1&FORM=simple&zoneS=e&ZNAME=ZNAME&day=%2B&time=%2B&submit=Anfrage+senden&MAX_RESULT=5&CONNECT=Deutsche+Telekom_Call+Plus&CBC0=1&COSTS_SORT=DFT&COSTS_EXTRA=0&COSTS=3%3A01&CENTS=1&PRICE_ONCE=1&PULSE_EXTRA=1&PULSE_EXTRA_CHOICE=60%2F60&CBC_AT=1&D_TIME=6-18+%2F+18-21+%2F+21-6&DWEEK_TIME=&DWEEKEND_TIME=wie+bei+Werktag"

lynx "$MYSITE"  -error_file=/tmp/x$$ -connect_timeout=5 -dump -nolist -nomargins -width=2000 |\
	sed -n '/^[0-9] [0-9]/p' | sed -e 's/ /|/g;s/$/|/;s/\,/\./;$a\|||' > /tmp/telefonsparbuch.web

cat /tmp/telefonsparbuch.web | while read line; do

	# 2 = Rate; 3=Provider; 1=Rank
	MYRATE=`echo "${line}" | cut -d "|" -f 2`
	MYPRO=`echo "${line}" | cut -d "|" -f 3`

             if [ X"$MYRATE" != "X" ]; then
             # Hier Daten fuer Dialplan weglegen (bei mir: MYSQL)
             else
             # Hier Provider aus Asterisk herausnehmen, die in Lieferung nicht enthalten sind.
             fi
done

rm -rf /tmp/telefonsparbuch.web 

exit 0

Das ganze basiert also auf Telefonsparbuch.de, liest die Mobilfunk-CbCs nur ohne Anmeldung bis zu 60/60 Takt und gibt das ganze sortiert nach Preis aufsteigend fuer maximal 5 Anbieter zurueck. Ueber Cron steuerst Du den entsprechenden Abruf.

Die eigentliche Verwendung ist Asterisk koenntest Du zum Beispiel über die Asterisk-DB-machen (in Schleife dorthin eintragen und im Dialplan bei _00491[5-7]. verwenden)
 
Hi,

hab die Lösung mal per TextStdOut getestet - das ganze gibt bei mir noch ein leeres File, lynx versteht die Option normagins nicht und sed scheint nichts übrig zu lassen ;) ..

Ich werde mir das ganze mal in Ruhe auseinanderpflücken - Danke erstmal für die Anregung, Resonanz kommt (!)
 
Hast Du das Skript eigentlich so im Einsatz ?

Ich habe mich gerade nochmals kurz damit beschäftigt und es auseinandergepflückt - so wie es dort steht gibt es nur "nichts" aus.

Grüsse, Stefan
 
Sorry, war außer Landes.
Der Schnipsel ist Original mit Lynx Version 2.8.6rel.4 (15 Nov 2006).
Wenn Dein lynx kein nomargins kennt, das scheint in älteren Versionen der Fall zu sein, dann muss der sed-Befehl anders aussehen:

Code:
lynx "$MYSITE"  -error_file=/tmp/x$$ -connect_timeout=5 -dump -nolist  -width=2000 |\
        sed -e 's/^[ \t]*//' | \    # der Teil ist neu statt -momargins bei lynx
	sed -n '/^[0-9] [0-9]/p' | sed -e 's/ /|/g;s/$/|/;s/\,/\./;$a\|||' > /tmp/telefonsparbuch.web

Die markierte Erweiterung erreicht das gleiche, was -nomargins bei lynx gemacht hätte: Entferne alle Leerzeichen am Zeilenanfang.

Im Ergebnis solltest Du dann so etwas in /tmp/telefonsparbuch.web bekommen (Daten von gerade eben):

Code:
1|10.79|01042|
2|10.80|01054|
3|10.84|01097|
4|11.50|01086|
5|11.60|01035|
|||

Die im ersten Beispiel benannte Schleife bricht dann in der 6.Zeile (kein Preis) ab.
Ich hoffe, jetzt funktioniert es auch bei Dir ;)
 
Hi,

dann heisst´s wohl "Willkommen zurück" ;)

Ich schreibe gerade auch aus dem Urlaub :lach: zum Leidwesen der Frau..

Also, bei mir läuft das so genau so gut wie vorher - 0 Zeilen.

Ich habe folgendes gemacht (irgendwo muss ich ja Mist bauen)

Den Codeteil ge-copy&paste-d, Leerzeichen am Zeilenanfang entfernt, Kommentare entfernt.
"MySite" als Variable bekanntgemacht.

Das sieht dann so aus :

Code:
MYSITE="http://www.telefonsparbuch.de/tmpl/calc/telephone/std/simple/index.h [......]

lynx "$MYSITE"  -error_file=/tmp/x$$ -connect_timeout=5 -dump -nolist  -width=2000 |\
sed -e 's/^[ \t]*//' |\
sed -n '/^[0-9] [0-9]/p' | sed -e 's/ /|/g;s/$/|/;s/\,/\./;$a\|||' > /tmp/telefonsparbuch.web

Setze das ganze auf ausführbar (chmod a+x) und starte es dann, die Ausgabe ist dann gleich null, in der "/tmp/telefonsparbuch.web" ist nichts enthalten.

Hast Du eine Idee ? Mache ich da was falsch ?

EDIT : Noma"r"gins sollte auch so geschrieben werden - nomagins kennt lynx auch nicht ;) aber auch mit dieser korrektur läufts auf 0 zeilen hinaus.

Grüsse, Stefan
 
Na dann, schönen Ürlaub und Friede mit der Frau ...

Im Moment fällt mir dazu nicht viel ein (Dein Code funktioniert hier).
Mach mal einfach das lynx auf die Seite und erzeuge nur einen Output (also ohne das sed-Geraffel). Wenn Du mir diesen reinen lynx-Output schicken kannst, sehen wir weiter ...

Code:
MYSITE="http://www.telefonsparbuch.de/tmpl/calc/telephone/std/simple/index.htm?type=Telephone&show_ads=0&show_info=1&jscript=1&FORM=simple&zoneS=e&ZNAME=ZNAME&day=%2B&time=%2B&submit=Anfrage+senden&MAX_RESULT=5&CONNECT=Deutsche+Telekom_Call+Plus&CBC0=1&COSTS_SORT=DFT&COSTS_EXTRA=0&COSTS=3%3A01&CENTS=1&PRICE_ONCE=1&PULSE_EXTRA=1&PULSE_EXTRA_CHOICE=60%2F60&CBC_AT=1&D_TIME=6-18+%2F+18-21+%2F+21-6&DWEEK_TIME=&DWEEKEND_TIME=wie+bei+Werktag"

lynx "$MYSITE"  -error_file=/tmp/x$$ -connect_timeout=5 -dump -nolist  -width=2000 > /tmp/telefonsparbuch.web

BTW: Diese "Salamitaktik" wende ich in Verbindung mit Regex auch häufiger an :)
 
ich habe das ganze mit MySQL geloest (allerdings weltweit incl. PSTN und VoIP).
Ich kenne diese Lösung jetzt nicht im Detail, aber solche automatisierten Abrufe der Tarifseiten belasten die Server ungemein. Wenn das mehrere Nutzer umsetzen, kommen da etliche tausend Abrufe zusammen, nur um nachher alle Zonen in einem eigenen LCR abbilden zu können. Das ist technisch sicherlich serverfreundlicher umsetzbar.

Ich habe mir viel Mühe gemacht, die LCR Berechnung so optimiert zu realisieren, wie möglich. Wenn dann an vorgesehenen Schnittstellen vorbei agiert wird ist das störend.

Mir wäre es lieb, wenn Ihr diese Scripte nicht so umsetzen würdet. Setzt Euch mit mir in Verbindung und zeigt auf, was Ihr wie an Informationen haben wollt und dann kann ich sehen, ob ich es bereitstellen kann.

Danke und Grüße
Harald
 
Hallo Harald,

ich bin grundsätzlich bei Dir.
Leider ist in Deinem Service (LCR-Steuerdateien) die Bepreisung nicht enthalten.
Gleichzeitig haben die Zoneninformationen (insbesondere Ausland, da insbesondere Unterschedung Fest/Mobil) Lücken.
Allerdings benutze ich CbC-Informationen vom telefonsprabuch ohnehin nur noch für DE, bei allem anderen greife ich auf VoIP zurück. Da aber wie gesagt die Preisinformationen nicht zurückgeliefert werden, kann ich die Standardfunktionalität nicht nutzen, da ich diese zwingend brauche, um die Provider (auch solche internationlen VoIP-Provider, die ihr nicht anbietet), zu sortieren und entsprechend des Preises und der Taktung zu sortieren.
Das Thema "Preisrücklieferung" war ja auch schon mal ein Thema im Kontext eures Angebots... ;)
 
Die Preisinformationen sind (noch) nicht so einfach an dieser Programmstelle zu integrieren. Auch ist das Asterisk-Format mit Preisinformationen nicht mehr so optimal. Für Auerswald hatte ich das entsprechend angepasst (Schau Dir mal die XML-Dateien für die Auerswald VoIP-Anlagen an, dort sind die Preisinfos vorhanden).
Auf jeden Fall sollte ein LCR mit einer Tarifanfrage berechnet werden und nicht unter Umständen durch serielle Abfrage jeder einzelnen Zone (>700 Zonen = >700 Abfragen).

Danke und Grüße
Harald
 
Hallo Ihr Zwei,


ich sag´s mal einfach - ich benötige eigentlich nur so eine Art täglicher Auskunft über :

Top 3 Festnetz zum Handy (eigentlich reichen auch 2)

was man nun noch als kluger LCRler brauchen könnte wäre die Internationale Auskunft D -> CH usw. - was mir aber schnurz ist.

Interessant und maßgeblich war für mich bis dato immer einmal wöchentlich die WAZ(eitung) mit Ihrer Rubrik "Tarifübersicht", dort wird einfach und schnell gesagt "Hier sind die preiswertesten Anbieter i.d.Rubrik Festnetz 2 Handy (punkt!)". Das kann man auch online abrufen, dort allerdings mehr detailierter. Link ist hier.

Mehr bräuchte ich nicht. Eine kurze einfache Ausgabe, ggf. ein Zweizweiler.

Anbei - ich finds klasse das Du hier mitmischst, Harald.

Grüsse, Stefan
 
Kostenlos!

Statistik des Forums

Themen
248,521
Beiträge
2,293,486
Mitglieder
378,028
Neuestes Mitglied
tempuser777