Skip to content

SW_DevITelex

Rolf Obrecht edited this page Aug 10, 2024 · 20 revisions

Device "i-Telex"

System

System Comments
RPi OK
PC Linux OK
PC Windows OK
Mac OK

Dependencies

none

Command Line Arguments

Parameter Description
-I [<port>]
--itelex [<port>]
-I activates i-Telex functionality;
specify -I 0 to disable the server part (incoming connections)

Config File Parameters

Part Parameter Default type / range Description
ITelexClient tns_port 11811 number TCP port number of tns_host (tns=“TeilNehmerServer“)
ITelexClient userlist "userlist.csv" string filename of file containing speed dials, syntax see userlist_example.csv
ITelexSrv port 2342 1024 ... 65535 TCP port number (ports <1024 are privileged and not accessible for normal users)
ITelexSrv tns_dynip_number 0 positive integer Initially 0 (disable dynamic IP update). Set to own i-Telex calling number to enable dynamic IP update – must be agreed on with i-Telex administrators.
ITelexSrv tns_pin None positive integer < 65536 PIN for dynamic IP update; set according to i-Telex administrator‘s instructions
ITelex tns_srv list of FQDNs,IPV4-addresses specify tns-hosts to use, should normally be left at the built in values, use for debugging purposes only
ITelexSrv block_ascii true false/true if true, block non-I-Telex connections (ASCII, PortScans,...)

Description

The i-Telex device modules allow for connection to other TTYs using the i-Telex-protocol. For detailed information on i-Telex see https://www.i-telex.net.

Note: If you plan to use i-telex more frequently, please consider registering at https://www.telexforum.de; you will find there lots of information around i-telex and telex in general, and also many helpful people...

Outgoing connections

When the module is enabled in the config file with the default values, you should be instantly able to connect to every i-Telex client as long as your piTelex knows the hostname and port of the remote system. The transformation from the subscriber number you dial at your CCU to hostname:port of the remote system is done in a first step via local "phonebook" that defaults to userlist.csv in the piTelex directory. If there is no matching entry, piTelex tries to resolve the request via internet connection to the "TNS" dictionnary server network (TNS = "TeilNehmerServer" = subscriber server), whose addresses are hardcoded in the piTelex sources. Without connection to the internet your local phonebook allows you to connect to i-Telex devices in your local LAN.

An example of the required file structure of userlist.csv is given in userlist_example.csvin the piTelex directory. userlist.csvcan also be used for speed dials, as entries in this local phonebook always take precedence over TNS queries. But be aware not to use shortcuts that overlap with real i-telex subscriber numbers. If you have a shortcut "83" in your userlist.csv that resolves to a specific hostname, all numbers starting with "83" will be masked and become unreachable.

There are several variants of how piTelex evaluates and processes the dialled number. This can be configured via the global parameter dial_timeout and is described in SW_ConfigJSON#dialing.

Incoming connections

Incoming connections require the server part to be active, which is the default setting; to disable incoming connections, set port to zero.

Your piTelex instance will be reachable by every i-Telex client which knows hostname (or IP address) and configured port of your piTelex system. If the remote station is a piTelex system, it could add your number and hostname:port to it's local userlist.csv in order to reach you via telex number dialled at the remote station.

The more sleeky way is to get an entry in the "TNS", so that you can be reached via regular "telex number". For this you have to contact the i-Telex admins and send them a telex to one of the telex numbers

  • 925302 (Fernschreibzentralzeugamt Blumenhagen)
  • 531001 (Fernschreibzentrale Braunschweig)
  • 952996 (Fernschreibzentrale Rödental)

and include the following information:

  • your name and location (city)
  • your telex id (answerback) (e.g. 123456 mytelex d)
  • Desired subscriber number (at least five digits; should be the first part of your telex id, if possible)
  • machine type (e.g. "Siemens T100")
  • IP-address and port of your piTelex system
  • address mode (static, dynamic), see below

You will receive a confirmation message after the entry has been created; furthermore, your telex station will be listed and searchable at http://tlnserv.teleprinter.net/, together with all other i-Telex participants.

Dynamic addresses are supported via tns_dynip_number but must be agreed on with and configured by the TNS admins.

Warning

Do not touch the setting tns_dynip_number: 0 in telex.json without authorization by the TNS admins!

Setting tns_dynip_number to anything but 0 will enable dynamic IP updates with i-Telex TNS (Teilnehmerserver, Subscriber Server).

Change to your subscriber number if and only if

  • you've got your number approved by i-Telex administrators, and
  • you've chosen dynamic IP update and told i-Telex administrators so, and
  • you've set your tns_pin: <11111> properly.

Note

  1. Depending on your local network configuration, it might be necessary to "drill a hole" through your router firewall and set up a port forwarding rule for connections coming in from outside at piTelex' port to pitelexhost:pitelexport.
  2. Up to now, pi-Telex cannot cope with IPv6-addresses, an IPv4 address is mandatory for your host (or router, see above). If you only have a "DS-Lite" connection , you need to look for a way to tunnel your connections ( ... or join the team and make piTelex IPv6 aware :) Look here for an idea to create such a tunnel.
Clone this wiki locally