|
|
|
@ -295,38 +295,35 @@ void* DiagNetwork::threadedNetworkRx(void* arg)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer
|
|
|
|
else if (req->fneHeader.getSubFunction() == NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS) { // Peer Status Transfer
|
|
|
|
// report peer status to InfluxDB
|
|
|
|
if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) {
|
|
|
|
if (network->m_enableInfluxDB) {
|
|
|
|
FNEPeerConnection* connection = network->m_peers[peerId];
|
|
|
|
if (peerId > 0 && (network->m_peers.find(peerId) != network->m_peers.end())) {
|
|
|
|
if (connection != nullptr) {
|
|
|
|
FNEPeerConnection* connection = network->m_peers[peerId];
|
|
|
|
std::string ip = udp::Socket::address(req->address);
|
|
|
|
if (connection != nullptr) {
|
|
|
|
|
|
|
|
std::string ip = udp::Socket::address(req->address);
|
|
|
|
// validate peer (simple validation really)
|
|
|
|
|
|
|
|
if (connection->connected() && connection->address() == ip) {
|
|
|
|
// validate peer (simple validation really)
|
|
|
|
if (network->m_peers.size() > 0U) {
|
|
|
|
if (connection->connected() && connection->address() == ip) {
|
|
|
|
for (auto peer : network->m_peers) {
|
|
|
|
if (network->m_peers.size() > 0U) {
|
|
|
|
if (peer.second != nullptr) {
|
|
|
|
for (auto peer : network->m_peers) {
|
|
|
|
if (peer.second->isSysView()) {
|
|
|
|
if (peer.second != nullptr) {
|
|
|
|
uint32_t peerStreamId = peer.second->currStreamId();
|
|
|
|
if (peer.second->isSysView()) {
|
|
|
|
if (streamId == 0U) {
|
|
|
|
uint32_t peerStreamId = peer.second->currStreamId();
|
|
|
|
streamId = peerStreamId;
|
|
|
|
if (streamId == 0U) {
|
|
|
|
|
|
|
|
streamId = peerStreamId;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
sockaddr_storage addr = peer.second->socketStorage();
|
|
|
|
|
|
|
|
uint32_t addrLen = peer.second->sockStorageLen();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
network->m_frameQueue->write(req->buffer, req->length, streamId, peerId, network->m_peerId,
|
|
|
|
|
|
|
|
{ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS }, RTP_END_OF_CALL_SEQ, addr, addrLen);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
sockaddr_storage addr = peer.second->socketStorage();
|
|
|
|
continue;
|
|
|
|
uint32_t addrLen = peer.second->sockStorageLen();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
network->m_frameQueue->write(req->buffer, req->length, streamId, peerId, network->m_peerId,
|
|
|
|
|
|
|
|
{ NET_FUNC::TRANSFER, NET_SUBFUNC::TRANSFER_SUBFUNC_STATUS }, RTP_END_OF_CALL_SEQ, addr, addrLen);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else {
|
|
|
|
}
|
|
|
|
network->writePeerNAK(peerId, TAG_TRANSFER_STATUS, NET_CONN_NAK_FNE_UNAUTHORIZED);
|
|
|
|
else {
|
|
|
|
}
|
|
|
|
network->writePeerNAK(peerId, TAG_TRANSFER_STATUS, NET_CONN_NAK_FNE_UNAUTHORIZED);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|