diff options
author | Henri Herscher <henri@oreka.org> | 2009-06-23 21:22:57 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2009-06-23 21:22:57 +0000 |
commit | 37af020b54aea14ebb12cfe5aafd612c10e23214 (patch) | |
tree | 7a144cabe66488d1b44194d72af8fef30035310c /orkaudio/audiocaptureplugins/voip/VoIp.cpp | |
parent | 79bc58f84cecf79b2f451f4488adb4460b0f0d92 (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.cpp | 5 |
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); |