aboutsummaryrefslogtreecommitdiffstats
path: root/include
AgeCommit message (Collapse)AuthorFilesLines
2007-09-04logger.h depends on options.h, so go ahead and include itrussell1-0/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81445 f38db490-d61c-443f-a65b-d21fe96a405b
2007-09-01Merged revisions 81426 via svnmerge from mmichelson1-0/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r81426 | mmichelson | 2007-09-01 01:02:06 -0500 (Sat, 01 Sep 2007) | 4 lines Making match_by_addr into ao2_match_by_addr and making it available everywhere since it could be a handy callback to have ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81427 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-31Merged revisions 81418 via svnmerge from russell1-2/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r81418 | russell | 2007-08-31 16:27:49 -0500 (Fri, 31 Aug 2007) | 2 lines Remove references to a debugging parameter that does not exist ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81419 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29Make the event header file work under C++.file1-0/+8
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81364 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29This code was in team/murf/bug8684-trunk; it should fix bug 8684 in trunk. I ↵murf1-6/+9
didn't add it to 1.4 yet, because it's not entirely clear to me if this is a bug fix or an enhancement. A lot of files were affected by small changes like ast_variable_new getting an added arg, for the file name the var was defined in; ast_category_new gets added args of filename and lineno; ast_category and ast_variable structures now record file and lineno for each entry; a list of all #include and #execs in a config file (or any of its inclusions are now kept in the ast_config struct; at save time, each entry is put back into its proper file of origin, in order. #include and #exec directives are folded in properly. Headers indicating that the file was generated, are generated also for each included file. Some changes to main/manager.c to take care of file renaming, via the UpdateConfig command. Multiple inclusions of the same file are handled by exploding these into multiple include files, uniquely named. There's probably more, but I can't remember it right now. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81361 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29To keep others happy... revert part of my additions so trunk works.file1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81344 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29Add API calls for iterating through an event. This should allow events to ↵file2-0/+58
have multiple information elements (while there was nothing preventing it before you could not actually access any except the first one). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81334 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-29Add inline function for signed linear subtraction.file1-0/+13
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81326 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28Change the audiohook lock and unlock wrappers to macros instead of inlinerussell1-8/+2
functions. As inline functions, the lock debug information will show that these are always locked in audiohooks.h instead of the file where the lock was actually acquired. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81264 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28* Constify the uid field of channel datastoresrussell1-4/+10
* Convert some spaces to tabs in func_volume * Add a note in channel.h making it clear that none of the datastore API calls lock the channel they are given, so the channel should be locked before calling the functions that take a channel argument. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81260 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-28(closes issue #7852)russell1-0/+12
Reported by: nic_bellamy Patches: 2006-10-03_svn_44249_voicemail_lockmode_v3.patch uploaded by nic_bellamy (license 213) Add support for configurable file locking methods. The default is "lockfile", which is the old behavior. There is an additional option, "flock", which is intended for use in situations where the lockfile method will not work, such as with SMB/CIFS mounts. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@81233 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-23Merged revisions 80573 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80573 | russell | 2007-08-23 15:16:41 -0500 (Thu, 23 Aug 2007) | 5 lines When executing a dynamic feature, don't look it up a second time by digit pattern after we already looked it up by name. This causes broken behavior if there is more than one feature defined with the same digit pattern. (closes issue #10539, reported by bungalow, patch by me) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80574 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-22Merged revisions 80426 via svnmerge from russell1-33/+45
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80426 | russell | 2007-08-22 17:54:03 -0500 (Wed, 22 Aug 2007) | 6 lines Add some more documentation on iterating ao2 containers. The documentation implies that is possible to miss an object or see an object twice while iterating. After looking through the code and talking with mmichelson, I have documented the exact conditions under which this can happen (which are rare and harmless in most cases). ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80427 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-22Merged revisions 80362 via svnmerge from russell2-1/+534
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r80362 | russell | 2007-08-22 15:21:36 -0500 (Wed, 22 Aug 2007) | 34 lines Merge changes from team/russell/iax_refcount. This set of changes fixes problems with the handling of iax2_user and iax2_peer objects. It was very possible for a thread to still hold a reference to one of these objects while a reload operation tries to delete them. The fix here is to ensure that all references to these objects are tracked so that they can't go away while still in use. To accomplish this, I used the astobj2 reference counted object model. This code has been in one of Luigi Rizzo's branches for a long time and was primarily developed by one of his students, Marta Carbone. I wanted to go ahead and bring this in to 1.4 because there are other problems similar to the ones fixed by these changes, so we might as well go ahead and use the new astobj if we're going to go through all of the work necessary to fix the problems. As a nice side benefit of these changes, peer and user handling got more efficient. Using astobj2 lets us not hold the container lock for peers or users nearly as long while iterating. Also, by changing a define at the top of chan_iax2.c, the objects will be distributed in a hash table, drastically increasing lookup speed in these containers, which will have a very big impact on systems that have a large number of users or peers. The use of the hash table will be made the default in trunk. It is not the default in 1.4 because it changes the behavior slightly. Previously, since peers and users were stored in memory in the same order they were specified in the configuration file, you could influence peer and user matching order based on the order they are specified in the configuration. The hash table does not guarantee any order in the container, so this behavior will be going away. It just means that you have to be a little more careful ensuring that peers and users are matched explicitly and not forcing chan_iax2 to have to guess which user is the right one based on secret, host, and access list settings, instead of simply using the username. If you have any questions, feel free to ask on the asterisk-dev list. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80387 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-20This change set fixes bug 8126 in trunk. It is implemented via compile time ↵murf2-3/+96
options, activated via the menuselect stuff, which defaults to the old way. non-zero sample data added. Translate tables expressed in microseconds instead of milliseconds, with 5-digit data now instead of 3, giving 2 more digits of precision. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80113 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-20Stephn Davies reports that this will help make things work on 64-bit machinesmurf1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@80075 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-17Merged revisions 79904 via svnmerge from qwell1-0/+7
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #10430) ........ r79904 | qwell | 2007-08-17 14:12:19 -0500 (Fri, 17 Aug 2007) | 11 lines Don't send a semicolon over the wire in sip notify messages. Caused by fix for issue 9938. I basically took the code that existed before 9938 was fixed, and copied it into a new function - ast_unescape_semicolon There should be very few places this will be needed (pbx_config does NOT need this (see issue 9938 for details)) Issue 10430, patch by me, with help/ideas from murf (thanks murf). ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79905 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-17This commit adds a scheduler API call, ast_sched_replace that can be usedrussell1-0/+24
in place of a very common construct. I also used it in a number of places in chan_sip. if (id > -1) ast_sched_del(sched, id); id = ast_sched_add(sched, ...); changes to: ast_sched_replace(id, sched, ...); git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79861 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-16Don't reload a configuration file if nothing has changed.tilghman1-4/+21
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-15Missing from murf's last trunk commit, which was why trunk won't compiletilghman2-0/+516
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79623 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-15This commit closes bug 7605, and half-closes 7638. The AEL code has been ↵murf3-108/+52
redistributed/repartitioned to allow code re-use both inside and outside of Asterisk. This commit introduces the utils/conf2ael program, and an external config-file reader, for both normal config files, and for extensions.conf (context, exten, prio); It provides an API for programs outside of asterisk to use to play with the dialplan and config files. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79595 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13Merged revisions 79334 via svnmerge from file1-2/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79334 | file | 2007-08-13 18:57:20 -0300 (Mon, 13 Aug 2007) | 2 lines Instead of accepting a single DTMF character accept a full string. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79335 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13Merged revisions 79207 via svnmerge from file1-0/+4
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79207 | file | 2007-08-13 11:51:09 -0300 (Mon, 13 Aug 2007) | 2 lines Add an API call to allow the engine to know that DTMF was received. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79208 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-13constify the return value of reason2strrussell1-3/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79176 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10Merged revisions 79099 via svnmerge from murf1-0/+10
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r79099 | murf | 2007-08-10 14:53:43 -0600 (Fri, 10 Aug 2007) | 1 line From a user complaint on #asterisk, I have forced pbx_spool to explain what reason codes mean, when they are logged ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79100 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10Merge a set of device state improvements from team/russell/events.russell1-19/+81
The way a device state change propagates is kind of silly, in my opinion. A device state provider calls a function that indicates that the state of a device has changed. Then, another thread goes back and calls a callback for the device state provider to find out what the new state is before it can go send it off to whoever cares. I have changed it so that you can include the state that the device has changed to in the first function call from the device state provider. This removes the need to have to call the callback, which locks up critical containers to go find out what the state changed to. This change set changes the "simple" device state providers to use the new method. This includes parking, meetme, and SLA. I have also mostly converted chan_agent in my branch, but still have some more things to think through before presenting the plan for converting channel drivers to ensure all of the right events get generated ... git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79027 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-10Merged revisions 78995 via svnmerge from russell1-9/+17
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78995 | russell | 2007-08-10 10:20:09 -0500 (Fri, 10 Aug 2007) | 4 lines The last set of changes that I made to "core show locks" made it not able to track mutexes unless they were declared using AST_MUTEX_DEFINE_STATIC. Locks initialized with ast_mutex_init() were not tracked. It should work now. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@79005 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-09Fix a problem that I had introduced into MWI handling. I had ignoredrussell1-0/+6
the mailbox context. Now, all related MWI event dealings pay attention to the context as well. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78747 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-08Add support for using epoll instead of poll. This should increase ↵file2-0/+19
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-08Merge audiohooks branch into trunk. This is a new API for developers to ↵file4-155/+188
listen and manipulate the audio going through a channel. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78649 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-07Add another big set of doxygen documentation improvements from snuffy.russell1-19/+25
(closes issue #9892) (closes issue #10395) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78541 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-07Use the linkedlists.h macros for the manager action list.file1-1/+1
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78521 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06Extend the ast_senddigit and ast_dtmf_stream API calls to allow the duration ↵file2-2/+4
of the DTMF digit(s) to be specified and make the SendDTMF application have the capability to use it. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78278 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06Change the fsk filter used in CID and TDD decode to an integer based ↵dbailey1-20/+30
implementation git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78227 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06Merged revisions 78103 via svnmerge from mmichelson1-2/+9
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78103 | mmichelson | 2007-08-03 15:25:22 -0500 (Fri, 03 Aug 2007) | 7 lines Changed the behavior of sip's realtime_peer function to match the corresponding way of matching for non-realtime peers. Now matches are made on both the IP address and port number, or if the insecure setting is set to "port" then just match on the IP address. In order to accomplish this, I also added a new API call, ast_category_root, which returns the first variable of an ast_category struct ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78186 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-06Merged revisions 78184 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78184 | russell | 2007-08-06 11:50:54 -0500 (Mon, 06 Aug 2007) | 5 lines Fix the return value of AST_LIST_REMOVE(). This shouldn't be causing any problems, though, because the only code that uses the return value only checks to see if it is NULL. (closes issue #10390, pointed out by mihai) ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78185 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-05Merged revisions 78143 via svnmerge from russell1-0/+2
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78143 | russell | 2007-08-04 23:15:31 -0500 (Sat, 04 Aug 2007) | 2 lines Fix compilation failure when MALLOC_DEBUG is enabled, but DEBUG_THREADS is not ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78144 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-05Fix building res_crypto on systems that init locks with constructors.russell1-4/+4
The problem was that res_crypto now has a RWLIST named "keys". The macro for defining this list defines a function used as a constructor for the list called "init_keys". However, there was another function called init_keys in this module for a CLI command. The fix is just to prepend the generated functions with underscores. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78138 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-03Merged revisions 78095 via svnmerge from russell1-6/+64
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r78095 | russell | 2007-08-03 14:39:49 -0500 (Fri, 03 Aug 2007) | 28 lines Add some improvements to lock debugging. These changes take effect with DEBUG_THREADS enabled and provide the following: * This will keep track of which locks are held by which thread as well as which lock a thread is waiting for in a thread-local data structure. A reference to this structure is available on the stack in the dummy_start() function, which is the common entry point for all threads. This information can be easily retrieved using gdb if you switch to the dummy_start() stack frame of any thread and print the contents of the lock_info variable. * All of the thread-local structures for keeping track of this lock information are also stored in a list so that the information can be dumped to the CLI using the "core show locks" CLI command. This introduces a little bit of a performance hit as it requires additional underlying locking operations inside of every lock/unlock on an ast_mutex. However, the benefits of having this information available at the CLI is huge, especially considering this is only done in DEBUG_THREADS mode. It means that in most cases where we debug deadlocks, we no longer have to request access to the machine to analyze the contents of ast_mutex_t structures. We can now just ask them to get the output of "core show locks", which gives us all of the information we needed in most cases. I also had to make some additional changes to astmm.c to make this work when both MALLOC_DEBUG and DEBUG_THREADS are enabled. I disabled tracking of one of the locks in astmm.c because it gets used inside the replacement memory allocation routines, and the lock tracking code allocates memory. This caused infinite recursion. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@78096 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01Merged revisions 77869 via svnmerge from file1-2/+8
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77869 | file | 2007-08-01 14:56:59 -0300 (Wed, 01 Aug 2007) | 2 lines Add some fixes for building on Solaris. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77870 f38db490-d61c-443f-a65b-d21fe96a405b
2007-08-01Merged revisions 77863 via svnmerge from file1-2/+5
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77863 | file | 2007-08-01 14:22:35 -0300 (Wed, 01 Aug 2007) | 2 lines Extend autoconf logic to determine which version of gethostbyname_r is on the system. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77864 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-31Merged revisions 77831 via svnmerge from file1-2/+3
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77831 | file | 2007-07-31 13:17:09 -0300 (Tue, 31 Jul 2007) | 2 lines Add a flag to the speech API that allows an engine to set whether it received results or not. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77833 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30Add support for call forwarding and timeouts to the dialing API.file1-4/+20
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77801 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30Merged revisions 77788 via svnmerge from russell1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r77788 | russell | 2007-07-30 14:13:31 -0500 (Mon, 30 Jul 2007) | 10 lines (closes issue #10279) Reported by: seanbright Patches: res_agi.carefulwrite.1.4.07252007.patch uploaded by seanbright (license 71) res_agi.carefulwrite.trunk.07252007.patch uploaded by seanbright (license 71) Allow the "agi_network: yes" line to be printed out in the AGI debug output. Also, allow partial writes to be handled when writing out this line just like it is for all of the others. ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77789 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-30Cleanup of res_agi, ensuring thread safety (closes issue #10288)tilghman1-3/+8
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@77787 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-24Merged revisions 76937 via svnmerge from tilghman1-1/+1
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r76937 | tilghman | 2007-07-24 17:12:43 -0500 (Tue, 24 Jul 2007) | 10 lines Merged revisions 76934 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r76934 | tilghman | 2007-07-24 17:11:33 -0500 (Tue, 24 Jul 2007) | 2 lines Oops, res contains the error code, not errno. I was wondering why a mutex was reporting "No such file or directory"... ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76940 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23Enhance AGI with several fixes:tilghman1-2/+5
- Makes the structures handling external AGI commands a bit more thread-safe - Makes AGI transparently work with both live and hungup channels - DeadAGI is hence no longer necessary and is deprecated - CLI bug fixes - Commands will refuse to run if the channel is dead and the command is nonsensical for dead channels. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76707 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23Merge the dialplan_aesthetics branch. Most of this patch simply converts ↵tilghman1-1/+1
applications using old methods of parsing arguments to using the standard macros. However, the big change is that the really old way of specifying application and arguments separated by a comma will no longer work (e.g. NoOp,foo|bar). Instead, the way that has been recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar). git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76703 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23(closes issue #10271)russell4-50/+51
Reported by: snuffy Patches: doxygen-updates.diff uploaded by snuffy (license 35) Another big batch of doxygen documentation updates git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76559 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-23(closes issue #10192)russell2-4/+38
Reported by: bbryant Patches: 20070720__core_debug_by_file.patch uploaded by bbryant (license 36) (with some modifications by me) Tested by: russell, bbryant This set of changes introduces the ability to set the core debug or verbose levels on a per-file basis. Interestingly enough, in 1.4, you have the ability to set core debug for a single file, but that functionality was accidentally lost in the conversion of the CLI commands to the new format. This patch improves upon what was in 1.4 by letting you set it for more than 1 file, and by also supporting verbose. *** Janitor Project *** This patch also introduces a new macro, ast_verb(), which is similar to ast_debug(). Setting the per file verbose value only works for messages that use this macro. Converting existing uses of ast_verbose() can be done like: if (option_debug > 2) ast_verbose(VERBOSE_PREFIX_3 "Something useful\n"); ... ast_verb(3, "Something useful\n"); git-svn-id: http://svn.digium.com/svn/asterisk/trunk@76555 f38db490-d61c-443f-a65b-d21fe96a405b