Archived
14
0
Fork 0
Commit graph

336 commits

Author SHA1 Message Date
jpeeler
1e43690cb1 small correction from 241314
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@241315 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-19 18:51:19 +00:00
jpeeler
665b780994 Merged revisions 241227 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r241227 | jpeeler | 2010-01-19 11:22:18 -0600 (Tue, 19 Jan 2010) | 13 lines
  
  Fix deadlock in agent_read by removing call to agent_logoff.
  
  One must always lock the agents list lock before the agent private. agent_read
  locks the private immediately, so locking the agents list lock is not an
  option (which is what agent_logoff requires). Because agent_read already 
  has access to the agent private all that is necessary is to do the required
  hanging up that agent_logoff performed.
  
  (closes issue #16321)
  Reported by: valon24
  Patches: 
        bug16321.patch uploaded by jpeeler (license 325)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@241314 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-19 18:46:11 +00:00
tilghman
3bacd4082e Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 14:05:12 +00:00
seanbright
be1a867384 Correct spelling of AGENTACCEPTDTMF in chan_agent.
(closes issue #15668)
Reported by: davidw


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212581 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-17 18:50:24 +00:00
tilghman
d1ec1aa57d AST-2009-005
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 19:20:57 +00:00
russell
ac3b35dcc7 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203638 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26 15:28:53 +00:00
kpfleming
abe57aceec Convert a number of global module variables to 'static'.
These modules all contained variables that are module-global but not system-global,
but were not marked 'static'.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200587 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15 17:06:34 +00:00
mmichelson
24cf2ce68b Remove documentation for the 'exten' argument to the AGENT function.
Since AgentCallbackLogin has been removed, this should not be documented
any more.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198500 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-01 14:02:05 +00:00
eliel
e69b8d20c3 Remove not used code in the Agent channel.
This code was there because of the AgentCallbackLogin() application.
->loginchan[] member was only used by AgentCallbackLogin().
Agent where dumped to astdb if they where logged in using AgentCallbacklogin()
so they are not being dumper anymore.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198217 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-30 01:04:57 +00:00
eliel
cbbfdc573c Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196308 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-22 17:52:35 +00:00
kpfleming
230a66da7d 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: http://svn.digium.com/svn/asterisk/trunk@196072 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-21 21:13:09 +00:00
russell
89175b7e04 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: http://svn.digium.com/svn/asterisk/trunk@190423 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24 14:04:26 +00:00
dvossel
9e81144969 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: http://svn.digium.com/svn/asterisk/trunk@189204 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-18 01:28:45 +00:00
mmichelson
f00656db9e 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: http://svn.digium.com/svn/asterisk/trunk@186525 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-03 22:41:46 +00:00
file
0eb1480fe0 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: http://svn.digium.com/svn/asterisk/trunk@186078 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02 17:20:52 +00:00
mmichelson
a72e3b1922 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: http://svn.digium.com/svn/asterisk/trunk@171691 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-27 21:58:39 +00:00
jpeeler
c926cd3155 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: http://svn.digium.com/svn/asterisk/trunk@168508 f38db490-d61c-443f-a65b-d21fe96a405b
2009-01-12 20:53:04 +00:00
eliel
6e243a5434 Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@161218 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-05 10:31:25 +00:00
kpfleming
246ce365ae 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: http://svn.digium.com/svn/asterisk/trunk@159818 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-29 17:57:39 +00:00
mmichelson
afe8f24ea9 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: http://svn.digium.com/svn/asterisk/trunk@159437 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-26 14:58:17 +00:00
mmichelson
c2f0927a03 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: http://svn.digium.com/svn/asterisk/trunk@155863 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-10 21:14:44 +00:00
eliel
d06634e0de Add AgentLogin(), AgentMonitorOutgoing() applications and
AGENT() function XML documentation.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@154837 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-05 20:17:06 +00:00
tilghman
768c0284e3 Reverting format addition for now
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@148071 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-09 21:47:02 +00:00
tilghman
5e8a0a0fb0 Fudges for wav16, just like wav49
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@148070 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-09 21:37:23 +00:00
mmichelson
13f00c1f2b 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: http://svn.digium.com/svn/asterisk/trunk@143609 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-19 15:43:28 +00:00
tilghman
95bae85759 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: http://svn.digium.com/svn/asterisk/trunk@142992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12 23:30:03 +00:00
mmichelson
2b7bc56642 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: http://svn.digium.com/svn/asterisk/trunk@141367 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-05 21:12:09 +00:00
mmichelson
a73a9a9b6c 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: http://svn.digium.com/svn/asterisk/trunk@138943 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-19 23:19:40 +00:00
seanbright
b7fbcbae3f 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: http://svn.digium.com/svn/asterisk/trunk@136888 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-09 12:53:57 +00:00
tilghman
1b294dd713 Deprecate *_device_state_* APIs in favor of *_devstate_* APIs
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@133860 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25 21:20:03 +00:00
tilghman
917670b331 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: http://svn.digium.com/svn/asterisk/trunk@133665 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-25 17:24:43 +00:00
russell
6063e344bb 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: http://svn.digium.com/svn/asterisk/trunk@133486 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-24 20:40:15 +00:00
russell
e46e58f997 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: http://svn.digium.com/svn/asterisk/trunk@131643 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-17 14:46:29 +00:00
russell
05c1197798 Add missing terminator to ast_event_subscribe to fix a crash.
(from rev 131206 in the 1.6.0 branch)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@131207 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-16 15:08:22 +00:00
tilghman
640daf7566 Unlock list before returning
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@130444 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-13 02:34:32 +00:00
tilghman
802d09a41e 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: http://svn.digium.com/svn/asterisk/trunk@130126 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-11 17:29:24 +00:00
mmichelson
189ca72283 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: http://svn.digium.com/svn/asterisk/trunk@127562 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-02 20:49:08 +00:00
mmichelson
6963225167 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: http://svn.digium.com/svn/asterisk/trunk@127558 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-02 20:43:55 +00:00
tilghman
ba5ec156c0 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: http://svn.digium.com/svn/asterisk/trunk@121867 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-11 18:19:24 +00:00
mmichelson
f8511c7de5 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: http://svn.digium.com/svn/asterisk/trunk@121230 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-09 15:08:58 +00:00
russell
f14225c2fc 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: http://svn.digium.com/svn/asterisk/trunk@121079 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-07 14:18:44 +00:00
tilghman
3db76e85a4 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: http://svn.digium.com/svn/asterisk/trunk@118955 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-29 17:35:19 +00:00
russell
cb7fdf2ae2 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: http://svn.digium.com/svn/asterisk/trunk@116469 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-14 21:40:43 +00:00
mmichelson
eb959bd1ab 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: http://svn.digium.com/svn/asterisk/trunk@109576 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-18 17:59:18 +00:00
russell
1d8248c084 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: http://svn.digium.com/svn/asterisk/trunk@104087 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-25 18:38:51 +00:00
russell
b8fc90b9d6 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: http://svn.digium.com/svn/asterisk/trunk@101449 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-31 19:20:52 +00:00
russell
e85aee6f8e 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: http://svn.digium.com/svn/asterisk/trunk@101416 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-31 19:13:20 +00:00
oej
0c22830419 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: http://svn.digium.com/svn/asterisk/trunk@99596 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-22 17:46:43 +00:00
mmichelson
eff3a6e5af 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: http://svn.digium.com/svn/asterisk/trunk@95994 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-02 21:08:33 +00:00
rizzo
150b2c22ef remove another set of redundant #include "asterisk/options.h"
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89512 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-21 23:24:55 +00:00