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.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 013a79a..d85d05c 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -1396,7 +1396,12 @@ bool TrySip200Ok(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader,
Sip200OkInfoRef info(new Sip200OkInfo());
- char* callIdField = memFindAfter("\r\ni:", (char*)udpPayload, sipEnd);
+ char* callIdField = memFindAfter("Call-ID:", (char*)udpPayload, sipEnd);
+ if(!callIdField)
+ {
+ callIdField = memFindAfter("\ni:", (char*)udpPayload, sipEnd);
+ }
+
char* audioField = NULL;
char* connectionAddressField = NULL;
@@ -1410,16 +1415,16 @@ bool TrySip200Ok(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader,
{
info->m_hasSdp = true;
- GrabToken(audioField, sipEnd, info->m_fromRtpPort);
+ GrabToken(audioField, sipEnd, info->m_mediaPort);
CStdString connectionAddress;
GrabToken(connectionAddressField, sipEnd, connectionAddress);
- struct in_addr fromIp;
+ struct in_addr mediaIp;
if(connectionAddress.size())
{
- if(ACE_OS::inet_aton((PCSTR)connectionAddress, &fromIp))
+ if(ACE_OS::inet_aton((PCSTR)connectionAddress, &mediaIp))
{
- info->m_fromRtpIp = fromIp;
+ info->m_mediaIp = mediaIp;
}
}
}