FreePBX + GoIP konfigurieren

Im Internet gibt es einige Anpassungsbeispiele. Aber keiner von ihnen hat für mich so gearbeitet, wie es sollte. Eines der Probleme, auf die ich gestoßen bin, war die falsche Definition der Leitung bei einem eingehenden Anruf. Zu einer Zeit habe ich nie ein Handbuch gefunden, um dieses Problem zu lösen. Aus diesem Grund habe ich beschlossen, meine Version der Anleitung hier zu veröffentlichen. Zur gleichen Zeit und ein Kinderbett für die Zukunft.

GoIP-Setup


"Konfigurationen" - "Einstellungen"


Das GSM-Gateway befindet sich in einem lokalen Netzwerk ohne Internetzugang. Richten Sie einen NTP-Server im lokalen Netzwerk ein, um die Zeit zu verteilen. Beim Neustart synchronisiert das GSM-Gateway die aktuelle Uhrzeit und zeigt sie korrekt an. Sie können diesen Schritt überspringen, dann müssen Sie die Zeit auf dem Gateway manuell einstellen. Wenn Sie Zugang zum Internet haben, geben Sie einen der öffentlichen NTP-Server an.

  • Schreiben Sie in Time Server die IP-Adresse des NTP-Servers.
  • Geben Sie die Zeitzone an, ich habe Zeitzone: GMT + 6.
  • Deaktivieren Sie den automatischen Neustart. Mit der neuesten Firmware-Version werden Probleme beim Einfrieren des GSM-Gateways nicht beobachtet.
  • IVR deaktivieren.

Bild

"Konfigurationen" - "Netzwerk"


  • LAN-Port - Statische IP
  • IP-Adresse - Geben Sie die statische IP-Adresse des Gateways an

"Konfigurationen" - "Grundlegendes VoIP"


Konfigurationsmodus - Konfiguration nach Leitung.

Für den ersten Kanal, in dem "Line 1 Routing Prefix" angegeben ist, geben wir 1 an, für die zweite 2, die dritte 3 usw.
Authentifizierungs-ID: Registrieren Sie die SIM-Kartennummer (ich habe sie ohne 8 / + 7 registriert), z. B. 9651234567
SIP Registrar Server: IP-Adresse des SIP-Servers (192.168.0.10)

Line 1 Authentication ID: 9651234567 Password:  Routing Prefix: 1 Sip Proxy: SIP Registrar Server: 192.168.0.10:5160 Phone Nymber: 9651234567 Display Name: 9651234567 

Wir machen dasselbe mit dem Rest der Zeilen.

Bild

"Konfigurationen" - "Advance VoIP"


Bild

"Konfigurationen" - "Call Out"


Geben Sie für jede Leitung das Präfix an, das mit Asterisk geliefert wird und auf dem Gateway-Kanal gelöscht wird, bevor Sie einen ausgehenden Anruf tätigen: Zum Beispiel für CH1-Wählplan: 1: -1, CH2-Wählplan: 2: -2 usw.

  Dial Plan: 1:-1 

Bild

"Konfigurationen" - "Anrufen"


In den Setup-Anweisungen wird für den CID-Weiterleitungsmodus empfohlen: Wählen Sie CID als SIP-Anrufer-ID verwenden, um die eingehende Nummer korrekt zu ermitteln. Ich habe Remote Party ID verwenden ausgewählt. Dies wurde durchgeführt, um die Leitung, mit der der Anruf kam, korrekt zu bestimmen. Die eingehende Nummer wird korrekt ermittelt.

Bild

Damit ist das GoIP-Setup abgeschlossen.

FreePBX konfigurieren 14


Verbindungen - Amtsleitungen


Wählen Sie "SIP-Trunk (chan_sip) hinzufügen".

Registerkarte "Allgemein"


Bild

Gehen Sie zur Registerkarte "Manipulationsregeln für das Wählen".


Vorlagen vorschreiben. Geben Sie die Präfixe für jeden Trunk der Reihe nach an. Für die erste Zeile 1, für die zweite 2 usw.

Bild

Tab sip Allgemeine Einstellungen


Ausgehend

Asterisk verwendet denselben Port für mehrere Konten. Dies führt zu einem Problem bei der Bestimmung der Leitung, mit der der Anruf eingegangen ist. Bei einem eingehenden Anruf wird immer das zuletzt registrierte Fest verwendet, und infolgedessen wird die GoIP-Leitung, von der der Anruf kam, falsch bestimmt. Um die Leitung korrekt zu bestimmen, wurde der GoIP-Modus auf Remote Party ID verwenden und auf Astrisk auf trustrpid = yes gesetzt .

 host=dynamic username=7712020077 secret=Djfgkjgfd!!!!234%$^%# type=friend context=from-trunk-sip-9651234567-custom trustrpid=yes 

Bild

Eingehend

 in-9651234567 secret=Djfgkjgfd!!!!234%$^%# type=user context=from-trunk-sip-9651234567-custom 

Bild

Erstellen Sie als Nächstes die Nebenstellennummern und die Anrufgruppe. Ich werde nicht beschreiben, wie das gemacht wird. In FreePBX erfolgt dies über das Menü "Anwendungen" - "Nebenstellen" und "Anwendungen" - "Anrufgruppen". Alles ist ganz einfach und intuitiv.

Verbindungen - Outbound Routing


Wählen Sie "Ausgehende Route hinzufügen".

Registerkarte "Routeneinstellungen"


Geben Sie den Namen der Route an, z. B. all_line. Als nächstes geben wir in der Reihenfolge die Amtsleitungen an, über die ausgehende Anrufe getätigt werden.

Bild

Gehen Sie zur Registerkarte "Wählregeln"


Hier schreiben wir Muster für ausgehende Nummern vor.

Bild

Die restlichen Registerkarten bleiben standardmäßig erhalten. Damit ist die Konfiguration der ausgehenden Route abgeschlossen. Sie können versuchen, einen Anruf zu tätigen.

Hier kann ein Problem auftreten, dass Anrufe die Amtsleitungen in der Reihenfolge durchlaufen, in der sie auf der Route angegeben sind. Was wiederum dazu führen wird, dass Einheiten in den ersten Zeilen mehr gehen als diejenigen, die ihnen folgen. Um dieses Problem zu lösen, können Sie die Regeln für die ausgehende Route mithilfe von extensions_override_freepbx.conf neu schreiben.

Abhängig von der Anzahl der Zeilen können Sie zufällig verwenden. Für zwei Zeilen zum Beispiel 1.2. Ich benutze solchen Code

  [outrt-sets](!) exten => _.,50,Set(a_rand_num=${RAND(1,2)}); same => n,GotoIf($["${a_rand_num}"<"2"]?${n}+1:${n}+2) same => n,GotoIf($["${GROUP_COUNT(OUT_1)}">="${OUTMAXCHANS_1}"]?${n}+1:out-1-cust) ... [outrt](outrt-sets) ; all_line exten => _+7XXXXXXXXXX,3,Goto(50) exten => _8XXXXXXXXXX,3,Goto(50) 

Verbindungen - Inbound Routing


Eingehende Route hinzufügen.

Registerkarte "Allgemein"


Geben Sie die Beschreibung an, z. B. "eingehend".

Wählen Sie als nächstes den letzten Punkt "Richtung einstellen", in dem wir den Endpunkt der Route auswählen. In meinem Fall habe ich eine Anrufgruppe angegeben, damit Anrufe an jeden freien Betreiber gehen.

Eigentlich habe ich eine komplexere Logik. Mit einem AGI-Skript suche ich nach der eingehenden Nummer in der Datenbank. Wenn ich sie finde, sende ich sie an den Operator, dem sie zugewiesen ist. Bevor ich über jabber einen Anruf beim sip-Client erhalte, sende ich dem Bediener eine Nachricht mit Informationen zum Client. Wenn die Nummer nicht in der Datenbank gefunden wird, geht der Anruf an die Gruppe.

Bild

Damit ist die Einrichtung abgeschlossen. Sie können versuchen, Anrufe zu tätigen und zu empfangen.

Fazit


Viele konfigurieren FreePBX nicht gern, sondern setzen ein nacktes Sternchen. Ich hatte keine Erfahrung mit IP-Telefonie, daher fiel die Wahl einmal auf FreePBX. Ich hatte keine Probleme mit der Bearbeitung von Konfigurationen. Alle Änderungen können mithilfe der Konfigurationsdateien extensions_custom.conf und extensions_override_freepbx.conf vorgenommen werden. Es ist nicht so schwer, es herauszufinden. Wir haben ein kleines Callcenter. GoIP erwies sich als das Beste. Das einzige, was nicht von ihrem nativen SMS-Server arrangiert wurde. Daher wurde meine eigene geschrieben, die das Senden und Empfangen von SMS-Nachrichten unterstützt und auch den Status der SMS-Zustellung anzeigt. Wir haben einen vollwertigen Telefonersatz.
Als SIP-Client verwenden wir ein Web-Telefon, das auf der Basis der JsSip-Bibliothek geschrieben wurde. Es funktioniert einwandfrei in Firefox 68 und Chrome 76. Wenn ich Zeit habe, schreibe ich detailliertere Anweisungen zur Verwendung der JsSip-Bibliothek. Sowie einen separaten Artikel zum Erstellen eines eigenen SMS-Servers.

Source: https://habr.com/ru/post/de464765/


All Articles