README 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. ----------------------------------------------------------------------
  2. ntripserver
  3. ----------------------------------------------------------------------
  4. (c) German Federal Agency for Cartography and Geodesy (BKG), 2002-2007
  5. Files in ntripserver.zip
  6. ------------------------
  7. - makefile: preconfigured makefile for convenient installation
  8. - ntripserver.c: c source file
  9. - README: Readme file for the ntripserver program
  10. NTRIP
  11. -----
  12. The ntripserver is a HTTP client based on "Networked Transport of
  13. RTCM via Internet Protocol" (NTRIP). This is an application-level
  14. protocol streaming Global Navigation Satellite System (GNSS) data
  15. over the Internet.
  16. NTRIP Version 1.0 is a generic, stateless protocol based on the
  17. Hypertext Transfer Protocol HTTP/1.1. The HTTP objects are
  18. enhanced to GNSS data streams.
  19. The primary motivation for NTRIP Version 2.0 is to develop a fully
  20. HTTP-compatible Internet protocol standard that would work with proxy
  21. servers and to add an optional data transport via UDP. Hence, one
  22. NTRIP Version 2.0 transport approach is still based on HTTP1.1 on top
  23. of TCP. The second NTRIP Version 2.0 transport approach is based on
  24. both, the Internet Standard Protocol RTSP (Real Time Streaming Protocol)
  25. for stream control on top of TCP and the Internet Standard Protocol RTP
  26. (Real Time Transport Protocol) for data transport on top of
  27. connectionless UDP.
  28. NTRIP is designed for disseminating differential correction data
  29. (e.g in the RTCM-104 format) or other kinds of GNSS streaming data to
  30. stationary or mobile users over the Internet, allowing simultaneous
  31. PC, Laptop, PDA, or receiver connections to a broadcasting host. NTRIP
  32. supports wireless Internet access through Mobile IP Networks like GSM,
  33. GPRS, EDGE, or UMTS.
  34. NTRIP is implemented in three system software components:
  35. NTRIP clients, NTRIP servers and NTRIP casters. The NTRIP caster is the
  36. actual HTTP server program whereas NTRIP client and NTRIP server are
  37. acting as HTTP clients.
  38. ntripserver
  39. -----------
  40. The program ntripserver is designed to provide real-time data
  41. from a single NTRIP source running under a POSIX operating system.
  42. Basically the ntripserver grabs a GNSS byte stream (Input, Source)
  43. from either
  44. 1. a Serial port, or
  45. 2. an IP server, or
  46. 3. a File, or
  47. 4. a SISNeT Data Server, or
  48. 5. a UDP server, or
  49. 6. an NTRIP Version 1.0 Caster
  50. and forwards that incoming stream to either
  51. 1. an NTRIP Version 2.0 Caster via TCP/IP (Output, Destination), or
  52. 2. an NTRIP Version 2.0 Caster via RTSP/RTP (Output, Destination), or
  53. 3. an NTRIP Version 2.0 Caster via plain UDP (Output, Destination), or
  54. 4. an NTRIP Version 1.0 Caster.
  55. Please note, the options to support NTRIP Version 2.0 are currently still
  56. under development and should be used with care. Keep in mind that details
  57. of the NTRIP Version 2.0 transport protocol are still under discussion
  58. and may be changed.
  59. Installation
  60. ------------
  61. To install the program run
  62. - gunzip ntripserver.tgz
  63. - tar -xf ntripserver.tar
  64. - make, or
  65. - make debug (for debugging purposes).
  66. To compile the source code on a Windows system where a mingw gcc
  67. compiler is available, you may like to run the following command:
  68. - gcc -Wall -W -O3 -DWINDOWSVERSION ntripserver.c -DNDEBUG
  69. -o ntripserver -lwsock32, or
  70. - mingw32-make, or
  71. - mingw32-make debug
  72. The exacutable will show up as ntripserver on Linux
  73. or ntripserver.exe on a Windows system.
  74. Usage
  75. -----
  76. The user may call the program with the following options:
  77. -h|? print this help screen
  78. -E <ProxyHost> Proxy server host name or address, required i.e. when
  79. running the program in a proxy server protected LAN,
  80. optional
  81. -F <ProxyPort> Proxy server IP port, required i.e. when running
  82. the program in a proxy server protected LAN, optional
  83. -R <maxDelay> Reconnect mechanism with maximum delay between reconnect
  84. attemts in seconds, default: no reconnect activated,
  85. optional
  86. -M <InputMode> Sets the input mode (1 = Serial Port, 2 = IP server,
  87. 3 = File, 4 = SISNeT Data Server, 5 = UDP server, 6 = NTRIP Caster),
  88. mandatory
  89. <InputMode> = 1 (Serial Port): (using 8-N-1 = data bits-parity-stop bits)
  90. -i <Device> Serial input device, default: /dev/gps, mandatory if
  91. <InputMode>=1
  92. -b <BaudRate> Serial input baud rate, default: 19200 bps, mandatory
  93. if <InputMode>=1
  94. -f <InitFile> Name of initialization file to be send to input device,
  95. optional
  96. <InputMode> = 2|5 (IP port | UDP port):
  97. -H <ServerHost> Input host name or address, default: 127.0.0.1,
  98. mandatory if <InputMode> = 2|5
  99. -P <ServerPort> Input port, default: 1025, mandatory if <InputMode>= 2|5
  100. -f <ServerFile> Name of initialization file to be send to server,
  101. optional
  102. -x <ServerUser> User ID to access incoming stream, optional
  103. -y <ServerPass> Password, to access incoming stream, optional
  104. -B Bind to incoming UDP stream, optional for <InputMode> = 5
  105. <InputMode> = 3 (File):
  106. -s <File> File name to simulate stream by reading data from (log)
  107. file, default is /dev/stdin, mandatory for <InputMode> = 3
  108. <InputMode> = 4 (SISNeT Data Server):
  109. -H <SisnetHost> SISNeT Data Server name or address,
  110. default: 131.176.49.142, mandatory if <InputMode> = 4
  111. -P <SisnetPort> SISNeT Data Server port, default: 7777, mandatory if
  112. <InputMode> = 4
  113. -u <SisnetUser> SISNeT Data Server user ID, mandatory if <InputMode> = 4
  114. -l <SisnetPass> SISNeT Data Server password, mandatory if <InputMode> = 4
  115. -V <SisnetVers> SISNeT Data Server Version number, options are 2.1, 3.0
  116. or 3.1, default: 3.1, mandatory if <InputMode> = 4
  117. <InputMode> = 6 (NTRIP Version 1.0 Caster):
  118. -H <SourceHost> Source caster name or address, default: 127.0.0.1,
  119. mandatory if <InputMode> = 6
  120. -P <SourcePort> Source caster port, default: 2101, mandatory if
  121. <InputMode> = 6
  122. -D <SourceMount> Source caster mountpoint for stream input, mandatory if
  123. <InputMode> = 6
  124. -U <SourceUser> Source caster user Id for input stream access, mandatory
  125. for protected streams if <InputMode> = 6
  126. -W <SourcePass> Source caster password for input stream access, mandatory
  127. for protected streams if <InputMode> = 6
  128. -O <OutputMode> Sets output mode for communatation with destination caster
  129. 1 = http: NTRIP Version 2.0 Caster in TCP/IP mode
  130. 2 = rtsp: NTRIP Version 2.0 Caster in RTSP/RTP mode
  131. 3 = ntrip1: NTRIP Version 1.0 Caster
  132. 4 = udp: NTRIP Version 2.0 Caster in Plain UDP mode
  133. optional
  134. Defaults to NTRIP1.0, but will change to 2.0 in future versions
  135. Note that the program automatically falls back from mode rtsp to mode http and
  136. further to mode ntrip1 if necessary.
  137. -a <DestHost> Destination caster name or address, default: 127.0.0.1,
  138. mandatory
  139. -p <DestPort> Destination caster port, default: 2101, mandatory
  140. -m <DestMount> Destination caster mountpoint for stream upload,
  141. mandatory
  142. -n <DestUser> Destination caster user ID for stream upload to
  143. mountpoint, only for NTRIP Version 2.0 destination
  144. casters, mandatory
  145. -c <DestPass> Destination caster password for stream upload to
  146. mountpoint, mandatory
  147. -N <STR-record> Sourcetable STR-record
  148. optional for NTRIP Version 2.0 in RTSP/RTP and TCP/IP mode
  149. Example1: Reading from serial port and forward to NTRIP Version 1.0 Caster:
  150. ./ntripserver -M 1 -i /dev/ttys0 -b 9600 -O 2 -a www.euref-ip.net -p 2101 -m Mount2
  151. -n serverID -c serverPass
  152. Example2: Reading from NTRIP Version 1.0 Caster and forward to NTRIP Version 2.0
  153. ./ntripserver -M 6 -H www.euref-ip.net -P 2101 -D Mount1 -U clientID -W clientPass
  154. -O 1 -a www.goenet-ip.fi -p 2101 -m Mount2 -n serverID -c serverPass
  155. NTRIP Caster password and mountpoint
  156. ------------------------------------
  157. Feeding data streams into the NTRIP system using the ntripserver
  158. program needs a password (and a user ID for NTRIP Version 2.0)
  159. and one mountpoint per stream.
  160. For the NTRIP Broadcasters EUREF-IP or IGS-IP this is currently
  161. available from http://igs.bkg.bund.de/index_ntrip_prov.htm
  162. Disclaimer
  163. ----------
  164. Note that this example server implementation is currently an
  165. experimental software. The BKG disclaims any liability nor
  166. responsibility to any person or entity with respect to any loss or
  167. damage caused, or alleged to be caused, directly or indirectly by the
  168. use and application of the NTRIP technology.
  169. Further information
  170. -------------------
  171. URL: http://igs.bkg.bund.de/index_ntrip.htm
  172. E-mail: [email protected]