Asterisk und Telekom - wieder mal ...

Ossie

Neuer User
Mitglied seit
22 Nov 2019
Beiträge
36
Punkte für Reaktionen
2
Punkte
8
Hallo Asterisk-Freunde,
ich bin etwas ratlos ...

Ein Kunde will seine alte ISDN-Anlage entsorgen und soll dafür ein Asterisk-System bekommen (Raspberry 4 mit 8GB RAM, PJSIP).

Da ich zuhause (als Nicht-Telekom-Kunde) den Raspberry nicht an meiner Leitung testen und konfigurieren kann, habe ich ihn beim Kunden aufgestellt.
Per myFritz (LAN-LAN-Kopplung) die Fritzboxen beim Kunden und bei mir zuhause gekoppelt.
Nun konnte ich per SSH auf den Raspberry zugreifen.

In der Kunden-FB die beiden nicht benutzen Telefonnummern deaktiviert.
Eine der beiden Nummern in der PJSIP.conf eingerichtet.
Die Nummer ist "registered", und ich konnte rein- und raustelefonieren - hurra!
Es war schon spät abends - also Feierabend gemacht, um am nächsten Tag weiter zu machen.

Am nächsten Tag der Schock - die Nummer ist zwar immer noch "registered", die Refresh-Nachrichten gehen immer noch hin und her, aber die Nummer ist nicht mehr erreichbar.

Wähle ich die Nummer, schweigt mein Telefon eine Minute lang, um mir dann mitzuteilen, daß der Teilnehmer momentan nicht erreichbar ist.
An der Asterisk-Konsole schlägt auch kein Anruf auf - absolute Ruhe!
Raustelefonieren geht erstaunlicherweise!

Ich habe an der pjsip.conf noch herumgespielt und Änderungen ausprobiert - ohne Erfolg.
ich bin etwas ratlos ...
Hat jemand der Asterisk-Telekomgurus einen hilfreichen Tipp für mich?

Danke und schönen Sonntag!
Ossie
 
Ein Kunde will seine alte ISDN-Anlage entsorgen und soll dafür ein Asterisk-System bekommen (Raspberry 4 mit 8GB RAM, PJSIP).
Wenn die Frage gestattet ist: Warum?
Ein "nacktes" Asterisk bietet ungefähr null Komfort und sehr viele Dinge nicht, die bei ISDN-Anlagen üblich waren. Das kann man natürlich alles beiprogrammieren, aber sofern man da keine hochspeziellen Anforderungen hat, gibt es genug fertige Anlagen, die viel mehr leisten.

Da ich zuhause (als Nicht-Telekom-Kunde) den Raspberry nicht an meiner Leitung testen und konfigurieren kann, habe ich ihn beim Kunden aufgestellt.
Ich würde mir generell überlegen, ob ich ein Asterisk ohne feste, öffentliche IPv4 und hinter einem NAT wirklich direkt beim Provider registrieren will. Speziell die Telekom fährt ein Betriebskonzept, das von Asterisk nicht unterstützt wird und wahrscheinlich auch nie werden wird. Verschlüsselte Telefonie mit der Telekom ist überhaupt nur möglich wenn man die Sourcen patcht:


Auch mit dynamischen IPs kann Asterisk nicht gut umgehen. Asterisk muss seine öffentliche IP aber kennen, weil sonst Müll in den SDP-Daten steht. Wenn man mit Gegenstellen spricht, die sich an die Konventionen halten, landet das Audio im Nirvana.

Man erspart sich diesen ganzen Ärger, wenn man einen Router nimmt der einen brauchbaren SBC bereitstellt -- z. B. einen Lancom-Router mit VCM.

Aber mal ganz simpel gefragt: Warum wird nicht einfach die Telefonanlagen-Funktion der Fritzbox genutzt?

In der Kunden-FB die beiden nicht benutzen Telefonnummern deaktiviert.
Eine der beiden Nummern in der PJSIP.conf eingerichtet.
Das ist sowieso kritisch, es kann gut sein dass eingehender Verkehr von der FB abgefangen wird.
Die Nummer ist "registered", und ich konnte rein- und raustelefonieren - hurra!
Rein und raus sind bei SIP sowieso zwei unterschiedliche Dinge.

Wähle ich die Nummer, schweigt mein Telefon eine Minute lang, um mir dann mitzuteilen, daß der Teilnehmer momentan nicht erreichbar ist.
Könnte zum Beispiel sein, dass die Pakete von der Firewall der Fritzbox verworfen werden.

An der Asterisk-Konsole schlägt auch kein Anruf auf - absolute Ruhe!
-> Tracen! support.lua und Wireshark sind deine Freunde.

Ein Problem, das man ohne erheblichen Aufwand nicht umschiffen kann, ist, dass Asterisk für OPTIONS (qualify) immer den ersten Server aus dem DNS SRV nimmt. Wenn mal aus Gründen nicht der erste Server auch die Session hält, funktioniert abgehende Telefonie nicht mehr (s.o. und https://issues.asterisk.org/jira/browse/ASTERISK-28823 )

Raustelefonieren geht erstaunlicherweise!
So erstaunlich ist das nicht. Von innen wird eine Verbindung nach außen aufgebaut, also ein frischer NAT-Kanal geöffnet und der einzelne Ruf wird dann auch noch authentifiziert.
Ich habe an der pjsip.conf noch herumgespielt und Änderungen ausprobiert - ohne Erfolg.
ich bin etwas ratlos ...
Hat jemand der Asterisk-Telekomgurus einen hilfreichen Tipp für mich?

Sofern du nicht vorhast, selbst mal ein Telefonieprodukt anzubieten und sofern es einfach nur um das Ablösen einer 08/15-ISDN-TK geht:
  • Ämter nicht hinter NAT übers Asterisk registrieren, erst Recht nicht wenn es ein Telekom-Amt ist
  • kein Asterisk verwenden
  • Speziell bei Geschäftskunden: Keine Fritzbox verwenden
Anderenfalls bezahlt dich der Kunde für's "rumbasteln" und Lösen von Problemen die man mit der richtigen Hardware erschlagen kann und man nie mit 100%iger Sicherheit weiß, ob alles klappt -- zudem hat die Telekom auch immer mal Änderungen an ihrer Plattform durchgeführt, die dazu geführt haben, dass diverse Asterisk-Konfigurationen umgekippt sind.

Das ist für beide Seiten frustrierend und die Zeit könntest du sinnvoller in das Realisieren von Leistungsmerkmalen stecken.

Ein AVM, ein Lancom, etc. haben zwar ähnliche Arbeit, aber die erfahren von solchen Änderungen vorab und haben Zeit, die Firmware ihrer Geräte darauf anzupassen. Und sie haben die direkte Hoheit über ihre SIP-Stacks und können im Zweifel eben auch alle Spezialitäten von Providern unterstützen. Sofern man kein C-Programmierer ist und sich in die Untiefen des Asterisk-Quellcodes einarbeiten möchte (oder schlicht dafür bezahlt), ist Asterisk so, wie es ist.

Es gibt am Markt nachwievor eine "bessere Fritzbox", in die aber eine brauchbare Telefonanlage integriert ist UND die Systemtelefonie bietet: Bintec Elmeg be.IP. Da würde man im beschriebenen Szenario auch direkt den Raspi sparen (Stichwort Stromverbrauch).
 
Zuletzt bearbeitet:
Speziell die Telekom fährt ein Betriebskonzept, das von Asterisk nicht unterstützt wird und wahrscheinlich auch nie werden wird.

Es funktioniert, aber nur wie Du schreibst wenn Asterisk auf irgendeine Weise die öffentliche IP-Adresse kennt. Zuverlässig außerdem nur mit Portforwarding, wofür man zB. hinter einer Fritzbox einen anderen SIP-Port als 5060 verwenden muss (was allerdings eh sicherer ist).


Aber mal ganz simpel gefragt: Warum wird nicht einfach die Telefonanlagen-Funktion der Fritzbox genutzt?

Es gibt durchaus zahlreiche praktische Anwendungsfälle. Beispielsweise Warteschleifen mit early audio oder gezielt bestimmte SIP Return Codes funktionieren mit Fritzbox dazwischen nicht.

Ansonsten hast Du mit Deinen Ausführungen absolut Recht. Wobei ich bei Geschäftskunde und Telekom spontan an deren Mietgeräte denke, Digitalisierungsbox und Co., die erstaunlich gut funktionieren und auch viele Konfigurationsmöglichkeiten bieten. Übrigens auch einen internen S0 für PTP und PTMP.

Ich habe zuhause seit längerem relativ problemlos Asterisk (aus dem raspberry OS apt Paket) hinter einer Fritzbox mit der Telekom laufen. Wenn ich dran denke, kann ich die nächsten Tage mal die Config teilen.
 
Es funktioniert, aber nur wie Du schreibst wenn Asterisk auf irgendeine Weise die öffentliche IP-Adresse kennt.
... und mit den Einschränkungen bei TLS und DNS-SRV-Einschränkung. Erstere kann man umgehen indem man einfach unverschlüsselt mit der Telekom spricht, zweitere nicht ohne weiteres. Wie in verlinktem Thread beschrieben höchstens indem man einen lokalen DNS-Server betreibt, den man entsprechend verbiegt. Den kann man aber - logischerweise - immer nur auf einen Server zeigen lassen, sprich wenn der Telekom-Server mal wechselt, kippt das System trotzdem um.
Zuverlässig außerdem nur mit Portforwarding,
Kann ich nicht bestätigen. Ich betreibe Asterisk produktiv jetzt seit über 10 Jahren, an diversen Providern, kein System davon brauchte je Portforwarding. Portforwarding ist ja lediglich eine Methode um ankommend NAT zu überwinden. Zudem übergeht man so die Firewall des Routers, das Asterisk-System muss also entsprechend gehärtet sein, da es fortan den ganzen Müllverkehr abbekommt.
wofür man zB. hinter einer Fritzbox einen anderen SIP-Port als 5060 verwenden muss (was allerdings eh sicherer ist).
Was man so los wird sind die ganzen Skriptkiddie-Angriffe. Wer es etwas ernster nimmt wird sowieso scannen.
Es gibt durchaus zahlreiche praktische Anwendungsfälle. Beispielsweise Warteschleifen mit early audio
Was meinst du damit?

oder gezielt bestimmte SIP Return Codes funktionieren mit Fritzbox dazwischen nicht.
Bestimmte SIP Return Codes senden ist ja kein Anwendungsfall sondern eine technische Lösung - aber für welches Problem?
Also ich kann mir jedenfalls keinen Anwalt, Autohändler oder Arzt vorstellen, der sagt "Meine Telefonanlage muss auf jeden Fall spezifische SIP Return Codes senden können" :D
Digitalisierungsbox und Co.
Die Digitalisierungsbox (bzw. manche Modelle davon) ist eine Telekom-gebrandete Variante der be.IP. Würde da aber direkt zum Original greifen.

Ich wollte auch nicht gegen Asterisk im Allgemeinen schreiben, sondern darauf hinweisen, wo ich Fallstricke sehe. Insbesondere ist die Anbindung an Ämter schwierig, erst recht mit der Telekom. Und Asterisk ist nun einmal keine Telefonanlage, sondern ein Telefonie-Baukasten. Spätestens ab 2,3 Endgeräten möchte man eigentlich schon Autoprovisioning haben.
 
  • Like
Reaktionen: chrsto
@sunnyman Ich bin komplett bei Dir, mir würde es als Kunde auch nicht gefallen, ein wackeliges System hingestellt zu bekommen. Wenn man einen Asterisk verkauft, sollte man schon wissen, was man tut.

Was ich sagen kann, bei mir zuhause funktioniert Telekom mit folgender Config wunderbar. Portfarding brauche ich eh wegen Softphone aufm Androiden usw., deshalb ist das für mich die einfachste Variante durchs NAT und halt auch zuverlässig, weil ich ohne qualify auskomme. Die Telekom ist recht empfindlich, da muss das Invite genau zu den Daten im Register passen und der Contact zu Quelladresse/Port, sonst kriegt man ein 403, und lauter so Späßchen. Das ist mit NAT Mapping kaum hin zu kriegen. Andere Provider sind da deutlich toleranter.

Also falls es jemand brauchen kann:

Code:
[global]
type = global

[transport-udp]
type = transport
protocol = udp
bind = 0.0.0.0:5068
allow_reload = yes
external_media_address = meine.dyndns.org
external_signaling_address = meine.dyndns.org
external_signaling_port = 5068


[auth_telekom]
type = auth
password = <sip-passwort>
username = <zugangsnummer>@t-online.de


[reg_telekom](!)
outbound_auth = auth_telekom
server_uri = sip:tel.t-online.de
expiration = 3600
auth_rejection_permanent = false
;outbound_proxy = sip:tel.t-online.de\;lr   war früher notwendig
transport = transport-udp
retry_interval = 60
max_retries = 300
expiration = 1800

[reg_telekom_<rufnummer1>](reg_telekom)
type = registration
client_uri = sip:<meine-ortsvorwahl><rufnummer1>@tel.t-online.de
contact_user = <meine-ortsvorwahl><rufnummer1>

[reg_telekom_<rufnummer2>](reg_telekom)
type = registration
client_uri = sip:<meine-ortsvorwahl><rufnummer2>@tel.t-online.de
contact_user = <meine-ortsvorwahl><rufnummer2>


[aor_t-com]
type = aor
maximum_expiration = 3600
default_expiration = 600
remove_existing = yes
contact = sip:<zugangsnummer>@tel.t-online.de
maximum_expiration = 3600
default_expiration = 3600


[t-com](!)
disallow = all
allow = alaw,gsm
timers = no
language = de
allow_subscribe = no
direct_media = no
send_connected_line = no
context = t-com_incoming
dtmf_mode = auto
media_use_received_transport = yes
rtp_timeout = 0
ice_support = yes
rtp_symmetric = yes
from_domain = tel.t-online.de
outbound_auth = auth_telekom
transport = transport-udp
;outbound_proxy = sip:tel.t-online.de\;lr     war früher notwendig

[t-com_<rufnummer1>](t-com)
type = endpoint
from_user = <meine-ortsvorwahl><rufnummer1>
aors = aor_t-com

[t-com_<rufnummer2>](t-com)
type = endpoint
from_user = <meine-ortsvorwahl><rufnummer2>
aors = aor_t-com


[t-com_incoming](t-com)
type = endpoint

[t-com_incoming]
type = identify
endpoint = t-com_incoming
match = tel.t-online.de


[incoming]
type = identify
endpoint = t-com_incoming
match = 0.0.0.0/0

Code:
[globals]
VORWAHL = <meine-ortsvorwahl>

[t-com_dialout]
exten => _ZX.,1,Goto(${VORWAHL}${EXTEN},1)
exten => _0NX.,1,Set(cidnr=${IF(<rufnummer1 oder rufnummer2, je nach Endgerät>)})
 same => n,Set(CALLERID(num)=${VORWAHL}${cidnr})
 same => n,Set(CALLERID(name)=${CALLERID(num)})
 same => n,Dial(PJSIP/${EXTEN}@t-com_${cidnr},,THXKb(SetIdentity_t-com,${CALLERID(num)},1))
 same => n,HangUp(${HANGUPCAUSE})

[SetIdentity_t-com]
exten => _X.,1,Set(PJSIP_HEADER(add,P-Preferred-Identity)=<sip:${EXTEN}@tel.t-online.de>)
 same => n,Return()

[t-com_incoming]
exten => <rufnummer1>,1,Verbose(${PJSIP_HEADER(read,From)} - ${CALLERID(name)} <${CALLERID(num)}> at ${CUT(CHANNEL(pjsip,remote_addr),:,1)} ruft ${EXTEN}@${CONTEXT})
...
 
Zuletzt bearbeitet:
Hallo @sunnyman, hallo @Mrs. Moose,


danke für Eure prompten und ausführlichen Antworten!

Ich habe etliche Asteriske laufen bei Kunden, allerdings sind es keine Telekom-Kunden.
Die hängen meist hinter einer FB und laufen seit 2 Jahren problemlos, ohne daß ich Port-Weiterleitung oder ähnliche Tricks machen mußte.

Ich habe einen Telekom-Kunden (mit SIP-Trunk) hinter einem Lancom-Router. Läuft.
Dort ist ein Multicell-DECT von Gigaset installiert.

Ein weiterer Telekom-Kunde mit "normalem" SIP-Account (im ISDN-Jargon "Mehrgeräte-Anschluß") hinter einer FB läuft auch schon länger - auch wie oben ohne Tricks machen zu müssen.

Bei diesem aktuellen Kunden (auch hinter einer FB) funktionierte es eben nicht. Nach meinem Hilferuf habe ich natürlich weiter herumprobiert.

Nachdem ich den Standard-Port 5060 geändert habe, ging es auf Anhieb - arrgh ...

Was diese FB nun von den vielen anderen unterscheidet, ist mir nicht klar. Sie wurde vor Jahren out of the box installiert, Rufnummern eingetragen und die alte TA an den ISDN-Ausgang gehängt - fertig.

@sunnyman, Du fragst, warum die alte TA entsorgt werden soll.
Sie bröckelt (einige Ports sind tot), und es gibt keine Ersatzteile mehr.
Es hängen nur analoge Telefone dran (ohne jeden Komfort, Sprachqualität).

Nun kommt dort also demnächst ein Asterisk, mit Gigaset-DECT-Hardware und -Mobilteilen und mit DECT-Headsets.

@sunnyman, Du schreibst: Ein "nacktes" Asterisk bietet ungefähr null Komfort.

Im Prinzip ja, aber (wie Du auch im nächsten Satz schreibst), das kann man eben alles programmieren.

Und das finde ich eben so schön, daß man damit viele Dinge machen kann, die eine gekaufte Anlage so nicht kann.

Ich habe für diesen Zweck einige PHP-Skripte geschrieben.
z.B. kann der Kunde in eine MySQL-Datenbank Kundenadressen und -Nummern anlegen. Mit den Gigaset-Mobilteilen kann er durch dieses Telefonbuch scrollen und wählen bzw. wird bei einem Anruf der Name angezeigt. Und er kann per Klick für sein Headset eine Verbindung aufbauen.

Bei einem anderen Kunden habe ich seine MS-SQL-Datenbank aus seiner Branchensoftware angezapft, mit den gleichen Möglichkeiten.

Kunden, die das nicht haben, können durch Eingabe einer Ziffernfolge an jedem beliebigen Tastentelefon ein Headset-Gespräch aufbauen bzw. an einen anderen Apparat weiterleiten.

Das sind Dinge, die an einer gekauften fertigen Anlage so nicht unbedingt möglich sind.

Und noch etwas finde ich an VoIP (Asterisk oder andere VoIP-Software) gut.

Ich habe viele Jahre ISDN-Anlagen verkauft, installiert, betreut.

Was mich dabei immer schon gestört hat: Will der Kunde aufrüsten, muß er a) zusätzliche Hardware-Module und b) auch Lizenzerweiterungen kaufen.

Die (komfortablen und teuren) Systemtelefone der Hersteller funktionieren eben nur mit dem System.

Die Zeiten sind mit VoIP ja nun vorbei.

Man kann hier so ziemlich alle Telefone beliebiger Hersteller (von ganz billig bis ganz teuer und komfortabel) mixen (ist bei einigen Kunden auch so). Und es funktioniert.

Man kann Anlagen in Filialen miteinander koppeln (IAX). Ging bei ISDN auch, war teuer.

Und bis Asterisk an seine Grenzen kommt, kann man viele, viele Telefone dranhängen ...

By the way: Die aktuelle in Vorbereitung befindliche Asterisk-Anlage läuft (nach dem Portwechsel) seit Sonntag durch und ist erreichbar. Drückt mir die Daumen ...

Danke an Euch beide für Eure Beiträge. Bis demnächst mal wieder ...

Gruß Ossie
 
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.

IPPF im Überblick

Neueste Beiträge