aboutsummaryrefslogtreecommitdiffstats
path: root/main/rtp.c
AgeCommit message (Collapse)AuthorFilesLines
2008-02-27Fix T38 passthrough regression introduced by state changes.file1-2/+4
(closes issue #12078) Reported by: dimas Patches: v1-12078.patch uploaded by dimas (license 88) (closes issue #12074) Reported by: Ivan git-svn-id: http://svn.digium.com/svn/asterisk/trunk@104533 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-18Merged revisions 103780 via svnmerge from tilghman1-0/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r103780 | tilghman | 2008-02-18 11:31:52 -0600 (Mon, 18 Feb 2008) | 9 lines When a SIP channel is being auto-destroyed, it's possible for it to still be in bridge code. When that happens, we crash. Delay the RTP destruction until the bridge is ended. (closes issue #11960) Reported by: norman Patches: 20080215__bug11960__2.diff.txt uploaded by Corydon76 (license 14) Tested by: norman ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103781 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-11Just some minor coding style cleanup...file1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103318 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-08Merge changes from team/mvanbaak/cli-command-auditrussell1-8/+134
(closes issue #8925) About a year ago, as Leif Madsen and Jim van Meggelen were going over the CLI commands in Asterisk 1.4 for the next version of their book, they documented a lot of inconsistencies. This set of changes addresses all of these issues and has been reviewed by Leif. While this does introduce even more changes to the CLI command structure, it makes everything consistent, which is the most important thing. Thanks to all that helped with this one! git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103171 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-30- doxygen fixesoej1-9/+1
- change function to void because it always returned the same value and no one read it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@101268 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-30Formatting fixesoej1-9/+9
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@101267 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-27Merged revisions 100465 via svnmerge from tilghman1-18/+6
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r100465 | tilghman | 2008-01-27 15:59:53 -0600 (Sun, 27 Jan 2008) | 11 lines When deleting a task from the scheduler, ignoring the return value could possibly cause memory to be accessed after it is freed, which causes all sorts of random memory corruption. Instead, if a deletion fails, wait a bit and try again (noting that another thread could change our taskid value). (closes issue #11386) Reported by: flujan Patches: 20080124__bug11386.diff.txt uploaded by Corydon76 (license 14) Tested by: Corydon76, flujan, stuarth` ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100488 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-24Merge in strictrtp branch. This adds a strictrtp option to rtp.conf which ↵file1-0/+33
drops packets that do not come from the remote party. (closes issue #8952) Reported by: amorsen git-svn-id: http://svn.digium.com/svn/asterisk/trunk@100206 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-16Merged revisions 98958 via svnmerge from file1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98958 | file | 2008-01-16 11:03:14 -0400 (Wed, 16 Jan 2008) | 4 lines Add two more SDP names for ulaw and alaw. (closes issue #11777) Reported by: tootai ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@98959 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-15Merged revisions 98943 via svnmerge from russell1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98943 | russell | 2008-01-15 17:26:52 -0600 (Tue, 15 Jan 2008) | 25 lines Commit a fix for some memory access errors pointed out by the valgrind2.txt output on issue #11698. The issue here is that it is possible for an instance of a translator to get destroyed while the frame allocated as a part of the translator is still being processed. Specifically, this is possible anywhere between a call to ast_read() and ast_frame_free(), which is _a lot_ of places in the code. The reason this happens is that the channel might get masqueraded during this time. During a masquerade, existing translation paths get destroyed. So, this patch fixes the issue in an API and ABI compatible way. (This one is for you, paravoid!) It changes an int in ast_frame to be used as flag bits. The 1 bit is still used to indicate that the frame contains timing information. Also, a second flag has been added to indicate that the frame came from a translator. When a frame with this flag gets released and has this flag, a function is called in translate.c to let it know that this frame is doing being processed. At this point, the flag gets cleared. Also, if the translator was requested to be destroyed while its internal frame still had this flag set, its destruction has been deffered until it finds out that the frame is no longer being processed. Admittedly, this feels like a hack. But, it does fix the issue, and I was not able to think of a better solution ... ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@98944 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-11Merged revisions 98325 via svnmerge from file1-0/+10
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r98325 | file | 2008-01-11 15:51:10 -0400 (Fri, 11 Jan 2008) | 6 lines If the incoming RTP stream changes codec force the bridge to break if the other side does not support it. (closes issue #11729) Reported by: tsearle Patches: new_codec_patch_udiff.patch uploaded by tsearle (license 373) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@98334 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-16HUGE improvements to QoS/CoS handling by IgorGoej1-2/+2
- Refer to the proper documentation - Implement separate signalling/media QoS/CoS in many channels using RTP - Improve warnings and verbose messages - Deprecate some old settings Minor modifications by me, a big effort from IgorG. Thanks! Reported by: IgorG Patches: qoscleanup-89394-4-trunk.patch uploaded by IgorG (license 20) Tested by: IgorG (closes issue #11145) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@93163 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-10Merged revisions 92204 via svnmerge from file1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r92204 | file | 2007-12-10 12:36:15 -0400 (Mon, 10 Dec 2007) | 6 lines Add G729A as another possible payload name for G729. Some devices use this instead of G729, which is perfectly normal since the payload number itself is defined and can't be used by anything else so the name doesn't matter that much. (closes issue #11483) Reported by: revolution Patches: rtp.diff uploaded by revolution (license 346) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92205 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-07Merged revisions 91637 via svnmerge from tilghman1-8/+22
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r91637 | tilghman | 2007-12-06 18:52:17 -0600 (Thu, 06 Dec 2007) | 5 lines At the end of a call, when we're reporting, RTCP may already be partially torn down, so check for NULL dereference Reported by: blitzrage Patch by: tilghman (Closes issue #11450) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@91638 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-03Merged revisions 90588 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r90588 | file | 2007-12-03 16:05:42 -0400 (Mon, 03 Dec 2007) | 2 lines Do not create a smoother for G723.1 frames, they need to be left alone to their native 20/24 byte size. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@90589 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27The following patch with updates for trunk. Works much better in trunk.oej1-3/+16
Also by accident fixed a bad typo by a previous committer, which actually made video calls not work fully... Merged revisions 89630 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r89630 | oej | 2007-11-27 16:23:17 +0100 (Tis, 27 Nov 2007) | 12 lines If we get a codec offer using a well-known payload type, but using it for 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/trunk@89698 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21remove a bunch of useless #include "options.h"rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89511 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19another bunch of include removals (errno.h and asterisk/logger.h)rizzo1-2/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89425 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17fix breakage induced by previous mistakerizzo1-3/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89382 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16remove a bunch of duplicate includesrizzo1-3/+0
Reproduce with grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89348 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-16Start untangling header inclusion in a way that does not affectrizzo1-4/+0
build times - tested, there is no measureable difference before and after this commit. In this change: use asterisk/compat.h to include a small set of system headers: inttypes.h, unistd.h, stddef.h, stddint.h, sys/types.h, stdarg.h, stdlib.h, alloca.h, stdio.h Where available, the inclusion is conditional on HAVE_FOO_H as determined by autoconf. Normally, source files should not include any of the above system headers, and instead use either "asterisk.h" or "asterisk/compat.h" which does it better. For the time being I have left alone second-level directories (main/db1-ast, etc.). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89333 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Commit some cleanups to the format type code.tilghman1-5/+5
- Remove the AST_FORMAT_MAX_* types, as these are consuming 3 out of our available 32 bits. - Add a native slin16 type, so that 16kHz codecs can translate without losing resolution. (This doesn't affect anything immediately, until another codec has wb support.) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89071 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-29Drop the RTCP Read too short message to debug. There are some phones out ↵file1-1/+2
there that send a sort of keep alive packet in the RTCP that trigger this every 5 seconds. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@87394 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-22Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former ↵qwell1-4/+4
didn't make much sense git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86820 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19Convert NEW_CLI to AST_CLI.qwell1-4/+4
Closes issue #11039, as suggested by seanbright. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86536 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-19More changes to NEW_CLI.qwell1-151/+121
Also fixes a few cli messages and some minor formatting. (closes issue #11001) Reported by: seanbright Patches: newcli.1.patch uploaded by seanbright (license 71) newcli.2.patch uploaded by seanbright (license 71) newcli.4.patch uploaded by seanbright (license 71) newcli.5.patch uploaded by seanbright (license 71) newcli.6.patch uploaded by seanbright (license 71) newcli.7.patch uploaded by seanbright (license 71) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@86534 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-15Merged revisions 85559 via svnmerge from file1-4/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r85559 | file | 2007-10-15 13:22:02 -0300 (Mon, 15 Oct 2007) | 4 lines Bring both DTMF begin and end frames up through to the core for DTMF feature handling. (closes issue #10826) Reported by: dimas ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85560 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-15Merged revisions 85552 via svnmerge from file1-2/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r85552 | file | 2007-10-15 11:55:04 -0300 (Mon, 15 Oct 2007) | 4 lines If Monitor or a spy was added to a P2P or native bridged channel bring the channel back to the generic bridging core so the monitor or spy operations work. (closes issue #10943) Reported by: julianjm ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85553 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-08Merged revisions 85057 via svnmerge from file1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r85057 | file | 2007-10-08 17:06:33 -0300 (Mon, 08 Oct 2007) | 4 lines Only update codec information if the channel has a technology private structure. (issue #10915) Reported by: ramonpeek ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85058 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-08Merged revisions 85023 via svnmerge from file1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r85023 | file | 2007-10-08 12:37:46 -0300 (Mon, 08 Oct 2007) | 4 lines Update codec information as well as address when doing hold reinvites. (issue #10868) Reported by: mavince ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85024 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-05Merged revisions 84818 via svnmerge from file1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r84818 | file | 2007-10-05 15:55:36 -0300 (Fri, 05 Oct 2007) | 4 lines Update the remembered RTP peer information when putting an endpoint on hold or taking it off hold so that the RTP stack does not initiate a needless reinvite. (closes issue #10868) Reported by: mavince ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84819 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-03Merged revisions 84581 via svnmerge from tilghman1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r84581 | tilghman | 2007-10-03 17:59:17 -0500 (Wed, 03 Oct 2007) | 2 lines When an RFC 2833 event is sent that we don't recognize, ignore it, don't queue a NULL digit (closes issue #10877) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84582 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-02Don't swap channel priority if using epoll as polling should/will only ↵file1-0/+2
happen off the first channel. (closes issue #10867) Reported by: phsultan git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84368 f38db490-d61c-443f-a65b-d21fe96a405b
2007-10-01Corydon posted this janitor project to the bug tracker and mvanbaak providedrussell1-1/+1
a patch for it. It replaces a bunch of simple calls to snprintf with ast_copy_string (closes issue #10843) Reported by: Corydon76 Patches: 2007092900_10843.diff uploaded by mvanbaak (license 7) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@84173 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-21Merged revisions 83432 via svnmerge from russell1-9/+9
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r83432 | russell | 2007-09-21 09:37:20 -0500 (Fri, 21 Sep 2007) | 4 lines gcc 4.2 has a new set of warnings dealing with cosnt pointers. This set of changes gets all of Asterisk (minus chan_alsa for now) to compile with gcc 4.2. (closes issue #10774, patch from qwell) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@83433 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-27Merged revisions 80974 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80974 | file | 2007-08-27 10:20:31 -0300 (Mon, 27 Aug 2007) | 4 lines (closes issue #10562) Reported by: idkpmiller Correct jitter value output in the CLI to be as expected. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80975 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-22Merged revisions 80255 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80255 | file | 2007-08-22 13:14:38 -0300 (Wed, 22 Aug 2007) | 4 lines (closes issue #10526) Reported by: sinistermidget Revert commit from issue #10355 and return timestamp skew to 640. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80256 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16Don't reload a configuration file if nothing has changed.tilghman1-3/+11
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-15Merged revisions 79553 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79553 | file | 2007-08-15 11:40:23 -0300 (Wed, 15 Aug 2007) | 6 lines (closes issue #10440) Reported by: irroot (closes issue #10454) Reported by: flo_turc Increase maximum timestamp skew to 120. 20 was apparently far too low. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79558 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08Add support for using epoll instead of poll. This should increase ↵file1-0/+12
scalability and is done in such a way that we should be able to add support for other poll() replacements. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78683 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06Merged revisions 78172 via svnmerge from file1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78172 | file | 2007-08-06 12:27:24 -0300 (Mon, 06 Aug 2007) | 4 lines (closes issue #10355) Reported by: wdecarne Now that we pass through RTP timestamp information we need to make the allowed timestamp skew considerably less. There are situations where a source may change and due to the timestamp difference the receiver will experience an audio gap since we did not indicate by setting the marker bit that the source changed. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78173 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26Do a massive conversion for using the ast_verb() macrorussell1-6/+3
(closes issue #10277, patches by mvanbaak) Basically, this changes ... if (option_verbose > 2) ast_verbose(VERBOSE_PREFIX_3, "Something\n"); to ... ast_verb(3, "Something\n"); git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77299 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26Add a link to the list of assigned RTP payload types for convenience.russell1-3/+10
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77266 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26document how the RTP marker bit is passed for video frames,rizzo1-0/+5
and why this does not overwrite useful information. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77248 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-26add an entry for h263plus in an empty slot of the rtp types.rizzo1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77233 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-25Merged revisions 77022 via svnmerge from rizzo1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77022 | rizzo | 2007-07-25 11:34:01 +0200 (Wed, 25 Jul 2007) | 3 lines set the sequence number in a frame for all frame types ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77023 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-19After some study, thought, comparing, etc. I've backed out the previous ↵murf1-3/+3
universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75983 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-18This corrects the problem with flags and %lld formats on 64-bit machines, ↵murf1-1/+1
where uint64_t is NOT acceptable for %lld, and also works on 32-bit machines. At least, with gcc. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75585 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17via 10206, I have added an option (e) to Dial to allow the h exten to get ↵murf1-3/+3
run on peer. Had to upgrade ast_flag stuff to 64 bits to do this. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75400 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-13resolve a compiler warningrussell1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75077 f38db490-d61c-443f-a65b-d21fe96a405b