VoIP-LCR mit vordefinierten Nummern und Line-Select

Status
Für weitere Antworten geschlossen.

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Hallo!

In Ermangelung eines internen S0 der Fritzbox Fon will ich das ganze auf einem * implementieren. D.h. für jede interne MSN (Achtung das ist schon das erste Problem) habe ich eine externe T-COM MSN und einen sagen wir Sipgate Account. Eingehend ist das alles kein Problem. Aber ausgehend:

Achso: Ich gehe davon aus, dass an der internen HFC-Karte (NT Modus) ein ISDN-Telefon hängt das verschiedene MSNs unterstützt.

Ich möchte drei Möglichkeiten haben:
1) Selbst den "gehenden" Weg wählen können. Also mit 1*Nummer über ISDN und mit 2*Nummer über Sipgate (aber ein MSN abhängiger Sipgate-Account und NICHT ein genereller für alle MSNs). Falls ich nicht selektiere sondern nur die Nummer wähle sollen

2) bestimmte Nummern immer über ISDN rausgehen (Notruf, ...) oder immer über den MSN-Sipgate-Account (ENUM-bekannte Nummer).

3) Andernfalls soll ein intelligenter Dial-Plan geschickt zwischen ISDN und Sipgate (oder auch anderen VoIP-Providern) wählen (also zum Beispiel am Wochenende den XXL-Tarif beachten ...

Wie geht das am besten?? Also Teil 1) habe ich schon hinbekommen, aber 2 und 3 sind noch etwas unklar (weil ja auch immer bestimmte abgehende MSNs/Sipgateaccounts verwendet werden sollen). Wie sehen evtl. Macro aus? Hat jemand sowas vielleicht schon fertig???

allesOK
 
LCR ist nicht ganz trivial. Es gibt hier eine LCR-Engine fuer *, aber als ich sie mir das letzte Mal angesehen hatte, war sie nicht so dolle.

Ich habe selbst auch vor, LCR zu realisieren. Dafuer muss man aber auch entsprechende Tariflisten haben. Ich hatte bereits angefangen, eine Datenbank fuer internationale Vorwahlen zusammenzutragen, und dabei auch zwischen Festnetz, Mobilfunk und "Sondernummern" zu unterscheiden, aber das ganze ist mangels Zeit ins Stocken gekommen. Auf dieser Basis soll dann ein Programm entstehen, dem man die Nummer reingibt und das dann eine Auflistung von "Tags" in einer gewissen Reihenfolge zurueckgibt (beispielsweise sortiert nach dem guenstigsten Preis, eventuell unter Beachtung von Prioritaeten). Das koennte man dann als AGI aufrufen und bei der Verzweigung im Dialplan beruecksichtigen.

Bis dahin ist es aber noch ein weiter Weg, und aktuell habe ich kaum Zeit dafuer. Vielleicht siehts in den naechsten Wochen schon wieder etwas besser aus. Aber wenn Interesse besteht, koennte man hier ja durchaus einen "Schlachtplan" entwickeln - Ideen habe ich einige, und vielleicht laesst sich so auch die Arbeit aufteilen, damit man schneller zum Ziel kommt.
 
Ich denke dabei noch nicht mal an extremes LCR die alle 010xx Nummern berücksichtigt. Die Sip-Anbieter scheine ja alle einen 24/7 Tarif zu haben (also einen für Festnetz, einen für Mobil und vielleicht noch diverse für Sonderrufnummern). Dann müsste ich nur die Tariftabelle der Telekom daneben stellen um schauen, welcher zu einer bestimmten Zeit der günstigste ist. Beispiel: Sipgate ist bei allen Mobillfunknummern billiger als T-Com. Also könnte ich die immer per VoIP laufen lassen, Und am Wochenende ins Festnetz fahre ich mit XXL billiger als mit jedem VoIP-Anbieter. Damit bleiben nur noch die 2-3 Tarife der T-Com ins Festnetz, die ich gegen Sipgate vergleichen will. Erweiterbar ist das beliebig ... es soll aber zunächst nur mal sehr rudimentär laufen....
 
Ich hatte im Kopf, das ganze von Anfang an relativ flexibel zu gestalten, damit man beispielsweise auch die Besonderheiten von CbC-Anbietern mit 010xx-Vorvorwahl beruecksichtigen kann, wenn man es denn braucht. Das macht es zwar etwas aufwaendiger bei der Programmierung, aber ermoeglicht ein viel breiteres Spektrum an Einsatzmoeglichkeiten - und passt damit besser zum "swiss army knife"-Charakter von Asterisk :)
 
Hallo ich generell für eine gute Idee, allerdings ist es doch sehr aufwändig die Tabelle aller CbC Anbieter auf dem Aktuellen zu halten. Daher wollte ich zunächst das Problem von unter her angehen (und evtl. um meine 1-5 Lieblings-CbC-Anbieter zu erweitern).

Edit: Das waren ja bisher Lösungen für Problem 3. Wie sieht es denn mit Problem 2 aus? Gibt es da Ideen??

Meine extensions.conf zu Problem 1 ist folgende. Ist die OK? Was kann man verbessern?
Code:
[macro-callwithmsn]

exten => s,1,SetCallerID(${ARG2})
exten => s,2,SetCIDName(${ARG3})
exten => s,3,Dial(${ELMEG}/0${ARG1},60,Ttr)
exten => s,104,Playtones(busy);
exten => s,105,Busy

[macro-callwithvoip]

exten => s,1,SetCallerID(${ARG2})
exten => s,2,SetCIDName(${ARG3})
exten => s,3,Dial(SIP/${ARG1}@sipgate,60,Ttr)
exten => s,104,Playtones(busy);
exten => s,105,Busy

[voipout-mymsn]

exten => 10000,1,Dial(SIP/${EXTEN}@sipgate,60,Ttr)

exten => _1*0.,1,Macro(callwithmsn,${EXTEN},13,myname)
exten => _1*Z.,1,Macro(callwithmsn,068xx${EXTEN},13,myname)

exten => _2*0.,1,Macro(callwithvoip,${EXTEN:2},mycallerid,myname)
exten => _2*Z.,1,Macro(callwithvoip,068xx${EXTEN:2},mycallerid,myname)
Die jeweils zweiten Einträge erlauben Gespräche im eigenen Ortsnetz ohne Vorwahl-Wahl. Achso: Der Rückfall auf was LCR-artiges ist hier noch nicht implementiert.
 
Oh, da hast Du mich falsch verstanden. Es soll dann schon die Aufgabe des Users sein, die Tabelle mit den tatsaechlich verwendeten Anbietern aktuell zu halten. Es gibt dann zwar sicherlich Moeglichkeiten, diese Aufgabe zu unterstuetzen und zu vereinfachen, aber welche Anbieter tatsaechlich genutzt werden, das haengt ja vom jeweiligen User ab. Das "LCR-Framework" soll zunaechst erstmal nur unterscheiden koennen, wohin der Anruf geht, und dann in einer entsprechenden Tabelle (die der User, eventuell von Programmen unterstuetzt, generiert) die Kosten ermitteln, die bei der Nutzung jedes eingetragenen Providers anfallen wuerden. Beim Aufruf des Programms kann man dann noch definieren, nach welchen Kriterien die Ausgabe sortiert sein soll.
 
Ah, ok. Sehr schön. Also machst das LCR-Framework nichts anderes als in einer grossen (oder auch kleinen) Tabelle von von-Hand erzeugten Einträgen zu blättern um dann den Call zu starten.

Also weiss ich zumindest schon mal dass ich eine bestimmte Nummer am günstigsten über Provider xyz abwickele. Aber wie sieht das denn mit den verschiedenen MSNs aus. Jede MSN soll ja einen eigenen Sigate-Account benutzen. Kommt das auch in die Tabelle, oder macht das die extensions.conf???
 
Das ist dann Sache der extensions.conf. Die Aufgabe des Tools ist vorrangig lediglich die Beantwortung der Frage "Ueber welchen Provider kann ich die Nummer xyz am guenstigsten anrufen". Die Auswertung der Antwort muss dann im Dialplan stattfinden, indem der Anruf an den richtigen Provider geroutet wird.
 
Aha, das heißt also, Ideen haben wir alle, nur an der Umsetzung scheitert es momentan....
 
Ich werde mir aber auch mal Gedanken machen und erste Ideen implementieren....
 
hast du denn Ideen für ein Format?

Auf jeden Fall sollte man Festnetz und diverse sip-provider unterscheiden können.
 
So habe Teil 1 und 2 implementiert. Ich werde noch ein paar Code-Cosmetics durchführen und morgen posten ... freut euch!
 
@ allesOK: Ich werde es zwar nicht brauchen, aber ich freue mich über Deinen Einsatz. :-D
 
np, ihr habt mir auch schon genug geholfen!!!

EDIT:Dauert noch etwas .... heute abend gibt es den CODE für 1 und 2!
 
allesok: Schon fertig?

MfG,
Karl
 
ja, kommt morgen endgültig! Sorry für die Verzögerung!
 
Okay, und Du, allesOK, such Dir mal einen schönen Spezialrang aus, den hast Du Dir wahrlich verdient. :)

Oder vielleicht ist ja auch dies interessant für Dich. :)
 
Status
Für weitere Antworten geschlossen.

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,695
Beiträge
2,216,696
Mitglieder
371,315
Neuestes Mitglied
jack-mack
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.