Asterix Telekom pjsip.conf + extensions.conf

longshot006A

Neuer User
Mitglied seit
20 Nov 2016
Beiträge
2
Punkte für Reaktionen
0
Punkte
1
Hallo Freunde,

Ich habe soeben meine Umstellung von chan_sip nach pjsip abgeschlossen und wollte euch meine Configs zur Verfügung stellen in der Hoffnung dass diese euch einiges an Arbeit und Recherche ersparen.

Anmerkungen:
-Ich verwende den SSO über die Telekom, da ich aus Sicherheitsgründen ungern die Zugangsdaten eintragen würde
-In diesem Szenario gibt es 3 Telekom-Rufnummern und 4 Endstellen. 2 auf der Fritzbox und 2 Softphones
-In der Extensions.conf gibt es noch einen Anrufschutz vor Ex-Freundinnen, Sky, Ergo & Co (zum Testen die Rufnummer eintragen, alternativ lookup in der Datenbank "blacklist") und eine AB-Funktion. Dies müsste noch auf eure Gegebenheiten angepasst werden (voicemail.conf) (database put blacklist +49XXXXX "Kommentar"), eigenes Soundfile "fuckyou" ablegen, etc.
-Alles outbound bis auf 0, 0049, 0041 und 0043 ist blockert.
-Ihr müsst noch bei den internen Endpunkten eure eigenen Passwörter setzten.
-Die extension IAX2/2100 zeigt auf ein iaxmodem/hylafax-konglomerat. Einfach anpassen oder löschen ;)

Verbesserungsvorschläge sind jederzeit willkommen!

Code:
pjsip.conf:


[global]
type = global
language = de
endpoint_identifier_order = username,ip

[transport-udp]
type = transport
protocol = udp
bind = 192.168.0.25:5060
local_net = 192.168.0.0/16


[telekom_auth]
type = auth
auth_type = userpass
password = :[email protected]
username = [email protected]
realm = tel.t-online.de

[telekom_in]
type=endpoint
transport=transport-udp
context=incoming
disallow=all
allow=g722
allow=alaw
outbound_auth=telekom_auth

[telekom_in]
type = identify
endpoint = telekom_in
match = 217.0.0.0/13

[telekom_1234502_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234502
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false

[telekom_1234503_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234503
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false

[telekom_1234504_reg]
type = registration
transport = transport-udp
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
server_uri = sip:tel.t-online.de:5060
client_uri = sip:[email protected]:5060
contact_user = 0891234504
retry_interval = 60
forbidden_retry_interval = 60
expiration = 480
auth_rejection_permanent = false



[telekom_0891234502]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = g722
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234502_aor
callerid = 0891234502
from_user = 0891234502
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234502_aor]
type = aor
contact = sip:[email protected]

[telekom_0891234503]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = g722
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234503_aor
callerid = 0891234503
from_user = 0891234503
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234503_aor]
type = aor
contact = sip:[email protected]

[telekom_0891234504]
type = endpoint
transport = transport-udp
context = outgoing
disallow = all
allow = alaw
outbound_auth = telekom_auth
outbound_proxy = sip:[email protected]:5060\;lr
aors = telekom_0891234504_aor
callerid = 0891234504
from_user = 0891234504
from_domain = tel.t-online.de
timers = no
rtp_symmetric = yes
force_rport = yes
ice_support = yes
rewrite_contact = yes
direct_media = no

[telekom_0891234504_aor]
type = aor
contact = sip:[email protected]

[1001]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
auth=1001
aors=1001
mailboxes=2801@default

[1001]
type=auth
auth_type=userpass
password=pass
username=1001

[1001]
type=aor
max_contacts=2
remove_existing=true

[1002]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
auth=1002
aors=1002
mailboxes=2802@default

[1002]
type=auth
auth_type=userpass
password=pass
username=1002

[1002]
type=aor
max_contacts=2
remove_existing=true

[1011]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
allow=ilbc
auth=1011
aors=1011
mailboxes=2802@default

[1011]
type=auth
auth_type=userpass
password=pass
username=1011

[1011]
type=aor
max_contacts=2
remove_existing=true

[1012]
type=endpoint
transport=transport-udp
context=outgoing
disallow=all
allow=g722
allow=alaw
allow=ilbc
auth=1012
aors=1012
mailboxes=2802@default

[1012]
type=auth
auth_type=userpass
password=pass
username=1012

[1012]
type=aor
max_contacts=2
remove_existing=true

[acl]
type=acl
deny=0.0.0.0/0.0.0.0
; Telekom
permit=217.0.0.0/13
; eigenes LAN
permit=10.0.0.0/8
permit=192.168.0.0/20



extensions.conf:
[general]
static=yes
writeprotect=no

[macro-blacklist]
; Aufruf: Macro(blacklist,${CALLERID(num)})
exten => s,1,GotoIf(${DB_EXISTS(blacklist/${ARG1})}?black)
exten => s,10(black),NoOp(${ARG1} is in the blacklist)
exten => s,n,Playback(fuckyou)
exten => s,n,Hangup()

[macro-set-codec-alaw]

exten => s,1,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,set(__SIP_CODEC_OUTBOUND=alaw)
exten => s,n,set(__SIP_CODEC_INBOUND=alaw)
exten => s,n,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,MacroExit()

[macro-set-codec-g722]

exten => s,1,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,set(__SIP_CODEC_OUTBOUND=g722)
exten => s,n,set(__SIP_CODEC_INBOUND=g722)
exten => s,n,NoOp(Codec ${SIP_CODEC_OUTBOUND})
exten => s,n,MacroExit()



[default]
include => incoming
include => internal


[outgoing]

include => internal
include => from-internal-custom
include => incoming

exten => _0XX./1001,2,set(CALLERID(num)=0891234502)
exten => _0XX./1002,2,set(CALLERID(num)=0891234503)
exten => _0XX./1011,2,set(CALLERID(num)=0891234503)
exten => _0XX./1012,2,set(CALLERID(num)=0891234503)
exten => _0XX./2100,2,set(CALLERID(num)=0891234504)

;exten => _0049.,3,Macro(set-codec-g722,${CALLERID(num)})
;exten => _0049./0891234504,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0049.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num)},,WwtTr)

;exten => _0.,3,Macro(set-codec-g722,${CALLERID(num)})
;exten => _0./0891234504,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num)},,WwtTr)


;exten => _0041.,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0041.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num),,WwtTr)
;exten => _0043.,3,Macro(set-codec-alaw,${CALLERID(num)})
exten => _0043.,3,Dial(PJSIP/0${EXTEN:1}@telekom_${CALLERID(num),,WwtTr)




exten => _00XX.,4,Hangup()


[incoming]

include => from-internal-custom
include => internal

exten => _X.,1,Macro(blacklist,${CALLERID(num)})
exten => _X.,2,Set(CALLERID(name)=${IF($["${DB(cidname/${CALLERID(num)})}" = ""]?${CALLERID(name)}:${DB(cidname/${CALLERID(num)})})})


exten => 0891234502,3,GotoIf($["${CALLERID(num)}" != "+498925879"]?dial2)

exten => 0891234502,n(dial1),Playback(fuckyou)
exten => 0891234502,n,Hangup

exten => 0891234502,n(dial2),Dial(PJSIP/1001,180,WwtTr)
exten => 0891234502,n,Hangup



exten => 0891234503,3,GotoIf($["${CALLERID(num)}" != "+498925879"]?dial2)

exten => 0891234503,n(dial1),Playback(fuckyou)
exten => 0891234503,n,Hangup


exten => 0891234503,n(dial2),Dial(PJSIP/1002&PJSIP/1011&PJSIP/1012,30,WwtTr)
exten => 0891234503,n,Playback(graveyard)
exten => 0891234503,n,VoiceMail(2802@default,s)
exten => 0891234503,n,Hangup



exten => 0891234504,3,Dial(IAX2/2100,180,r)
exten => 0891234504,4,Hangup


[internal]

exten => 800,1,Answer
exten => 800,n,Wait(1)
exten => 800,n,VoiceMailMain(${CALLERID(num)})
exten => 800,n,Hangup


exten => _1XXX,1,NoCDR()
exten => _1XXX,n,Dial(PJSIP/${EXTEN},180,WwtTr)
exten => _1XXX,n,Dial(IAX2/${EXTEN},180,WwtTr)
[Edit Novize: [Code]...[/Code]-Tags um die Config gesetzt - das war ja nicht mehr überschaubar ;)]
 
Zuletzt bearbeitet von einem Moderator:
Ich verwende den SSO über die Telekom, da ich aus Sicherheitsgründen ungern die Zugangsdaten eintragen würde
Hallo,

seit einigen Tagen versuche ich intensiv aber vergeblich, zwei Telefonnummern über Asterisk bei der Telekoma anzumelden. Ich vermute, SSO steht für Single Sign On. Was bedeutet das hier? Meinst du mit Zugangsdaten die Anschlusskennung und Zugangsnummer?

Ansonsten würde man doch die Sektion type=auth für jede Fonnummer wiederholen, wobei username die jeweilige Fonnummer ist?
 
Hallo Fredericderzweite,

Von der Authentifikation her sollte die Config so 1:1 funktionieren, da die Authentifikation dann mittels der IP-Adresse / PPPOE-Einwahl erfolgt.
 
Hier findest Du, wie man pjsip mit Authentication bei der Telekom konfiguriert.

Man kann das natürlich auch ohne Anmeldung machen - sollte sich aber dann dessen bewusst sein, dass der gesamte Anschluss von jedem ohne Weiteres genutzt werden kann - es genügt, einen Router an die DSL-Leitung zu hängen (z.B. bei Abwesenheit). Wenn man alleine im Haus unterwegs ist, ist das natürlich eher unproblematisch. Man sollte aber auch in dem Fall sicherstellen, dass nicht Hinz und Kunz im eigenen Netz ein SIP-Phone auf die eigene Nummer registrieren kann (was ja grundsätzlich möglich ist, wenn keine Authentifizierung mehr benötigt wird).
 
Bitte nicht die Line ID basierte (PPPoE/Internet-)Anmeldung ohne Überprüfung der Zugangsdaten („Easy Login") mit der SIP-Anmeldung ohne explizite Zugangsdaten (Dummydaten/„NASS-IMS bundled authentication“) in einen Topf werfen.

Ersteres Feature lässt sich leicht und für jeden Anschluss deaktivieren. Zweiteres lässt sich bei MagentaZuhause/Call&Surf/Privatkundentarifen nicht explizit deaktivieren. Rufnummern können lediglich einer T-Online E-Mail bzw. Inklusivnutzer zugeordnet werden, dann sollte nur noch mit deren Zugangsdaten eine Anmeldung möglich sein.

In den DeutschlandLAN-Tarifen lässt sich die anonyme Anmeldung (NBA) übrigens explizit im Telefoniecenter deaktivieren. Bei SIP-Trunk, CloudPBX und CompanyFlex (SIP-Trunk) gibt es wiederum gar nicht das Feature der anonymen bzw. leitungsbasierten Authentifizierung.
 
Hallo Meester Proper,
zum Thema "Easy Login" bei MagentaZuhause:
Habe ich das richtig verstanden: Der Login für VoIP ist mittlerweile immer offen, solange man die Nummern keinem Inklusivnutzer bzw. einem t-online-E-Mail-Konto zugeordnet hat? Völlig egal, ob man easy login aktiviert hat oder nicht?
Als ich das vor einigen Jahren getestet habe, sind die beiden Dinge zumindest noch zusammen gehängt: ich hatte immer den VoIP-Zugang einer e-mail Adresse zugeordnet. Trotzdem war es mir testweise möglich, mit irgendwelchen Dummy-Passwörtern eine Registrierung durchzubekommen, solange easy-Login aktiv war.
Hat sich das mittlerweile geändert? Gut möglich. Das Login-Konzept und die vielen User / Passwörter habe ich zumindest aufgegeben, vollständig durchzublicken (v.a. wenn man aus der Historie kommt). Ich bin froh, wenn ich an den richtigen Stellen die richtigen User und Passwörter verwende (gefühlt ändert sich das alle paar Jahre - zuletzt musste ich meinen Zugriff auf das Kundencenter umstellen). Ich hoffe ja bloß, dass man an den Mail-, VoIP-, Kundencenter-, Magentacloudaccount nicht auch noch ohne Password dran kommt (bei inaktivem easy login). Grausig. Gibt es da eigentlich irgendwo eine vollständige belastbare Übersicht inkl. den ganzen Werdegängen / Historie, so dass man auch als Altkunde noch die Chance hat, durchzublicken?
 
Erstmal Danke, nach Ausprobieren bin ich dahingekommen, die [email protected]-online.de zu verwenden. Ich hoffe, ich habe das richtig verstanden ....

Eine weitere Frage, die mir Kopfzerbrechen macht: wenn von Telefon 1001 gewählt wird, welche der Telefonnummern (12345_02 - _04) wird beim Angerufenen angezeigt? Wird das in der extensions.conf geregelt? Also in dem Bsp.: exten => _0XX./1001,2,set(CALLERID(num)=0891234502)
 
hi zusammen,
ich versuche seit einiger Zeit Telekom via pjsip.conf auf TLS oder verschlüsselte Telefonie via port 5061 umzustellen. Allerdings klappt das überhaupt nicht.
TLS Zertifkate habe ich ganz normal erstellt und via TLS würden sich auch die Clients verbinden können.
von der Telekom bekomme ich aber wenn ich "transport-tls" "method=tlsv1_2" habe:
Code:
[transport-tls]
type=transport
protocol=tls
bind=0.0.0.0:5061
;cert_file=/etc/asterisk/keys/asterisk.crt
;priv_key_file=/etc/asterisk/keys/asterisk.key
ca_list_file=/etc/asterisk/keys/ca.crt
;cipher=ADH-AES256-SHA,ADH-AES128-SHA
allow_reload=no
;verify_client=true
verify_server=true
method=tlsv1_2
[Feb 17 20:28:47] WARNING[205861]: pjproject: <?>: SSL SSL_ERROR_SSL (Handshake): Level: 0 err: <337260938> <SSL routines-tls_process_ske_dhe-dh key too small> len: 0 peer: "IP-von-tel.t-online.de":5061

In meinem Telekom Endpoint habe ich unter anderem das eingestellt:
Code:
type=endpoint
transport=tls
media_encryption=sdes
rewrite_contact = yes
dtls_verify=no
dtls_auto_generate_cert=yes
dtls_setup=actpass
...

Zertifkate habe ich diese:
-rw------- 1 root root 1407 Oct 27 17:23 asterisk.crt
-rw------- 1 root root 936 Oct 27 17:22 asterisk.csr
-rw------- 1 root root 1679 Oct 27 17:22 asterisk.key
-rw------- 1 root root 3086 Oct 27 17:23 asterisk.pem
-rw------- 1 root root 162 Oct 27 17:22 ca.cfg
-rw------- 1 root root 1785 Feb 16 23:43 ca.crt
-rw------- 1 root root 3311 Oct 27 17:22 ca.key
-rw------- 1 root root 1419 Oct 27 17:24 phone1.crt
-rw------- 1 root root 948 Oct 27 17:24 phone1.csr
-rw------- 1 root root 1675 Oct 27 17:24 phone1.key
-rw------- 1 root root 3094 Oct 27 17:24 phone1.pem

Hat irgendjemand einen Hinweis, wie ich verschlüsselte Telefonie für die Telekom via pjsip.conf zum laufen bekomme?
danke :)

EDIT:
openssl hat ein problem mit dem SIP Zertifkat von der Telekom - da kommt der fehler her? Also muss ich den Zertifkat check ausschalten? hm.. wie?
openssl s_client -connect 217.0.29.36:5061
CONNECTED(00000003)
Can't use SSL_get_servername
depth=2 C = DE, O = T-Systems Enterprise Services GmbH, OU = T-Systems Trust Center, CN = T-TeleSec GlobalRoot Class 2
verify return:1
depth=1 C = DE, O = T-Systems International GmbH, OU = T-Systems Trust Center, CN = TeleSec Business CA 1
verify return:1
depth=0 C = DE, O = Deutsche Telekom AG, OU = SIP-Trunk.telekom.de, OU = SIP-Trunk, CN = tel.t-online.de, ST = Nordrhein-Westfalen, L = Bonn
verify return:1
140629319124288:error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small:../ssl/statem/statem_clnt.c:2157:
---
Certificate chain
......


EDIT:
Unable to connect to weak-DH servers with OpenSSL: "dh key too small" · Issue #583 · nmap/nmap · GitHub
Wenn ich das richtig rauslese, dann müsste ich openssl anders kompilieren oder die Telekom müsste ihr Zertifikat sicherer machen.
"enable-weak-ssl-ciphers in OpenSSL Configure"
 
Zuletzt bearbeitet:
Nein, Du musst nichts neu bauen, denn der DH-Key bei der Telekom Deutschland ist nicht kleiner als sondern genau 1024 bit. Daher trifft jene von Dir verlinkte Issue-Anmerkung auf GitHub zu der App nmap für Deine Situation nicht zu. Es ist lediglich die Konfiguration.

Alternative A
Dein Betriebssystem stellt standardmäßig in der Bibliothek OpenSSL einen zu hohen SECLEVEL ein (Quelle). Normalerweise kann man das in der jeweiligen App – die dann OpenSSL nutzt – nachträglich runter regeln. Allerdings ist die API vom PJ-Project solch ein Schund, dass das nicht von der App „Digium Asterisk“ aus geht (Quelle). Folglich musst Du das systemweit machen …

Alternative B
Das eigentliche Problem ist die Telekom Deutschland. Es ist auch nicht das Zertifikat. Es sind die Cipher-Suites. Die Telekom nutzt anstatt ECDH noch immer DH. Und bei DH nutzt die Telekom Deutschland eine der Security-Community zu kleine Diffie-Hellman-Group. Daher kannst Du das Problem auch umgehen, indem Du auf DH (und damit leider auch auf PFS) verzichtest, also in pjsip.conf zum Beispiel cipher=AES128-GCM-SHA256 einstellst. Leider ist die API vom PJ-Project auch hier Schund, weil man so Befehele wie "!DH" bzw. "-DH" nicht bis OpenSSL durchreichen kann.

Gegentest
Nimm das Kommandozeilen-Tool auf Deinem Betriebssystem zu teste selbst:
dig +short _sips._tcp.tel.t-online.de SRV
das Ergebnis mit der 10 vorne trägst Du dann ein bei
openssl s_client -connect …t-ipnet.de:5061 -cipher DEFAULT
openssl s_client -connect …t-ipnet.de:5061 -cipher DEFAULT@SECLEVEL=1
openssl s_client -connect …t-ipnet.de:5061 -cipher DEFAULT:-DH@SECLEVEL=2

Der erste Aufruf ist das, was Dein Digium Asterisk aktuell macht. Dort siehst Du jene Fehlermeldung, weil die Telekom aktuell eine Cipher-Suite mit DHE aushandelt. Beim zweiten Aufruf erscheint keine Fehlermeldung, weil Du durch Security-Level 1 auch „1024 bit für den DH-Key“ erlaubst. Beim dritten Aufruf bietest Du keine Cipher-Suite mit DH an. Daher fällt die Telekom aktuell auf eine Cipher-Suite ganz ohne PFS zurück. Weil diese Cipher-Suite und das Zertifikat der Telekom besser als „128 bit für die Verschlüsselung“ sind, klappt der Security-Level 2. So zeigt Dir OpenSSL eine passende bzw. sogar die stärkste Cipher-Suite für Deine pjsip.conf.
Telekom via pjsip.conf
Bitte keine Räder neu erfinden, sondern …
versuche seit einiger Zeit
Bei sicherheitsrelevanten Dingen nicht lange fackeln und bitte direkt das Internet fragen (also nicht alleine suchen), weil Du selbst mit einem Doktorgrad in IT-Security ganz leicht falsch abbiegen könntest:
Das ist für DTLS-sRTP. Du machst bei der Telekom SDES-sRTP (mit MedaSec).
Das geht zwar aktuell ist aber langfristig nicht so sinnvoll, siehe hier und dort …
 
Zuletzt bearbeitet:
vielen Dank sonyKatze für deine Ausführliche Antwort.
Die Lösung war dann im "/etc/ssl/openssl.cnf" das Level anzupassen: Ich bin übrigens auf Debian Testing.
Code:
[system_default_sect]
MinProtocol = TLSv1.2
CipherString = DEFAULT@SECLEVEL=1

hast du vielleicht noch eine Idee, wie ich sdes zum laufen bekomme?
wenn ich im Tranport part "media_encryption=sdes" schalte, dann kommt:
res_pjsip_session.c:934 handle_incoming_sdp: tssl-nummer: Couldn't negotiate stream 0:audio-0:audio:sendrecv (nothing)

Bei Freepbx gibt eine option: "Set Media Encryption to SRTP via in-SDP (Recommended)", aber ich werde daraus leider nicht schlau wie ich das manuell ohne freepbx setzen kann.
Ich setzt die Tage mal freepbx in einer virtuellen Maschine auf und schau ob ich herausfinde, was die option genau macht
 
  • Like
Reaktionen: sonyKatze
hast du vielleicht noch eine Idee, wie ich sdes zum laufen bekomme?
wenn ich im Tranport part "media_encryption=sdes" schalte, dann kommt:
res_pjsip_session.c:934 handle_incoming_sdp: tssl-nummer: Couldn't negotiate stream 0:audio-0:audio:sendrecv (nothing)
Du benötigst bei der Telekom AllIP Mediasec. Das kann Asterisk / pjsip out of the box nicht (Astersik chan_sip kann es gar nicht). Hier gibt es Patches dazu.

Der "Couldn't negotiate stream 0:audio-0:audio:sendrecv (nothing)" Fehler besagt, dass Asterisk SDES erwartet - aber im SDP von der Telekom nicht im Angebot ist - daher lehnt er den Call ab - korrekt. Das liegt wie gesagt daran, dass die Telekom Mediasec benötigt (siehe oben)!
 
  • Like
Reaktionen: sonyKatze

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,831
Beiträge
2,219,105
Mitglieder
371,533
Neuestes Mitglied
ipeee
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.