summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-03-07(closes issue #6002)Steve Murphy
Reported by: rizzo Tested by: murf Proposal of the changes to be made, and then an announcement of how they were accomplished: http://lists.digium.com/pipermail/asterisk-dev/2008-February/032065.html and: http://lists.digium.com/pipermail/asterisk-dev/2008-March/032124.html Here is a recap, file by file, of what I have done: pbx/pbx_config.c pbx/pbx_ael.c All funcs that were passed a ptr to the context list, now will ALSO be passed a hashtab ptr to the same set. Why? because (for the time being), the dialplan is stored in both, to facilitate a quick, low-cost move to hash-tables to speed up dialplan processing. If it was deemed necessary to pass the context LIST, well, it is just as necessary to have the TABLE available. This is because the list/table in question might not be the global one, but temporary ones we would use to stage the dialplan on, and then swap into the global position when things are ready. We now have one external function for apps to use, "ast_context_find_or_create()" instead of the pre-existing "find" and "create", as all existing usages used both in tandem anyway. pbx_config, and pbx_ael, will stage the reloaded dialplan into local lists and tables, and then call merge_contexts_and_delete, which will merge (now) existing contexts and priorities from other registrars into this local set by copying them. Then, merge_contexts_and_delete will lock down the contexts, swap the lists and tables, and unlock (real quick), and then destroy the old dialplan. chan_sip.c chan_iax.c chan_skinny.c All the channel drivers that would add regcontexts now use the ast_context_find_or_create now. chan_sip also includes a small fix to get rid of warnings about removing priorities that never got entered. apps/app_meetme.c apps/app_dial.c apps/app_queue.c All the apps that added a context/exten/priority were also modified to use ast_context_find_or_create instead. include/asterisk/pbx.h ast_context_create() is removed. Find_or_create_ is the new method. ast_context_find_or_create() interface gets the hashtab added. ast_merge_contexts_and_delete() gets the local hashtab arg added. ast_wrlock_contexts_version() is added so you can detect if someone else got a writelock between your readlocking and writelocking. ast_hashtab_compare_contexts was made public for use in pbx_config/pbx_ael ast_hashtab_hash_contexts was in like fashion make public. include/asterisk/pval.h ast_compile_ael2() interface changed to include the local hashtab table ptr. main/features.c For the sake of the parking context, we use ast_context_find_or_create(). main/pbx.c I changed all the "tree" names to "table" instead. That's because the original implementation was based on binary trees. (had a free library). Then I moved to hashtabs. Now, the names move forward too. refcount field added to contexts, so you can keep track of how many modules wanted this context to exist. Some log messages that are warnings were inflated from LOG_NOTICE to LOG_WARNING. Added some calls to ast_verb(3,...) for debug messages Lots of little mods to ast_context_remove_extension2, which is now excersized in ways it was not previously; one definite bug fixed. find_or_create was upgraded to handle both local lists/tables as well as the globals. context_merge() was added to do the per-context merging of the old/present contexts/extens/prios into the new/proposed local list/tables ast_merge_contexts_and_delete() was heavily modified. ast_add_extension2() was also upgraded to handle changes. the context_destroy() code was re-engineered to handle the new way of doing things, by exten/prio instead of by context. res/ael/pval.c res/ael/ael.tab.c res/ael/ael.tab.h res/ael/ael.y res/ael/ael_lex.c res/ael/ael.flex utils/ael_main.c utils/extconf.c utils/conf2ael.c utils/Makefile Had to change the interface to ast_compile_ael2(), to include the hashtab ptr. This ended up involving several external apps. The main gotcha was I had to include lock.h and hashtab.h in several places. As a side note, I tested this stuff pretty thoroughly, I replicated the problems originally reported by Luigi, and made triply sure that reloads worked, and everything worked thru "stop gracefully". I found a and fixed a few bugs as I was merging into trunk, that did not appear in my tests of bug6002. How's this for verbose commit messages? git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106757 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merged revisions 106704 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106704 | russell | 2008-03-07 11:16:58 -0600 (Fri, 07 Mar 2008) | 8 lines Change a warning message to a debug message. This is happening quite frequently, and it is not worth spamming users with these messages unless we are pretty confident that it should never happen. As it stands today, it _will_ and _does_ happen and until that gets cleaned up a reasonable amount on the development side, let's not spam the logs of everyone else. (closes issue #12154) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106707 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07fix example usageRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106684 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merged revisions 106635 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106635 | tilghman | 2008-03-07 10:22:11 -0600 (Fri, 07 Mar 2008) | 3 lines Warn the user when a temporary greeting exists (Closes issue #11409) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106654 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merged revisions 106606 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106606 | tilghman | 2008-03-07 09:20:52 -0600 (Fri, 07 Mar 2008) | 3 lines Properly initialize rtp->schedid (Closes issue #12154) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106607 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merged revisions 106552 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106552 | tilghman | 2008-03-07 00:36:33 -0600 (Fri, 07 Mar 2008) | 6 lines Safely use the strncat() function. (closes issue #11958) Reported by: norman Patches: 20080209__bug11958.diff.txt uploaded by Corydon76 (license 14) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07minor text changesRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106518 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Add updated SMDI documentation that I had only sitting in my email ... oopsRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-07Merge changes from team/russell/g722-sillyness ...Russell Bryant
Fix a number of other places where the number of samples in a G722 frame was not properly handled because of various reasons. main/rtp.c: - When a G722 frame is read from the smoother, the number of samples in the frame must be divided by 2 before being sent out over the network. Even though G722 is 16 kHz, an error in some previous spec has made it so that we have to list the number of samples such as if it was 8 kHz. main/file.c: - When scheduling the next time to expect a frame, take into account that the format of the file we're reading from may not be 8 kHz. codecs/codec_g722.c: - When converting from G722 to slinear, g722_decode() expects its samples parameter to be in the silly (real samples / 2) format. Make it so. - When converting from slinear to G722, properly set the number of samples in the frame to be the number of bytes of output * 2. formats/format_pcm.c: - This format module handles G722, among a number of other formats. However, the read() and seek() functions did not account for the fact that G722 has 2 samples per byte. (closes issue #12130, reported by rickross, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06Fix file playback in many cases.Jason Parker
(closes issue #12115) Reported by: pj Patches: v2-fileexists.patch uploaded by dimas (license 88) (with modifications by me) Tested by: dimas, qwell, russell git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106439 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06Merged revisions 106437 via svnmerge from Mark Michelson
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106437 | mmichelson | 2008-03-06 16:10:07 -0600 (Thu, 06 Mar 2008) | 8 lines Quell an annoying message that is likely to print every single time that ast_pbx_outgoing_app is called. The reason is that __ast_request_and_dial allocates the cdr for the channel, so it should be expected that the channel will have a cdr on it. Thanks to joetester on IRC for pointing this out ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06trivial fix for an agi error when attempting to use EAGI on a dead/hungup ↵Donny Kavanagh
channel, we now print an error that makes sense given our removal of deadagi as an actual application. (closes issue #12161) Reported by: explidous Patches: res_agi_12161.patch uploaded by juggie (license 24) Tested by: juggie git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106399 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06Missing braces, fix parsingTilghman Lesher
(closes issue #12112) Reported by: cyrenity Patches: res_config_ldap.patch-03-03-2008 uploaded by cyrenity (license 416) Tested by: cyrenity, Corydon76 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106346 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-06Merged revisions 106328 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106328 | tilghman | 2008-03-05 22:40:06 -0600 (Wed, 05 Mar 2008) | 2 lines Upgrade to the next release of sounds ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Add a cmenuselect/cmenuconfig, to force curses.Jason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Add the nmenuselect makefile targets. This is a newt menuselect interface whichRussell Bryant
was written by seanbright. It is much sexier than my curses one. :) (issue #12139) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 106235 via svnmerge from Joshua Colp
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: https://origsvn.digium.com/svn/asterisk/trunk@106239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 106237 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106237 | russell | 2008-03-05 16:37:09 -0600 (Wed, 05 Mar 2008) | 3 lines Fix a potential deadlock and a few different potential crashes. (closes issue #12145, reported by thiagarcia, patched by me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Adding the Atxfer manager command. With this, you may initiateMark Michelson
an attended transfer over AMI (closes issue #10585) Reported by: ornati Patches: atxfer-trunk-r90428.diff uploaded by ornati (license 210) (with modifications from me) Tested by: putnopvut git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106236 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05document var_metric usage to prevent bugreports that are actually ↵Michiel van Baak
configuration issues (closes issue #12151) Reported by: caio1982 Patches: DB_metric3.diff uploaded by caio1982 (license 22) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106186 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Blocked revisions 106178 via svnmergeMichiel van Baak
........ r106178 | mvanbaak | 2008-03-05 22:12:36 +0100 (Wed, 05 Mar 2008) | 5 lines document var_metric so no bugreports will come in when it's actually a configuration issue. (issue #12151) Reported and patched by: caio1982 1.4 patch by me ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106179 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Should check these values for non-NULL before scanning.Tilghman Lesher
(Closes issue #12147) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106139 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Fix code up to what it was meant to be.Joshua Colp
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Create a centralized configuration option for silencethresholdTilghman Lesher
(closes issue #11236) Reported by: philipps Patches: 20080218__bug11236.diff.txt uploaded by Corydon76 (license 14) Tested by: philipps git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 106038 via svnmerge from Kevin P. Fleming
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106038 | kpfleming | 2008-03-05 09:32:35 -0600 (Wed, 05 Mar 2008) | 7 lines when a PRI call must be moved to a different B channel at the request of the other endpoint, ensure that any DSP active on the original channel is moved to the new one (closes issue #11917) Reported by: mavetju Tested by: mavetju ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 106015 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r106015 | tilghman | 2008-03-05 09:17:16 -0600 (Wed, 05 Mar 2008) | 7 lines Correctly initialize retransid in SIP, and ensure that the warning when failing to delete a schedule entry can actually hit the log. (closes issue #12140) Reported by: slavon Patches: sch2.patch uploaded by slavon (license 288) (Patch slightly modified by me) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@106036 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05 - simplify a few statements with ARRAY_LEN()Russell Bryant
- constify the stregy int to string mappings array git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105984 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Merged revisions 105932 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105932 | russell | 2008-03-04 19:52:18 -0600 (Tue, 04 Mar 2008) | 5 lines Fix a bug that I just noticed in the RTP code. The calculation for setting the len field in an ast_frame of audio was wrong when G.722 is in use. The len field represents the number of ms of audio that the frame contains. It would have set the value to be twice what it should be. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105933 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-05Fix the SHARED() read callback to properly unlock the channel. This functionRussell Bryant
could not have worked, as it left the channel locked in all cases. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04There are several places in manager.c where BUFSIZ is used for a bufferMark Michelson
which will contain nowhere near that amount of data. This makes these buffers more reasonably sized. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105864 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Fix minor misuses of snprintfTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Whitespace changes onlyTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04add a destroy API call for a server instanceRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105804 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04More public API name changes to use an appropriate ast_ prefixRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Rename public object server_instance to ast_tcptls_server_instanceRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Fix some bugs in the SIP tcp helper thread.Russell Bryant
- fix a spot where a lock wouldn't get unlocked in an error condition - call ast_mutex_destroy() on the lock before freeing its memory (related to issue #11972) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Set username to default to the category name if it isn't overridden by a ↵Terry Wilson
usernmae= setting in users.conf git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105733 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Merged revisions 105676 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105676 | file | 2008-03-04 14:10:34 -0400 (Tue, 04 Mar 2008) | 2 lines In addition to setting the marker bit let's change our ssrc so they know for sure it is a different source. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Merged revisions 105674 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105674 | file | 2008-03-04 14:05:28 -0400 (Tue, 04 Mar 2008) | 8 lines When a new source of audio comes in (such as music on hold) make sure the 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: https://origsvn.digium.com/svn/asterisk/trunk@105675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Update CHANGES headingRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105597 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Simplify a trivial snprintf() with ast_copy_string()Russell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Make it so you don't have to cast away const in a couple placesRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105594 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04remove unnecessary castsRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Blocked revisions 105591 via svnmergeRussell Bryant
........ r105591 | russell | 2008-03-03 22:31:29 -0600 (Mon, 03 Mar 2008) | 4 lines Backport a minor bug fix from trunk that I found while doing random code cleanup. Properly break out of the loop when a context isn't found when verify that includes are valid. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04 - Add curly braces around the while loopRussell Bryant
- Properly break out of the loop on error when an included context is not found git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-04Use ast_copy_string() instead of strncpy(), and use sizeof() instead ofRussell Bryant
a magic number git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03Fix some code that was improperly changed in revision 104866 from issue #12079.Russell Bryant
(closes issue #12129, reported by elguero, patched by me) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105574 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03Merged revisions 105572 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105572 | qwell | 2008-03-03 12:06:52 -0600 (Mon, 03 Mar 2008) | 7 lines Fix types for astNumChannels and astConfigCallsProcessed. (closes issue #12114) Reported by: jeffg Patches: 12114.patch uploaded by jeffg (license 192) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03Merged revisions 105570 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105570 | russell | 2008-03-03 11:16:53 -0600 (Mon, 03 Mar 2008) | 3 lines In the case of an ast_channel allocation failure, take the local_pvt out of the pvt list before destroying it. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105571 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-03Merged revisions 105568 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r105568 | russell | 2008-03-03 11:05:16 -0600 (Mon, 03 Mar 2008) | 3 lines Fix a potential memory leak of the local_pvt struct when ast_channel allocation fails. Also, in passing, centralize the code necessary to destroy a local_pvt. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@105569 65c4cc65-6c06-0410-ace0-fbb531ad65f3