diff --git a/archive-sources/FritzCallMonitor/FritzInfoMonitor/connect.cpp b/archive-sources/FritzCallMonitor/FritzInfoMonitor/connect.cpp index 21a5e4b4..e4128e21 100644 --- a/archive-sources/FritzCallMonitor/FritzInfoMonitor/connect.cpp +++ b/archive-sources/FritzCallMonitor/FritzInfoMonitor/connect.cpp @@ -581,7 +581,7 @@ int CConnect::get_query_logic(const char *sid, int logic) log(1,"%s()\n", __FUNCTION__); url << cpars->getFritzAdr() << "/query.lua?sid=" << sid - << "&ver=logic:status/nspver"; + << "&ver=uimodlogic:status/nspver"; //Firmware > 06.9 string s = post2fritz(url.str().c_str(), ""); string res = cpars->parseString("ver", s); @@ -593,9 +593,25 @@ int CConnect::get_query_logic(const char *sid, int logic) query_logic = 3; return (query_logic); } - else { - return (get_OLDquery_logic(sid, logic)); + else + { + url.str(""); + url << cpars->getFritzAdr() << "/query.lua?sid=" << sid + << "&ver=logic:status/nspver"; //Firmware < 06.9 + + s = post2fritz(url.str().c_str(), ""); + res = cpars->parseString("ver", s); + + if(!res.empty() && (pos = res.find('.')) != string::npos) + { + log(0,"Firmwareversion (%s)\n", res.c_str()); + cpars->setNspver(res); + query_logic = 3; + return (query_logic); + } } + + return (get_OLDquery_logic(sid, logic)); } int CConnect::get_OLDquery_logic(const char *sid, int logic) diff --git a/archive-sources/FritzCallMonitor/FritzInfoMonitor/globals.h b/archive-sources/FritzCallMonitor/FritzInfoMonitor/globals.h index 38a4a5a2..354bfb59 100644 --- a/archive-sources/FritzCallMonitor/FritzInfoMonitor/globals.h +++ b/archive-sources/FritzCallMonitor/FritzInfoMonitor/globals.h @@ -12,7 +12,7 @@ #define CONFIGFILE "/var/tuxbox/config/FritzCallMonitor.cfg" #define BASENAME "FIM" -#define VERSION "V4.3" +#define VERSION "V4.4" #define COPYR "2011 (c) FlatTV" /* rc codes */