NTRIP Overview

NTRIP (Networked Transport of RTCM via Internet Protocol) is a protocol for streaming DGNSS correction data over the internet. NTRIP capable devices can have one or more designated “NTRIP roles”, which are listed below.

The NTRIP server is a device providing DGNSS correction data to an NTRIP caster over an internet connection. It is actually not a server in the “classic” definition since it is not serving data directly to any clients.

The NTRIP client is a device which is using DGNSS correction data provided by an NTRIP caster over the internet.

The NTRIP caster is a device which is receiving DGNSS correction data streams from one or more connected NTRIP servers and is distributing or relaying the DGNSS correction data to one or more connected NTRIP clients. The NTRIP caster itself is not generating or providing any DGNSS correction data.

The NTRIP caster itself is not generating or providing any DGNSS correction data.

An RTK base station would be a typical NTRIP server, while an RTK rover receiver would be a typical NTRIP client. The RTK base station may have built-in NTRIP caster functionality, but often an NTRIP caster is a dedicated program running on a computer or server connected directly to the internet over a high-speed data connection. Since an NTRIP caster may be getting data from a large number of NTRIP servers and may be serving data to a large number of clients, a mobile connection to the internet may be less suitable for an NTRIP caster.

NovAtel OEM628™, OEM638™ and OEM7 receiver boards (except for the OEM719™), and the receivers containing one of these receiver boards, all natively support both the NTRIP server and NTRIP client roles. NovAtel OEM6 and OEM7 boards do not have on-board NTRIP caster functionality, so a separate NTRIP caster program is always needed in order to use an OEM6 or OEM7 receiver as an NTRIP-enabled RTK base station.

Receiver Model Requirements

Any NTRIP connectivity (server or client) requires a receiver model that supports NTRIP. For an OEM6 receiver, the 9th position in the model name should be either “N” or “R”.

Figure 1 - OEM6 Model Options

Figure 1 - OEM6 Model Options

For an OEM7 receiver, the 4th position in the model name should be “L”, “P” or “R”.

Figure 2 - OEM7 Model Options

NTRIP Client Mode

In NTRIP client mode, the receiver is able to connect to an existing NTRIP caster in order to stream DGPS or RTK correction data from the internet to the receiver. These correction data can be used by the receiver to improve the quality of its position solutions. A typical example would be connecting to an RTK network using a mobile internet connection.

Setup of the Ethernet Connection

Before the receiver can connect to the internet, the Ethernet functionality has to be enabled. This can be done by sending the following command:

ETHCONFIG ETHA AUTO AUTO AUTO AUTO

The receiver will now try to obtain a DHCP-assigned IP address from the network’s DHCP server. Once the receiver has obtained a valid IP address, it is able to connect to IP addresses on the internet.

To verify the receiver has actually obtained a valid IP address, send the following command:

LOG IPSTATUS ONCE

The receiver will respond with a message similar to the one below:

< 2

< ETHA "192.168.13.130" "255.255.255.0" "192.168.13.200"

< SERPPP "" "" ""

< 1

< "192.168.13.200"

The numbers on the third line (the line starting with “ETHA”) show the receiver’s current IP address, subnet mask and the network’s gateway IP address. The numbers on the last line show the IP address of the network’s DNS server, the device that translates internet names (like www.novatel.com) to their corresponding IP addresses.

Connecting to an NTRIP Caster as an NTRIP Client

Before a connection to an NTRIP caster can be established, you would need to know the NTRIP caster’s IP address or internet name and the caster port. Both can be provided by the owner of the caster. Most casters nowadays require a user name and password to login to the caster as well. The last piece of information needed is the mount point. Different mount points usually provide different correction data streams. If you do not know which mount points are available on an NTRIP caster, the receiver can request the mount point table from the caster, in which all available mount points on the caster are listed.

Example

The example below will use the following data:

  • The NTRIP caster is located at IP address 192.168.13.113
  • The NTRIP caster port for initial connection is 2101
  • The user name to log in to the caster is “flex6”
  • The password to log in to the caster is “Fl3x6”

To establish a connection, a mount point is mandatory, but since no mount point is given, it must be requested and downloaded from the server. To do this, just send the following commands to the receiver:

NTRIPSOURCETABLE 192.168.13.113:2101 LOG SOURCETABLE

The receiver will respond with a message similar to the one below:

< "192.168.13.113:2101" 0 0 "SOURCETABLE 200 OK;Server: SubCarrier Systems Corp SNIP simpleNTRIP_Caster_R1.0.0/of:Oct 17 2016;Date: Fri, 04 November 2016 16:31:52 UTC;Content-Type: text/plain;Content-Length: 181"

< "192.168.13.113:2101" 0 0 "STR;CMR;;Raw;Unknown;;;SNIP;XXX;;;0;0;sNTRIP;None;B;N;0;"

The first command establishes the connection to the caster and requests data from the mount point “RTCM_31”.

< "192.168.13.113:2101" 0 0 "STR;RTCM;;Raw;Unknown;;;SNIP;XXX;;;0;0;sNTRIP;None;B;N;0;"

< "192.168.13.113:2101" 0 0 "STR;RTCM_31;;Raw;Unknown;;;SNIP;XXX;;;0;0;sNTRIP;None;B;N;0;"

< "192.168.13.113:2101" 0 0 "ENDSOURCETABLE"

The mount points in the above listing have been marked in red. As can be seen, this particular NTRIP caster is providing three different mount points (and therefore likely three different data streams). For this example, the mount point “RTCM_31” (with correction data in RTCM version 3.1) will be used.

Now that all the required information is available, the connection to the caster can be established by sending the following commands:

NTRIPCONFIG NCOM1 CLIENT V1 192.168.13.113:2101 RTCM_31 flex6 Fl3x6 INTERFACEMODE NCOM1 RTCMV3 NONE OFF

The first command establishes the connection to the caster and requests data from the mount point “RTCM_31”. The second command tells the receiver to handle the incoming data as RTCM version 3 correction data and not to send anything back to the NTRIP caster.

The settings above will work for any NTRIP caster that is providing correction data from just one reference station or a small number of reference stations, where the rover is selecting the reference station by selecting a specific NTRIP mount point.

If a connection to an RTK network is made, the network usually either selects the nearest physical base station or it creates a virtual reference station for the rover’s position. In these cases, the network needs to know the position of the rover before any RTK corrections can be provided, so the rover needs to send its own position back to the network periodically, usually as an NMEA GGA message.

A connection to an RTK network can be established by sending the following commands:

NTRIPCONFIG NCOM1 CLIENT V1 192.168.13.113:2101 RTCM_31 flex6 Fl3x6 INTERFACEMODE NCOM1 RTCMV3 NOVATEL OFF LOG NCOM1 GPGGA ONTIME 5

This will allow the RTK network to provide the most suitable correction data to the receiver at all times.

The first command establishes the connection to the caster and requests data from the mount point “RTCM_31”. The second command tells the receiver to handle the incoming data as RTCM version 3 correction data and to send any messages back to the NTRIP caster in clear text. The third command sends the receiver’s position back to the caster once every 5 seconds. This will allow the RTK network to provide the most suitable correction data to the receiver at all times.

To verify that the receiver is actually using the incoming correction data, send one of the following commands to the receiver:

LOG GPGGA ONCE LOG BESTPOSA ONCE

The possible replies will be similar to:

$GPGGA,170244.00,5201.7048514,N,00441.4288544,E,4,16,0.7,6.634,M,43.40,M,01,00 13*55 #BESTPOSA,USB1,0,68.5,FINESTEERING,1921,493424.000,00000000,b1f6,14039;SOL_COM PUTED,NARROW_INT,52.02841415871,4.69048086004,6.6410,43.4000,WGS84,0.0192,0.01 58,0.0403,"13",1.000,0.000,16,16,16,16,00,21,00,33*1987b852

In the $GPGGA message, the (highlighted above) GPS status type “4” indicates the receiver is currently in RTK FIX mode (the most accurate mode available). The “NARROW_INT” indication in the #BESTPOSA message also indicates the most accurate operation mode.

NTRIP Server Mode

A receiver which is setup as a base station (using a fixed, known, position) can connect to an NTRIP caster as an NTRIP server, streaming correction data to the caster instead of receiving correction data from the caster. Multiple servers can feed data to one caster, which in turn can distribute the correction data from the base stations (NTRIP servers) to all connected NTRIP clients.

Connecting to an NTRIP Caster as an NTRIP Server

As with the NTRIP client mode, the receiver must have a working Ethernet connection and a valid IP address before the connection with the NTRIP caster can be established, see the “Setup of the Ethernet connection” section on page 5. The way to connect is very similar, but there is one big difference: most NTRIP casters will require both a user name and password for any connecting client, but they will usually only require a password for a connecting server. Furthermore, the NTRIP configuration of the receiver will specify “server” instead of “client”.

Since it would be impossible to describe in detail how to connect a NovAtel receiver as NTRIP server to every possible NTRIP caster, the two examples below will be limited to two relatively simple NTRIP caster programs that can be downloaded from the internet and used for free. Both programs feature a built-in NTRIP server as well, to connect correction streams over a serial (RS-232) connection, but the examples will only cover a connection from the receiver to the caster over a TCP/IP network. Please note that NovAtel support are not promoting the use of either caster program and that support for these programs lies solely with the manufacturer/provider of the programs. The examples below are purely to demonstrate the mechanics of connecting a NovAtel receiver as an NTRIP server to an NTRIP caster.

The two examples below will use the following data:

  • The NTRIP caster is located at IP address 192.168.13.113
  • The password to log in to the caster is “novatel”
  • A user name is not required for the server connection and will be left blank.
Example 1: Lefebure NTRIP Caster

The Lefebure NTRIP Caster is a small and lightweight program, allowing for one serial (RS-232) connection and an “unlimited” number of TCP/IP connections. The program does have its limitations when multiple clients are connected (for more details, please see the Lefebure website at http://lefebure.com/software/ntripcaster/) and the caster port is fixed to 5000. This port number cannot be changed.

Figure 3 – Lefebure Caster Mount Points List

Before a server can connect to the caster, at least one mount point has to be defined on the “Mount Points” tab. The mount point name must be unique (which it automatically is when only one mount point is defined). Although the caster will accept a mount point without password, for security reasons it is highly recommended to use one. All other fields are optional, but it is recommended to provide as much information as possible, so clients can use this information to choose the correct data stream.

To enable users to connect to the caster once the server is connected, make sure to define at least one user on the “Users” tab (user name and password):

Figure 4 – Lefebure Caster User List

Lastly, verify the NTRIP caster is actually running and listening for incoming data requests by clicking the “Event Log” tab:

Connecting to an NTRIP Caster as an NTRIP Client

Figure 5 – Lefebure Caster Event Log

Now that the NTRIP caster program is set up correctly, the following commands sent to the NovAtel receiver will establish a connection with the caster and start streaming RTCMv3 data to the mount point called “RTCM31”:

FIX POSITION NTRIPCONFIG NCOM1 SERVER V1 192.168.13.113:5000 RTCM31 "" novatel ALL INTERFACEMODE NCOM1 NOVATEL RTCMV3 OFF LOG NCOM1 RTCM1004 ONTIME 1 LOG NCOM1 RTCM1012 ONTIME 1 LOG NCOM1 RTCM1006 ONTIME 10 LOG NCOM1 RTCM1008 ONTIME 10 LOG NCOM1 RTCM1033 ONTIME 10

Note the two double quotation marks in the second line to indicate a blank user name. Please provide the antenna latitude, longitude and height as accurately as possible. Any deviation from the “real” antenna position here will have a direct effect on the quality of the DGPS/RTK solution of the connected rover receivers.

To verify the NTRIP server is indeed connected to the caster, first check the Event Log tab again. Upon successful connection, an entry will be added with the IP address of the server and the name of the mount point it is streaming correction data to.

Figure 6 – Lefebure Caster Event Log, Server Connected

The “Connections” tab will also show the connected server(s) and connected clients (if any). A server will by default show “-SERVER-” as the user name:

Figure 7 – Lefebure Caster Connections Overview

To close the connection to the caster from the server side, send the following command to the NovAtel receiver:

NTRIPCONFIG NCOM1 DISABLED

This command will “gracefully” disconnect the server, removing it from the caster’s “Connections” tab. If the server is just switched off, the caster will not disconnect the server, which might cause problems and/or hangups at the caster and connected clients.

Example 2: SNIP NTRIP Caster

The SNIP NTRIP caster (www.Use-SNIP.com) has a number of configuration options and will allow a mix of serial and TCP/IP streams, up to the maximum number of input streams allowed by the registered license of the caster. The free version is limited to 3 different input streams. Both the caster port and the caster IP address (in case the computer on which the caster program runs has more than one IP address) can be selected by the user.

When a receiver is connected over a serial (RS-232) connection, the user has to define a mount point during setup of the connection. For connections over TCP/IP, the NTRIP server will define the mount point.

Although SNIP allows anonymous access to the caster, it is recommended to define at least one user and disable anonymous access to the caster. To create a user entry, open the “Caster and Clients” tab, then click the “Manage Users” button.

Figure 8 - SNIP Client Management

The “Registered Users” window will open. Any existing users, with passwords, along with the maximum number of simultaneous connections allowed for this user will be shown.

Figure 9 - SNIP User List

To add a new user, click the “Add User” button, enter the new user name and password and adjust the number of simultaneous connections if required, then click the “OK” button. Before closing the “Registered Users” window, make sure to unmark the “Allow Anonymous Access for Users” checkbox.

Next, check the “Caster Management” part of the Caster and Clients window. It will tell you which IP address and which caster port the caster is currently listening on. If you would like to change any of these settings, click “Disconnect”, change the IP address and/or caster port, then click “Connect”.

Figure 10 - SNIP Caster Overview

Make sure to note down the caster IP address and caster port, since the server needs this information to be able to connect to the caster.

To define the password for server connections to the caster, click the “Pushed Streams” tab, then click the “Set Up” button.

Figure 11 - SNIP Pushed Streams

Figure 12 - SNIP NTRIP Server Password

Enter the connection password, or alternatively click the “Generate” button to have the program generate a password, then click “OK”.

Now that the NTRIP caster program is set up correctly, the following commands sent to the NovAtel receiver will establish a connection with the caster and start streaming one data stream in RTCMv3 format to a (server-defined) mount point called “RTCM_31” and another data stream in CMR format to a (server-defined) mount point called “CMR”:

FIX POSITION NTRIPCONFIG NCOM1 SERVER V1 192.168.13.113:2101 RTCM_31 "" novatel ALL INTERFACEMODE NCOM1 NOVATEL RTCMV3 OFF LOG NCOM1 RTCM1004 ONTIME 1 LOG NCOM1 RTCM1012 ONTIME 1 LOG NCOM1 RTCM1006 ONTIME 10 LOG NCOM1 RTCM1008 ONTIME 10 LOG NCOM1 RTCM1033 ONTIME 10 NTRIPCONFIG NCOM2 SERVER V1 192.168.13.113:2101 CMR "" novatel ALL INTERFACEMODE NCOM2 NOVATEL CMR OFF LOG NCOM2 CMROBS ONTIME 1 LOG NCOM2 CMRGLOOBS ONTIME 1 LOG NCOM2 CMRREF ONTIME 10

Note the two double quotation marks in both “NTRIPCONFIG” lines to indicate a blank user name. Please provide the antenna latitude, longitude and height as accurately as possible. Any deviation from the “real” antenna position here will have a direct effect on the quality of the DGPS/RTK solution of the connected rover receivers. Also note that the server is connecting to the same caster port (2101) for both data streams. This is also the port to which all clients will initially connect. Once the connection has been established, the caster will negotiate and assign a different port over which the communication will be routed.

The “Pushed Streams” tab will now show the two data streams from the server to the caster:

Figure 13 - SNIP Active Pushed Server Streams

When an NTRIP client is connected to a specific data stream, it will be shown in the “Clients” field of the data stream.

To close the connections to the caster from the server side, send the following commands to the NovAtel receiver:

NTRIPCONFIG NCOM1 DISABLED NTRIPCONFIG NCOM2 DISABLED

This command will “gracefully” disconnect the server, removing the data streams from the caster’s “Pushed Streams” tab. If the server is just switched off, the caster will not disconnect the server but will show the server as being “Down”. The mount point and data stream on the caster side will be kept alive, even though the connected clients are not receiving any data, which might trigger them to disconnect/reconnect endlessly until the data stream becomes available again.

A data stream that is down/dead may be forcibly closed by right clicking the mount point name and selecting “Disconnect” from the drop down menu. This will also disconnect any clients connected to this data stream.

TCP/IP Considerations

The above examples are “simplified” examples in that both the NTRIP server and the PC which is running the NTRIP caster are both on the same network (LAN). When setting up an NTRIP caster with server(s) and/or client(s) located outside the caster network, please make sure to configure the modem/router in such a way that a built-in firewall will allow the incoming connections to the caster port and the caster port is routed (NAT/PAT) from the external IP address of the modem to the “internal” IP address of the caster.

Any servers or clients not connected to the same LAN as the NTRIP caster will have to connect to the external IP address of the modem and the modem port that has been forwarded to the caster, instead of the “internal” IP address and port of the caster directly.