Vorwahldatenbank?

JeBo

Gold Partner
Mitglied seit
25. April 2022
Beiträge
17
Gibt es bei 3CX V20 eine Möglichkeit, eine Vorwahldatenbank abzufragen? Wir wollen erreichen, das bei einem Anruf das korrekte Rufnummernformat sowie der Ort ( z.B-. `Berlin`) angezeigt wird. Gibt es Ideen?
 
Gibt es bei 3CX V20 eine Möglichkeit, eine Vorwahldatenbank abzufragen? Wir wollen erreichen, das bei einem Anruf das korrekte Rufnummernformat sowie der Ort ( z.B-. `Berlin`) angezeigt wird. Gibt es Ideen?
Mit Bordmitteln einer 3CX nicht.

Das kann man entweder mit dem CFD oder gar gleich mit einem Anrufskript umsetzen. Vielleicht gibt es das schon weil das jemand gebaut hat, ich habe das im Forum noch nicht gelesen.
Eine Idee: entweder mit einer vorhandenen API den Namen anfragen oder aber man zieht sich einmalig die Daten, legt die lokal ab und lässt bei von extern eingehenden Anrufen ein Skript laufen was diese Daten abfragt und zur Anzeige weiter gibt. Die Anzeige am Client könnte man z.B. mittels Attach Call Data und public_lookup_displayname_override probiert (https://www.3cx.de/forum/threads/anruf-ablaufverfolgung.111791/post-389278).
 
Die können auch Skripte. Da kann man auch in der 3CX Daten ablegen, z.B. in Parametern oder gleich die Vorwahldatenbank als komplettes Skript speichern. Das ist dann nur Text ist und kann nicht kompiliert werden kann, muss man ja nicht, passiert ja automatisch. Man kann problemlos von einem Skript auf den Inhalt eines anderen Skriptes zugreifen. Das ist inhaltlich damit auch eine Datei - so lange sie wenigstens nicht völlig absurde ungültige Zeichen enthält.
 
Die können auch Skripte. Da kann man auch in der 3CX Daten ablegen, z.B. in Parametern oder gleich die Vorwahldatenbank als komplettes Skript speichern.
Ja, ein Dictionary kann man auch im Code abbilden.

Man sollte nur nicht auf die Idee kommen, lokal Datendateien im Dateisystem ablegen zu können ;)
 
Naja, ich dachte eher an so etwas:

1738064840083.png


1738064883654.png


1738064901274.png


get_rp_rest.cs

C#:
#nullable disable
using CallFlow;
using System.Linq;
using System.Threading.Tasks;
using TCX.Configuration;

namespace dummy
{
    public class get_rp_test : ScriptBase<get_rp_test>
    {

        private readonly string strRPNumber = "870";

        public override async Task<bool> StartAsync()
        {
            var watch1 = System.Diagnostics.Stopwatch.StartNew();
         
            RoutePoint rp= PhoneSystem.Root.GetRoutePoints().Where( x=>x.Number.Equals(strRPNumber)).FirstOrDefault();
         
            if (rp != null)
            {
                MyCall.Error("******* rp |"+ rp.ScriptCode +"|");
            }
            else
            {
                MyCall.Error("******* rp not found");
            }
         
            watch1.Stop();
            MyCall.Info("******** original code total duration in ms is " + watch1.ElapsedMilliseconds.ToString());
            await Task.CompletedTask;
            return true;
        }
    }
}

Damit ist der blanke Text als Skript in der 3CX (sind aktuell rd. 104 kB), ist in jeder 3CX Sicherung mit drin und ein anderes Skript kann bei Gelegenheit die Daten aktuell aus dem Internet holen und den Text des Skript aktualisieren - wenn man das will.

Das o.g. Skript läuft wirklich, gibt in die 3CXCallFlow.log alle 5200 kompletten Zeilen aus und dauert auf einer wirklich ollen kleinen 3CX rd. 6 ms. Online kriegt man das nicht so schnell hin und exponiert so auch seine Anruferdaten nicht.

Stichwort C# Anrufskript call script Schnipsel
 
Zuletzt bearbeitet:
Damit ist der blanke Text als Skript in der 3CX (sind aktuell rd. 104 kB), ist in jeder 3CX Sicherung mit drin und ein anderes Skript kann bei Gelegenheit die Daten aktuell aus dem Internet holen und den Text des Skript aktualisieren - wenn man das will.
Sehr interessanter Ansatz ;)
Das o.g. Skript läuft wirklich, gibt in die 3CXCallFlow.log alle 5200 kompletten Zeilen aus und dauert auf einer wirklich ollen kleinen 3CX rd. 6 ms.
Mit nichts anderem hatte ich jetzt gerechnet :)
 
  • Like
Reaktionen: JeBo und MarcosV_3CX
Danke ihr zwei, guter Ansatz zum testen!!
 
  • Like
Reaktionen: MarcosV_3CX

Statistik des Forums

Themen
44.413
Beiträge
232.713
Mitglieder
78.328
Neuestes Mitglied
as7h