SNIP also supports NTRIP Client connections by ‘simple’ GNSS devices that do not implement the NTRIP Protocol. Such setups (typically with a dongle device) can make TCP/IP connections, but not NTRIP in either its Rev1 or Rev2 formats.
To support Pre NTRIP Base Stations in a method similar to the RAW TCP/IP tab, SNIP provides a one-line command to allow any simple GNSS device to a) connect, b) identify which Base Station data stream it needs, and c) provide a username and password for security validation.
Very often these devices connect by means of a serial port to a simple internet access dongle. The dongle does not know how to speak NTRIP, but it can be programmed to connect to a given IP and port (in this case your SNIP Caster) and then to send an initial one line command before streaming any subsequent data in both directions.
When these connections are made, using the message format described below, SNIP‘s client pre-processing software simply translates the single line command into a full NTRIP request.
The SNIP Client Command format follows one of two styles:
SNIP#<mountPt>^Basic^<base64> – used for closed casters
SNIP#<mountPt> – used for for open casters
- All text is in ASCII text.
- Spaces are neither used nor allowed. Capitalization matters.
- The command starts with the characters “SNIP#” (all upper case, without quotes)
- The mountPt name must be a legal NTRIP mountPt name (ASCII only, without spaces or special characters) and is sent in clear text. The symbols “<” and “>” are not sent and are used here to delimit the mountPt text.
- The symbol “^” (without quotes) is used as the general delimiter token.
- The command format supports two styles: a connection string using a user name and password, and a connection string with no user name or password present. The first is for use with Closed Casters, the latter is for use with Open Casters. You may of course choose to operate your Caster in either mode.
- The Basic authentication method is used to send a user name and password, just as it is used in the NTRIP standard. Consult the RTCM standard as required.
- The Basic authentication content is encoded in Base64 format, e.g. “UserName:Password” becomes “VXNlck5hbWU6UGFzc3dvcmQ=”. The symbols “<” and “>” are not sent and are used here to delimit the base64 encoded text.
- When the Basic authentication method is used, the mountPt is followed by the “^” token, then the text “Basic,” then a final “^” token, which is then followed by the base64 encoding of the user name and password.
- The line ends with a single <cr><lf>.
- Additional keywords and tokens may be added to this process as future needs warrant.
It may be necessary with some devices to use short user names and passwords in order to fit the entire command line into limited buffer space (32 and 40 character limits are known to exist on some devices).
Consider a simple GNSS device which needs to connect to “MyBase” with the credentials of user: Andy and the password: Simple.
The clear text of the password is then: “Andy:Simple” and this,
when encoded in Base64, would be: “QW5keTpTaW1wbGU=”
The command line sent by the connecting client device would then be:
When SNIP receives this input as a new client connection, it extracts the keywords and places them into a proper NTRIP Client request using the Rev1 format style (not Rev2). The above command line translates into the below:
GET /MyBase HTTP/1.0\r\n User-Agent: NTRIP SNIPtranslatorR1\r\n Authorization: Basic QW5keTpTaW1wbGU=\r\n Connection: close\r\n \r\n
From this point onward the processioning flow is the same as for any other Client connection.
The above describes the simple command protocol implemented on SNIP NTRIP Caster to support pre NTRIP Client connections (i.e. rover devices). If such a device can send the initial one line command described above, it can connect to a specific Base Station with a valid user account as if it were a full NTRIP Client.
A similar connection ability, using a dedicated port, called RAW TCP/IP, is available for older pre NTRIP Base Stations which cannot connect as NTRIP Server devices. This article describes its use in more depth.
Note: This feature was added as part of the Rev 2-13-00 release.