aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/rtp.h
AgeCommit message (Collapse)AuthorFilesLines
2009-09-30Change the SSRC by default when our media stream changestwilson1-0/+3
Be default, change SSRC when doing an audio stream changes Asterisk doesn't honor marker bit when reinvited to already-bridged RTP streams,resulting in far-end stack discarding packets with "old" timestamps that areactually part of a new stream. This patch sends AST_CONTROL_SRCUPDATE whenever there is a reinvite, unless the 'constantssrc' is set to true in sip.conf. The original issue reported to Digium support detailed the following situation: ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in fromITSP, Asterisk dials the app server which sends a re-invite back toAsterisk--not to negotiate to send media directly to the ITSP, but to indicatethat it's changing the stream it's sending to Asterisk. The app servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker bit on the new stream. Asterisk passes through the teimstamp of the new stream, butdoes not reset the SSRC, sequence numbers, or set the marker bit. When the timestamp on the new stream is older than the timestamp on the originalstream, the ITSP (which doesn't know there has been any change) discards the newframes because it thinks they are too old. This patch addresses this by changing the SSRC on a stream update unless constantssrc=true is set in sip.conf. Review: https://reviewboard.asterisk.org/r/374/ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@221086 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-28Allow for media to arrive from an alternate source when responding to a ↵mmichelson1-0/+17
reinvite with 491. When we receive a SIP reinvite, it is possible that we may not be able to process the reinvite immediately since we have also sent a reinvite out ourselves. The problem is that whoever sent us the reinvite may have also sent a reinvite out to another party, and that reinvite may have succeeded. As a result, even though we are not going to accept the reinvite we just received, it is important for us to not have problems if we suddenly start receiving RTP from a new source. The fix for this is to grab the media source information from the SDP of the reinvite that we receive. This information is passed to the RTP layer so that it will know about the alternate source for media. Review: https://reviewboard.asterisk.org/r/252 git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@197588 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-04When a new source of audio comes in (such as music on hold) make sure the ↵file1-0/+2
marker bit gets set. (closes issue #10355) Reported by: wdecarne Patches: 10355.diff uploaded by file (license 11) (closes issue #11491) Reported by: kanderson git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@105674 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27If we get a codec offer using a well-known payload type, but using it for ↵oej1-1/+7
another codec that we don't know, Asterisk did not remove that codec from the list. With this patch, we remove the codec from audio and video rtp objects and deny it ever existed. Thanks to lasse for testing. (closes issue #11376) Reported by: lasse Patches: bug11376.txt uploaded by oej (license 306) Tested by: lasse git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@89630 f38db490-d61c-443f-a65b-d21fe96a405b
2007-03-26The AUDIORTPQOS and VIDEORTPQOS variables are not fully functional in somerussell1-1/+13
because they get set in sip_hangup. So, there are common situations where the variables will not be available in the dialplan at all. So, this patch provides an alternate method for getting to this information by introducing AUDIORTPQOS and VIDEORTPQOS dialplan functions. (issue #9370, patch by Corydon76, with some testing by blitzrage) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@59207 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-11Add support to see whether NAT was detected (yay symmetric RTP) and also add ↵file1-0/+2
a check in chan_sip so that if NAT has been detected and the reinvite behind nat option has been turned off, then just do partial bridge. (issue #8655 reported by mnicholson) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@50466 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-26Add an API call that initializes an RTP structure. We need this because ↵file1-0/+2
chan_sip is cheeky and uses a temporary RTP structure for codec purposes, and the API calls that are used rely on the lock. (Pointed out on asterisk-dev by Andy Wang) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48964 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-14Payload values on the RTP structure can change AFTER a bridge has started. ↵file1-1/+1
This comes from the packet handling of the SIP response when indication that it was answered has been sent. Therefore we need to protect this data with a lock when we read/write. (issue #8232 reported by tgrman) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48472 f38db490-d61c-443f-a65b-d21fe96a405b
2006-12-02- Disable RTP hold timers while T.38 fax transmission happensoej1-0/+15
- Encapsulate RTP timers in the rtp structure so we have one for video and one for audio The video one is not used in 1.4, really. Will be used for RTP keepalives when we can send something that video phones support in the RTP stream. I now this is a big architectual change at this stage for 1.4, but decided it was needed to avoid future bug reports. - Document the RTP NAT keepalive option in sip.conf.sample Issue 7679 in the bug tracker. Please test. git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48199 f38db490-d61c-443f-a65b-d21fe96a405b
2006-11-30Do not do a partial bridge for Google Talk since we need to handle STUN. ↵file1-0/+3
(issue #8448 reported by phsultan) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@48168 f38db490-d61c-443f-a65b-d21fe96a405b
2006-09-18allow for packetization on rtp channel drivers, need to addmogorman1-0/+6
option for setting our own packetization as apposed to just doing what is asked. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@43243 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-31Merge in VLDTMF support with Zaptel/Core done by the ever great Darumkilla ↵file1-1/+6
Russell Bryant and the RTP portion done by myself, Muffinlicious Joshua Colp. This has gone through so many discussions/revisions it's not funny but we finally have it! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41507 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-30Use an API call (ast_rtp_get_bridged) to return the RTP stream we are ↵file1-0/+2
bridged to, and also use it in chan_sip so we know to ignore the no RTP activity checking git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41316 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-28Merge in RTP-level packet bridging. Packet comes in, packet goes out - ↵file1-2/+13
that's what RTP-level packet bridging is all about! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41235 f38db490-d61c-443f-a65b-d21fe96a405b
2006-07-13allow users of RTP to use G726-32 AAL2 packing even when RFC3551 packing has ↵kpfleming1-3/+10
been requested (Sipura/Grandstream ATAs and others will need this) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@37501 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09Move payloadtype back home to rtp.c oej1-13/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33349 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-09Rename ast_rtp_early_media to ast_rtp_early_bridge to avoid confusion.oej1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33174 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-08move 'struct ast_rtp' back to rtp.c where it belongskpfleming1-53/+9
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@33133 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-06Merge of the "sdpcleanup" branch. Thanks to John Martin for a lot of testsoej1-5/+7
and some patches (all disclaimed). - Don't change RTP properties if we reject a re-INVITE - Don't add video to an outbound channel if there's no video on the inbound channel - Don't include video in the "preferred codec" list for codec selection - Clean up and document code that parses and adds SDP attachments Since we do not transcode video, we can't handle video the same way as audio. This is a bug fix patch. In future releases, we need to work on a solution for video negotiation, not codecs but formats and framerates instead. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32597 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-05Move definition of RTP structure to rtp.h (preparing for future changes)oej1-2/+64
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32255 f38db490-d61c-443f-a65b-d21fe96a405b
2006-06-05Issue #2863 - Improved RTCP support (John Martin, Fredrik Olsson)oej1-0/+6
Thanks to everyone involved in working with this! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@32230 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-16mark RTP sessions that are not carrying DTMFkpfleming1-0/+3
allow native bridging of RTP sessions that are not carrying DTMF even when the bridge needs to listen to DTMF (when SIP INFO is used for DTMF, for example) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@27559 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-11Go ahead and merge STUN mods for RTP in preparation for some STUN markster1-0/+2
support in SIP. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26920 f38db490-d61c-443f-a65b-d21fe96a405b
2006-05-09Make SIP early media work more efficiently without so many reinvitesmarkster1-2/+5
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@26019 f38db490-d61c-443f-a65b-d21fe96a405b
2006-03-31removal of trailing whitespace and useless 'extern'rizzo1-7/+7
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@16653 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-14Bug 4377 - Initial round of loader changestilghman1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10084 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-03update copyright headers for files changed this yearkpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7751 f38db490-d61c-443f-a65b-d21fe96a405b
2006-01-03Bug #6109: Fix unprotected list in RTP, implement AST_LIST macros, update ↵oej1-11/+12
doxygen docs git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7730 f38db490-d61c-443f-a65b-d21fe96a405b
2005-12-20Major RTP fixes for using inbound SDP on outbound connection, get rid of markster1-1/+2
old local rtp stuff... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7551 f38db490-d61c-443f-a65b-d21fe96a405b
2005-11-29git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7221 ↵kpfleming1-0/+0
f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-24Doxygen documentation update from oej (issue #5505)russell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6847 f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-13Fix call timeouts with rtp bridge etc (bug #5252)markster1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6759 f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-12fix some formatting and add some comments (issue #5403)russell1-2/+32
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6752 f38db490-d61c-443f-a65b-d21fe96a405b
2005-09-09allow users of RTP to know when the peer endpoint is (apparently) behind a NATkpfleming1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6558 f38db490-d61c-443f-a65b-d21fe96a405b
2005-08-30major header file cleanup: license, copyrights, descriptions, markers, etc.kpfleming1-6/+15
remove deprecated config_old.c/config_old.h remove unused cvsid.h git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6454 f38db490-d61c-443f-a65b-d21fe96a405b
2005-04-21use double-quotes instead of angle-brackets for non-system include files ↵kpfleming1-4/+4
(bug #4058) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5490 f38db490-d61c-443f-a65b-d21fe96a405b
2005-04-05report non-codec capabilities in 'sip debug' properly (bug #3960)kpfleming1-0/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5416 f38db490-d61c-443f-a65b-d21fe96a405b
2005-03-04Rework channel structure to eliminate "pvt" portion of channel (bug #3573)markster1-5/+8
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5137 f38db490-d61c-443f-a65b-d21fe96a405b
2005-01-15Repair // comments to /* */ comments (bug #3347)markster1-3/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4806 f38db490-d61c-443f-a65b-d21fe96a405b
2005-01-07Support CNG transmission when on hold (bug #2904)markster1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4704 f38db490-d61c-443f-a65b-d21fe96a405b
2004-12-28Permit RTP to be resetmarkster1-2/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4568 f38db490-d61c-443f-a65b-d21fe96a405b
2004-08-26Repair offer/answer model (bug #2293), initial CNG work for new frametypemarkster1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3658 f38db490-d61c-443f-a65b-d21fe96a405b
2004-07-08Extend bindaddr to RTP connections on SIP (bug #1989 et al)markster1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3393 f38db490-d61c-443f-a65b-d21fe96a405b
2004-05-27Make RTP handle codecs (first pass)markster1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3089 f38db490-d61c-443f-a65b-d21fe96a405b
2003-11-15Don't do reinvite if both parties talk diffrent codecsmartinp1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1752 f38db490-d61c-443f-a65b-d21fe96a405b
2003-06-28Add SIP/RTP video support, video enable app_echo, start on RTCPmarkster1-4/+8
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1128 f38db490-d61c-443f-a65b-d21fe96a405b
2003-05-16Make RTP ports configurablemarkster1-0/+4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1026 f38db490-d61c-443f-a65b-d21fe96a405b
2003-05-02Show uptimemarkster1-1/+3
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@951 f38db490-d61c-443f-a65b-d21fe96a405b
2003-03-20Don't destory rtp until destroy, use rtp_stop insteadmarkster1-0/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@668 f38db490-d61c-443f-a65b-d21fe96a405b
2003-03-13Thu Mar 13 07:00:01 CET 2003matteo1-7/+9
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@642 f38db490-d61c-443f-a65b-d21fe96a405b