|
|
@ -670,10 +670,13 @@ void CYSFGateway::processDTMF(unsigned char* buffer, unsigned char dt)
|
|
|
|
case WXS_CONNECT_FCS: {
|
|
|
|
case WXS_CONNECT_FCS: {
|
|
|
|
std::string raw = m_dtmf.getReflector();
|
|
|
|
std::string raw = m_dtmf.getReflector();
|
|
|
|
std::string id = "FCS00";
|
|
|
|
std::string id = "FCS00";
|
|
|
|
|
|
|
|
std::string idShort = "FCS";
|
|
|
|
if (raw.length() == 2U) {
|
|
|
|
if (raw.length() == 2U) {
|
|
|
|
id += raw.at(0U) + std::string("0") + raw.at(1U);
|
|
|
|
id += raw.at(0U) + std::string("0") + raw.at(1U);
|
|
|
|
} else if (raw.length() == 3U) {
|
|
|
|
} else if (raw.length() == 3U) {
|
|
|
|
id += raw;
|
|
|
|
id += raw;
|
|
|
|
|
|
|
|
} else if (raw.length() == 5U) {
|
|
|
|
|
|
|
|
idShort += raw;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
LogWarning("Nonsense from the DTMF decoder - \"%s\"", raw.c_str());
|
|
|
|
LogWarning("Nonsense from the DTMF decoder - \"%s\"", raw.c_str());
|
|
|
|
return;
|
|
|
|
return;
|
|
|
@ -900,8 +903,11 @@ void CYSFGateway::processRemoteCommands()
|
|
|
|
} else if (::memcmp(buffer + 0U, "LinkFCS", 7U) == 0) {
|
|
|
|
} else if (::memcmp(buffer + 0U, "LinkFCS", 7U) == 0) {
|
|
|
|
std::string raw = std::string((char*)(buffer + 7U));
|
|
|
|
std::string raw = std::string((char*)(buffer + 7U));
|
|
|
|
std::string id = "FCS00";
|
|
|
|
std::string id = "FCS00";
|
|
|
|
|
|
|
|
std::string idShort = "FCS";
|
|
|
|
if (raw.length() == 3U) {
|
|
|
|
if (raw.length() == 3U) {
|
|
|
|
id += raw;
|
|
|
|
id += raw;
|
|
|
|
|
|
|
|
if (raw.length() == 5U) {
|
|
|
|
|
|
|
|
idShort += raw;
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
LogWarning("Invalid FCS reflector id - \"%s\"", raw.c_str());
|
|
|
|
LogWarning("Invalid FCS reflector id - \"%s\"", raw.c_str());
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|