-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Log Voter Timeout Disconnects #334
Comments
Suggest also logging out-of-bounds packets (packet took longer than Question - is there any circumstance (packet OOB, packet OOO, corrupt, etc) that causes a |
To my knowledge only a timeout (five missed pings) cause a RTCM (voter or missed client) to disconnect. Disconnects are indicated by a RTCM display dropout and a lost link CW message if a transmitter is connected. Having said that, I've long had my suspicions that dropouts occur when there is no apparent network problem. So maybe you're on to something here. |
I have noticed at times one of my TX/RX clients will flash on/off rapidly (a few times per second) in the VOTER display, Allmon, and Supermon. When this "flashing" occurs, there are gaps in the TX audio for that site. The VOTER clients console shows no messages, and neither does the host Asterisk console whenever this "flashing" occurs. The client in question is two 5GHz Ubiquiti hops away from the host, so it is difficult to determine the cause of these "drops". TX and RX buffers are set well above the actual latency of the network. More logging in |
Have you enabled debug logging for the module on your system? (e.g. |
Yes, I have enabled debug logging, but it generates a significant amount of output (a few hundred lines per second), which is quite difficult to sift through:
Out-of-bounds packets are logged as an error message on the client side in the VOTER/RTCM firmware but are not logged on the host side in a manner that's easily detectable. To address this, I suggest logging these packets as actual warnings or errors, at the appropriate warning/error levels. This way, they will appear in the console/logs without requiring debug-level logging. This change would make it much easier to identify and address issues without having to manually parse through extensive debug logs. Example: packet received by TallMountainSite 39ms too late for the RX buffer to accept
|
No, please. The Asterisk console is too noisy already. Sending debug type messages as warnings or errors to the console is wholly inappropriate. Instead search the log or grep it in realtime... |
While I agree that sending messages to the default level console should be used sparingly, I would argue that an out-of-bounds RX packet is an ERROR in an otherwise working system and should most certainly be presented to the console as an error (or at the very least a warning). The debug level information is just status type messages, not errors or warnings. It seems rather illogical to bury an actual ERROR message beneath heaps of mostly useless debugging information. I am aware that the messages could be grep'd from the console/log, but they shouldn't have to be. Only systems with an active VOTER implementation would see these messages. As an administrator of one of these systems, this is error level information that I would want logged at ALL times... not just when I'm manually logged into the CLI and have cranked up the levels. |
I'm not familiar with the context of what actually causes this warning (I'm an Asterisk developer, not an ASL user), so I don't want to commit to a particular approach, but I agree if it actually means something is wrong, it should be a warning, and vice versa. Error in Asterisk is generally reserved for specific cases and I'm not sure would be appropriate here but a warning seems logical. I think the main question is whether it would be possible in a correctly configuration system (on both sides) to have this happen. If the user can't control it, generally warning/error is a bit extreme.
FYI, for reference, you can also control which log levels are logged in logger.conf, including verbose messages or debug messages up to a certain level, for example. |
This appears to be a network error happening on one link (a Wifi link) to a RTCM. The other RTCM links are fine if I read the OP correctly. Therefore this is not an Asterisk issue. That's not to say there isn't something with chan_voter misbehaving with excessive OOB packets. @InterLinked1 How do other channel drivers handle poor network performance in terms of warnings or errors? I don't recall seeing IAX or SIP report OOB issues. I believe the correct approach is something like |
@Mason10198 What do you get for A good link will repeatedly give:
If that's ok, I'm thinking this could be a GPS/timing issue. |
Okay, thanks for the background. I was thinking "out of bounds" meant something like the packet itself was malformed. If this can happen purely due to network conditions then that's a different matter. Even if it's not something the user can influence, if it fundamentally causes major undesired behavior (something not working) a warning might still be appropriate. Can someone clarify what the actual impact of this issue happening is? Does the node become unusable or something like that? Is audio dropped completely?
If it's during a call, I don't think there's much reporting for those sorts of things. The RTP stats might reflect some of those issues. |
@tsawyer Correct. I never meant to imply that this was an issue with Asterisk or it's modules - I was only suggesting the presentation of information that is vital to system administrators.
and I have
I am aware of the possible causes of the issue I am experiencing. I am not trying to report or solve any issues here in this repo, I'm just suggesting better logging to provide vital information to system administrators that might encounter this (or similar) issues in order to make tracking down and resolving network and timing issues significantly easier.
@InterLinked1 This has nothing to do with errors in Asterisk itself, I apologize if I did not make that clear. You are correct that ERROR would be extreme. WARNING should be appropriate.
Correct, "out of bounds" just means the packet took longer than
Lets ignore the TX chain of the VOTER system for a second and only focus on the RX chain.
My suggestion is simply to have some kind of warning message when these "out of bounds" packets are detected, that does not require manually increasing the debug levels. My opinion is that this should not be "debugging" information and should be levelled higher than debugging info. |
All of your points are well stated but I'm not convinced poor network performance should be logged to the console. Nor am I convinced setting a debug level is an undue burden. I opened this issue to clean up the very annoying and inappropriate voter timeout messages. Adding what would be another annoying message is going the wrong direction. I believe a better approach would be to have an Asterisk CLI command similar to |
Log Voter Client
-- Voter client OatMtn disconnect (timeout)
message with a NOTICE status.The text was updated successfully, but these errors were encountered: