summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/voip/RtpSession.cpp
AgeCommit message (Collapse)Author
2009-12-03Merge branch 'master' into autotoolsautotoolsTzafrir Cohen
* Re-fixing build issues * add messages/InitMsg.h to be installed as well.
2009-11-24Added SkinnyAllowMediaAddressTransfer configuration parameter. Default is ↵henrih
false. When set, any new Skinny session can take the media address from an old session, even if the old session already has received RTP. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@655 09dcff7a-b715-0410-9601-b79a96267cd0
2009-11-24When SetMediaAddress() takes a media address from an older session, let the ↵henrih
older session go into timeout rather than stop is straight away. This is useful for skinny internal calls where media address back and forth must not kill sessions with the best metadata. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@653 09dcff7a-b715-0410-9601-b79a96267cd0
2009-11-20Fixed bug where m_skinnyLastCallInfoTime is not set when the session is ↵beg_g
first created in ReportSkinnyCallInfo git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@652 09dcff7a-b715-0410-9601-b79a96267cd0
2009-11-06Fixed garbled or missing audio when multiple RTP streams are seen in a ↵henrih
single session. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@651 09dcff7a-b715-0410-9601-b79a96267cd0
2009-10-27Modified the VoIP plugin to support the cases where Skinny CallInfo is sent ↵beg_g
without corresponding StartMediaTransmission or OpenReceiveChannelAck messages. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@650 09dcff7a-b715-0410-9601-b79a96267cd0
2009-10-22Multiple corrections to code to suppress gcc warnings - identified by ↵beg_g
Tzafrir Cohen. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@649 09dcff7a-b715-0410-9601-b79a96267cd0
2009-10-19Added support for the SIP response "302 Moved Temporarily". The way this ↵beg_g
works is that the "Contact" header is mapped to the "To" header such that a subsequent INVITE based on the "302 Moved Temporarily" response shall have the correct remote party parameter. This functionality is by default enabled and can be disabled by setting the parameter Sip302MovedTemporarilySupport to 'false'. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@647 09dcff7a-b715-0410-9601-b79a96267cd0
2009-10-04fixed build warnings in orkaudioTzafrir Cohen
2009-09-15Added new config.xml parameter RtpTrackByUdpPortOnly, which when set to ↵Gerald Begumisa
true, causes the media address to be computed as to contain only the Udp port specified. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@641 09dcff7a-b715-0410-9601-b79a96267cd0
2009-09-08Modified the skinny code so that when CallInfo is received for a call which ↵Gerald Begumisa
has been forwarded, we use the endpoint extension as the local party, and set the local entry point to the local party which would have been extracted from the CallInfo for an ordinary (non-forwarded) call. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@640 09dcff7a-b715-0410-9601-b79a96267cd0
2009-09-02Adjusted recording strategy for Asterisk-DAHDI channels, to now obtain the ↵Gerald Begumisa
remote party from the SIP BYE, as opposed to the INVITE as was originally the case. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@639 09dcff7a-b715-0410-9601-b79a96267cd0
2009-08-20Initialized m_onDemand variableGerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@637 09dcff7a-b715-0410-9601-b79a96267cd0
2009-08-20Added a parameter to the tape message called "ondemand". This parameter is ↵Gerald Begumisa
reported to orktrack. When a recording has been started by the API, instead of automatically, this parameter is set to 'true'. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@636 09dcff7a-b715-0410-9601-b79a96267cd0
2009-08-18Added support for recording of Asterisk-DAHDI channels using Xorcom's ↵Gerald Begumisa
Asterisk patch. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@635 09dcff7a-b715-0410-9601-b79a96267cd0
2009-08-14Bug fix in the StopCapture code, where Stop() is called on a NULL sessionGerald Begumisa
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@634 09dcff7a-b715-0410-9601-b79a96267cd0
2009-08-14Modified the orkaudio API for StartCapture and PauseCapture to carry out ↵Gerald Begumisa
their respective operations when the nativecallid is supplied. Added a new API, StopCapture, which causes a session to stop when any of the party, orkuid or nativecallid is provided as a parameter. This API is different from the PauseCapture API in the sense that it actually causes a session to stop and the WAV file is produced. After calling StopCapture, the session cannot be re-started with the StartCapture API (record). git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@633 09dcff7a-b715-0410-9601-b79a96267cd0
2009-07-20Abstracted media address crafting and session lookup by media address so ↵Henri Herscher
that it is easily possible to change the way the media address is generated. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@629 09dcff7a-b715-0410-9601-b79a96267cd0
2009-07-16Any media address setting or change now goes through SetMediaAddress().Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@628 09dcff7a-b715-0410-9601-b79a96267cd0
2009-07-16Fixed replay problem where some sessions would not get stopped at the end of ↵Henri Herscher
replay. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@627 09dcff7a-b715-0410-9601-b79a96267cd0
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-06-22Added LocalPartyUseName configuration parameter.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@623 09dcff7a-b715-0410-9601-b79a96267cd0
2009-06-11Added PartiesUseName configuration parameter so that it is possible to ↵Henri Herscher
report name instead of number for local and remote parties. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@622 09dcff7a-b715-0410-9601-b79a96267cd0
2009-05-28And old session with signalling is now stopped when it had no RTP packets ↵Henri Herscher
and a new session on the same RTP address comes in. Previously, the older session would prevail. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@617 09dcff7a-b715-0410-9601-b79a96267cd0
2009-05-28SIP INVITE advertising an RTP address matching an existing session (with a ↵Henri Herscher
different SIP Call ID) will now result in the existing session being stopped and a new session being created. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@616 09dcff7a-b715-0410-9601-b79a96267cd0
2009-05-15Further to the enhancement of revision 611, corrected minor bug for the ↵Gerald Begumisa
Outgoing calls case. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@612 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-02-06RTP DTMF Events (out of band) logging improvements.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@602 09dcff7a-b715-0410-9601-b79a96267cd0
2009-01-23Added configuration parameter, MediaAddressBlockedIpRanges for the ↵Gerald Begumisa
VoIpPlugin. This is used to control the IP ranges which get associated with a recording session. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@598 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-20Corrected typo in configuration parameter: SipDirectionRefenceIpAddresses ↵Henri Herscher
becomes SipDirectionReferenceIpAddresses. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@596 09dcff7a-b715-0410-9601-b79a96267cd0
2009-01-18session m_lastUpdated timestamp is now updated when going off hold so that ↵Henri Herscher
the session does not expire immediately because of hold RTP inactivity. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@595 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-12-09SipDynamicMediaAddress now also forces session media address update on ↵Henri Herscher
reception of SIP 200OK with valid SDP. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@585 09dcff7a-b715-0410-9601-b79a96267cd0
2008-10-24SIP sessions are not inserted in ipAndPort media address map anymore when ↵Henri Herscher
RTP port is zero (happened when INVITE does not have SDP). This is so that subsequent SDP messages can have a chance to set the session media address to a valid value and allow it to catch RTP. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@566 09dcff7a-b715-0410-9601-b79a96267cd0
2008-10-14Fixed RTCP detection and I3 Interactive Intelligence mode (InInMode) ↵Henri Herscher
compilation under Windows. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@563 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-09-10Changed the way DTMF events are tracked, to know the position where the ↵Gerald Begumisa
place them in the .wav file. Instead, the position is indicated as an offset in milliseconds from the time the recording started. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@558 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-22RTP activity now only puts a session off hold when there's been at least one ↵Henri Herscher
second of RTP inactivity first. This is so that leftover RTP packets received after hold has been pressed do not put the session back off hold. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@553 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-06-13RTP stream start and expiry logging now includes host timestamps.Henri Herscher
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@547 09dcff7a-b715-0410-9601-b79a96267cd0
2008-06-13Made sure that sessions having already received their CallInfo message would ↵Henri Herscher
not accept another CallInfo message in late CallInfo mode. git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@546 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-27Modified VoIP plugin such that if a session has a valid public RTP address, ↵Gerald Begumisa
the RTP address in a received SIP 200 OK packet only replaces it if it is also public or if the session RTP address is not set. As before use of SIP 200 OK is still goverened by the SipUse200OkMediaAddress variable git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@539 09dcff7a-b715-0410-9601-b79a96267cd0