aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_h323.c
AgeCommit message (Collapse)AuthorFilesLines
2009-04-22Make chan_h323 respect packetization settings and fix small reload issue.jpeeler1-4/+21
Previously, packetization settings were ignored and now they are not. A new config option 'autoframing' has been added to mirror the way chan_sip handles it. Turning on the autoframing option (available both as a global option or per peer) overrides the local settings with the remote packetization settings. Testing was performed with varying packetization levels with the following codecs: ulaw, alaw, gsm, and g729. Also, an unrelated config reload issue has been fixed in the case of the config file not changing. (closes issue #12415) Reported by: pj Patches: 2009012200_h323packetization.diff.txt uploaded by mvanbaak (license 7), modified by me git-svn-id: http://svn.digium.com/svn/asterisk/trunk@189993 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10Fix some uninitialized memory notices that appeared under valgrind.file1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187772 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-03This commit introduces COLP/CONP and Redirecting party information into ↵mmichelson1-6/+6
Asterisk. The channel drivers which have been most heavily tested with these enhancements are chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be introduced in a later commit. chan_skinny has code added to it here, but according to user pj, the support on chan_skinny is not working as of now. This will be fixed in a later commit. A special thanks goes out to bugtracker user gareth for getting the ball rolling and providing the initial support for this work. Without his initial work on this, this would not have been nearly as painless as it was. This functionality has been tested by Digium's product quality department, as well as a customer site running thousands of calls every day. In addition, many many many many bugtracker users have tested this, too. (closes issue #8824) Reported by: gareth Review: http://reviewboard.digium.com/r/201 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186525 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02Merge in the RTP engine API.file1-56/+49
This API provides a generic way for multiple RTP stacks to be integrated into Asterisk. Right now there is only one present, res_rtp_asterisk, which is the existing Asterisk RTP stack. Functionality wise this commit performs the same as previously. API documentation can be viewed in the rtp_engine.h header file. Review: http://reviewboard.digium.com/r/209/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186078 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-17Allow H.323 Plus library to be used in addition to the OpenH323 libraryjpeeler1-5/+27
Chan_h323 can now be compiled against both the previously supported versions of OpenH323 as well as the current H.323 Plus (version 1.20.2). The configure script has been modified to look in the default install location of h323 to hopefully help avoid using the environment variables OPENH323DIR and PWLIBDIR. Also, the CLI command "h323 show version" has been added which indicates which version of h323 is in use. (closes issue #11261) Reported by: vhatz Patches: asterisk-1.6.0.6-h323plus.patch uploaded by jthurman (license 614) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@182722 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-13Add basic (passthrough, playback, record) support for ITU G.722.1 and ↵kpfleming1-9/+0
G.722.1C (also known as Siren7 and Siren14) This patch adds passthrough, file recording and file playback support for the codecs listed above, with negotiation over SIP/SDP supported. Due to Asterisk's current limitation of treating a codec/bitrate combination as a unique codec, only G.722.1 at 32 kbps and G.722.1C at 48 kbps are supported. Along the way, some related work was done: 1) The rtpPayloadType structure definition, used as a return result for an API call in rtp.h, was moved from rtp.c to rtp.h so that the API call was actually usable. The only previous used of the API all was chan_h323.c, which had a duplicate of the structure definition instead of doing it the right way. 2) The hardcoded SDP sample rates for various codecs in chan_sip.c were removed, in favor of storing these sample rates in rtp.c along with the codec definitions there. A new API call was added to allow retrieval of the sample rate for a given codec. 3) Some basic 'a=fmtp' parsing for SDP was added to chan_sip, because chan_sip *must* decline any media streams offered for these codecs that are not at the bitrates that we support (otherwise Bad Things (TM) would result). Review: http://reviewboard.digium.com/r/158/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@175508 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-23let's use SENTINEL where neededmvanbaak1-5/+5
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@170501 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-04Recorded merge of revisions 154263 via svnmerge from tilghman1-3/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r154263 | tilghman | 2008-11-04 12:58:05 -0600 (Tue, 04 Nov 2008) | 3 lines Make the monitor thread non-detached, so it can be joined (suggested by Russell on -dev list). ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@154264 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-02bring over all the fixes for the warnings found by gcc 4.3.x from the 1.4 ↵kpfleming1-1/+1
branch, and add the ones needed for all the new code here too git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153616 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-30Merged revisions 152958 via svnmerge from tilghman1-3/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r152958 | tilghman | 2008-10-30 15:33:28 -0500 (Thu, 30 Oct 2008) | 3 lines Cannot join detached threads. See http://www.opengroup.org/onlinepubs/000095399/functions/pthread_join.html (Closes issue #13400) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@152969 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-09fix some CLI commands we borked during devcon2008mvanbaak1-0/+3
Thanks rmudget for letting me know and providing hints on how to fix it best. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@147853 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-28Merge the cli_cleanup branch.mvanbaak1-8/+8
This work is done by lmadsen, junky and mvanbaak during AstriDevCon. This is the second audit the CLI got, and this time lmadsen made sure he had _ALL_ modules loaded that have CLI commands in them. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@145121 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiatingtilghman1-3/+18
when a file is invalid from when a file is missing. This is most important when we have two configuration files. Consider the following example: Old system: sip.conf users.conf Old result New result ======== ========== ========== ========== Missing Missing SIP doesn't load SIP doesn't load Missing OK SIP doesn't load SIP doesn't load Missing Invalid SIP doesn't load SIP doesn't load OK Missing SIP loads SIP loads OK OK SIP loads SIP loads OK Invalid SIP loads incompletely SIP doesn't load Invalid Missing SIP doesn't load SIP doesn't load Invalid OK SIP doesn't load SIP doesn't load Invalid Invalid SIP doesn't load SIP doesn't load So in the case when users.conf doesn't load because there's a typo that disrupts the syntax, we may only partially load users, instead of failing with an error, which may cause some calls not to get processed. Worse yet, the old system would do this with no indication that anything was even wrong. (closes issue #10690) Reported by: dtyoo Patches: 20080716__bug10690.diff.txt uploaded by Corydon76 (license 14) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@142992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-25More expansion of the deadlock avoidance macro, including a macro to do lockingtilghman1-3/+1
of the channel lock git-svn-id: http://svn.digium.com/svn/asterisk/trunk@125020 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16Merged revisions 123113 via svnmerge from tilghman1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r123113 | tilghman | 2008-06-16 14:50:12 -0500 (Mon, 16 Jun 2008) | 2 lines Port "hasvoicemail" change from SIP to other channel drivers ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@123114 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22- revert change to ast_queue_hangup and create ast_queue_hangup_with_causemvanbaak1-3/+3
- make data member of the ast_frame struct a named union instead of a void Recently the ast_queue_hangup function got a new parameter, the hangupcause Feedback came in that this is no good and that instead a new function should be created. This I did. The hangupcause was stored in the seqno member of the ast_frame struct. This is not very elegant, and since there's already a data member that one should be used. Problem is, this member was a void *. Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone wants to store another type in there in the future. This commit is so massive, because all ast_frame.data uses have to be altered to ast_frame.data.data Thanks russellb and kpfleming for the feedback. (closes issue #12674) Reported by: mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-07Let chan_h323 build in dev moderussell1-2/+2
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@115519 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-24Pass the hangup cause all the way to the calling app/channel.mvanbaak1-3/+3
(closes issue #11328) Reported by: rain Patches: 20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14) brought up-to-date to trunk by me git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114637 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-14Merged revisions 114120 via svnmerge from qwell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r114120 | qwell | 2008-04-14 13:31:57 -0500 (Mon, 14 Apr 2008) | 7 lines The call_token on the pvt can occasionally be NULL, causing a crash. If it is NULL, we can skip this channel, since it can't the one we're looking for. (closes issue #9299) Reported by: vazir ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114121 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-09Enable enough RTP bridging to allow P2P to work.file1-5/+4
(closes issue #11901) Reported by: pj git-svn-id: http://svn.digium.com/svn/asterisk/trunk@113840 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-19Rename DSP_FEATURE_DTMF_DETECT, because we are *NOT* only detecting DTMF digits.qwell1-1/+1
This was very misleading. Early cleanup for issue #11968 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@110161 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-05Merged revisions 106235 via svnmerge from file1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106235 | file | 2008-03-05 18:32:10 -0400 (Wed, 05 Mar 2008) | 4 lines Add a control frame to indicate the source of media has changed. Depending on the underlying technology it may need to change some things. (closes issue #12148) Reported by: jcomellas ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@106239 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-20Try to do Packet2Packet bridging with chan_h323 if reinviting isn't enabled.file1-2/+2
(closes issue #11901) Reported by: pj git-svn-id: http://svn.digium.com/svn/asterisk/trunk@103955 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-27Merged revisions 100465 via svnmerge from tilghman1-14/+5
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-23Progress messages don't worktilghman1-0/+2
(closes issue #10497) Reported by: pj Patches: h323-announces-r99483.diff uploaded by sergee (license 138) Tested by: pj git-svn-id: http://svn.digium.com/svn/asterisk/trunk@99860 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-27Merged revisions 94924 via svnmerge from file1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r94924 | file | 2007-12-27 13:32:15 -0400 (Thu, 27 Dec 2007) | 6 lines Include types.h in chan_h323 as without it it can not be compiled on some operating systems like FreeBSD to name one. (closes issue #11585) Reported by: sobomax Patches: chan_h323.c.diff uploaded by sobomax (license 359) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@94934 f38db490-d61c-443f-a65b-d21fe96a405b
2007-12-16HUGE improvements to QoS/CoS handling by IgorGoej1-5/+15
- 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-13Merged revisions 92696 via svnmerge from qwell1-50/+50
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #10690) ........ r92696 | qwell | 2007-12-12 18:11:09 -0600 (Wed, 12 Dec 2007) | 7 lines If a typo is found in a config file, we previous continued on with what was already loaded. We do not want to do this (see bug below for details). This makes it so that if a [ is found without a ], the entire config will fail, and nothing in it will be loaded. Issue 10690. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@92697 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-24remove a DEBUG_THREADS message that accesses private lock fields.rizzo1-3/+6
If needed, the code to extract this information should be implemented in some generic header or library and the function called here. (closed bug #11362) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89543 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21remove another set of redundant #include "asterisk/options.h"rizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89512 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-19include "logger.h" and errno.h from asterisk.h - usage shows that theyrizzo1-2/+0
were included almost everywhere. Remove some of the instances. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89424 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-17more removal of duplicate #include linesrizzo1-1/+0
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89349 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-15And file said... let trunk build again! Accomplished by some more ↵file1-2/+2
constification, and marking a function in chan_sip as purposely unused until it is fixed up. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89290 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-06Commit some cleanups to the format type code.tilghman1-2/+2
- 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-22Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former ↵qwell1-6/+6
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-6/+6
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-150/+115
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-15Switch dundi to new tos config format.qwell1-5/+0
Remove old unused defines for old style. Closes issue 10860, patch by IgorG. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@85764 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-21Merged revisions 83432 via svnmerge from russell1-2/+2
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-20Fix building of trunk. I'm doing work on a Sunday night just to avoid ↵file1-0/+4
watching Snakes on a Plane which my roommate is watching. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79988 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-18We weren't properly encapsulating the mtime ignores of config files (closes ↵tilghman1-3/+6
issue #10488) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79940 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-13Merged revisions 79174 via svnmerge from file1-2/+0
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79174 | file | 2007-08-13 11:18:04 -0300 (Mon, 13 Aug 2007) | 4 lines (closes issue #10437) Reported by: haklin Don't set the callerid name and number a second time on a newly created channel. ast_channel_alloc itself already sets it and setting it twice would cause a memory leak. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79175 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08Add support for using epoll instead of poll. This should increase ↵file1-9/+9
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-07-26Do a massive conversion for using the ast_verb() macrorussell1-16/+13
(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-18Merged revisions 75619 via svnmerge from file1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r75619 | file | 2007-07-18 12:25:45 -0300 (Wed, 18 Jul 2007) | 2 lines Don't bother reloading chan_h323 if it did not load successfully in the first place. This would otherwise cause a crash. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75620 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-25Merged revisions 71576 via svnmerge from file1-0/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r71576 | file | 2007-06-25 10:13:45 -0400 (Mon, 25 Jun 2007) | 2 lines Build a peer as well when hash323 is enabled in users.conf (issue #9599 reported by asagage) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71577 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-14Convert uses of strdup() to ast_strdup()russell1-6/+6
(issue #9983, eliel) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69436 f38db490-d61c-443f-a65b-d21fe96a405b
2007-06-14Add a massive set of changes for converting to use the ast_debug() macro.russell1-50/+48
(issue #9957, patches from mvanbaak, caio1982, critch, and dimas) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@69327 f38db490-d61c-443f-a65b-d21fe96a405b