summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/VoIp.cpp
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2009-06-23 21:22:57 +0000
committerHenri Herscher <henri@oreka.org>2009-06-23 21:22:57 +0000
commit37af020b54aea14ebb12cfe5aafd612c10e23214 (patch)
tree7a144cabe66488d1b44194d72af8fef30035310c /orkaudio/audiocaptureplugins/voip/VoIp.cpp
parent79bc58f84cecf79b2f451f4488adb4460b0f0d92 (diff)
Added SipDirectionReferenceUserAgents VoIp config parameter. Any SIP INVITE with User Agent field matching an entry in this list will be considered incoming. Populated by default with "Asterisk".
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@624 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/voip/VoIp.cpp')
-rw-r--r--orkaudio/audiocaptureplugins/voip/VoIp.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/orkaudio/audiocaptureplugins/voip/VoIp.cpp b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
index 8c45c51..aa0d811 100644
--- a/orkaudio/audiocaptureplugins/voip/VoIp.cpp
+++ b/orkaudio/audiocaptureplugins/voip/VoIp.cpp
@@ -2082,6 +2082,7 @@ bool TrySipInvite(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader
char* connectionAddressField = NULL;
char* attribSendonly = memFindAfter("a=sendonly", (char*)udpPayload, sipEnd);
char* rtpmapAttribute = memFindAfter("\na=rtpmap:", (char*)udpPayload, sipEnd);
+ char* userAgentField = memFindAfter("\nUser-Agent:", (char*)udpPayload, sipEnd);
if(DLLCONFIG.m_sipRequestUriAsLocalParty == true)
{
@@ -2217,6 +2218,10 @@ bool TrySipInvite(EthernetHeaderStruct* ethernetHeader, IpHeaderStruct* ipHeader
info->m_from = localExtension;
}
}
+ if(userAgentField)
+ {
+ GrabTokenSkipLeadingWhitespaces(userAgentField, sipEnd, info->m_userAgent);
+ }
if(audioField)
{
GrabToken(audioField, sipEnd, info->m_fromRtpPort);