sm0svx / svxlink

Advanced repeater system software with EchoLink support for Linux including a GUI, Qtel - the Qt EchoLink client
http://svxlink.org/
Other
435 stars 173 forks source link

ModuleEchoLink Problem with Description #118

Open najdanovicivan opened 9 years ago

najdanovicivan commented 9 years ago

No matter what I set in ModuleEchoLink.conf I cannot get description to display properly. I noticed that if I am connected from my iPhone and restart the SvxLink server the description appear for a couple of seconds. After that it changes to the following with list of connected stations:

SvxLink 1.4.0 - YU1INO-R (1)

YU1INO-R Radio Klub Pirot .......

Is there any way to add config that will disable this feature or even better concatenate the text with the description inside the config file ?

sm0svx commented 9 years ago

Unfortunately I think that there is a bug in the EchoLink protocol implementation in SvxLink that make the station list overwrite the description. The EchoLink protocols are not documented and the source code is not available so some work is required to analyze the protocols. Help with this would be very welcome. Wireshark would probably be the tool to use to analyze the protocol.

Another approch is to simply contact the EchoLink developer and ask for documentation or release of the source code for the protocol implementation.

najdanovicivan commented 9 years ago

I've sent an email to the EchoLink developers, and I still got no response. I find where the "SvxLink 1.4.0 - YU1INO-R (1)" is generated in code, I'll am currently recompiling the source, I'll post again once I check it out.

najdanovicivan commented 9 years ago

I've managed to create a fix for this. I've changed the line 1448 inside ModuleEchoLink.cpp inside void ModuleEchoLink::broadcastTalkerStatus(void) function to:

msg << description << "\n" << "SvxLink " << SVXLINK_VERSION << " - " << mycall << " (" << numConnectedStations() << ")\n\n";

Looking here the branding can also be removed or changed to anything. In my case I've changed it to msg << description << "\n" << "Powered by SvxLink " << "\n" << "Connected Stations:" << numConnectedStations() << "\n";

najdanovicivan commented 9 years ago

I've noticed another bug inside the ModuleEchoLink.cpp. There is problem with the connected stations counter when Location info is generated. Not needed blank space is added in between the Location and Count. I have modified the following method:

void ModuleEchoLink::updateDescription(void) { if (max_qsos < 2) { return; }

string desc(location); if (numConnectedStations() > 0) { stringstream sstr; sstr << " (" << numConnectedStations() << ")";

This if is added to check if size is bigger than max value, so that blank chars are not added in bettween

if ((sstr.str().size() + desc.size()) > Directory::MAX_DESCRIPTION_SIZE)
{
    desc.resize(Directory::MAX_DESCRIPTION_SIZE - sstr.str().size(), ' ');
}
desc += sstr.str();

}

dir->setDescription(desc); dir->refreshRegistration();

} /* ModuleEchoLink::updateDescription */

sm0svx commented 9 years ago

I think more analysis is needed for what the correct way to handle this is. We may just change one misbehaviour to another.

najdanovicivan commented 9 years ago

Of course it should be analyzed. I needed a quick fix so I modified it that way. I've been using the SvxLink application with this modification for a couple of days. I haven't noticed any misbehavior for now. I'll keep you posted if something strange start happening.

jdcort commented 8 years ago

Hello, can you please provide the path to ModuleEchoLink.cpp ?? can't find it anywhere... Is there also another fix available for this issue? any updates or something?

najdanovicivan commented 8 years ago

File is located here: https://github.com/sm0svx/svxlink/tree/master/src/svxlink/modules/echolink You will have to compile svxlink from source after the modification

jdcort commented 8 years ago

"You will have to compile svxlink from source after the modification" can you please provide details of how to do that? i thought the file was located somewhere inside the current setup... i 'm not sure how to do what you propose... if it's no big deal please let me know with some steps in detail. Thanks in advance! and sorry to bother you!

najdanovicivan commented 8 years ago

https://github.com/sm0svx/svxlink/wiki/InstallationInstructions Take a look at section "Installation from source"

jdcort commented 8 years ago

thanks for fast reply! I think i remember the procedure now, just one last question... when the same steps and recompile will be done, will the current setup of svxlink be lost? I'm saying this because it will use the same folders to recompile...

najdanovicivan commented 8 years ago

It shoud not overwrite config files, but you should make backup in order to be safe

mathieubourassa commented 5 years ago

@sm0svx , if you are interested, I have a capture file from Wireshark from a PC running Echolink in Sysop mode with a client (Me on a phone on LTE). I have apply a filter to have only the EchoLink Ports (5198, 5199 and 5200) and I can see my station description in few raw data

sm0svx commented 5 years ago

That would be the way to go but couldn't you make a recording of a session between SvxLink and your phone then compare them to see what differs?

dandex3 commented 1 year ago

Is there any solution for the missing description at the moment?