Debugging User Connections with a closed caster

This article covers the various errors and reporting messages that can occur when SNIP is operating in a closed mode such that every new user (every NTRIP Client) must present a valid account and a password in order to log in.

If SNIP is operating in an open mode, the messages described here will not apply.  Under open mode connections all that a user (an NTRIP Client) needs to do is request a mountPt that matches to those in the current Caster table.  A similar article dealing with the general debugging of client connections (operating in the open mode) can be found here.

 It should also be noted that mountPt strings are always case sensitive and consist of a single word. [So: NEAR3, NEAR-3, Near3 are three different mountPts]

Background Articles

Adding new users is covered in general terms in this article.   This article may be of use in understanding how to operate the various console filters which SNIP provides. Effective filtering is of great benefit when trying to debug a problem connection in the presence of many other server events in the log.

Closing the SNIP Caster

The critical check box Allow Anonymous access for Users which is used to enable or disable the open/closed mode of the SNIP Caster is described in this article.

Watching User Connections as they Occur

The console log can be used to view each NTRIP Client dialog as it occurs.  The critical check box which MUST be set is labeled  Display New User Connection Details which found on the Caster and Clients tab.  Be sure to also set the Log threshold to “minor” and enable client message types in order to see these details.  When checked, after each connection is processed, a report of its outcome is presented in the console log. Additional analysis details are provided when the Caster is closed and the connection attempt failed.

A Typical NTRIP Client connection

Will look like the below console log entry when all goes well. In these examples we presume that we have created an account which has been setup with the credentials of:  user:password   (all lower case).  When the user:password pair sequence is sent, they are encoded in a Base64 format.  The NTRIP Client will connect to a mountPt which is called:  MOUNTPT.  The values [Cxx] are the sequential count of new client connections on this machine.  So a line like: “Client #C09 [69.75.31.227:63149]” informs you that this was the ninth client connection since SNIP was started and the IP and port that it came from.

Working NTRIP Client connection, with good user and good password

[C09]:  Client [#C09] appears to an NTRIP Client connecting with:
[C09]:  An NTRIP Client sent: ======================
[C09]:
GET /MOUNTPT HTTP/1.0
User-Agent: NTRIP RTKLIB/2.4.2
Authorization: Basic dXNlcjpwYXNzd29yZA==
[C09]:  ======================
[MOUNTPT]:  MountPt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry
[MOUNTPT]:  Credentials for user accepted.
[MOUNTPT]:  Client #C09 [69.75.31.227:63149] Connected to MOUNTPT at 12:21:58 PM (local)

The user name and password are “dXNlcjpwYXNzd29yZA==” and encoded in Base64 in the above (this is how it is sent over the internet) and, because SNIP has accepted the user, there is no further analysis information provided.

Non-Working NTRIP Client connection, no user and no password

 [C10]:  Client [#C10] appears to an NTRIP Client connecting with:
 [C10]:  An NTRIP Client sent: ======================
 [C10]:
 GET /MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Accept: */*
 Connection: close
 [C10]:  ======================
 [MOUNTPT]:  Mount Pt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry.
 [MOUNTPT]:  No credentials were extracted from request (Caster is closed), Disconnected.
 [MOUNTPT]:  Client #C10 [69.75.31.227:64944] Disconnect from , 89 Bytes in, 959 Bytes out, Connected: 005 mSec

Non-Working NTRIP Client connection, good user and bad password

 [C11]:  Client [#C11] appears to an NTRIP Client connecting with:
 [C11]:  An NTRIP Client sent: ======================
 [C11]:
 GET /MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic dXNlcjpCYWRQYXNzd29yZA==
 [C11]:     ======================
 [MOUNTPT]:  Mount Pt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry.
 [MOUNTPT]:  Credentials for user did not match an entry;
 [MOUNTPT]:  Detailed Report:
 Analysis of User: user and PW: BadPassword is:
 The user: user is a valid entry in the tables
 The password: BadPassword is NOT Valid for this user (good user, bad password)
 [MOUNTPT]:  Client #C11 [69.75.31.227:65331] Disconnect from, 104 Bytes in, 959 Bytes out, Connected: 004 mSec

Non-Working NTRIP Client connection, unknown user

 [C12]:  Client [#C12] appears to an NTRIP Client connecting with:
 [C12]:  An NTRIP Client sent: ======================
 [C12]:
 GET /MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic QmFkVXNlcjpCYWRQYXNzd29yZA==
 [C12]:     ======================
 [MOUNTPT]:  Mount Pt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry.
 [MOUNTPT]:  Credentials for user did not match an entry;
 [MOUNTPT]:  Detailed Report:
 Analysis of User: BadUser and PW: BadPassword is:
 The user name: BadUser is NOT a Valid Entry in the tables (this is an unknown user)
 [MOUNTPT]:  Client #C12 [69.75.31.227:65408] Disconnect from, 108 Bytes in, 959 Bytes out, Connected: 001 mSec

Non-Working NTRIP Client connection, too many connections 

 [C14]:  Client [#C14] appears to an NTRIP Client connecting with:
 [C14]:  An NTRIP Client sent: ======================
 [C14]:
 GET /MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic dXNlcjpwYXNzd29yZA==
 [C14]:     ======================
 [MOUNTPT]:  Mount Pt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry.
 [MOUNTPT]:  Credentials for user did not match an entry;
 [MOUNTPT]:  Detailed Report:
 Analysis of User: user and PW: password is:
 The user: user is a valid entry in the tables
 The password: password is the valid for this user
 This account currently has 1 connections, and is allowed as many as 1
 This account is currently using All its allowed connections (too many connections)
 [MOUNTPT]:  Client #C14 [69.75.31.227:49327] Disconnect from , 100 Bytes in, 959 Bytes out, Connected: 007 mSec

Note that you set the number of active connections each user can have at one time when you create the account. Some Caster operators allow only one active connection per user at a time. The default value in SNIP is five, but you can set this for each user. If a user account may connect to more than one stream, and from more than one device, (all at the same time) you will need to set the value to accommodate both.  [Aside: Some of SNIP owners use it to make the single connection to a site and then redistribute the stream data to others on the work team. SNIP is very useful for this, but please confirm that your data provider allows this use.]

Non-Working NTRIP Client connection, bad user (capitation) and good password

 [C15]:  Client [#C15] appears to an NTRIP Client connecting with:
 [C15]:  An NTRIP Client sent: ======================
 [C15]:
 GET /MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic VXNlUjpwYXNzd29yZA==
 [C15]:     ======================
 [MOUNTPT]:  Mount Pt [ MOUNTPT ] is a match - allow connection IF credentials match a user entry
 [MOUNTPT]:  Credentials for user did not match an entry;
 [MOUNTPT]:  Detailed Report:
 Analysis of User: UseR and PW: password is:
 The user name: UseR is NOT a Valid Entry in the tables (this is an unknown user)
 [MOUNTPT]:  Client #C15 [69.75.31.227:49782] Disconnect from , 100 Bytes in, 959 Bytes out, Connected: 005 mSec

Here one can observe that the user is “UseR” here and not “user” as used elsewhere. Note that user and passwords ARE case sensitive, but that (unlike near matches for mountPts) you are not informed when a user gets the capitalization incorrect.

Non-Working NTRIP Client connection, due to a bad mountPt

 [C16]:  Client [#C16] appears to an NTRIP Client connecting with:
 [C16]:  An NTRIP Client sent: ======================
 [C16]:
 GET /BAD_MOUNTPT HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic dXNlcjpwYXNzd29yZA==
 [C16]:     ======================
 [BAD_MOUNTPT]:  No matching mount point, requested: [BAD_MOUNTPT], sending caster table and disconnecting.
 [BAD_MOUNTPT]:  Client #C16 [69.75.31.227:50138] Disconnect (tried to mount BAD_MOUNTPT, but not in table), 104 Bytes in, 959 Bytes out, Connected: 004 mSec

Here, because the requested mountPt is matched to the current caster table entries before the user credentials, you will receive a console notice of this fact and the user’s credentials will not be checked.

Non-Working NTRIP Client connection, due to a “near miss” mountPt

 [C17]:  Client [#C17] appears to an NTRIP Client connecting with:
 [C17]:  An NTRIP Client sent: ======================
 [C17]:
 GET /MOUNTpt HTTP/1.0
 User-Agent: NTRIP RTKLIB/2.4.2
 Authorization: Basic dXNlcjpwYXNzd29yZA==
 [C17]:     ======================
 [MOUNTpt]:  No matching mount point, requested: [MOUNTpt], sending caster table and disconnecting.
 [MOUNTpt]:  Note: The mountPt requested: [MOUNTpt], almost matches an entry but differs in capitalization.
 [MOUNTpt]:  Client #C17 [69.75.31.227:50374] Disconnect (tried to mount MOUNTpt, but not in table), 100 Bytes in, 959 Bytes out, Connected: 006 mSec

Here The requested mountPt is matched to the current caster table entries before the user credentials, and if the mountPt string matched except for differences in capitalization, a slightly different console entry is produced noting this. The user is disconnected (the caster table is returned in the normal way) and the user’s credentials will not be checked.

 

This article has served to demonstrate console log entries for the the most common NTRIP Client user errors when the Caster is closed.

Was this article helpful?

Related Articles