Commit Graph

1078 Commits

Author SHA1 Message Date
Russell Bryant
ad13307328 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@78184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-06 16:50:54 +00:00
Russell Bryant
38a51a53db Fix compilation failure when MALLOC_DEBUG is enabled, but DEBUG_THREADS is not
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@78143 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-05 04:15:31 +00:00
Mark Michelson
05ba4d90d4 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@78103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 20:25:22 +00:00
Russell Bryant
2f41cceb1f 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@78095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-03 19:39:49 +00:00
Joshua Colp
68c221f69a Add some fixes for building on Solaris.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 17:56:59 +00:00
Joshua Colp
bc7150c380 Extend autoconf logic to determine which version of gethostbyname_r is on the system.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-08-01 17:22:35 +00:00
Joshua Colp
35ceaca691 Add a flag to the speech API that allows an engine to set whether it received results or not.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@77831 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-31 16:17:09 +00:00
Tilghman Lesher
e5c3ef3388 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: https://origsvn.digium.com/svn/asterisk/branches/1.4@76937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24 22:12:43 +00:00
Joshua Colp
5f37fa26d2 Instead of figuring out kernel versions that have compiler.h and not... let's just use autoconf to check for it's presence. (issue #10174 reported by francesco_r)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74572 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-11 17:03:08 +00:00
Jason Parker
d4a7eb584f Merged revisions 74373 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r74373 | qwell | 2007-07-10 13:37:23 -0500 (Tue, 10 Jul 2007) | 5 lines

Use res_ndestroy on systems that have it.  Otherwise, use res_nclose.
This prevents a memleak on NetBSD - and possibly others.

Issue 10133, patch by me, reported and tested by scw

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74374 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-10 18:39:30 +00:00
Russell Bryant
ef2ae2f856 regenerate the configure script for rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@72493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-28 19:44:11 +00:00
Russell Bryant
cbdc6b5b2d To prevent 92138749238754 more reports of "I have unixodbc installed, but
still can't build *_odbc.so!", check for ltdl directly, instead of just listing
it as another library to include in the unixodbc check in the configure script.
This also makes ltdl show up as a dependency in menuselect so people know what
to go install.  (related to issue #9989, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69702 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-18 16:35:02 +00:00
Kevin P. Fleming
ae82d97c6d use ast_localtime() in every place localtime_r() was being used
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@69392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-14 21:50:40 +00:00
Jason Parker
0f45225441 Solaris 10 sometimes (?) needs this include in order to have NULL defined.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@68814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 21:20:15 +00:00
Olle Johansson
ff2943dd59 Issue #9738 - Make sure we can unload res_jabber. Patch by phsultan - thanks!
Due to a bug in the iksemel library, this will not work if you are using GTLS
in the connection. That's being investigated. If you figure out a way to handle
that without us having to patch iksemel, let us know in the bug report. Thanks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-07 09:00:44 +00:00
Russell Bryant
e7dd69eea8 Merged revisions 67715 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r67715 | russell | 2007-06-06 11:40:51 -0500 (Wed, 06 Jun 2007) | 5 lines

We have some bug reports showing crashes due to a double free of a channel.
Add a sanity check to ast_channel_free() to make sure we don't go on trying
to free a channel that wasn't found in the channel list.
(issue #8850, and others...)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67716 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-06 16:55:59 +00:00
Russell Bryant
fe9a3bef4e This bug has been hanging over my head ever since I wrote this SLA code.
Every time I tried to go debug it by adding some debug output, the behavior
would change.  It turns out I wasn't crazy.  I had the following piece of code:

   if (remove)
      AST_LIST_REMOVE_CURRENT(...);

Well, AST_LIST_REMOVE_CURRENT was not wrapped in braces, so my conditional
statement didn't do much good at all.  It always ran at least all of the
macro minus the first statement, so I was seeing list entries magically
disappear when they weren't supposed to.

After many hours of debugging, I have come to this extremely irritating fix. :)

(issues #9581, #9497)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 20:53:28 +00:00
Russell Bryant
d5fd0cff73 When shutting down "gracefully", go through and run the unload() callbacks for
all of the modules.  "stop now" is considered a non-graceful shutdown and will
not go through this process.
(issue #9804, reported by chrisost, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 15:51:53 +00:00
Russell Bryant
35e7f6e86e Fix some compiler warnings in C++ modules.
(issue #9866, reported by osk, patch by Corydon76)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@67018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-04 15:28:33 +00:00
Russell Bryant
19a2be29f3 Change a couple of header files to not use "new", which is a reserved keyword
in C++.  (issue #9830, reported by osk)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66775 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-31 18:41:58 +00:00
Russell Bryant
c061b86966 Checking for the strip application needs to be done with AC_PATH_TOOL
instead of AC_PATH_PROG to properly handle cross compilation environments.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 20:42:53 +00:00
Jason Parker
b4ea07a7eb Fix handling of zero-length frames when a codec is capable of native PLC.
Issue 9183, patch by Mihai.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-24 15:14:02 +00:00
Steve Murphy
dfee354cfa Merged revisions 65172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r65172 | murf | 2007-05-18 14:56:20 -0600 (Fri, 18 May 2007) | 1 line

This update will fix the situation that occurs as described by 9717, where when several targets are specified for a dial, if any one them reports FAIL, the whole call gets FAIL, even though others were ringing OK. I rearranged the priorities, so that a new disposition, NULL, is at the lowest level, and the disposition get init'd to NULL. Then, next up is FAIL, and next up is BUSY, then NOANSWER, then ANSWERED. All the related set routines will only do so if the disposition value to be set to is greater than what's already there. This gives the intended effect. So, if all the targets are busy, you'd get BUSY for the call disposition. If all get BUSY, but one, and that one rings is not answered, you get NOANSWER. If by some freak of nature, the NULL value doesn't get overridden, then the disp2str routine will report NOANSWER as before.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 22:06:27 +00:00
Tilghman Lesher
002214d84f Merged revisions 64819 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r64819 | tilghman | 2007-05-17 16:14:36 -0500 (Thu, 17 May 2007) | 2 lines

How is it that we never caught that this is returning the opposite of our documentation, until now?

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@64820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-17 21:19:34 +00:00
Joshua Colp
99cdfb2542 Merged revisions 63285 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r63285 | file | 2007-05-07 17:39:52 -0400 (Mon, 07 May 2007) | 2 lines

Properly handle what happens during a masquerade in relation to group counting. (issue #9657 reported by ramonpeek)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@63286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-07 21:45:01 +00:00
Russell Bryant
63a37f4755 When serving dynamic content, include a Cache-Control header to instruct the
browsers to not store the resulting content.  
(issue #9621, reported by Pari, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@62414 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-30 15:25:31 +00:00
Joshua Colp
1d4adc0174 Merged revisions 61804 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61804 | file | 2007-04-25 14:52:50 -0400 (Wed, 25 Apr 2007) | 2 lines

Merge rewritten group counting support. No more storing data on the variable list of the channels. That was bad, mmmk? (issue #7497 reported by sabbathbh)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@61805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-25 19:21:54 +00:00
Russell Bryant
456cad8a47 Improve DTMF handling in ast_read() even more in response to a discussion on
the asterisk-dev mailing list.  I changed the enforced minimum length of a
digit from 100ms to 80ms.  Furthermore, I made it now enforce a gap of 45ms in
between digits.  These values are not configurable in a configuration file
right now, but they can be easily changed near the top of main/channel.c.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@61781 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-24 19:00:06 +00:00
Russell Bryant
70eb19121e Fix the UpdateConfig manager action to properly treat "variables" and "objects"
differently (a=b versus a=>b).
(issue #9568, reported by pari, patch by me)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@61690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-20 18:19:18 +00:00
Steve Murphy
7d5a79a0b9 This is a big improvement over the current CDR fixes. It may still need refinement, but this won't have as many folks bothered.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 18:32:07 +00:00
Tilghman Lesher
a5872f439b Merged revisions 60849 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r60849 | tilghman | 2007-04-08 21:49:06 -0500 (Sun, 08 Apr 2007) | 2 lines

Don't check for error when lowering priority (according to the manpage, it should never happen anyway).  It might could happen, though, if another thread messed with the priority, so safeguard against that (reported via -dev list).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-09 03:01:12 +00:00
Russell Bryant
06ff84b549 To be able to achieve the things that we would like to achieve with the
Asterisk GUI project, we need a fully functional HTTP interface with access
to the Asterisk manager interface.  One of the things that was intended to be
a part of this system, but was never actually implemented, was the ability for
the GUI to be able to upload files to Asterisk.  So, this commit adds this in
the most minimally invasive way that we could come up with.

A lot of work on minimime was done by Steve Murphy.  He fixed a lot of bugs in
the parser, and updated it to be thread-safe.  The ability to check
permissions of active manager sessions was added by Dwayne Hubbard.  Then,
hacking this all together and do doing the modifications necessary to the HTTP
interface was done by me.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60603 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 20:58:43 +00:00
Joshua Colp
f996b1cbc8 Add support for returning different types of results (ie: NBest).
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@60361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-06 01:14:00 +00:00
Steve Murphy
798039b4d8 several changes via kpflemings review
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 17:51:17 +00:00
Steve Murphy
9c69e34f62 These mods fix CDR issues from 8221, 8593, 8680, 8743, and perhaps others. Mainly with CDRs generated from transfer situations.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-30 14:11:59 +00:00
Russell Bryant
fa97f6c381 The AUDIORTPQOS and VIDEORTPQOS variables are not fully functional in some
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: https://origsvn.digium.com/svn/asterisk/branches/1.4@59207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 17:45:55 +00:00
Nadi Sarrar
980b0bc785 * mISDN >= 1.2 provides a dsp pipeline for i.e. echo cancellation modules, make chan_misdn use it.
* add a check for linux/mISDNdsp.h to configure.ac and update the autogenerated files: 'configure', 'autoconfig.h.in'
  (the 'configure' script was not in sync with the latest configure.ac, so the diff is a bit bigger than expected).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 15:25:53 +00:00
Steve Murphy
6e869d135c The fix for the AEL <<security hole>> (bug 9316) is here...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@59069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-20 17:43:02 +00:00
Russell Bryant
fed69df9cd Add configure script checking for GTK2 and some additional Makefile targets
to support gmenuselect


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@58947 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-15 23:53:26 +00:00
Russell Bryant
31cf37519f Merge changes from svn/asterisk/team/russell/sla_updates
* Originally, I put in the documentation that only Zap interfaces would be
  supported on the trunk side.  However, after a discussion with Qwell, we came
  up with a way to make IP trunks work as well, using some things already in
  Asterisk.  So, here it is, this now officially supports IP trunks.
* Update the SLA documentation to reflect how to setup IP trunks.
* Add a section in sla.txt that describes how to set up an SLA system with
  voicemail.
* Simplify the way DTMF passthrough is handled in MeetMe.
* Fix a bug that exposed itself when using a Local channel on the trunk side
  in SLA.  The station's channel needs to be passed to the dial API when
  dialing the trunk.
* Change a WARNING message to DEBUG in channel.h.  This message is of no use
  to users.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@57364 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-01 23:42:53 +00:00
Russell Bryant
71275050ab Increase the maximum number of manager headers to 128, at the request of Pari.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55590 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-20 19:57:07 +00:00
Russell Bryant
137835c878 If the pg_config application is found, but there is probably executing it,
then consider postgres unavailable.  (issue #8637)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@55052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-17 00:40:34 +00:00
Russell Bryant
3ed86f887e Fix the documentation on the return values from device state provider
registration and deletion.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@54218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-13 20:56:50 +00:00
Russell Bryant
913948066e Change ast_set_state_callback() to ast_dial_set_state_callback()
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@54103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-12 19:17:08 +00:00
Russell Bryant
5bc6ee1714 - Add the ability to register a callback to monitor state changes in an
asynchronous dial operation.
- Rename the various references to "status" to "state" in the dial API


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@54066 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-12 17:58:43 +00:00
Russell Bryant
7ee02f585d Merge team/russell/sla_rewrite
This is a completely new implementation of the SLA functionality introduced in
Asterisk 1.4.  It is now functional and ready for testing.  However, I will be
adding some additional features over the next week, as well.

For information on how to set this up, see configs/sla.conf.sample 
and doc/sla.txt.

In addition to the changes in app_meetme.c for the SLA implementation itself,
this merge brings in various other changes:

chan_sip:
 - Add the ability to indicate HOLD state in NOTIFY messages.
 - Queue HOLD and UNHOLD control frames even if the channel is not bridged to
   another channel.

linkedlists.h:
 - Add support for rwlock based linked lists.

dial.c:
 - Add the ability to run ast_dial_start() without a reference channel to
   inherit information from.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53810 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-10 00:35:09 +00:00
Russell Bryant
ff1ca74145 When we are checking for a system installed version of libgsm, we need to check
for gsm.h as well.  Furthermore, when checking for this header, it may be
located in a gsm/ sub directory, so check for that, as well.
(issue #8773)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@52997 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-30 23:23:24 +00:00
Russell Bryant
824bed6260 Clean up a few things in the last commit to the adaptive jitterbuffer code.
- Specifically indicate to the compiler that the "dropem" variable only
   needs one but.
 - Change formatting to conform to coding guidelines.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@52506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 16:54:27 +00:00
Jim Dixon
2132e4f865 Fixed problem with jitterbuf, whereas it would not complain about, and
would allow itself to be overfilled (per the max_jitterbuf parameter). Now
it rejects any data over and above that size, and complains about it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@52494 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-29 04:18:36 +00:00
Russell Bryant
6abcb7ae23 Fix the formatting of doxygen comments to properly indicate that the comment
documents the previous entity, as opposed to the next one.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@52107 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-24 21:42:47 +00:00