Zur Navigation springen

FreePBX und Asterisk

Leiten Sie Anrufe von Ihrem FreePBX- oder Asterisk-Telefonsystem über einen SIP-Trunk an Ihre Rezeption weiter.

Ihre PBX behält ihren Anbieter und ihre Nummern und leitet die ausgewählten Anrufe über einen SIP-Trunk an Reception.ai weiter. Sie fügen auf der PBX einen zweiten Trunk hinzu, der auf Reception.ai verweist, und leiten dann eine DID, eine Zeitbedingung oder eine IVR-Option dorthin.

Bevor Sie beginnen

  • FreePBX 15 oder höher oder Asterisk mit PJSIP, erreichbar über das Internet.
  • Eine statische öffentliche IP-Adresse für die PBX. Reception.ai akzeptiert nur Anrufe von Adressen, die Sie zulassen.
  • Jemand, der mit den Trunks, Routen und der Firewall Ihrer PBX vertraut ist.

Einrichtung

1

SIP-Trunk in Reception.ai hinzufügen

Gehen Sie zu Integrations, wählen Sie Add integration und dann SIP Trunk. Fügen Sie unter Inbound allowed addresses die öffentliche IP-Adresse Ihrer PBX hinzu. Wenn Sie außerdem einen eingehenden Benutzernamen und ein Passwort festlegen, verwenden Sie dasselbe Paar für den unten beschriebenen PBX-Trunk.

2

Nummer hinzufügen

Gehen Sie zu Receptionists, wählen Sie die Kachel Phone, geben Sie die Nummer ein, die Anrufer wählen, einschließlich Ländervorwahl, und wählen Sie Add SIP Trunk number. Reception.ai zeigt den SIP-Server-Host und die zu verwendende Request-URI an.

3

TCP in FreePBX aktivieren

Reception.ai akzeptiert kein UDP. Gehen Sie in FreePBX zu Settings → Asterisk SIP Settings → SIP Settings [chan_pjsip], setzen Sie den Transport tcp auf Yes und wählen Sie Submit und Apply Config. Starten Sie Asterisk neu, damit der neue Transport geladen wird. TLS funktioniert ebenfalls, wenn Sie unter Certificate Management ein Zertifikat eingerichtet haben.

4

Trunk für Reception.ai erstellen

Gehen Sie zu Connectivity → Trunks → Add Trunk → Add SIP (chan_pjsip) Trunk. Geben Sie auf dem Tab General einen Trunk Name ein, beispielsweise reception. Setzen Sie CID Options auf Allow Any CID, damit die Rezeption die jeweilige Nummer des Anrufers sieht. Auf dem Tab pjsip Settings:

FeldWert
RegistrationNone
AuthenticationNone oder Outbound mit Username und Secret, wenn Sie in Reception.ai Zugangsdaten für eingehende Anrufe festgelegt haben
SIP ServerDer SIP-Server-Host von Reception.ai
SIP Server Port5060 für TCP oder 5061 für TLS
TransportDer TCP- (oder TLS-)Transport, zum Beispiel 0.0.0.0-tcp
5

Ausgehende Route für +E.164 hinzufügen

Gehen Sie zu Connectivity → Outbound Routes und fügen Sie eine Route namens Reception hinzu, die nur den Trunk reception verwendet. Fügen Sie ein Wählmuster mit einem ungenutzten prefix, etwa 88, einem match pattern von X. und einem prepend von + hinzu. Ein Anruf an 8814155550123 verlässt den Trunk dann als +14155550123, das von Reception.ai benötigte Format.

6

DID an Reception.ai senden

Gehen Sie zu Applications → Misc Destinations und fügen Sie ein Ziel hinzu, das 88 gefolgt von der Nummer im E.164-Format ohne + wählt, zum Beispiel 8814155550123. Gehen Sie dann zu Connectivity → Inbound Routes, öffnen Sie die Route für Ihre DID und setzen Sie deren Ziel auf dieses sonstige Ziel. Sie können es auch als Ziel einer Zeitbedingung, eines Ringgruppen-Failovers oder einer IVR-Option verwenden.

7

NAT und Audio korrigieren

Gehen Sie zu Settings → Asterisk SIP Settings → General SIP Settings. Setzen Sie External Address auf die öffentliche IP der PBX und führen Sie Ihre privaten Subnetze unter Local Networks auf. Öffnen Sie in Ihrer Firewall die auf dieser Seite angezeigten RTP Port Ranges (UDP, standardmäßig 10000–20000).

8

Testen

Rufen Sie Ihre DID von einem anderen Telefon aus an und prüfen Sie, ob Ihre Rezeption antwortet.

Reines Asterisk

Bei Asterisk ohne FreePBX sieht dieselbe Einrichtung in pjsip.conf so aus. Ersetzen Sie SIP_SERVER durch den Host, den Reception.ai anzeigt.

[transport-tcp]
type=transport
protocol=tcp
bind=0.0.0.0:5060
external_signaling_address=PBX_PUBLIC_IP
external_media_address=PBX_PUBLIC_IP
local_net=192.168.0.0/16
[reception]
type=aor
contact=sip:SIP_SERVER:5060;transport=tcp
[reception]
type=endpoint
transport=transport-tcp
aors=reception
context=from-reception
disallow=all
allow=ulaw,alaw

Senden Sie den Anruf im Dialplan mit der Nummer im E.164-Format:

exten => YOUR_DID,1,Dial(PJSIP/+14155550123@reception)

Wenn Sie in Reception.ai Zugangsdaten für eingehende Anrufe festgelegt haben, fügen Sie einen Abschnitt type=auth mit diesen Daten hinzu und verweisen Sie auf dem Endpoint mit outbound_auth= darauf.

Einschränkungen

  • Weiterleitungen. Ihre Rezeption leitet Anrufe weiter, indem sie einen neuen Anruf an die Outbound SIP address tätigt. Verweisen Sie diese auf Ihren SIP-Anbieter und verwenden Sie ein Anbieterkonto, das Benutzername und Passwort akzeptiert. Das Routing von Weiterleitungen zurück in die PBX wird hier nicht behandelt: Reception.ai ruft von einem wechselnden Adresspool aus an, sodass die PBX diese Anrufe nicht anhand der IP einem Trunk zuordnen kann.
  • Ihre PBX überträgt jeden Anruf zweimal, einmal vom Anbieter und einmal zu Reception.ai. Sie benötigt daher für jeden Abschnitt einen freien Kanal.

Fehlerbehebung

ProblemPrüfen Sie Folgendes
Anrufe schlagen vor dem Klingeln fehlPrüfen Sie, ob der Trunk den TCP- oder TLS-Transport verwendet, nicht UDP, und ob der Port dazu passt.
Anrufe werden abgewiesenFügen Sie die öffentliche IP der PBX zu Inbound allowed addresses hinzu. Prüfen Sie in der Asterisk-Konsole, ob die Request-URI des INVITE mit + und der Ländervorwahl beginnt.
Die Rezeption sieht die Nummer der PBX als AnruferSetzen Sie CID Options auf dem Reception.ai-Trunk auf Allow Any CID.
Einseitiges Audio oder kein AudioSetzen Sie External Address und Local Networks und öffnen Sie den RTP-Portbereich in der Firewall.
Die Rezeption antwortet nichtStellen Sie sicher, dass die Nummer auf der Kachel Phone der Rezeption hinzugefügt wurde und mit der von der PBX gesendeten Nummer übereinstimmt.