summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/VoIp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 1be3b25..77a9dc6 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -366,6 +366,7 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
SkStopMediaTransmissionStruct* stopMedia;
SkCallInfoStruct* callInfo;
SkOpenReceiveChannelAckStruct* openReceiveAck;
+ SkLineStatStruct* lineStat;
char szEndpointIp[16];
struct in_addr endpointIp = ipHeader->ip_dest; // most of the interesting skinny messages are CCM -> phone
@@ -435,6 +436,24 @@ void HandleSkinnyMessage(SkinnyHeaderStruct* skinnyHeader, IpHeaderStruct* ipHea
LOG4CXX_WARN(s_skinnyPacketLog, "Invalid OpenReceiveChannelAck.");
}
break;
+ case SkLineStatMessage:
+ lineStat = (SkLineStatStruct*)skinnyHeader;
+ if(SkinnyValidateLineStat(lineStat))
+ {
+ if(s_skinnyPacketLog->isInfoEnabled())
+ {
+ logMsg.Format(" line:%u extension:%s display name:%s", lineStat->lineNumber, lineStat->lineDirNumber, lineStat->displayName);
+ }
+ endpointIp = ipHeader->ip_dest; // this skinny message is CCM -> phone
+ RtpSessionsSingleton::instance()->ReportSkinnyLineStat(lineStat, ipHeader);
+ }
+ else
+ {
+ useful = false;
+ LOG4CXX_WARN(s_skinnyPacketLog, "Invalid LineStatMessage.");
+ }
+
+ break;
default:
useful = false;
}