Manuelle Installation eines 3CX SBC in einem LXC Container

PROXMOX > Debian 11 LXC-Container

Bevor mit der eigentlichen Installation des SBC begonnen wird, wird in der Admin Konsole der 3CX Anlage ein neuer SBC angelegt. Dazu einfach unter „Sip-Trunk“ einen neuen „SBC hinzufügen“. Hier müsst ihr einen Namen vergeben und am besten erweitert ihr gleich das Kennwort um einige Zeichen, da dieses zu kurz geraten ist.

„Provisionierungs-URL“, „Authentifizierungsschlüssel-ID“ und „Passwort“ werden später für die Konfiguration des SBC’s benötigt.

Als erstes erstellt ihr einen neuen LXC Container auf Basis eines Debian 11 Templates. Obwohl 3CX noch keine Paketquelle für Debian 11 (Bullseye) veröffentlicht hat, könnt ihr problemlos die Debian Buster Quelle zur Installation nutzen.

Um den 3CX SBC über den Paketmanager APT installieren zu können, muss das Repository
zur sources.list hinzugefügt werden:

echo "deb [trusted=yes] http://downloads-global.3cx.com/downloads/debian buster main" >> /etc/apt/sources.list

Anschließend ein

apt update

durchführen und mit

apt install 3cxsbc

das 3CX SBC Paket installieren.

Zum aktuellen Zeitpunkt gibt es noch kein aktuelles Paket unter Debian 11 (Bullseye). Das Paket wird aus dem Buster Repository installiert und läuft aktuell stabil.

Damit der SBC vernünftig läuft, und sich mit der 3CX Anlage verbindet, muss die Konfigurationsdatei vom SBC angepasst werden. Dazu öffnet ihr diese mit einem Editor eurer Wahl z.B. mit nano:

nano /etc/3cxsbc.conf

Beispielconfig:

[General]
ReconnectInterval=5 # seconds
PrintStatsInterval=60 # seconds
FailoverInterval=120 # seconds
GiveupTimeout=300 # seconds
Hash=1

[Log]
#Type=file      # optional: cout, cerr, file (default), syslog (only for Linux)
Level=ERR       # optional: NONE, CRIT, ERR, WARNING, NOTICE, INFO, DEBUG, STACK, VERBOSE
#Resip=ERR      # optional: same as Level
#File=
Size=100M      # limit file size (up to 4G): 0 - no limit, nU - n units (G for gigabytes, M for megabytes, K for kilobytes)

[Bridge/123456]
ID=123456
Password="XxXxXxXxXx"     # must match SBC's password set in the MC
SecurityMode=1 # 0 - TCP, 1 - TLS
TunnelAddr=hostname.my3cx.de # remote 3CX Tunnel TCP address
TunnelPort=5090 # remote TCP port (default: 5090)
PbxSipIP=hostname.my3cx.de
PbxSipPort=5060
LocalSipAddr=0.0.0.0    # 0.0.0.0 to auto detect on start
LocalSipPort=5060
FirstRtpPort=20000
NumRtpPorts=64
ProvLink=https://hostname.my3cx.de/sbc/YyYyYyYyYyYy

# End of 3CX SBC config file

Parameter die angepasst werden müssen

Innerhalb der Konfigurationsdatei müsst ihr nun die folgenden 4 Parameter entsprechend eurer Umgebung anpassen:

Password

Hinter Password= wird in Anführungszeichen das Passwort zum SBC hinzugefügt. Dieses findet Ihr in 3CX unter dem SBC im verstecktem Feld: Password

TunnelAddr und PbxSipIP

TunnelAddr= und PbxSipIP= wird um die Telefonanlagen Domain erweitert. Gefordert wird hier der FQDN eurer 3CX Instanz ohne Protokoll (http/https)

ProvLink

ProvLink=https://FQDN/sbc/“Authentifizierungsschlüssel-ID“

Zusätzliche Änderungen

Alle anderen Parameter könnt ihr so belassen, wenn ihr die 3cx mit den Standardwerten installiert habt. Solltet ihr jedoch 3cx z.B. mit einem anderen Port installiert haben müsst ihr diese Parameter hier ebenfalls entsprechend anpassen.

Nachdem Ihr die Einstellungen angepasst habt, speichert Ihr eure Änderungen und startet den Dienst neu:

systemctl restart 3cxsbc.service

Um zu sehen ob alles „glatt gelaufen“ ist, solltet ihr euch das Log ausgeben lassen:

tail -f /var/log/3cxsbc/3cxsbc.log

Ist alles gut gelaufen, sollte sich der SBC nun in der Admin Konsole als registriert wiederfinden lassen. Eure angepasste Konfigurationsdatei wird umbenannt in 3cxsbc.conf.local und der 3CX SBC Service erstellt eine neue 3cxsbc.conf