summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.h
AgeCommit message (Collapse)Author
2009-07-16Switched from custom Trim() function to CStdString Trim()Gerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@626 09dcff7a-b715-0410-9601-b79a96267cd0
2009-07-10Implemented a localpartymap feature whereby a local party value may be ↵Gerald Begumisa
swapped for another value. To use this feature, the mappings should be added to a file called localpartymap.csv, placed in /etc/orkaudio or in the directory where the orkaudio executable is. The format of localpartymap.csv should be oldlocalparty, newlocalparty - with only one mapping entry per line. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@625 09dcff7a-b715-0410-9601-b79a96267cd0
2009-06-23Added SipDirectionReferenceUserAgents VoIp config parameter. Any SIP INVITE ↵Henri Herscher
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
2009-05-15Added support for setting the SIP request URI as local party. If the SIP ↵Gerald Begumisa
request URI differs from the SIP URI in the "To:" header field, then the local party is set to the SIP request URI, remote party to the "From:" header field, direction to "in", Local entry point to the "To:" header field. This behaviour may be turned off by setting the configuration parameter SipRequestUriAsLocalParty to "false" under the VoIpPlugin section of config.xml. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@611 09dcff7a-b715-0410-9601-b79a96267cd0
2009-03-02Modified the record command to return the orkuid for the ongoing call which ↵Gerald Begumisa
matches git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@606 09dcff7a-b715-0410-9601-b79a96267cd0
2009-01-21VoIP plugin has been updated with a new configuration parameter, ↵Gerald Begumisa
SipReportNamesAsTags, to be configured under the VoIpPlugin section of config.xml. When set to 'true', the SIP from: and to: names are extracted and reported as tags. The tag keys used are localname and remotename which correspond to the respective localparty and remoteparty values which are already reported. These tags may, therefore, be used when providing custom names to recordings. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@597 09dcff7a-b715-0410-9601-b79a96267cd0
2009-01-07Modified the orkaudio API, adding the record and pause HTTP commands. The ↵Gerald Begumisa
record command commences or un-pauses recording while the pause command pauses recording - discarding RTP packets from when the pause command is issued. Both commands require the orkuid and party to be specified as HTTP parameters. Note that this represents a change in the arguments required for the StartCapture function in DLLs. Also added an event streaming feature which streams out all tape messages as they are reported in real-time to a client connected. Clients should connect via HTTP, on port 59150. The port is configurable by setting the parameter EventStreamingServerPort in config.xml git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@590 09dcff7a-b715-0410-9601-b79a96267cd0
2008-12-10Added SipIgnoreBye configuration parameter. Improved BYE logging and made ↵Henri Herscher
sure 200 OK is only logged in the INFO level if it has valid SDP (otherwise DEBUG). git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@586 09dcff7a-b715-0410-9601-b79a96267cd0
2008-10-09Added RTCP support. Key functionality is the ability to set the local party ↵Gerald Begumisa
basing on the RTCP SDES information. A new configuration parameter, RtcpDetect, has been added. To enable RTCP, set RtcpDetect to true. This configuration should be done under the VoIpPlugin section of config.xml. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@562 09dcff7a-b715-0410-9601-b79a96267cd0
2008-08-27A new configuration parameter, SipDetectSessionProgress, has been added. ↵Gerald Begumisa
This parameter defaults to "true" and should be configured under the VoIpPlugin section of config.xml if it needs to be turned off. With this parameter set to "true", the SIP Session Progress message (SIP/2.0 183 Session Progress) is detected. The SDP in the message is used to force media address change on the session. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@557 09dcff7a-b715-0410-9601-b79a96267cd0
2008-07-17Added SkinnyCallInfoStopsPrevious config parameter. This allows a new ↵Henri Herscher
CallInfo to stop the previous session on the same Skinny endpoint and line instance. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@552 09dcff7a-b715-0410-9601-b79a96267cd0
2008-07-01A new configuration parameter, SkinnyNameAsLocalParty, has been added for ↵Gerald Begumisa
the VoIpConfig section in config.xml. When this parameter is set to true, the local party is reported as a name and not telephone number, where available in Skinny sessions. Another configuration parameter, SkinnyReportTags, has been added for the VoIpConfig section in config.xml. This parameter should be populated with a comma-separated list of Skinny variables to report. Initially supported values are 'localpartyname' and 'callmanager'. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@549 09dcff7a-b715-0410-9601-b79a96267cd0
2008-05-28Made sure RTP IP address is tracked by RtpSession at every point in time.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@540 09dcff7a-b715-0410-9601-b79a96267cd0
2008-05-09Added new configuration parameter SipDirectionRefenceIpAddresses. This ↵Gerald Begumisa
should be configured with a comma-delimited list of IP addresses under the VoIpPlugin section of config.xml. So if the IP address of the sender of the SIP INVITE message matches any of the IPs in this list, the direction of the session is set to "in" git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@538 09dcff7a-b715-0410-9601-b79a96267cd0
2008-05-08Adjusted the Skinny plugin to cater for situations where ↵Gerald Begumisa
OpenReceiveChannelAck and StartMediaTransmission may be sent before the CallInfoMessage. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@537 09dcff7a-b715-0410-9601-b79a96267cd0
2008-03-06Changed the way direction is determined while recording SIP-based VoIP ↵Gerald Begumisa
sessions. A new configuration parameter, SipDomains, has been created and should be set under the VoIpPlugin section in config.xml. This parameter should contain a comma separated list of domains. So, if the domain of the SIP "from" URI matches any entry in this list, direction is set to "out". If the domain of the SIP "to" URI matches any entry in this list, direction is set to "in". If both domains of the "from" and "to" URIs match entries in this list, direction is set to "out" which is also the default case. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@527 09dcff7a-b715-0410-9601-b79a96267cd0
2007-11-26Improved SIP error packet logging to include information from the session's ↵Gerald Begumisa
INVITE where possible git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@510 09dcff7a-b715-0410-9601-b79a96267cd0
2007-11-16Added support to 200 OK packets in the same fashion as INVITE packetsGerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@507 09dcff7a-b715-0410-9601-b79a96267cd0
2007-11-07Capture port is now set as the three letters tracking ID in VoIP plugin ↵Henri Herscher
instead of media address. This is because of problems with dynamic media addreses. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@504 09dcff7a-b715-0410-9601-b79a96267cd0
2007-09-28Adjustment to solve a potential performance problem that could arise from ↵Gerald Begumisa
the load toll associated with repeated string comparison git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@498 09dcff7a-b715-0410-9601-b79a96267cd0
2007-09-21Added support to report RTP events in SIP sessionsGerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@494 09dcff7a-b715-0410-9601-b79a96267cd0
2007-09-19Added SipUse200OkMediaAddress configuration switch. If enabled, SIP 200 OK ↵Henri Herscher
SDP media address prevails over INVITE SDP media address. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@492 09dcff7a-b715-0410-9601-b79a96267cd0
2007-08-24Added support for SIP 200 OK message with ability to adjust the session RTP ↵Gerald Begumisa
IP address and port if NAT is detected git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@474 09dcff7a-b715-0410-9601-b79a96267cd0
2007-08-23Added on-hold support for SIP sessionsGerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@472 09dcff7a-b715-0410-9601-b79a96267cd0
2007-08-10Changed the method of logging failed calls so that the failed calls are ↵Gerald Begumisa
associated with a session git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@463 09dcff7a-b715-0410-9601-b79a96267cd0
2007-08-07Added possibility to log failed SIP calls (SIP CANCEL or SIP INVITE with ↵Henri Herscher
4xx, 5xx or 6xx error code) using SipLogFailedCalls config parameter. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@462 09dcff7a-b715-0410-9601-b79a96267cd0
2007-07-30Added non-lookback recording mode.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@458 09dcff7a-b715-0410-9601-b79a96267cd0
2007-06-20Session info updating based on Skinny CallInfoMessage updates is now ↵Henri Herscher
configurable. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@449 09dcff7a-b715-0410-9601-b79a96267cd0
2007-06-131. Skinny sessions can not change CallId anymore (CallId used to change to ↵Henri Herscher
passThruPartyId when startMediaTransmission was received). 2. StartMediaTransmission and OpenReceiveChannelAck are now associated to the most recent CallInfo. 3. StopMediaTransmission is now dismissed if passThruPartyId does not match. 4. Skinny sessions can now have dynamic media address when <SkinnyDynamicMediaAddress> is set to true. 5. Skinny Hold and Resume now associated to sessions on the basis of CallID. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@448 09dcff7a-b715-0410-9601-b79a96267cd0
2007-06-12Added support for a configuration value, UseMacIfNoLocalParty, which sets ↵Gerald Begumisa
the local party to the MAC address, instead of the IP address, if local party is not present from signalling information git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@446 09dcff7a-b715-0410-9601-b79a96267cd0
2007-06-01Further work on the Skinny on-hold handling.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@442 09dcff7a-b715-0410-9601-b79a96267cd0
2007-05-30Fix for correct Skinny on-hold handling. Now, only one recording is created ↵Gerald Begumisa
when an endpoint goes on hold then returns. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@441 09dcff7a-b715-0410-9601-b79a96267cd0
2007-04-13SIP field extraction now functional.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@437 09dcff7a-b715-0410-9601-b79a96267cd0
2006-12-28SIP Session metadata can now be updated when a new RTP stream is seen that ↵Henri Herscher
matches one of the INVITE messages associated with the session. When this happens, a new tape message with stage=update is generated with the updated metadata. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@381 09dcff7a-b715-0410-9601-b79a96267cd0
2006-12-271. Subsequent SIP INVITES that could be associated to an existing session ↵Henri Herscher
now disregarded because they could be disrupting valid sessions. We need to store the new INVITES and only use them when they are validated by a matching RTP stream. 2. New RTP streams are now logged within one session by the VoIP plugin. 3. Added a Debug config boolean that has the trackingId alpha counter reset to 0 (AAA) when enabled. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@380 09dcff7a-b715-0410-9601-b79a96267cd0
2006-12-12RTP sessions now check the destination IP address of a packet to determine ↵Henri Herscher
whether it's side 1. This allows incoming PSTN calls transferred to various IP endpoints to be recorded as one session under two conditions: 1. There is no signalling for the second and subsequent segments and 2. the first RTP packet is sent from an internal endpoint to the PSTN gateway, see remark (1) in RtpSession.cpp. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@370 09dcff7a-b715-0410-9601-b79a96267cd0
2006-12-12Now possible to split RTP sessions based on timestamp and sequence number ↵Henri Herscher
discontinuity. This is disabled by default and can be enabled using the <RtpDiscontinuityDetect> config.xml boolean parameter. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@369 09dcff7a-b715-0410-9601-b79a96267cd0
2006-11-21Now logging whether a session has seen duplicate RTP traffic and the maximum ↵Henri Herscher
delta in sequence number seen during the capture (logged at session stop). git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@356 09dcff7a-b715-0410-9601-b79a96267cd0
2006-10-11There is now an orkaudio wide tracking ID for recording sessions. All ↵Henri Herscher
logging related to a recording session includes this tracking ID. The recording file name now uses this tracking ID instead of the "port" name which used to be IP+TcpPort of one endpoint. Also introduced the notion of OrkUid which is an unique identifier based on timestamp + tracking ID. OrkUid is not yet reported to orktrack. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@342 09dcff7a-b715-0410-9601-b79a96267cd0
2006-08-01Applying changeset 269 from 0.5 to trunk:Henri Herscher
Can now get local party info from the Skinny LineStatMessage. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@320 09dcff7a-b715-0410-9601-b79a96267cd0
2006-08-01Applying changeset 266 from 0.5 to trunk:Henri Herscher
Removed the unused old RTP mixer from the VoIp.dll git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@319 09dcff7a-b715-0410-9601-b79a96267cd0
2006-08-01Applying changeset 0.5 263:Henri Herscher
* Redundant RTP packets are now detected and discarded, on the basis of RTP timestamp. * RTP timestamp corrective delta now unsigned int in case it is bigger than 2^31, also using another boolean variable for sign. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@316 09dcff7a-b715-0410-9601-b79a96267cd0
2006-06-05RTP session capturePort is now allways aligned with ipAndPort so as to avoid ↵Henri Herscher
the possibility of having two concurrent RTP sessions for one OrkAudio capture port. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@246 09dcff7a-b715-0410-9601-b79a96267cd0
2006-05-26RTP timestamp corrective delta is now always applied because in some cases, ↵Henri Herscher
it produced garbled output on one side of the conversation. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@242 09dcff7a-b715-0410-9601-b79a96267cd0
2006-04-25Improved skinny signalling detection by taking OpenReceiveChannelAck Skinny ↵Henri Herscher
messages into account. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@222 09dcff7a-b715-0410-9601-b79a96267cd0
2006-04-14OrkAudio now reports local and remote IP addresses for each tape when the ↵Henri Herscher
voip plugin is used. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@217 09dcff7a-b715-0410-9601-b79a96267cd0
2006-04-08* Added allowed and blocked CIDR IP address rangesHenri Herscher
* Fixed SIP to: field detection issue * Fixed SIP multiple invite issue * replaced sleep by nanosleep * Improved logging git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@212 09dcff7a-b715-0410-9601-b79a96267cd0
2006-03-28Improved initializationHenri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@202 09dcff7a-b715-0410-9601-b79a96267cd0
2006-02-28Skinny StartMedia is now associated to CallInfo based on IP address of the ↵Henri Herscher
endpoint when the StartMedia conference ID is null - additionally, SIP "INVITE" string and "BYE" string are now strcmp'ed for the full string (avoid SIP false positive). git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@187 09dcff7a-b715-0410-9601-b79a96267cd0
2006-02-03Duplicate SIP invites now disregarded so that sessions do not stop ↵Henri Herscher
spuriously. Also when a pcap file is replayed, all RTP sessions are now closed before the thread ends so as to avoid hanging RTP sessions. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@156 09dcff7a-b715-0410-9601-b79a96267cd0