Forum: Projekte & Code ISDN am AVR (Mega8)


von hunz (Gast)


Angehängte Dateien:

Lesenswert?

Als kleines Spaßprojekt hab ich mal probiert, ob man ISDN ohne 
irgendwelche Spezial-ICs an nen AVR hängen kann und mir nen kleinen 
ISDN-Sniffer gebaut, der das Audiosignal vom B-Kanal 1 via PWM ausgibt.
Man braucht eigtl. nur zwei 0815-Komparatoren aus der Bastelkiste.

Ein kleines Demo-Video gibts hier: 
http://verbosemo.de/~hunz/avr_isdn/avr_isdn.m4v

Sourcecode (Mega8, 16MHz, asm) gibts hier: 
https://github.com/znuh/unsorted/tree/master/isdn
Die Anbindung an den S0-Bus ist als png angehängt.

Das ganze ist nur als proof of concept / Spielerei gedacht, daher:
- ist Senden nicht implementiert
- gibts keinen richtigen Protokollstack, es werden immer Datenframes 
angenommen und die beiden B1-Kanal Bytes (2 pro frame) aufs PWM gegeben
- nur NT->TE Richtung ist angebunden, TE->NT Richtung müsste man extra 
anschliessen und auswerten, die hört man also nicht

Zur Funktionsweise:
R1-R4 bilden einen Spannungsteiler, der 5V Vcc in Vref=2.5V, Vref_hi= 
Vref+0.44 und Vref_lo=Vref-0.44V teilt.
Das differntielle S0-Signal wird kapazitiv eingekoppelt (Polarität hier 
egal) - ein Ende über 100nF auf GND, das andere Ende über 100nF und 1k 
nach Vref. C6 dient zur Stabilisierung von Vref.
Zwischen C2 und R5 bekommt man dann als Signal Vref +-x (x ca. 0.8V). 
Das wird auf 2 Komparatoren gegeben und mit Vref_hi/lo verglichen. D1 
schützt die Komparatoreingänge falls es mal unter GND geht.
Komparator A ist invertiert beschaltet, der zweite nicht-invertiert.
Resultat ist, dass AVR_INTA oder AVR_INTB low wird wenn die 
Spannungsdifferenz zwischen den S0-Leitungen über Referenzwert+Hysterese 
liegt. Je nach Polarität schaltet einer der beiden Ausgänge durch und 
triggert den Interrupt im AVR.

Die Komparatorausgänge kann man nicht einfach als OR zusammenschalten, 
wegen der Framesynchronisation über Coderegelverletzungen. Die Software 
muss das erkennen wenn hintereinander 2x derselbe Komparator 
durchschaltet.

Die Daten liegen am S0-Bus mit der inversen AMI-Codierung vor, d.h. 
Spannungsdifferenz -> logische '0', keine Spannungsdifferenz -> logische 
'1'.
Um Gleichspannungsfreiheit zu garantieren wechselt die Polarität der 
Differenz für logischen '0' ständig. Logische '0' ohne Polaritätswechsel 
ist die bereits erwähnte Coderegelverletzung.

Der Code im AVR ist relativ simpel - er wartet einfach auf zweimal '0' 
mit gleicher Polarität (L vom letzten + F vom neuen Frame). Direkt 
danach muss wieder ne '0' mit inverser Polarität kommen (L). Näher ist 
das z.B. hier http://www.virtualuniversity.ch/telekom/telefon/7.html 
oder hier http://wwwlehre.dhbw-stuttgart.de/~schulte/digiisdn.htm 
beschrieben.
Danach kommt beim ersten '0'-Datenbit nochmal ne Coderegelverletzung die 
man ignorieren muss.

'0'-Datenbits werden über die INT0/1 Interrupts erkannt. Da bei mehreren 
'1'-Bits keine Flanken von den Komparatoren kommen, lassen sich die 
nicht mit INT0/1 erkennen. Dafür wird mithilfe des T0-Überlaufs 
abgetastet. Wenn eine Flanke kommt, wird T0 für das nächste Bit scharf 
gemacht. Wenn vor dem Überlauf eine Flanke kommt, wird die von INT0/1 
erkannt und als '0'-Datenbit erkannt, ansonsten läuft T0 über und ne '1' 
wird ins Schieberegister geworfen.

Die Datenbytes vom B-Kanal 1 sind jeweils an Position 3-10 und 27-34 
(siehe hier: http://www.rhyshaden.com/isdn.htm). Im AVR-Code läuft daher 
ein Bitcounter mit. Wenn der 10 oder 34 anzeigt liegt ein neues PCM-Byte 
von B1 vor. Zwischen 2 solchen vergehen genau 125µs, was genau der 8kHz 
Samplerate von ISDN entspricht.

Da die Daten a-law codiert sind, werden die vorher über ne LUT 
umgewandelt und dann an den 9-Bit PWM verfüttert.

An den PWM-Ausgang hab ich noch den Chebychev-lowpass aus der 
AVR-appnote AVR335 (http://www.atmel.com/atmel/acrobat/doc1456.pdf) 
gehängt.

Der ASM-Code kann die Daten auch via UART an PC senden. Da sollte man 
dann aber nen 14.47MHz Quarz nehmen damit man 115.2kBaud sauber schafft. 
Die Daten kann man dann auch mit sox am PC (in besserer Qualität) 
abspielen.

Bei Fragen einfach antworten!

: Verschoben durch User
von snowfly (Gast)


Lesenswert?

Super Projekt!
Da steckt ne ganze Menge KowHow drin. Respekt.

Leider ist ja ISDN eher am aussterben daher stellt sich wohl die 
Sinnfrage.

Wie lange hast du daran gebastelt?

von hunz (Gast)


Lesenswert?

Hat so ca. vier Tage gedauert. Ausgangsgedanke war, wenn low-speed USB 
geht muss ISDN auch gehen.
Komparatorteil ging recht schnell, ASM-code hat so 2-3 Tage gedauert bis 
der tat was er sollte.

von BillX (Gast)


Lesenswert?

Rekpekt! Allergrößten ..... respekt.... ich bin gespannt wies weitergeht 
;)

von Timmo H. (masterfx)


Lesenswert?

Respekt. Ja so einfach ist das eigentlich alles...nur muss man erstmal 
drauf kommen.
Die Sinnfrage stellt sich mir hier gar nicht, einfach deswegen weil es 
eine attraktive Umsetzung wegen der Einfachheit ist. Einfache Lösungen 
sind immer die Schönsten.

von Uwe S. (de0508)


Lesenswert?

Hallo,

ich bin auch sehr von dem Video angetan und bitte weiter machen !

Evtl. können auch teile des Protokollstacks in "C" geschrieben werden ?

Ist auch ein auslesen des D-Kanals denkbar ?

.

von Benedikt H. (hunz)


Lesenswert?

Timmo H. schrieb:
> Die Sinnfrage stellt sich mir hier gar nicht, einfach deswegen weil es
> eine attraktive Umsetzung wegen der Einfachheit ist. Einfache Lösungen
> sind immer die Schönsten.

Danke! :-) Einfache Lösungen mag ich auch der Schönheit wegen, daher war 
das war auch meine Intention.

Uwe S. schrieb:
> ich bin auch sehr von dem Video angetan und bitte weiter machen !

Leider werde ich das nicht weitermachen. (zu viel andere Projekte, das 
übliche...) Es sind zwar einige Anwendungsszenrien denkbar, aber ich hab 
keines, das ich gerne realisieren würde. War eben in erster Linie als 
kleiner Versuch gedacht.
Eine brauchbare Implementierung mit mehr Funktionen braucht sicher ein 
wenig Zeit+Geduld.
Würde mich aber natürlich sehr freuen wenn jemand hier Lust hat damit 
weiterzubasteln, deswegen wollte ich das auch hier dokumentieren.

> Evtl. können auch teile des Protokollstacks in "C" geschrieben werden ?

Das geht sicherlich. Viel Zeit hat man zwischen 2 Bits allerdings nicht 
- 83 Takte bei 16MHz, wobei der aktuelle Code schon recht viel davon in 
den ISRs verbrät.
Müsste man also auf jeden Fall im non-ISR-Kontext realisieren, oder 
einen Tiny fürs lowlevel und einen größeren via SPI/UART dranflanschen 
für die hilevel-Sachen, oder oder oder ;)

> Ist auch ein auslesen des D-Kanals denkbar ?

Ja, das geht sogar recht einfach. In jedem frame gibts 4 D-Kanal-Bits, 
die Positionen findet man z.B. hier: http://www.rhyshaden.com/isdn.htm
Müsste man also so ändern, dass die D-Kanal-Bits statt den B-Kanal 
ausgewertet werden.

von Huch (Gast)


Lesenswert?

Beeindruckend und anregend.
Ich möchte Dir meine Anerkennung für dieses Projekt aussprechen.

von Christian B. (casandro)


Lesenswert?

Beeindruckend. Das Teil kann man ja jetzt schon einsetzen als 
Mithörverstärker. Wenn jetzt noch Senden und Anrufe gehen, (Ja der 
Protokollstapel bei ISDN ist nicht so einfach) dann würde das neue 
Anwendungsgebiete eröffnen. Man könnte dann einfach einen 
Mikrocontroller an eine normale Telefonleitung hängen und damit 
kommunizieren.

von Sam (Gast)


Lesenswert?

Da ich mich vor einiger Zeit mal mit ISDN intensiv beschäftigt habe, 
kann ich nur den Hut ziehen.
Bei mir hatte damals ein Chipsatz von Siemens HSCX (B-Kanal) und ISAC 
(D-Kanal/Sync) die meiste Arbeit übernommen.

Damals ist aber eine Interessante Idee entstanden:
Mit dem damals neuen Euro-ISDN (1TR6 kennt heut eh keiner mehr) war es 
möglich bei jeder Anruf-Iniziierung ein paar zusätzliche Bytes (ich 
glaube es waren so um 33 Bytes) zu Übertragen. Diese "SUB-Information" 
(Eigentlich SUB-Addressing) wurde dann zum Chatten benutzt.
Einen lustigen Namen hatten wir auch dafür: SUB-Raum-Nachrichten 
(Subspace-Message) frei nach Star-Trek ;-)

Ich weiß, bei 33 Bytes gähnt jetzt so mancher, aber damals zur 
Post-Monopol-Zeit kostet ein Ferngespräch noch rchtig Geld.

Für eine Kommunikation zwischen zwei uCs übers ISDN könnte es aber 
durchaus heute noch interessant sein.

Sam

von Thomas (kosmos)


Lesenswert?

ich denke das ISDN noch eine Zeit überleben wird, trotz IP-Telefonie.

Ich will mein Telefon nicht abhängig vom Internet machen.

von Stefan H. (Firma: dm2sh) (stefan_helmert)


Lesenswert?

S2M wäre mal cool!

von s2m-fan (Gast)


Lesenswert?

Stefan Helmert schrieb:
> S2M wäre mal cool!

Brauchst die Schaltung von hunz nur 32x aufbauen ;)

von xurpcha (Gast)


Lesenswert?

Hallo!

Wie schwierig wäre es dann ISDN signal slebst zu generieren?

von Benedikt H. (hunz)


Lesenswert?

Hi!

xurpcha schrieb:
> Hallo!
>
> Wie schwierig wäre es dann ISDN signal slebst zu generieren?

Ja das ist ne gute Frage. Auf jeden Fall nicht so einfach wie Empfangen. 
Zum Einen weil man sich vorher überlegen muss, was man eigtl. senden 
will - womit wir wieder beim Protokollstack wären.
Zum Andern, weil das timing kritischer ist - beim Abtasten hat man 
einige Toleranz, die ist beim Senden einiges geringer. Müsste man sich 
überlegen, wie man das realisiert. Vielleicht über ne compare unit.

Evtl. auch das Empfangstiming verbessern, indem man die Zeitpunkte der 
Flanken via ICP misst. Wenn die Referenz nicht genau genug ist, bringt 
hardware compare auch nicht mehr so viel.

Wenn ich das richtig verstehe, kommt das timing von NT->TE und TE->NT 
erfolgt darauf synchronisiert mit 2 Bit Versatz 
(http://www.virtualuniversity.ch/telekom/telefon/7.html) - wieviel 
Toleranz man da hat steht sicher in irgendeiner Norm.

Ein weiteres Problem ist, dass bei 16MHz/192kHz der AVR langsam 
wegdriftet. Wirkt sich beim Empfangen nicht so aus (weniger als 1/5tel 
Bit am Frameende) - zumal der Code an jeder Flanke nachsynchronisiert, 
beim Senden will man das aber vielleicht genauer. Kann man aber vmutl. 
auch beim Senden kompensieren oder halt nen passenderen Quarz nehmen.

Die ersten Schritte wären vielleicht, erstmal sowohl NT->TE und TE->NT 
mitzuschneiden, einen eingehenden Anruf zu tätigen, den entgegenzunehmen 
und dann die Daten analysieren um zu verstehen was da alles passiert. 
(Ist so zumindest interessanter, als die passende Norm zu lesen ;))
Und dann versuchen als ersten Schritt mal ein TE zu bauen, das einfach 
nur den Anruf annehmen kann oderso.

Also Senden wäre schon cool, ich würde da auch mitbasteln. Nur alleine 
hab ich nicht genug Zeit+Motivation.

Ich werde aber mal NT->TE und TE->NT während eines eingehenden Anrufs 
mitschneiden um mal zu sehen, wie das timing von nem realen TE aussieht.

Wenn Interesse besteht, könnte ich beide Richtungen auch mal während 
Klingeln/Setup mitschneiden, dass man mal am Beispiel nachvollziehen 
kann, was da alles passiert.

von Huch (Gast)


Lesenswert?

@Hunz

Wie kritisch wird wohl die Hysterese sein? Ich rechne etwa 100mV aus. 
Ist das so über den Daumen gepeilt und hat auf Anhieb funktioniert oder 
hat ein geringerer Wert erstmal nicht funktioniert?

von Benedikt H. (hunz)


Lesenswert?

Huch schrieb:
> @Hunz
>
> Wie kritisch wird wohl die Hysterese sein? Ich rechne etwa 100mV aus.
> Ist das so über den Daumen gepeilt und hat auf Anhieb funktioniert oder
> hat ein geringerer Wert erstmal nicht funktioniert?

pi*Daumen "berechnet" ;-)
Ist nicht so kritisch denke ich, sollte sowohl nach oben, als auch unten 
Luft sein. Hatte auch schon 1M als Feedback drin.

von Huch (Gast)


Lesenswert?

>Hatte auch schon 1M als Feedback drin.
Hmm. Das wären 10mV. OK. Danke.

von Bal T. (baltic)


Angehängte Dateien:

Lesenswert?

Hallo Benedikt, hallo Community,

nachdem ich mich nun fast 19 Jahre mit ISDN-Protokollen und den 
dazugehörigen elektrischen Schnittstellen beschäftige, muss ich positiv 
überrascht sagen, dass mir bislang keine so krasse Anschaltung an einen 
S0-Bus bekannt war.
Bei meinen beiden privaten ISDN-Projekten habe ich immer mit ISAC-S 
PEB2085/2086 bzw. ISAC-S/TE PSB2186 gearbeitet. In der Idee einer 
direkten Anschaltung an den AVR liegt Potential, welches ich gerne ein 
Stück weit mit entwickeln möchte.

Heute habe ich mich mit der Hardware (S0 <--> AVR) ein wenig näher 
beschäftigt. Herausgekommen ist eine sehr einfache, aber komplett andere 
Lösung. Der Software-Teil steht erst in den kommenden Tagen auf meiner 
Agenda. Deshalb kann ich leider noch nicht sagen, ob dieses Interface 
überhaupt bzw. mit der Software von Benedikt funktioniert. Die 
Oszillogramme sehen aber recht brauchbar aus.

Den Hauptvorteil dieser Lösung sehe ich in der sicheren galvanischen 
Trennung zum Telekommunikationsnetz. Gerade bei der direkten Anschaltung 
an das NTBA bzw. an TK-Anlagen mit gespeisten S0-Bussen lässt sich kein 
sicherer Bezug zum Erdpotential (PC & STK500) definieren bzw. 
herstellen. Bei einer ähnlichen Aktion hätte ich fast mal ein STK500 in 
den Himmel befördert. Neben diesem Sicherheitsaspekt könnten 
Masseschleifen zum Brummen führen, was sich nicht unerheblich auf die 
Signalqualität auswirken würde. Deshalb kam für mich nur eine Trennung 
mit einem Übertrager in Frage.

Die Beschaffung war recht einfach - im Schrott liegt jetzt ein NTBA 
weniger. Passende Übertrager (z.B. L4097-X029) von VAC (Vacuumschmelze) 
werden millionenfach in NTBA's verbaut. Je NTBA sind 2 einzelne (z.B. 
L4097-X029) oder ein doppelter Übertrager (z.B. L5054-X005) enthalten. 
Prinzipiell funktioniert die Schaltung mit jedem Übertrager der auf der 
S/T-Controllerseite eine Mittelanzapfung (L4097-X029) oder zwei einzelne 
Wicklungen (L5054-X005) hat. Ein L5051-X005 von einer alten ISDN-Karte 
kann deshalb leider nicht verwendet werden.

Der Rest der Schaltung braucht wohl nicht weiter erläutert zu werden. Im 
Endeffekt steht nun das ternäre Signal vom S0-Bus auf 2 Pins zur binären 
Verarbeitung im AVR zur Verfügung. Als Beweis noch zwei Fotos von meinem 
Oszilloskop und ein Bild vom Versuchsaufbau. Die Amplitudenverläufe in 
den Oszillogrammen sind nicht maßstabgerecht. Durch das 
Übertragungsverhältnis von 2:1 im TR1 liegen an R1 und R2 bei einem 
aktiven Pulse mehr als 1V an. T1 und T2 haben damit genug Reserve um 
sicher durchzuschalten.

Soviel zunächst zum Thema alternative Hardware. In den kommenden Tagen 
werde ich mal schauen welche Ideen mir bei der Software so in den Kopf 
kommen.


Gruß Jens

von Bal T. (baltic)


Angehängte Dateien:

Lesenswert?

Nochmal hallo,

vielleicht ist dies ein guter Zeitpunkt, die Realisierbarkeit von 
einigen Ideen in diesem Beitrag zu betrachten. Es geht also um die 
Anschaltung von eigenen Mikrocontroller-Projekten (AVR) an die 
ISDN-Welt. Nun ja, da würde ich (nachrichtentechnisch korrekt) wie folgt 
unterscheiden:

1.1 Monitoring B-Kanal

Das Empfangen von Informationen (B1-Kanal, NT-->TE) mit einfachen 
Mitteln wurde hier bereits eindrucksvoll dargestellt. Für das 
'Belauschen' des Nutzkanals der Gegenrichtung (TE-->NT) ist noch etwas 
zusätzlicher Aufwand erforderlich. Neben der zusätzlichen 
Eingangsschaltung müssten am AVR zwei weitere Signale ausgewertet 
werden. Der Takt für Abtastung steht bereits durch die Rückgewinnung aus 
der Richtung (NT-->TE) zur Verfügung. Weitere Interrupts für die 
Synchronisation sind also nicht erforderlich. Der Offset innerhalb des 
Frames von 2 Bit ist zu beachten. Das Signal könnte über einen 2. 
PWM-Channel oder durch Mischung mit der Richtung NT-->TE (ggf. Anpassung 
LUT) nach draußen gelangen.

1.2 Monitoring D-Kanal

Die eingesetzte Minimalhardware hat hier gegenüber Lösungen mit 
ISAC-S(/TE) sogar einen gewaltigen Vorteil. Um beide Richtungen des 
D-Kanals zu erfassen genügt das Aufzeichnen der Daten aus der Richtung 
NT-->TE. Die D-Kanal-Daten der Richtung TE-->NT werden als E-Bits im 
Frame NT-->TE gespiegelt eingesetzt. Zusätzliche Hardware ist für das 
Monitoring beider D-Kanal-Richtungen also nicht erforderlich. Mit einem 
ISAC-S(/TE) kommt man nicht an die E-Bits ran und würde zum Monitoren 
immer einen 2. Controller für die Gegenrichtung benötigen.
Mit den D-Kanal-Daten verfügt man über alle verbindungsbezogenen 
Informationen. Für einen Call-Monitor stehen beispielsweise im 
Layer3-SETUP die called party number (CDPN, angerufene MSN bzw. DDI) und 
die calling party number (CGPN, Nr. des Anrufers) zur Verfügung. Bei 
abgehenden Verbindungen wird im Layer3-CONNECT in der Regel Datum und 
Zeit zur TE (leider nur minutengenau) übertragen. Dies kann z.B. gut man 
zur Zeitsynchronisation des Mikrocontrollers verwenden. Der D-Kanal 
bietet damit genug Informationen für die ganz private 
Vorratsdatenspeicherung.

2. Simulation TE (Endgerät)

Autsch! Schwierig ... persönlich halte ich dies mit einem aktellen 
AVR-Controller für nicht realisierbar. Ich lasse mich aber gerne für 
neue Ideen begeistern! ISDN (S0-Bus) nutzt in Layer1 ein vollsynchrones 
Übertragungsmodell, es arbeitet vollduplex und ist als 
Point-to-Multipoint designed. USB (low speed) ist zwar schneller, 
arbeitet aber halbduplex, Point-to-Point und nur innerhalb der 
übertragenen Nachricht bitsynchron.

3. Simulation NT (Network)

Autsch! Auch das bitsynchrone Senden von dieser Seite halte ich mit 
einem AVR-Controller für nicht machbar.

Für Punkt 2 und 3 stellt sich spätestens an dieser Stelle die Frage nach 
dem Sinn. Selbst wenn man Layer1 bitsynchron hinbekommt, muss man sich 
der 'Herausforderungen' in Layer2 und Layer3 (D-Kanal) noch stellen. 
Sollte man wirklich soweit kommen, einen protokollkonformen(!) 
Verbindungsauf- und abbau zu realisieren, ist immer noch nicht ein Bit 
an Nutzdaten (B-Kanal) geflossen. Hier wäre entweder noch ein Codec 
(z.B. G.711 A-Law) über LUT zu implementieren oder ein weiterer 
Protokollstack (z.B. X.75, PPP, ...) zu bauen.

Möglicherweise kann man auch alles (incl. des AVR-Core) via VHDL in 
einen FPGA kippen. Freiwillige vor! Dies dann hätte allerdings nichts 
mehr mit einer genial einfachen Lösung zu tun.

Wer sich unbedingt mit der Simulation von TE oder NT beschäftigen will, 
dem empfehle ich das Reengineering einer S0-Interface-Karte aus einer 
alten TK-Anlage. Alle notwendigen Komponenten (Übertrager, ISAC-S, 
Takterzeugung, ...) sind hier bereits vorhanden. Der ISAC-S erledigt das 
komplette Layer1-Handling, sowie einen Teil von Layer2 (auto mode). Ab 
Layer3 muss man sich dann selbst um die Nachrichten im D-Kanal kümmern. 
In der Bucht kann man so etwas ab ca. 20 EUR 'angeln'. Als Beispiel 
seien hier die S0-Interface-Karten STLS2 bzw. STLS4 der Fa. SIEMENS 
genannt.

Na dann bin ich mal gespannt wie das hier weitergeht!


Gruß Jens

von Uwe S. (de0508)


Lesenswert?

Hallo Jens und Mitleser,

ich bin auch an mehr und ausführlichen Informationen zu ISDN 
interessiert, leider arbeite ich nicht in der TK Branche und kann auf 
ISDN Ebene (Protokoll) nicht helfen.

Hardware Design, HF-Design und Programmierung, sowie Mathematik/ 
Informatik und Algorithmen liegen mir da schon eher.

.

von isdn (Gast)


Angehängte Dateien:

Lesenswert?

Wenn man keine Lust zum "frickeln" hat, kann man den Teles LCR (Bild 1) 
neu programmierien. Alles auf der Platine. Jedoch kein AVR, sondern der 
gute alte 8051.

Wer doch löten will, kann sich mit alten ISDN-Karten das Basteln etwas 
einfacher machen. Habe mal 2 Beispiele (Bild 2 und 3) angehängt.

von Jobst M. (jobstens-de)


Lesenswert?

@baltic:

Wo hast Du denn das Datenblatt für den Übertrager her?
Ich habe mich gerade nach dem Datenblatt des L4096-X022 blutig gegoogled 
- nichts gefunden...
Der scheint allerdings ähnlich zu sein.

Mit einem 18.432MHz Quarz stehen einem 96 Takte pro Bit zur Verfügung. 
Das ist sportlich, halte ich aber in ASM nicht für unlösbar.

Die Syncronisierung und der Bitaustausch, Prüfsummen und die beiden 
B-Kanäle machen mir dabei eigentlich keine Sorgen. Meine größte Sorge 
ist der D-Kanal.

Was mir vor allem fehlt sind die Beschreibungen der D-Kanal-Protokolle. 
Hast Du Infos darüber, wie die Daten darin verpackt werden?


Gruß

Jobst

von BRI (Gast)


Lesenswert?

Für ISDN findest du diverse Informationen in Netz, vor allem bei der 
ETSI und ITU.

Hier mal ein Link auf die I.430 welche den Basic Rate Layer 1 
beschreibt:

http://www.itu.int/rec/T-REC-I.430-199511-I/en

Für ISDN Chips würde ich Cologne Chip gegenüber den "Siemens" ISACs usw. 
vorziehen.

http://www.colognechip.com/isdn/controllers/frame-datasheets.htm

In den Datasheets von Cologne Chip findest du auch einieges an 
Informationen zu den Protokollen, Trafos, usw.

Schön ist auch die Receive Schaltung von Cologne Chip. Die habe da eine 
relativ Einfache Lösung gefunden um das in "Digitale Chips" zu 
implementieren. Am ADJ_X Ausgang können Sie durhc ein PWM Signal die 
Levels der Empfänger beeinflussen.

Der einfachste Baustein ist wohl der HFC-S mini, der XHFC-1SU ist etwas 
ausführlicher dokumentiert.

Gruss

von Bal T. (baltic)


Angehängte Dateien:

Lesenswert?

Hallo,

das Datenblatt für den L4097-X029 habe ich schon ein paar Jahre. Bei VAC 
lassen sich scheinbar nur aktuelle Produkte als Datenblatt downloaden. 
Neben VAC (z.B. http://www.vacuumschmelze.de/index.php?id=992) sind mir 
noch EPCOS (z.B. http://www.epcos.com/inf/30/db/ind_2008/s0_p6622.pdf) 
und Vogt/Sumida (z.B. http://www.sumida-eu.com/de/produkte/2/21/13.html) 
bekannt. Sicher gibt es haufenweise mehr.

Alternativ zu den von mir favorisieren L4097-X029 habe ich in etwas 
neueren NTBA (Bj. ca. 2004, größeres weißes Gehäuse, nur eine LED) 
Übertrager vom Typ VAC 22100 bzw. EPCOS 21700 gefunden. Sie sehen dem 
L4097-X29 verdammt ähnlich und müssten auf Grund der im NTBA verbauten 
Chipsätze (Infineon PEB2080/PEB2090x, Infineon PEF80902, ALCATEL/Mietec 
MTC20277), alle mit 2:2:1:1 Übertragern, auch funktionieren. Auf dem 
Breadboard kann ich sie jedenfalls problemlos gegen den L4097-X029 
austauschen.

Informationen zum Aufbau von ISDN-Protokollen findet man bei der ITU-T 
(http://www.itu.int/publications/sector.aspx?lang=en&sector=2) bzw. bei 
der ETSI (http://www.etsi.org/WebSite/Standards/Standard.aspx). Hier ein 
paar ausgewählte Links:

D-Kanal Layer 1 (BRI/S0)
http://www.itu.int/rec/T-REC-I.430/en

D-Kanal Layer 2
http://www.itu.int/rec/T-REC-Q.921/en

D-Kanal Layer 3 (basic call control)
http://www.itu.int/rec/T-REC-Q.931/en

B-Kanal Voice Codec (G.711)
http://www.itu.int/rec/T-REC-G.711-198811-I/en

Ich habe gerade begonnen, mir über die Software ein paar Gedanken zu 
machen. Bei der Taktfrequenz für den AVR habe ich mich ebenfalls für 
18,432 MHz entschieden. Die sportliche Herausforderung von 96 Takten 
zwischen den Bits habe ich auch schon erkannt. Da wird wohl etwas 
Inline-ASM erforderlich werden. Bis jetzt läuft bei mir nur die 
Synchronisation auf den Bittakt des S0-Busses. Im Anhang zwei Bilder vom 
Frequenzzähler, einmal mit deaktivierten S0-Interface (Layer1-INFO0) und 
einmal im aktivierten Zustand (Layer1-INFO4).


Gruß Jens

von Harald P. (haraldp)


Angehängte Dateien:

Lesenswert?

Die Idee und Ausführung der SW-Dekodierung des S0-Kanals ist super. Ich 
habe die Idee der Dekodierungs des D-Kanals mal aufgegriffen und 
implementiert. Mein Beispielprogramm liest die D-Bits ein, wartet auf 
das Startkennzeichen (0x7E) und sammelt dann alle Bytes ein bis wieder 
das Kennzeichen 0x7E kommt. Dabei wird das Bitstopfen berücksichtigt. Da 
(zumindest bei uns) auch ab und zu Ruhe-D-Kanalnachrichten kommen, auch 
wenn nicht telefoniert wird, werden die D-Kanalnachrichten nur seriell 
ausgegeben, wenn sie mehr als 10Byte (kann natürlich geändert werden) 
lang ist.
Die getraceten Nachrichten sehen so aus, wie bei meinem D-Kanal Dekoder 
(http://www.shamrock.de/tools.htm). Für Richtigkeit kann ich totzdem 
nicht garantieren.
Hier noch einige Angaben zur HW:
 - verwendet habe ich den ATMEGA88P
 - Quarz 22.1184MHz (AVR übertaktet, geht aber trotzdem)
 - ISDN-Trafo UT28624 aus einer alten Medion ISDN-Karte
 - 2 Transistorschaltung wie bei Jens
Die Ursprungs-SW ist folgendermaßen angepaßt:
 - Bitdekodierung nach Benedikt H.
 - PWM entfernt
 - Ser.-/Par.-Wandlung angepaßt, da erstes Bit = LSB
 - Zwischenspeicherung der Bytes im SRAM
 - Umwandlung in ASCII
 - Anfangs- und Endekennzeichen werden mit ausgegeben

Vielleicht wollen einige hier auf das Programm aufsetzen, es fehlt ja 
noch einiges, wie z.B. die CRC-Auswertung. Testen werde ich demnächst 
die E-Kanalauswertung, da über den D-Kanal nicht immer die gewählte 
Rufnummer zu sehen ist.

Für alle Leser alles Gute zum neuen Jahr!
Harald

von Bal T. (baltic)


Lesenswert?

Gesundes und erfolgreiches neues Jahr an alle!

@Harald:

Den D-Kanal hatte ich vor zwei Tagen auch schon auf dem Terminal. 
Allerdings hatte ich mich da noch gefragt, warum ich gelegentlich 
fehlerhafte Frames auf dem Schirm habe. Die Erklärung habe ich in Deinem 
Sourcecode gefunden - die Sache mit dem Bit stuffing. Ein Blick in die 
ITU-T Q.921 (2.6 Transparency) lieferte endgültige Gewissheit:

"A transmitting data link layer entity shall examine the frame content 
between the opening and closing flag sequences, (address, control, 
information and FCS fields) and shall insert a 0 bit after all sequences 
of five contiguous 1 bits (including the last five bits of the FCS) to 
ensure that a flag or an abort sequence is not simulated within the 
frame. A receiving data link layer entity shall examine the frame 
contents between the opening and closing flag sequences and shall 
discard any 0 bit which directly follows five contiguous 1 bits."

Nachdem ich nun die Nullen gezielt vernichte, bekomme ich auch plausible 
Layer2/3 Nachrichten.

Falls es jemanden interessiert:

Die kurzen Datenpakete bei scheinbar ungenutzter Leitung sind Layer2-RR 
(RECEIVE READY) Nachrichten. Jede Layer3 Nachricht wird in der Regel von 
der Gegenseite mit einem Layer2-RR bestätigt. Werden für ca. 10 Sekunden 
keine Layer3 Nachrichten verschickt, z.B. in Ruhe bzw. auch bei fertig 
aufgebauter Verbindung, wird ein Layer2-RR mit gesetzten Poll-Bit 
benutzt um die weitere Verfügbarkeit des Layer2 zu prüfen (keep alive). 
Die Gegenstelle beantwortet eine solche Anfrage ebenfalls mit einem 
Layer2-RR, allerdings mit einem gesetzten Final-Bit.

Reine Layer2 Nachrichten ohne Layer3 Informationen (RR, SABME, UA, ...) 
sind für die Realisierung eines Call-Monitors völlig überflüssig und 
brauchen nicht ausgewertet zu werden. Bei einer 
D-Kanal-Protokoll-Analyse liefern sie aber oft brauchbare Hinweise bei 
der Störungseingrenzung.


Gruß Jens

von Bal T. (baltic)


Lesenswert?

Hallo,

in Fortführung der Grundidee möchte ich hiermit als nächstes Etappenziel 
die Realisierung eines Low-Cost S0-PC-Interface zur 
D-Kanal-Protokollanalyse vorschlagen:

- S0-Bus mit Übertrager am AVR (galvanische Trennung)
- 1. AVR-Controller zum 'zerkleinern' der S0-Frames d.h. Filtern der 
D/E-Bits, Behandlung HDLC-LAPD für beide Richtungen (Flags, Bit 
stuffing)
- 2. AVR-Controller mit Low-Speed Software-USB (V-USB)
- Auswertung der Events (Layer1) und Nachrichten (Layer2/3) in der 
PC-Applikation
- evtl. LED zur Anzeige ob Layer1 auf dem S0-Bus aktiv ist 
(Layer1-INFO4)

Das Ganze müsste sich meiner Meinung nach einfach auf einem Streifen 
Lochraster realisieren lassen und könnte incl. RJ45-Buchse in einem 
kleinem Gehäuse verschwinden. Mit USB hätte sich auch das Thema 
Stromversorgung erledigt. Falls 20,000 MHz an Stelle von 18,432 bzw. 
22,1184 MHz auch funktionieren, würde ich beide Controller mit dem 
gleichen Takt versorgen.

Was haltet Ihr davon?


Gruß Jens

von armnix (Gast)


Lesenswert?

Hallo Kollegen,


die D-Kanal Protokollierung als Anrufmonitor fände ich auch höchst 
interessant. Die Frage ist nur, ob z. B. nicht EIN Arm-Controller dazu 
besser geeignet wäre. Ich habe mal Breakout Board für den LPC2148 und 
LPC2368 gemacht. Der LPC2368 hätte z. B. ein MAC-Interface (Ethernet) 
und ein SD-Karteninterface mit drin. Mit 60 MHz und exzellenter Hardware
wäre der sicher gut als "one chip Lösung" geeignet. Alternativ der 
LPC1768.



Gruß,



armnix

von Harald P. (haraldp)


Angehängte Dateien:

Lesenswert?

Für AVR-Freunde geht D-Kanal Protokollierung auch mit Tiny25 und 
nachgeschaltetem Mega8/88 o.ä. Diese 2 Bausteine sind wahrscheinlich 
zusammen billiger als ein ARM-Prozessor.
Ideen wie man es machen kann, kann man sich aus der zip-Datei holen. 
Neben einer kurzen Beschreibung finden sich auch ein paar Codeschnipsel 
für die Auswertung.

Harald

von Jobst M. (jobstens-de)


Lesenswert?

Für alle die, die den VAC L4096-X022 benutzen:

Dieser Übertrager liefert an den Ausgängen nur 500mVs. Wenn man ihn 
trotzdem verwenden möchte, so ist folgende Modifikation an dieser 
Schaltung vorzunehmen:
http://www.mikrocontroller.net/attachment/96245/S0_interface.png

Pin2 vom Trafo TR1 mit einem Spannungsteiler versehen. 8k2 gegen Vcc 
(bei 5V) und 1K gegen Masse. Die direkte Masseverbindung ist natürlich 
zu entfernen.


Gruß

Jobst

von Stefan (Gast)


Lesenswert?

Servus Leute!

Versteh ich das richtig, dass vom AVR sowohl das was in den Hörer 
gesprochen wird, als auch das, was der gegenüber sagt ausgegeben wird 
oder nur das von der Gegenseite?

Schöne Grüße,

von Bal T. (baltic)


Lesenswert?

Stefan schrieb:
> Servus Leute!
>
> Versteh ich das richtig, dass vom AVR sowohl das was in den Hörer
> gesprochen wird, als auch das, was der gegenüber sagt ausgegeben wird
> oder nur das von der Gegenseite?
>
> Schöne Grüße,

Hallo Stefan,

die ursprüngliche Lösung von Benedikt H. (hunz) erlaubt das einseitige 
'Belauschen' eines Nutzkanals. Aus welcher Richtung die Daten kommen 
wird durch die Anschaltung am S0-Bus bestimmt. Aus Sicht des NTBA sind 
es folgende zwei Möglichkeiten:

S0-Tx (NTBA)   RJ45 Pin 4/5   NT --> TE   (Daten von der Gegenseite)
S0-Rx (NTBA)   RJ45 Pin 3/6   TE --> NT   (Daten vom eigenen Endgerät)

Die gleichzeitige Erfassung beider Richtungen müsste theoretisch auch 
machbar sein. Im Beitrag "Re: ISDN am AVR (Mega8)" 
habe ich diese Möglichkeit bereits einmal betrachtet.


Gruß Jens

von Stefan (Gast)


Lesenswert?

Servus !

Heißt das man kann die Schaltung auch doppelt aufbauen und die eine an 
den inneren und die andre äußeren beiden Adern anschließen?

Oder gibt es da Probleme bei der "Bitposition"?

Außerdem kann man dann überhaupt die Schaltung von hunz nur mitt 100nF 
ohne Übertrager dann noch verwenden? Weil sonst müsste man ja eine 
Ader(Pi 3 od. 6) auf Masse legen, was nicht so gut sein wird ;)

Leider hab ich nicht so gute Kenntnisse, um den Code für den AVR 
entsprechend zu ändern, dass der die beiden Kanäle mischt...

Schöne Grüße,

Stefan

von Jobst M. (jobstens-de)


Lesenswert?

Stefan schrieb:
> Außerdem kann man dann überhaupt die Schaltung von hunz nur mitt 100nF
> ohne Übertrager dann noch verwenden? Weil sonst müsste man ja eine
> Ader(Pi 3 od. 6) auf Masse legen, was nicht so gut sein wird ;)

Zwischen den beiden Aderpaaren (4-5 und 3-6) liegt Spannung, die zum 
Betrieb der Endgeräte benötigt wird. Die zusammen zu schalten wird 
Probleme geben.


Gruß

Jobst

von D. K. (lemur)


Lesenswert?

Bzgl. der D-Kanaldekodiereung,

wie ist das bei den "Standart"-ISDN Anschlüssen eigendlich?, wird da bei 
einem Anruf mit unterdrückter Rufnummer diese garnicht übertragen, oder 
liegt die vielleicht doch irgendwo bei Anrufsignalisierung auf dem 
D-Kanal und hat nur ein "nicht anzeigen" Bit gesetzt?

Hat das schonmal jemand beim experementieren rausfinden können?

von Bernhard M. (boregard)


Lesenswert?

Im ISDN werden unterdrückte Rufnummer gar nicht übertragen.
Falls es ein "böswilliger" Anruf war, kann man das den Ruf "fangen", 
d.h. es wird der Vermittlungstelle ein enstprechender "fangen" Request 
übermittelt, worauf diese die Nummer zur Auswertung speichert.
Allerdings muß dieses Leostungsmerkmal in der Vermittlung freigeschaltet 
sein.

(Diese Information kann veraltet sein, da ich seit 15 Jahren nichts mehr 
mit ISDN zu tun habe...)

von Sven (Gast)


Lesenswert?

Eigentlich schade, dass ISDN so am Aussterben ist und Analogtelefone 
wieder aktuell geworden sind. Auch wenn diese heute immer häufiger mit 
VOIP benutzt werden.

von D. K. (lemur)


Lesenswert?

Danke für die Antwort Bernhard,

allerdings bin ich da erst drauf gekommen, da ich an einem anderen 
Standort noch eine 0180er Nummer geschaltet habe. Auf dieser Nummer sehe 
ich jeden Anrufer, auch die Unterdrückten, (wohl zu Abrechnungszwecken).

Jetzt hab ich einfach mal alle unterdrückten Anrufe von meinem ISDN via 
Vermittlungsstelle auf die 0180er umgeleitet und diese dann auf einer 
anderen MSN wieder zu mir zurück. D.h. der Anrufer zahlt die Verbindung 
zu meiner FN MSN, ich zahle die Verbindung FN -> 0180 und 0180 -> FN.

Das Ergebnis  ist nun, dass ich auf der 0180er alle Nummern sehen kann, 
also auch jene die bei mir Unterdrückt ankamen und durch mich 
weitergeleitet wurden...

Sicher, dass da nix (versteckt) mitübertragen wird?

Wäre schon interessant, zumindest würde es mir die doppelten 
Rufumleitunskosten ersparen, die aber immernoch bedeutend günstiger 
sind, als eine Fangschaltung beim Provider.

von Jobst M. (jobstens-de)


Lesenswert?

Normalerweise wird die Rufnummer bis zur letzten Vermittlungsstelle mit 
übertragen. Dort wird dann entschieden, ob sie zum Endteilnehmer 
übermittelt wird. Wird dagegen entschieden, kommen auch keine Daten an.


Gruß

Jobst

von schraubär (Gast)



Lesenswert?

Hallo miteinander,

vielen Dank an Hunz für sein Projekt. Damit konnte ich mir endlich mal 
eine sinnvolle Anschaltung für mein Telefon ans Mischpult bauen, wenn 
wieder Aufzeichnungen für Podcasts laufen.
Da man sich ja selbst über ein anderes Mikrofon aufnimmt, den 
Gesprächspartner alleine auf einer Tonspur haben möchte, habe ich mir 
diesen ISDN Monitor in ein altes NTBA Gehäuse eingebaut. Die Mischung 
erfolgt außerhalb, deshalb wurde die Schaltung zwei mal aufgebaut.

Die ISDN Anschaltung habe ich nach dem Schaltungsentwurf von Baltic 
umgesetzt. Da es andere Trafos sind, die Signalverhältnisse nicht 
gestimmt haben, mußten beide Basen der Transistoren mit einem 4k7 
Widerstand zusammen geschaltet werden. Die Signalsymmetrie wurde 
deutlich besser. Die beiden Basen mußten auch nach dem 
Schaltungsvorschlag von jobstens-de vorgespannt werden, sonst ging da 
nix.
Die Spannungsversorgung kommt vom NTBA und hat bereits eine 5V 
Versorgung samt Resetkomparator. Jeweils an PC0 wurde noch eine LED 
angebracht. Eine VOX Steuerung wäre damit denkbar. Der Quarz versorgt 
beide AVR.

Da mit den vorhandenen 5V einige OPVs nicht richtig gut funktionieren, 
die 40V des NTBA echt oversized sind, habe ich mich für eine passive PCM 
Filterung 4. Ordnung entschieden. Auf zwei RCA Buchsen kommt der 
entsprechende Line Pegel raus. Für diese einfache Schaltung funktioniert 
das Ganze wirklich gut!

Danke

Lg,

Schraubär

von Oskar (Gast)


Lesenswert?

Diese Schaltung greift ja nach der NTBA die einseitigen Nutzdaten, eines 
B-Kanals ab...

Wenn ich jetzt aber alles Brauche, also B1,B2,D und das in beiden 
Richtungen, könnte ich dann nicht einfach vor die NTBA, direkt an die 
2-Draht-Leitung gehen?

Also nach modifikation der Schaltung, schon klar - die Frage geht ehr in 
die Richtung, wäre das mit einer anderen Programmierung und ggf. 
größerem µC eine realistische Vorstellung?

von Jobst M. (jobstens-de)


Lesenswert?

Oskar schrieb:
> Diese Schaltung greift ja nach der NTBA die einseitigen Nutzdaten, eines
> B-Kanals ab...
>
> Wenn ich jetzt aber alles Brauche, also B1,B2,D und das in beiden
> Richtungen, könnte ich dann nicht einfach vor die NTBA, direkt an die
> 2-Draht-Leitung gehen?
>
> Also nach modifikation der Schaltung, schon klar - die Frage geht ehr in
> die Richtung, wäre das mit einer anderen Programmierung und ggf.
> größerem µC eine realistische Vorstellung?

Das wäre dann Uk0. Wenn Du kein weiteres Gerät an die Leitung hängst und 
einen halben NTBA nachbilden möchtest ...

Unmöglich ist das bestimmt nicht ...


Gruß

Jobst

von Luci (Gast)


Lesenswert?

^^ Das gibts auch schon fertig, guckst Du hier:

http://www.alarm.de/telefonueberwachung/isdn/uk0-mitschnittsystem.html

Luci

von Jens B. (sunnyman)


Lesenswert?

Guten Tag,

ich bin durch Zufall auf diesen sehr alten Thread gestoßen und 
begeistert, dass es wohl doch ein paar Leute gibt, die sich von der 
"Bastelseite" dem Thema ISDN genähert haben.

Ich hoffe mal, das vielleicht der ein oder andere hier noch mitliest und 
vielleicht noch an dem Thema interessiert ist oder Gleichgesinnte kennt.

Ich hätte für ein "ISDN aus dem Mikrocontroller" tatsächlich auch eine 
Anwendung, wobei mir dabei nicht wäre dass es aus einem Mikrocontroller 
kommt.
Es geht hierum: Aktuell und in den kommenden Jahren fliegen aufgrund der 
AllIP-Umstellung kistenweise Up0-basierende Systemtelefone auf den 
Schrott. Sie an den alten Anlagen weiter zu betrieben ergibt keinen 
Sinn, eben weil diese Anlagen nicht SIP-fähig sind, es gibt nur noch 
wenig Techniker die sich damit auskennen, die Konfigurationssoftware 
läuft nur auf immer älter werdenden Windows-Systemen oder man braucht 
zwingend RS232 am Rechner, etc.pp.
Aber: ein Telefon ist ein Telefon, und die Telefone haben Displays und 
tlw. auch viele Funktionstasten, woraus man noch richtig viel machen 
könnte. Und: die Geräte brauchen sicherlich weniger Energie als 
IP-Telefone und begnügen sich mit zwei simplen Drähtchen.

Auf der anderen Seite gibts ja diverse TK-Anlagen als Opensource 
(Asterisk, FreeSWITCH,...), die man solchen Geräten vorsetzen könnte.
Insofern suche ich nach Interessierten, mit denen man so etwas mal 
durchspinnen könnte.

von ME (Gast)


Lesenswert?

@sunnyman Exakt das gleiche habe ich mir heute auch gedacht und bin so 
auf diesen Thread gestoßen :-)

von Werner P. (Gast)


Lesenswert?

ME schrieb:
> @sunnyman Exakt das gleiche habe ich mir heute auch gedacht und bin so
> auf diesen Thread gestoßen :-)

ISDN Telefone an einen Asterisk macht keinen Sinn. ISDN Merkmale und 
Sonderfunktionen werden nicht unterstützt.

Ausserdem sind Mehrport ISDN Karten zu teuer.

An einen Asterisk machen nur SIP Telefone Sinn. Alles andere ist Murks.

Grüße

von Jens B. (sunnyman)


Lesenswert?

@ME: Na dann sind wir schon zwei ;)

von ME (Gast)


Lesenswert?

@wpfundstein So wie ich sunnyman verstanden habe, geht es vielmehr darum 
Up0-basierende Systemtelefone IP-fähig zu machen anstatt TK-Anlagen wie 
den Asterisk mit ISDN Karten auszustatten.

Ich schätze auch, dass man nicht alle Funktionen wird umsetzen können. 
Schließlich unterscheiden sich viele Systemtelefone schon allein 
hinsichtlich Ihrer Nutzung von Up0 durch proprietäre Zusätze am 
Protokoll soweit ich das bisher verstanden habe. Dennoch nehme ich an, 
dass man die Grundfunktionen des Anrufens umsetzen könnte.

Auch wäre es ein Mittel gegen die künstliche Obsoleszenz, die von den 
rosafarbenen vorangetrieben wird, denn die Geräte sind noch einwandfrei 
nutzbar und kommen spätestens Ende des Jahres mit der Zwangsabschaffung 
des Anlagenanschlusses auf den Müll.

von Jens B. (sunnyman)


Lesenswert?

Werner P. schrieb:
> ME schrieb:
>> @sunnyman Exakt das gleiche habe ich mir heute auch gedacht und bin so
>> auf diesen Thread gestoßen :-)
>
> ISDN Telefone an einen Asterisk macht keinen Sinn. ISDN Merkmale und
> Sonderfunktionen werden nicht unterstützt.

Merke: Up0-Systemtelefon != ISDN-Standardtelefon.
Und was unterstützt wird regelt der channel driver.
Ich betreibe an mehreren Systemen ISDN-Karten in Asterisk-Systemen, alle 
gängigen supplementary Services sowie Leistungsmerkmale und Protokolle 
werden unterstützt (Q.SIG, AOC, 3PTY, CCBS, Call Reroute, Call Deflect, 
...)

> Ausserdem sind Mehrport ISDN Karten zu teuer.
Eine ISDN-Karte mit PRI gibts mittlerweile für unter 100 € neu.
4 BRI-Karten für unter 50 €.

Aber, wie gesagt, das ist nicht die Frage. Die Vision hinter so etwas 
wäre auch keine Lösung für eine PCI-Karte sondern eher ein Gerät ähnlich 
wie es jetzt ja auch schon SIP-Analog-Gateways gibt oder die 
herstellerspezifische, industrielle Variante namens "Siemens HiPath 
Access SLO" mit 24 UP0/E Ports.

Aber das ist ungefähr der 200ste Schritt :)

von Chr. M. (snowfly)


Lesenswert?

ME schrieb:
> Schließlich unterscheiden sich viele Systemtelefone schon allein
> hinsichtlich Ihrer Nutzung von Up0 durch proprietäre Zusätze am
> Protokoll

Zwar habe ich auch noch kein Systemtelefonprotokoll
auseinandergedröselt aber erfahrunsgemäß bestehen die
neben dem Sprachkanal nur aus Display und Tastatur.

Die Entscheidung was geschieht passiert in der TK Analage.

Das würde es vereinfachen die Dinger anzusteuern aber es gibt
so viele verschiedene und manche wollen auch noch Firmware haben.

von Jens B. (sunnyman)


Lesenswert?

Korrekt. Also die typischen Siemens-Geräte kommen bereits mit Firmware 
(die bei Bedarf natürlich überschrieben werden kann). Ein erster Schritt 
wäre dann natürlich, so etwas wie einen "Sniffer" zu bauen.
Witzigerweise gibt es eine tschechische TK-Anlage namens 2N Netstar, die 
schon immer Siemens Up0-Geräte als Endgeräte unterstützt. Entweder haben 
die es geschafft, das Protokoll zu reverse engineeren oder Siemens mal 
dazu überreden können, ihnen selbiges zugänglich zu machen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.