Benutzer-Werkzeuge

Webseiten-Werkzeuge


dapnetprotocol

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
dapnetprotocol [2018/10/17 11:12]
df2et
dapnetprotocol [2018/11/15 14:44] (aktuell)
df2et
Zeile 1: Zeile 1:
 ====== Protocol for Connection of Transmitters ====== ====== Protocol for Connection of Transmitters ======
  
-Connection for transmitters is based on a simple cleartext TCP protocol ((Described here: https://​www.afu.rwth-aachen.de/​images/​vortraege/​Wilke_FunkrufTX_Weinheim2012.pdf)). A tcpdump of a connection is shown below. Comments are inserted in italic where applicable. \\+Connection for transmitters is based on a simple cleartext TCP protocol ((Described here (Geman only): https://​www.afu.rwth-aachen.de/​images/​vortraege/​Wilke_FunkrufTX_Weinheim2012.pdf)). A tcpdump of a connection is shown below. Comments are inserted in italic where applicable. \\
 <color #​ed1c24>​Red color denotes what is sent to the master.</​color>​ \\ <color #​ed1c24>​Red color denotes what is sent to the master.</​color>​ \\
 <color #​7092be>​Blue color shows answers received from the master.</​color>​ <color #​7092be>​Blue color shows answers received from the master.</​color>​
Zeile 7: Zeile 7:
 ---- ----
  
-<color #​ed1c24>​[UniPager-Raspager1 v1.0.3 df2et ThisIsAReallyGoodPassword]</​color>​ \\+<color #​ed1c24>​[UniPager-Raspager1 v1.0.3 df2et ThisIsAReallyGoodAuthKey]</​color>​ \\
  
 //First you have to send the name of your software, a version string starting with "​v",​ the callsign of the transmitter and your AuthKey. Remember that this is not the user account but an account for a transmitter. // //First you have to send the name of your software, a version string starting with "​v",​ the callsign of the transmitter and your AuthKey. Remember that this is not the user account but an account for a transmitter. //
Zeile 13: Zeile 13:
 <color #​7092be>​2:​6116</​color>​ \\ <color #​7092be>​2:​6116</​color>​ \\
  
-//The master answers with a random value. The next five steps were originally designed to calculate the time offset between master and slave to determine the correct time slots. In the current implementation this is not needed because clients are NTP synced.//+//The master answers with message type 2 and his time hex encoded. The next five steps were originally designed to calculate the time offset between master and slave to determine the correct time slots. In the current implementation this is not needed because clients are NTP synced. ​Normally the client would answer by adding his time. As a dummy "​0000"​ is used here.// 
 + 
 +//If login fails due to invalid credentials or the transmitter not being registered you will receive a message of type 7 and a string containing details about why the login failed. This could look as follows://​ 
 + 
 +<color #​7092be>​7 Invalid credentials</​color>​ \\ 
 + 
 +//But let's continue as normal... :-) //
  
 <color #​ed1c24>​2:​6116:​0000</​color>​ \\ <color #​ed1c24>​2:​6116:​0000</​color>​ \\
 <color #​ed1c24>​+ </​color>​ \\ <color #​ed1c24>​+ </​color>​ \\
  
-//So we answer by repeating what the master sent and adding ":​0000"​ as offset. Transmission end is indicated by a "​+"​.//​+//So we answer by repeating what the master sent and adding ":​0000"​ as our time. Transmission end is indicated by a "​+"​.//​
  
 <color #​7092be>​2:​6118</​color>​ \\ <color #​7092be>​2:​6118</​color>​ \\
Zeile 47: Zeile 53:
 <color #​ed1c24>​+</​color>​ \\ <color #​ed1c24>​+</​color>​ \\
  
-// If the master answered with the first number before the ":" ​increased ​it is going to tell us which time slots we are allowed ​to use on the next transmission.//+// If the master answered with message type 3 (first number before the ":"​)  ​it is going to tell us how we need to set our clock. This is ignored here due to NTP.//
  
 <color #​7092be>​4:​0189</​color>​ \\ <color #​7092be>​4:​0189</​color>​ \\
 <color #​ed1c24>​+</​color>​ \\ <color #​ed1c24>​+</​color>​ \\
  
-//In this case we got 4 (of 16 time slots): 0, 1, 8 and 9. From here on the master will send out information about incoming calls.//+//Then we finally get a message of type 4 telling us which time slots we are allowed to use for POCSAG tranmissions. ​In this case we got 4 (of 16 time slots): 0, 1, 8 and 9. From here on the master will send out information about incoming calls.//
  
 <color #​7092be>#​00 6:​1:​3EC:​3:​5357.0 EA5FIV ​      von DL4MFF um 1933z</​color>​ \\ <color #​7092be>#​00 6:​1:​3EC:​3:​5357.0 EA5FIV ​      von DL4MFF um 1933z</​color>​ \\
Zeile 58: Zeile 64:
  
 //This is the first call. The master sent "#​00"​ which we have to confirm by increasing by one -> "#:01 +". The rest of the line is as follows (values separated by a ":"​):​ // //This is the first call. The master sent "#​00"​ which we have to confirm by increasing by one -> "#:01 +". The rest of the line is as follows (values separated by a ":"​):​ //
-  * ''​6''​ //is blabla// +  * ''​6''​ //is the message type. 6 is a text message transmission and 5 is a time sync message (see further below for an example).// 
-  * ''​1''​ //is blabla//+  * ''​1''​ //indicates the POCSAG tranmission speed to use ( 1 = 1200 bit/s).//
   * ''​3EC''​ //is the RIC/CAP code that the message is intended for. It is the hexadecimal representation of the decimal value  1004 in this case.//   * ''​3EC''​ //is the RIC/CAP code that the message is intended for. It is the hexadecimal representation of the decimal value  1004 in this case.//
   * ''​3''​ //is the function bit or sub RIC that the message is addressed to.//   * ''​3''​ //is the function bit or sub RIC that the message is addressed to.//
dapnetprotocol.1539767529.txt.gz · Zuletzt geändert: 2018/10/17 11:12 von df2et