This project connects to the (old square model) Tiptel 810 S serial port to read and write settings and call data. For programming with both extension 1 and using serial, you need to put the switch in "program" mode
This is currently a work in progress; the protocol is more or less decoded, but not all commands are known or documented.
The tool assumes USB serial connected to /dev/ttyUSB0
Install dependencies:
npm i
Run the "test" tool:
npm test
- Remove the AN232B chip on the bottom left side on the back of the PCB
- Tap into the vias:
- TX, RX: near the big electrolytic capacitors
- VCC: header between the processors at the top
- GND: header between the processors at the top
also the bottom pin of the 3 pin header near the big electrolytic capacitors - DTR: below the CLIP addon board/header
Look into the resources folder for full resolution images.
- programming code is 1111
- call charge code is 2222
- FRITZ!Box does not send Advice Of Charge (AOC pulse) needed for cost center calculations
Note that all instructions are noted in hexadecimal; 10 means 16 in decimal or 00010000 in binary.
Steps for a message exchange:
- set DTR low, wait for 3
05'heartbeat' messages (about 190mS) - send
attention length data.. checksum, where:attentionis06lengthis the length of the data + checksum, 1 bytedata..is probably an EEPROM address or command (to be determined)checksumis an XOR of the data only (if one byte, it'll be the same byte), 1 byte
- receive
attention modifier?, where:attentionalways seems06modifieralways seems +01;80becomes81
- send
attention - receive
length addr... data...checksum, where:lengthis the length of the addr + data + checksum, 1 byteaddrseems 1 or 2 bytes, seems XORed with the modifier (second byte differs per response so the address or command width might be variable)datamight have decimal numbers mapped to hexadecimal, i.e.01 96represents MSN196checksumis an XOR of the address + data, 1 byte
- set DTR high and send
attention(EOT actually)
Special bytes:
01
04
05
06
These commands are part of the data (the attention and length byte are stripped for readability)
- rd:
80 13 - rd response:
81 14 ?? ?? ?? vv vv rr rr dd dd mm mm yy yy yy yy ss pp 00, where:vvis (major) version in ASCIIrris revision (minor version) in ASCIIddis day of month in ASCIImmis month in ASCIIyyis year in ASCIIssis state of operation:00=disconnected,02=PTMPppis state of programming mode:00=normal,01=programmable
- rd:
A0 - rd response:
A1 ?? ?? ?? vv vv rr rr dd dd mm mm yy yy yy yy, where:vvis (major) version in ASCIIrris revision (minor version) in ASCIIddis day of month in ASCIImmis month in ASCIIyyis year in ASCII
- rd:
AC - rd response:
AD mm ??, where:mmprobably are bit flags:??em????:e:true: external music on hold (only whenmenabled),false: internal MOHmis music on hold enabled
- rd:
B0 - rd response:
B1 ad an rd rn ld ln id in md mn bd bn cd cd cn cn cf ct, where:adare extension bits: external access authorization day serviceanare extension bits: external access authorization night servicerdare extension bits: external ringing signal day servicernare extension bits: external ringing signal night serviceldare extension bits: long-distance dialling daylnare extension bits: long-distance dialling nightidare extension bits: international dialling dayinare extension bits: international dialling nightmdare extension bits: authorization memory dialling daymnare extension bits: authorization memory dialling nightbdare extension bits: directory of blocked numbers activated daybnare extension bits: directory of blocked numbers activated nightcd cdare extension crumbles: cost center during day service00: 1,01: 2,10: 3
cn cnare extension crumbles: cost center during night service00: 1,01: 2,10: 3
cfare extension bits: authorization call forwardingctare extension bits: authorization call transfer
TODO (12 bytes)
TODO (7 bytes)
TODO (5 bytes)
- rd:
C4 tt - wr:
C6 tt dd dd - special bytes:
ttis type:01=call charge,02=programmingddis two PABX digits (A=0)
- rd:
C8 - rd response:
C9 bb bb bb bb bb bb bb bb bb bb - wr:
CA bb bb bb bb bb bb bb bb bb bb - special bytes:
bbare bits (TODO)
- rd:
CC ii - rd response:
CD ii dd dd dd dd dd dd dd dd - wr:
CE ii dd dd dd dd dd dd dd dd - special bytes:
iiis index00..0A, yes 11 assignments according to the original softwareddis two PABX digits (A=0)
TODO (index 0-9 + 10 bytes)
TODO (index 0-4 + 8 bytes)
- rd:
D8 ii - rd response:
D9 ii dd dd dd dd dd dd dd dd dd dd - wr:
DA ii dd dd dd dd dd dd dd dd dd dd - special bytes:
iiis index00..63ddis two PABX digits (A=0)
- rd:
DB yy mm dd yy mm dd - rd response:
DC tt - special bytes:
yyis year in ASCIImmis month in ASCIIddis day in ASCIItttotal amount of entries
- rd:
DE - rd response:
DD ee yy mm dd hh nn - special bytes:
eeis entry numberyyis year in ASCIImmis month in ASCIIddis day in ASCIIhhis hour in ASCIInnis minute in ASCII
TODO (4 bytes)
- The CLIP addon board needs to be placed (including the gray cable) to have the ring signal
- The intercom board needs to be placed to make sure extension 8 has a dial tone

