Vorwahl beschränken

lora_

Neuer User
Mitglied seit
4 Mrz 2022
Beiträge
2
Punkte für Reaktionen
1
Punkte
3
Hallo,

da im Zuge der Ukraine-Kriese derzeit mehrere Anbieter Telefonate in die Ukraine kostenlos anbieten, würde ich gerne einige snom Geräte entsprechend konfiguriert an Geflüchtete zur Verfügung stellen.

Dafür möchte ich die Telefone so beschränken, dass auch nur Telefonate innerhalb Deutschland und nach Ukraine möglich sind. Kann man in snom irgendwas einstellen, dass entsprechend nur bestimmte Ländervorwahl akzeptiert werden?

Gruß
 
  • Like
Reaktionen: alexandi
Das geht bestimmt unter SIP/Wählplan. Aber frage mich nicht wie.
 
Ja, über
Snom → Web-Oberfläche → Identität x → (Reiter) SIP → Wählplan​
könnte das gehen. Ausgehend von der offiziellen Dokumentation bzw. diesem Thread. Aber nur ansatzweise getestet; bitte berichte bzw. berichtige:
|^00380([0-9]+)$|sip:00380\1@\d| |^0049([0-9]+)$|sip:0\1@\d| |^0([1-9][0-9]*)$|sip:0\1@\d| |^([1-9][0-9]*)$|sip:0821\1@\d| |^(.+)$|sip:blocked@\d|

00380 ist laut Wikipedia die Ukraine. 0821 (Augsburg) musst Du durch die Vorwahl ersetzen, an der das Telefon aufgestellt ist. Also nicht (unbedingt) die Vorwahl, die bei der Rufnummer bei Deinem Telefonie-Anbieter hinterlegt ist, sondern die Vorwahl des Aufstellungsortes (ansonsten würden Anrufe zum Beispiel zu 115 in den falschen Ort gehen).
nur bestimmte Ländervorwahl akzeptiert
Wüsste keinen Trick ohne den obigen Umweg. Snom nutzt dafür erweitere reguläre Ausdrücke (RegEx). Diese werden wahnsinnig komplex, um (alle) Fehleingaben zu vermeiden. Obiges Beispiel funktioniert nur dann, wenn Du tippst und danach den Hörer (oder den Lautsprecher) abhebst. Es funktioniert nicht, wenn Du erst den Hörer abhebst und dann tippst (außer Du drückst OK). Außerdem blockiert aktuell das Beispiel oben SIP-URIs, also kostenlose Anruf an Deinem Telefonie-Anbieter vorbei.

Daher wäre mein Tipp: Bietet Dein Telefonie-Anbieter in seiner Web-Oberfläche (oder über Steuercodes) solche Filter? Weil das normalerweise nicht RegEx- sondern allein Präfix-basierte Filter sind, müsstest Du nur die Vorwahl(en) angeben und hast es wirklich sicher blockiert. Also: Welche(n) Telefonie-Anbieter nutzt Du genau? Dann schaue ich mal nach.
nur Telefonate innerhalb Deutschland und nach Ukraine
Bitte bedenke, dass Bekannte (inzwischen) auch in anderen Ländern sein können. Wenn Du nur diese beiden Ziel-Länder finanzieren kannst, klebe bitte, bitte, bitte (wenigstens) einen Zettel an das Telefon, damit keine Missverständnisse bzw. Nachfragen entstehen, weil alles andere technisch gesperrt ist.
 
|^00380([0-9]+)$|sip:00380\1@\d| |^0049([0-9]+)$|sip:0\1@\d| |^0([1-9][0-9]*)$|sip:0\1@\d| |^([1-9][0-9]*)$|sip:0821\1@\d| |^(.+)$|sip:blocked@\d|
Hi, danke für das Beispiel! Ich spiele mit dem RegEx hier, aber paar Sachen verstehe ich noch nicht

* |^0049([0-9]{0,})$|sip:\@\d
hatte ich probiert, läßt aber warum auch immer kein Anruf beginnend mit 0049... durch

* wo finde eine Liste ich was hinter "sip:" stehen darf (also +, blocked, Nummer...)?
^0049([0-9]+)$|sip:0
bedeutet 0049 wird durch 0 ersetzt?

Provider wird wahrscheinlich sipgate, weil sie es momentan anbieten. Und bevor ich EU-Flat buche, will ich die RegExp verstehen, weil das wird dann eine lange Liste. Ich hoffe dass RegExp in Wählplan "beliebig" lang sein darf...
 
Wie geschildert, Snom nutzt erweitertes RegEx, sogar mit Ersetzungen. Normal kann das nicht einmal ein fertig ausgebildeter Informatiker – außer er hatte einen extra Kurs/Seminar dazu. Zu RegEx findest Du richtig dicke Bücher im Handel bzw. über Fernleihe. Daher wäre es sinnvoller, die örtliche Berufsschule und Fachschaft(en) der lokalen Hochschule(n) anzuschreiben. Die können Dir einen Mitarbeiter nennen, der Dir bei allen Fragen schnell helfen kann … über ein Online-Diskussionsforum mit seinem Hin und Her ist das quasi nicht machbar.

Nur soviel, das zu kurz greifen dürfte:
Hier handelt es sich um Ersetzungen. Vorne steht der Eingang, hinten der Ausgang. Eingang: Alles in einer runden Klammer ist zugreifbar. Ausgang: Über \1 bzw. \2 greifst Du auf die Klammer zu. Beispiel: Ich habe oben in meinem Beispiel alles nach 0049 geschnappt (durch die runde Klammer) und dann in den Ausgang kopiert (durch das \x, weil erste Klammer: \1). Alles was im Ausgang steht, wählt das Snom. Daher habe ich eine Null davor gesetzt.
Du hattest nicht auf den Inhalt zugegriffen. Im Ausgang stand am Ende nur sip:@sipgate.de.
eine Liste ich was hinter
Dort darf alles stehen. Soweit ich die Dokumentation (Unterabschnitt „Ersetzungen“) verstehe, ist allein „\d“ ein Zauberwort für die Domain des Telefonie-Anbieters. Du könntest stattdessen auch hart „sipgate.de“ eintragen. Selbst das „blocked“ dürfte kein Zauberwort sein. Ich habe es einfach aus der Dokumentation heraus kopiert (letztes Beispiel).
Das weiß ich nicht. Dass musst Du leider ausprobieren.
will ich die RegExp verstehen
Einen regulären Ausdruck so zu schreiben, dass keinerlei Fehler entsteht, ist selbst für Erfahrene äußerst schwer. Daher mein Tipp: Lieber bei Sipgate schauen, ob die nicht selbst einen Filter anbieten. Leider ist Sipgate aktuell dermaßen im Umbruch, dass ich nicht weiß welche Web-Oberfläche Du hast bzw. haben wirst. Wenn Du auf die Schnelle nichts findest: Eigenen Thread dazu aufmachen und das fragen, also z.B. „Sipgate: Wie Auslandsziele beschränken?“

Nur ein Beispiel: Selbst ob ein „sip:“ und „@\d“ im Ausgang überhaupt nötig sind, weiß ich nicht (und das wird Dir niemand sagen können – das muss man dann ausprobieren).
 
Moinsen


Nur ein Beispiel: Selbst ob ein „sip:“ und „@\d“ im Ausgang überhaupt nötig sind, weiß ich nicht (und das wird Dir niemand sagen können – das muss man dann ausprobieren).
Genau. sip: ist/sollte eigentlich ein Zauberwort sein um direkte SIP URI Calls machen zu können.
So geht das auch über die Sipnetic APP für Android, auch wenn irgendwo (FRITZ!Box z.B.) registriert.
Screenshot_20220307-110841.png<---<<< Smartphone im WLAN rufte eine Nummer/Extension (1000) auf lokaler (LAN) Asterisk PBX
...sofern kein ausgehender Proxy konfiguriert ist.
Solche Feinheiten gilt es eben auch rauszukriegen.
 
Zuletzt bearbeitet:
Solche Feinheiten gilt es eben auch rauszukriegen.
Was meinst Du genau? Mein obiges Beispiel in Post #3 erlaubt gar keine SIP-URI-Calls (und auch keine ENUM-Lookups). Sollte ich das als Feinheit miteinbauen, weil praktisch? Oder was genau meinst Du mit „sollte“ – wenn es ginge, kostest ein SIP-URI-Call ja nichts. Oder sollte ich das ausprobieren und dann „sip:“ bzw. „@\d“ weglassen, weil der RegEx optisch einfacher wird? Stehe gerade echt auf dem Schlauch.
 
Nee, keine Kritik.
Ein explizites sip: mit \d kann bestimmt genutzt werden um unerwünschte SIP URI Calls von "Taxifahrerspionen" zu verhindern ;)

PS: Und persönlich mag ich RegEx die superkompliziert aussehen um zum Beispiel IPv6 zu matchen ohne gleichzeitig auch die MAC zu erwischen...
Code:
ifconfig | grep -o -E "([0-9a-f]{0,4}:){2,14}[0-9a-f]{0,4}"
...dass mit der MAC ist aber noch :cool: Work in progress.
 
Zuletzt bearbeitet:
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.