Commit Graph

326 Commits

Author SHA1 Message Date
Kevin P. Fleming e6b2e9a750 Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

Review: https://reviewboard.asterisk.org/r/251/



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 21:13:09 +00:00
Russell Bryant cba19c8a67 Convert the ast_channel data structure over to the astobj2 framework.
There is a lot that could be said about this, but the patch is a big 
improvement for performance, stability, code maintainability, 
and ease of future code development.

The channel list is no longer an unsorted linked list.  The main container 
for channels is an astobj2 hash table.  All of the code related to searching 
for channels or iterating active channels has been rewritten.  Let n be 
the number of active channels.  Iterating the channel list has gone from 
O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
Searching for a channel by extension is still O(n), but uses a new method 
for doing so, which is more efficient.

The ast_channel object is now a reference counted object.  The benefits 
here are plentiful.  Some benefits directly related to issues in the 
previous code include:

1) When threads other than the channel thread owning a channel wanted 
   access to a channel, it had to hold the lock on it to ensure that it didn't 
   go away.  This is no longer a requirement.  Holding a reference is 
   sufficient.

2) There are places that now require less dealing with channel locks.

3) There are places where channel locks are held for much shorter periods 
   of time.

4) There are places where dealing with more than one channel at a time becomes 
   _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
   future that deals with multiple channels will be much easier.

Some additional information regarding channel locking and reference count 
handling can be found in channel.h, where a new section has been added that 
discusses some of the rules associated with it.

Mark Michelson also assisted with the development of this patch.  He did the 
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
much easier to deal with holding on to a channel pointer for an extended period 
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.

Thanks to David Vossel for his assistance with this branch, as well.  David 
did the conversion of the DAHDIScan application by making it become a wrapper 
for ChanSpy internally.

The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.

Review: http://reviewboard.digium.com/r/203/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-24 14:04:26 +00:00
David Vossel 437eec8423 Merged revisions 189203 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r189203 | dvossel | 2009-04-17 20:27:19 -0500 (Fri, 17 Apr 2009) | 12 lines
  
  Fixed autologoff in agents.conf not working when agent logs in via AgentLogin app
  
  An agent logs in by calling an extension that calls the AgentLogin app.  In agents.conf ackcall=always is set, so when they get a call they have the choice to either acknowledge it or ignore it.  autologoff=10 is set as well, so if the agent ignores the call over 10sec one may assume that the agent should be logged out (and in this case hungup on as well), but this was not happening.
  
  (closes issue #14091)
  Reported by: evandro
  Patches:
        autologoff.diff uploaded by dvossel (license 671)
  
  Review: http://reviewboard.digium.com/r/225/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189204 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-18 01:28:45 +00:00
Mark Michelson 6f53ed4c67 This commit introduces COLP/CONP and Redirecting party information into 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: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 22:41:46 +00:00
Joshua Colp 63de834395 Merge in the RTP engine API.
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: https://origsvn.digium.com/svn/asterisk/trunk@186078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 17:20:52 +00:00
Mark Michelson 5f1a4ebe6d Merged revisions 171689 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r171689 | mmichelson | 2009-01-27 15:55:08 -0600 (Tue, 27 Jan 2009) | 39 lines

Fix devicestate problems for "always-on" agent channels

A revision to chan_agent attempted to "inherit" the device
state of the underlying channel in order to report the
device state of an agent channel more accurately.

The problem with the logic here is that it makes no sense to
use this for always-on agents. If the agent is logged in, then
to the underlying channel, the agent will always appear to be
"in use," no matter if the agent is on a call or not. The reason
is that to the underlying channel, the channel is currently in use
on a call to the AgentLogin application.

The most common cause that I found for this issue to occur was for
a SIP channel to be the underlying channel type for an Agent channel.
If the SIP phone re-registers, then the registration will cause the
device state core to query the device state of the SIP channel. Since the
SIP channel is in use, the Agent channel would also inherit this status.
Once the agent channel was set to "in use" there was no way that the device
state could change on that channel unless the agent logged out.

The solution for this problem is a bit different in 1.4 than it is in the
other branches. In 1.4, there will be a one-line fix to make sure that only
callback agents will inherit device state from their underlying channel type.
For the other branches of Asterisk, since callback support has been removed, there
is also no need for device state inheritance in chan_agent, so I will simply be
removing it from the code.

In addition, the 1.4 source is getting a new comment to help the next person who
edits chan_agent.c. I'm adding a comment that a agent_pvt's loginchan field may be
used to determine if the agent is a callback agent or not.

(closes issue #14173)
Reported by: nathan
Patches:
      14173.patch uploaded by putnopvut (license 60)
Tested by: nathan, aramirez


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@171691 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-27 21:58:39 +00:00
Jeff Peeler cb3be3fe9a Merged revisions 168507 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r168507 | jpeeler | 2009-01-12 14:26:22 -0600 (Mon, 12 Jan 2009) | 9 lines
  
  (closes issue #12269)
  Reported by: IgorG
  Tested by: denisgalvao
  
  This gits rid of the notion of an owning_app allowing the request and hangup to be initiated by different threads. Originating from an active agent channel requires this. The implementation primarily changes __login_exec to wait on a condition variable rather than a lock.
  
  Review: http://reviewboard.digium.com/r/35/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168508 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-12 20:53:04 +00:00
Eliel C. Sardanons 1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Kevin P. Fleming 887e28d7aa incorporates r159808 from branches/1.4:
------------------------------------------------------------------------
r159808 | kpfleming | 2008-11-29 10:58:29 -0600 (Sat, 29 Nov 2008) | 7 lines

update dev-mode compiler flags to match the ones used by default on Ubuntu Intrepid, so all developers will see the same warnings and errors

since this branch already had some printf format attributes, enable checking for them and tag functions that didn't have them

format attributes in a consistent way


------------------------------------------------------------------------

in addition:

move some format attributes from main/utils.c to the header files they belong in, and fix up references to the relevant functions based on new compiler warnings



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-29 17:57:39 +00:00
Mark Michelson 5769e6ea72 Don't allow for configuration options to overwrite options
set via channel variables on a reload.

(closes issue #13921)
Reported by: davidw
Patches:
      13921.patch uploaded by putnopvut (license 60)
Tested by: davidw



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@159437 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-26 14:58:17 +00:00
Mark Michelson b07eba0c15 Merged revisions 155861 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r155861 | mmichelson | 2008-11-10 15:07:39 -0600 (Mon, 10 Nov 2008) | 14 lines

Channel drivers assume that when their indicate callback
is invoked, that the channel on which the callback was called
is locked. This patch corrects an instance in chan_agent where
a channel's indicate callback is called directly without first
locking the channel.

This was leading to some observed locking issues in chan_local,
but considering that all channel drivers operate under the
same expectations, the generic fix in chan_agent is the right
way to go.

AST-126


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@155863 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-10 21:14:44 +00:00
Eliel C. Sardanons ccaefe4d40 Add AgentLogin(), AgentMonitorOutgoing() applications and
AGENT() function XML documentation.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-05 20:17:06 +00:00
Tilghman Lesher 8b14e5f493 Reverting format addition for now
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@148071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-09 21:47:02 +00:00
Tilghman Lesher f5d5eb5e19 Fudges for wav16, just like wav49
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@148070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-09 21:37:23 +00:00
Mark Michelson 02a0855e57 We should only unsubscribe to the device state event
subscription if we have previously subscribed. Otherwise
a segfault will occur.

(closes issue #13476)
Reported by: jonnt
Patches:
      13476.patch uploaded by putnopvut (license 60)
Tested by: jonnt



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143609 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-19 15:43:28 +00:00
Tilghman Lesher 08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
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: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Mark Michelson 97375b6340 Merged revisions 141366 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r141366 | mmichelson | 2008-09-05 16:10:32 -0500 (Fri, 05 Sep 2008) | 7 lines

Agent's should not try to call a channel's indicate callback
if the channel has been hung up. It will likely crash
otherwise

ABE-1159


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@141367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-05 21:12:09 +00:00
Mark Michelson b11ecaf4d6 Merged revisions 138942 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r138942 | mmichelson | 2008-08-19 18:17:17 -0500 (Tue, 19 Aug 2008) | 11 lines

Reset agent_pvt variables back to the values in agents.conf
(from what the corresponding channel variables were set to)
when the agent logs out.

(closes issue #13098)
Reported by: davidw
Patches:
      20080731__issue13098_agent_ackcall_not_reset.diff uploaded by bbryant (license 36)
Tested by: davidw


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138943 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-19 23:19:40 +00:00
Sean Bright bea1644dc2 Merge more changes from the resolve-shadow-warnings branch (henceforth known
as RSW since i am too lazy to keep typing it all out).  This time a few of
the channels.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136888 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09 12:53:57 +00:00
Tilghman Lesher 0c23159464 Deprecate *_device_state_* APIs in favor of *_devstate_* APIs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 21:20:03 +00:00
Tilghman Lesher c780a443bf Merged revisions 133649 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r133649 | tilghman | 2008-07-25 12:19:39 -0500 (Fri, 25 Jul 2008) | 8 lines

Fix some errant device states by making the devicestate API more strict in
terms of the device argument (only without the unique identifier appended).
(closes issue #12771)
 Reported by: davidw
 Patches: 
       20080717__bug12771.diff.txt uploaded by Corydon76 (license 14)
 Tested by: davidw, jvandal, murf

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 17:24:43 +00:00
Russell Bryant 6ee7409719 I made this change from DEVICE_STATE to DEVICE_STATE_CHANGE, but I had it backwards,
this is the right event to subscribe to ...


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-24 20:40:15 +00:00
Russell Bryant 7613e369b2 Instead of attempting to pass through AST_EVENT_DEVICE_STATE, use DEVICE_STATE_CHANGE
instead.  DEVICE_STATE is a state change on one server, and DEVICE_STATE_CHANGE is
the "real" state of that device across all servers sharing state.  This would have
only been a problem with distributed device state.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-17 14:46:29 +00:00
Russell Bryant 1e2b6eea40 Add missing terminator to ast_event_subscribe to fix a crash.
(from rev 131206 in the 1.6.0 branch)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@131207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 15:08:22 +00:00
Tilghman Lesher c10d9c2e78 Unlock list before returning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-13 02:34:32 +00:00
Tilghman Lesher cb7df89042 Merged revisions 130102 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r130102 | tilghman | 2008-07-11 11:50:42 -0500 (Fri, 11 Jul 2008) | 9 lines

Pass the devicestate from an underlying channel up through the Agent channel.
This should make the Agent always report the correct device state, even when
the underlying channel is used for other purposes.
(closes issue #12773)
 Reported by: davidw
 Patches: 
       20080710__bug12773.diff.txt uploaded by Corydon76 (license 14)
 Tested by: davidw

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130126 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 17:29:24 +00:00
Mark Michelson 1d6573e8ef Merged revisions 127560 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r127560 | mmichelson | 2008-07-02 15:47:38 -0500 (Wed, 02 Jul 2008) | 3 lines

Fix thread-safety of some of the pbx_builtin_getvar_helper calls


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02 20:49:08 +00:00
Mark Michelson 953947b70b The ackcall and endcall options in agents.conf now have supplemental options
acceptdtmf and enddtmf. These allow for the DTMF pressed to be configurable
instead of being hardcoded to '#' and '*'.

(AST-86)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@127558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-02 20:43:55 +00:00
Tilghman Lesher 467c6f5f90 Merged revisions 121861 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r121861 | tilghman | 2008-06-11 13:18:16 -0500 (Wed, 11 Jun 2008) | 3 lines

Make calls to ast_assert() actually test something, so that the error message
printed is not nonsensical (reported by mvanbaak via #asterisk-bugs).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-11 18:19:24 +00:00
Mark Michelson f1d9962610 Merged revisions 121229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(Note that this is being merged to trunk/1.6.0 because
it may affect non-callback agents with ackcall set)

........
r121229 | mmichelson | 2008-06-09 10:02:37 -0500 (Mon, 09 Jun 2008) | 16 lines

A unique situation of timeouts brought forth a failure situation for
autologoff in chan_agent. If using AgentCallbackLogin-style agents, 
then if the timeout specified by the Dial() to reach the agent's phone
was shorter than the timeout specified in queues.conf, then autologoff
would only work if the caller hung up while the agent's phone was ringing.
This patch allows autologoff to work in this situation when the call in
queue transfers to the next available agent (as it would have if the timeout
in queues.conf were less than the timeout in the Dial()).

(closes issue #12754)
Reported by: Rodrigo
Patches:
      12754.patch uploaded by putnopvut (license 60)
Tested by: Rodrigo


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-09 15:08:58 +00:00
Russell Bryant 96233af5dc Merged revisions 121078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r121078 | russell | 2008-06-07 09:10:56 -0500 (Sat, 07 Jun 2008) | 7 lines

Don't run LIST_HEAD_DESTROY on a STATIC list

(closes issue #12807)
Reported by: ys
Patches: 
      chan_agent_local.diff uploaded by ys (license 281)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@121079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-07 14:18:44 +00:00
Tilghman Lesher 6e5d843a71 Merged revisions 118953 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r118953 | tilghman | 2008-05-29 12:20:16 -0500 (Thu, 29 May 2008) | 3 lines

Add some debugging code that ensures that when we do deadlock avoidance, we
don't lose the information about how a lock was originally acquired.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-29 17:35:19 +00:00
Russell Bryant 08f91c1192 Merged revisions 116463 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116463 | russell | 2008-05-14 16:32:00 -0500 (Wed, 14 May 2008) | 4 lines

Add ast_assert(), which can be used to handle fatal errors.  It is only compiled
in if dev-mode is enabled, and only aborts if DO_CRASH is defined.
(inspired by issue #12650)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 21:40:43 +00:00
Mark Michelson f1181cb04e Merged revisions 109575 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r109575 | mmichelson | 2008-03-18 12:58:11 -0500 (Tue, 18 Mar 2008) | 6 lines

Make sure an agent doesn't try to send dtmf to a NULL channel

closes issue #12242
Reported by Yourname


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 17:59:18 +00:00
Russell Bryant 871e86846e Merged revisions 104086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r104086 | russell | 2008-02-25 12:38:10 -0600 (Mon, 25 Feb 2008) | 4 lines

Ensure that the channel doesn't disappear in agent_logoff().  If it does, it
could cause a crash.
(fixes the crash reported in BE-396)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@104087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-25 18:38:51 +00:00
Russell Bryant 039f7a6ce1 Merged revisions 101433 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101433 | russell | 2008-01-31 13:17:05 -0600 (Thu, 31 Jan 2008) | 2 lines

Add more missing locking of the agents list ...

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31 19:20:52 +00:00
Russell Bryant e3caa42311 Merged revisions 101413-101414 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r101413 | russell | 2008-01-31 13:04:52 -0600 (Thu, 31 Jan 2008) | 2 lines

Add missing locking to the find_agent() function.

........
r101414 | russell | 2008-01-31 13:07:46 -0600 (Thu, 31 Jan 2008) | 3 lines

Move the locking from find_agent() into the agent dialplan function handler to
ensure that the agent doesn't disappear while we're looking at it.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@101416 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-31 19:13:20 +00:00
Olle Johansson 949bb30d03 Merged revisions 99594 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r99594 | oej | 2008-01-22 18:41:57 +0100 (Tis, 22 Jan 2008) | 3 lines

Add more dependencies on chan_local and add a note to the description of chan_local
so that people don't disable it in menuselect just to clean up.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@99596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-22 17:46:43 +00:00
Mark Michelson 5107c5474c Change instances of AST_NONSTANDARD_APP_ARGS(foo, bar, ',') to AST_STANDARD_APP_ARGS(foo, bar)
(closes issue #11668, reported and patched by mvanbaak)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@95994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-01-02 21:08:33 +00:00
Luigi Rizzo 7e8835e0d7 remove another set of redundant #include "asterisk/options.h"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89512 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-21 23:24:55 +00:00
Luigi Rizzo 0595b5e2aa include "logger.h" and errno.h from asterisk.h - usage shows that they
were included almost everywhere.
Remove some of the instances.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-19 18:52:04 +00:00
Luigi Rizzo 5490960453 remove a bunch of duplicate includes
Reproduce with

grep -r #include . | grep -v .svn | grep -v Binary | sort | uniq -c | sort -nr 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 23:54:45 +00:00
Luigi Rizzo fdb7f7ba3d Start untangling header inclusion in a way that does not affect
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: https://origsvn.digium.com/svn/asterisk/trunk@89333 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-16 20:04:58 +00:00
Luigi Rizzo 7f8ecd2cd3 make the 'name' and 'value' fields in ast_variable const char *
This prevents modifying the strings in the stored variables, 
and catched a few instances where this was actually done.

Given the differences between trunk and 1.4 (and the fact that this
is effectively an API change) it is better to fix 1.4 independently.
These are

chan_sip.c::sip_register()
chan_skinny.c:: near line 2847
config.c:: near line 1774
logger.c::make_components()
res_adsi.c:: near line 1049

I may have missed some instances for modules that do not build here.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89268 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-14 13:18:40 +00:00
Kevin P. Fleming edc78d6023 improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
  - add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-08 05:28:47 +00:00
Mark Michelson 5a4867543d "show application <foo>" changes for clarity.
(closes issue #11171, reported and patched by blitzrage)

Many thanks!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89044 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 19:04:45 +00:00
Joshua Colp 02f6b79fc5 Update chan_agent documentation. Change a | to , as that is now the required way.
(closes issue #11167)
Reported by: eliel
Patches:
      chan_agent.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@88974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-06 15:37:17 +00:00
Jason Parker c472a68a8a Correctly use defined return values in (some) load_module functions.
(issue #11096)
Patches:
      chan_agent.c.patch uploaded by eliel (license 64)
      chan_local.c.patch uploaded by eliel (license 64)
      chan_features.c.patch uploaded by eliel (license 64)
      chan_zap.c.patch uploaded by eliel (license 64)
      res_monitor.c.patch uploaded by eliel (license 64)
      res_realtime.c.patch uploaded by eliel (license 64)
      res_crypto.c.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@87202 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-26 21:37:02 +00:00
Jason Parker ebe4050128 Switch from AST_CLI (formerly NEW_CLI) to AST_CLI_DEFINE, since the former didn't make much sense
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86820 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 20:05:18 +00:00
Jason Parker b0f3e6097e Convert NEW_CLI to AST_CLI.
Closes issue #11039, as suggested by seanbright.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86536 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-19 18:29:40 +00:00