Commit Graph

3444 Commits

Author SHA1 Message Date
Joshua Colp
ada8ae56e1 Fix a double free issue with the Pickup dialplan application.
As part of the pickup process the connected line information is updated.
Part of this process does a shallow copy of the target channel's connected line
information to a local structure. Once complete the structure contents are freed.
As a result any information in the target channel's connected line information
structure is no longer valid. This change will now set the contents back to a clean
state so that the freeing of the target channel's connected line information structure
when the channel is destroyed will no longer try to double free things.

(closes issue #14839)
Reported by: lmsteffan


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190217 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-23 16:55:48 +00:00
Terry Wilson
7164958d9d Merged revisions 189465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r189465 | twilson | 2009-04-20 16:10:27 -0500 (Mon, 20 Apr 2009) | 2 lines
  
  Update CDR appropriately when AST_CAUSE_NO_ANSWER is set
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-20 21:29:29 +00:00
Terry Wilson
f505cb43bf Merged revisions 189463 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r189463 | twilson | 2009-04-20 16:00:52 -0500 (Mon, 20 Apr 2009) | 2 lines
  
  Don't treat a NOANSWER like a CHANUNAVAIL
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-20 21:24:34 +00:00
Tilghman Lesher
0adb04fbbb Merged revisions 188773 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r188773 | tilghman | 2009-04-16 16:02:29 -0500 (Thu, 16 Apr 2009) | 4 lines
  
  Umask should not be exported into global namespace.
  (closes issue #14912)
   Reported by: jcapp
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188774 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-16 21:03:31 +00:00
Mark Michelson
fd833f14ed Make the cancellation of the dial timeout on a call forward optional.
This introduces the 'z' option to app_dial. With it set, a call forward
will cancel any timeout originally set for this instance of the Dial
application.

AST-207



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15 15:24:50 +00:00
Mark Michelson
f26878feb2 Fix a couple of queue member reference leaks.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14 23:28:13 +00:00
Olle Johansson
bb03eef676 Making sure we have references to external libraries.
Note: Update h.323 with the recent changes too


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-14 14:20:10 +00:00
Mark Michelson
b6a2f40793 Set all queue variables on both the caller and member channels.
This allows for the variables to be accessed if a member macro is run.
Thanks to Grigoriy Puzankin for bringing this up on the -dev list.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@188032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-13 14:17:56 +00:00
Mark Michelson
df28954a84 Make sure tc is unlocked before calling ast_call since calling a Local
channel could result in a deadlock.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 17:32:25 +00:00
David Vossel
bd23adbc8a Even more changes concerning r187426. Revised where locks are placed yet once again. ast_call() should not be called with a channel locked. could cause deadlock issues with local channels.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 15:49:16 +00:00
Kevin P. Fleming
2f048030bd revert addition of LOG_SECURITY log channel; after further discussion, a much better solution will be used
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187636 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 15:11:16 +00:00
David Vossel
e6052e79d0 More changes concerning r187426. Revised where locks are placed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187556 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 20:40:34 +00:00
Jeff Peeler
de4af72f9f Add ability for dialplan execution to continue when caller hangs up.
The F option to app_dial has been modified to accept no parameters and perform
the above functionality. I don't see anywhere else that is doing function
overloading, but this really is the best place for this operation because:

- It makes it close to the 'g' option in the argument list which provides
similar functionality.
- The existing code to support the current F option provides a very
convienient location to add this new feature.

(closes issue #12381)
Reported by: michael-fig



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187491 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 19:10:02 +00:00
David Vossel
19f381b484 Fixes deadlock caused by calling get_cid_name with chan locked.
get_cid_name should not be called with a channel lock.  get_cid_name calls ast_get_hint which eventually calls pbx_find_extension.  pbx_find_extension starts and stops autoservice which should not be done with a channel lock, so get_cid_name should not be called with one.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 17:39:10 +00:00
Tilghman Lesher
3a220874cc Merged revisions 187362 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r187362 | tilghman | 2009-04-09 11:38:37 -0500 (Thu, 09 Apr 2009) | 3 lines
  
  Permit zero-length text messages in SIP.
  (Related to an issue posted to the -users list, subject "AEL2, BASE64_DECODE and hexadecimal")
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187363 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 16:39:43 +00:00
Kevin P. Fleming
b5f8c632df add a dedicated log channel for modules to be able report security-related events, so that they can be fed into external processes for analysis and possible mitigation efforts
(inspired by this evening's Toronto Asterisk Users Group meeting and previous dicussions amongst various community members)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-09 02:44:27 +00:00
Tilghman Lesher
e36b632b4a Merged revisions 186775 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186775 | tilghman | 2009-04-07 17:16:50 -0500 (Tue, 07 Apr 2009) | 3 lines
  
  Fix Macro documentation to match current (and intended) behavior.
  (See -dev mailing list)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-07 22:23:46 +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
Tilghman Lesher
a3c84f9575 Merged revisions 186445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186445 | tilghman | 2009-04-03 14:56:48 -0500 (Fri, 03 Apr 2009) | 2 lines
  
  Found a conflict in the last commit, due to multiple targets
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186447 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 19:59:55 +00:00
Tilghman Lesher
06061491ba Merged revisions 186415 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r186415 | tilghman | 2009-04-03 14:06:58 -0500 (Fri, 03 Apr 2009) | 7 lines
  
  Distinguish in a sent email between simple sends and forwards.
  (closes issue #11678)
   Reported by: jamessan
   Patches: 
         20090330__bug11678.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman, lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186444 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 19:30:34 +00:00
Mark Michelson
5c53b2226d Fix the ability to retrieve voicemail messages from IMAP.
A recent change made interactive vm_states no longer get
added to the list of vm_states and instead get stored in
thread-local storage.

In trunk and all the 1.6.X branches, the problem is that
when we search for messages in a voicemail box, we would
attempt to update the appropriate vm_state struct by directly
searching in the list of vm_states instead of using the
get_vm_state_by_imap_user function. This meant we could not
find the interactive vm_state that we wanted.

(closes issue #14685)
Reported by: BlargMaN
Patches:
      14685.patch uploaded by mmichelson (license 60)
Tested by: BlargMaN, qualleyiv, mmichelson



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 14:32:05 +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
f43159ba31 Fix trunk's compilation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 22:12:52 +00:00
Mark Michelson
5c0d934e6b Merged revisions 185599 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185599 | mmichelson | 2009-03-31 17:00:01 -0500 (Tue, 31 Mar 2009) | 6 lines
  
  Fix crash that would occur if an empty member was specified in queues.conf.
  
  (closes issue #14796)
  Reported by: pida
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 22:02:48 +00:00
Mark Michelson
de8a0946c8 Merged revisions 185468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185468 | mmichelson | 2009-03-31 14:45:30 -0500 (Tue, 31 Mar 2009) | 8 lines
  
  Fix Russian voicemail intro to say the word "messages" properly.
  
  (closes issue #14736)
  Reported by: chappell
  Patches:
        voicemail_no_messages.diff uploaded by chappell (license 8)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185469 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 19:46:18 +00:00
Russell Bryant
c9c8758d6d Don't free() an astobj2 object.
(closes issue #14672)
Reported by: makoto


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185261 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-31 14:53:45 +00:00
Mark Michelson
c4e3bfb74c Merged revisions 185031 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185031 | mmichelson | 2009-03-30 11:17:35 -0500 (Mon, 30 Mar 2009) | 39 lines
  
  Fix queue weight behavior so that calls in low-weight queues are not inappropriately blocked.
  
  (This is copied and pasted from the review request I made for this patch)
  
  Asterisk has some odd behavior when queue weights are used. The current logic used when
  potentially calling a queue member is:
  
  If the member we are going to call is part of another queue and _that other queue has any 
  callers in it_ and has a higher weight than the queue we are calling from, then don't try 
  to contact that member. The issue here is what I have marked with underscores. If the 
  higher-weighted queue has any callers in it at all, then the queue member will be unreachable 
  from the lower-weighted queue. This has the potential to be really really bad if using a 
  queue strategy, such as leastrecent or fewestcalls, with the potential to call the same 
  member repeatedly.
  
  The fix proposed by garychen on issue 13220 is very simple and, as far as I can see, works 
  well for this situation. With this set of changes, the logic used becomes:
  
  If the member we are going to call is part of another queue, the other queue has a higher 
  weight than the queue we are calling from, and the higher weight queue has at least as many 
  callers as available members, then do not try to contact the queue member. If the higher 
  weighted queue has fewer callers than available members, then there is no reason to deny 
  the call to this member since the other queue can afford to spare a member.
  
  Since the fix involved writing a generic function for determining the number of available 
  members in the queue, I also modified the is_our_turn function to make use of the new 
  num_available_members function to determine if it is our turn to try calling a member. There 
  is one small behavior change. Before writing this patch, if you had autofill disabled, then 
  if you were the head caller in a queue, you would automatically be told that it was your 
  turn to try calling a member. This did not take into account whether there were actually any 
  queue members available to take the call. Now we actually make sure there is at least one 
  member available to take the call if autofill is disabled.
  
  (closes issue #13220)
  Reported by: garychen
  
  Review: http://reviewboard.digium.com/r/202/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@185072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-30 16:26:48 +00:00
Russell Bryant
47c3799c99 Merged revisions 184842 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r184842 | russell | 2009-03-29 00:51:55 -0500 (Sun, 29 Mar 2009) | 5 lines

Ensure targs variable is fully initialized.

(closes issue #14758)
Reported by: tim_ringenbach

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-29 05:52:20 +00:00
Leif Madsen
383d4fa05b Fix a typo in app_ices.
(closes issue #14765)
Reported by: timeshell
Patches:
      app_ices.svn-1.6.0.diff uploaded by timeshell (license 399)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 20:08:44 +00:00
Russell Bryant
f745326750 Use ast_random() instead of rand() to ensure we use the best RNG available.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184726 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 18:04:43 +00:00
Russell Bryant
2a4f9f7181 Change global_app_buf to ast_str_thread_global_buf.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-27 16:21:10 +00:00
David Vossel
ba0ce88b1e Merged revisions 184388 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r184388 | dvossel | 2009-03-26 16:07:32 -0500 (Thu, 26 Mar 2009) | 8 lines
  
  pri loop TestClient/TestServer fails: server SEND DTMF 8
  
  app_test was failing when sending the last DTMF digit, 8, because of the 100ms pause issued after DTMF is sent.  During this pause the other side would hang up causing the test to look like it failed. Now the other side waits a second before hanging up.
  
  (closes issue #12442)
  Reported by: tzafrir
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184389 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-26 21:09:37 +00:00
Russell Bryant
ee77b475f2 Improve performance of the ast_event cache functionality.
This code comes from svn/asterisk/team/russell/event_performance/.

Here is a summary of the changes that have been made, in order of both
invasiveness and performance impact, from smallest to largest.

1) Asterisk 1.6.1 introduces some additional logic to be able to handle
   distributed device state.  This functionality comes at a cost.
   One relatively minor change in this patch is that the extra processing
   required for distributed device state is now completely bypassed if
   it's not needed.

2) One of the things that I noticed when profiling this code was that a
   _lot_ of time was spent doing string comparisons.  I changed the way
   strings are represented in an event to include a hash value at the front.
   So, before doing a string comparison, we do an integer comparison on the
   hash.

3) Finally, the code that handles the event cache has been re-written.
   I tried to do this in a such a way that it had minimal impact on the API.
   I did have to change one API call, though - ast_event_queue_and_cache().
   However, the way it works now is nicer, IMO.  Each type of event that
   can be cached (MWI, device state) has its own hash table and rules for
   hashing and comparing objects.  This by far made the biggest impact on
   performance.

For additional details regarding this code and how it was tested, please see the
review request.

(closes issue #14738)
Reported by: russell

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-25 21:57:19 +00:00
Mark Michelson
a7028f2bc6 Merged revisions 184078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r184078 | mmichelson | 2009-03-24 17:34:45 -0500 (Tue, 24 Mar 2009) | 9 lines
  
  Change NULL pointer check to be ast_strlen_zero.
  
  The 'digit' variable is guaranteed to be non-NULL, so the if
  statement could never evaluate true. Changing to ast_strlen_zero
  makes the logic correct.
  
  This was found while reviewing ast_channel_ao2 code review.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@184079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-24 22:40:39 +00:00
David Vossel
9d3527bddf Merged revisions 183386 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r183386 | dvossel | 2009-03-19 14:40:07 -0500 (Thu, 19 Mar 2009) | 6 lines
  
  Cleaning up a few things in detect disconnect patch
  
  Initialized ast_call_feature in detect_disconnect to avoid accessing uninitialized memory.  Cleaned up /param tags in features.h.  No longer send dynamic features in ast_feature_detect. 
  
  issue #11583
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@183436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 20:30:39 +00:00
Mark Michelson
b52d2dae2e Fix a memory leak associated with queues.
For every attempt that app_queue made to place an outbound call to a queue member,
we would allocate a queue_end_bridge structure. When the bridge for the call had
completed, we would free the structure. Unfortunately not all call attempts actually
end up bridged to a member, so we need to be more selective of when to allocate
the structure. With this change, the allocation occurs in an area where we can
guarantee that the call will be bridged.

(closes issue #14680)
Reported by: caspy
Patches:
      14680.patch uploaded by mmichelson (license 60)
Tested by: caspy



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@183244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 18:10:34 +00:00
David Vossel
2764c2821f Merged revisions 183126 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r183126 | dvossel | 2009-03-19 11:15:16 -0500 (Thu, 19 Mar 2009) | 17 lines
  
  Allow disconnect feature before a call is bridged
  
  feature.conf has a disconnect option.  By default this option is set to '*', but it could be anything.  If a user wishes to disconnect a call before the other side answers, only '*' will work, regardless if the disconnect option is set to something else.  This is because features are unavailable until bridging takes place.  The default disconnect option, '*', was hardcoded in app_dial, which doesn't make any sense from a user perspective since they may expect it to be something different.  This patch allows features to be detected from outside of the bridge, but not operated on.  In this case, the disconnect feature can be detected before briding and handled outside of features.c.
  
  (closes issue #11583)
  Reported by: sobomax
  Patches:
  	patch-apps__app_dial.c uploaded by sobomax (license 359)
  	11583.latest-patch uploaded by murf (license 17)
  	detect_disconnect.diff uploaded by dvossel (license 671)
  Tested by: sobomax, dvossel
  Review: http://reviewboard.digium.com/r/195/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@183172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 16:28:33 +00:00
Russell Bryant
0bdd99ad64 Merged revisions 182810 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines

Fix cases where the internal poll() was not being used when it needed to be.

We have seen a number of problems caused by poll() not working properly on 
Mac OSX.  If you search around, you'll find a number of references to using 
select() instead of poll() to work around these issues.  In Asterisk, we've 
had poll.c which implements poll() using select() internally.  However, we 
were still getting reports of problems.

vadim investigated a bit and realized that at least on his system, even 
though we were compiling in poll.o, the system poll() was still being used.  
So, the primary purpose of this patch is to ensure that we're using the 
internal poll() when we want it to be used.

The changes are:

1) Remove logic for when internal poll should be used from the Makefile.  
   Instead, put it in the configure script.  The logic in the configure 
   script is the same as it was in the Makefile.  Ideally, we would have 
   a functionality test for the problem, but that's not actually possible, 
   since we would have to be able to run an application on the _target_ 
   system to test poll() behavior.

2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT
   is not defined.

3) Change uses of poll() throughout the source tree to ast_poll().  I feel 
   that it is good practice to give the API call a new name when we are 
   changing its behavior and not using the system version directly in all cases.
   So, normally, ast_poll() is just redefined to poll().  On systems where 
   AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll().

4) Change poll() in main/poll.c to be ast_internal_poll().

It's worth noting that any code that still uses poll() directly will work fine 
(if they worked fine before).  So, for example, out of tree modules that are 
using poll() will not stop working or anything.  However, for modules to work 
properly on Mac OSX, ast_poll() needs to be used.

(closes issue #13404)
Reported by: agalbraith
Tested by: russell, vadim

http://reviewboard.digium.com/r/198/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 02:28:55 +00:00
David Vossel
e559cae4ec Option to send DTMF when receiving PROGRESS status
The D() option in app_dial is only able to send DTMF after the call has been answered.  A progress option has been added to D() to allow DTMF to be sent upon receiving PROGRESS.  This allows DTMF to be sent before the call is answered.

(closes issue #12123)
Reported by: VoipForces
Patches:
	app_dial.c_patch_trunk_valid uploaded by VoipForces (license 419)
	dtmf_progress.patch uploaded by dvossel (license 671)
Tested by: VoipForces, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 17:17:51 +00:00
Mark Michelson
b4fcc4a098 Change faulty comparison used when announcing average hold minutes and seconds
(closes issue #14227)
Reported by: caspy



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182121 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-13 21:26:20 +00:00
Mark Michelson
a1a9006163 Run the macro on the queue member's channel when he answers, not the caller's channel.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181846 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 21:43:51 +00:00
Joshua Colp
499ca8de65 Fix crash when sleep and retries argument was not given to RetryDial application.
(closes issue #14647)
Reported by: sherpya


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181612 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-12 13:24:12 +00:00
Mark Michelson
d7d817d687 Fix segfault when dialing a typo'd queue
If trying to dial a non-existent queue, there would
be a segfault when attempting to access q->weight, even
though q was NULL. This problem was introduced during
the queue-reset merge and thus only affects trunk.

(closes issue #14643)
Reported by: alecdavis



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-11 14:28:40 +00:00
Joshua Colp
3a92673356 Don't play the "you are about to be placed into the conference" and "the leader has left the conference" sounds if the quiet
option is enabled. (reported by Vadim Lebedev on the asterisk-dev list)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@181210 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-11 13:44:42 +00:00
Mark Michelson
09df92d485 Merged revisions 180567 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180567 | mmichelson | 2009-03-06 12:23:09 -0600 (Fri, 06 Mar 2009) | 2 lines
  
  Make compilation succeed in dev-mode when IMAP storage is enabled.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-06 18:25:44 +00:00
Mark Michelson
96405af1a8 Merged revisions 180464 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180464 | mmichelson | 2009-03-05 17:26:11 -0600 (Thu, 05 Mar 2009) | 16 lines
  
  [IMAP] Fix message retrieval issues when identical mailbox names were defined in separate contexts.
  
  There was a fix put in a while back so that an X-Asterisk-VM-Context message header was
  added to stored IMAP voicemails. This would allow for us to differentiate if the same
  mailbox name was used in multiple contexts. The problem still left was that not all places
  where messages were retrieved actually attempted to use this header for information when
  retrieving messages. This commit fixes that so that MWI and message retrieval from VoiceMailMain
  work as expected.
  
  (closes issue #13853)
  Reported by: vicks1
  Patches:
        13853_v2.patch uploaded by mmichelson (license 60)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180465 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 23:26:58 +00:00
Mark Michelson
e69803a2be Merged revisions 180380 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r180380 | mmichelson | 2009-03-05 12:58:48 -0600 (Thu, 05 Mar 2009) | 25 lines
  
  Fix broken mailbox parsing when searchcontexts option is enabled.
  
  When using the searchcontexts option in voicemail.conf, the code
  made the assumption that all mailbox names defined were unique across
  all contexts. However, the code did nothing to actually enforce this
  assumption, nor did it do anything to alert a user that he may have
  created an ambiguity in his voicemail.conf file by defining the same
  mailbox name in multiple contexts.
  
  With this change, we now will issue a nice long warning if searchcontexts
  is on and we encounter the same mailbox name in multiple contexts and ignore
  any duplicates after the first box. Whether searchcontexts is enabled or not,
  if we come across a duplicate mailbox in the same context, then we will issue
  a warning and ignore the duplicated mailbox. I have also added a small note
  to voicemail.conf.sample in the explanation for searchcontexts explaining
  that you cannot define the same mailbox in multiple contexts if you have
  enabled the option.
  
  (closes issue #14599)
  Reported by: lmadsen
  Patches:
        14599.patch uploaded by mmichelson (license 60) (with slight modification)
  Tested by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180383 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 19:14:14 +00:00
Joshua Colp
4c9ab0df8c Merge phase 1 support for the new bridging architecture.
This commit brings in the bridging core, bridging technologies,
and the ConfBridge application.

For usage information on the ConfBridge application please see
the output of "core show application ConfBridge" from the CLI.

For API documentation please see the doxygen page describing the
architecture and the documentation for each API call.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-05 18:18:27 +00:00
Joshua Colp
15090ba1df Remove duplicate 'k' and 'K' Dial options.
(closes issue #14601)
Reported by: alecdavis
Patches:
      app_dial.optionk.diff.txt uploaded by alecdavis (license 585)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-04 14:39:28 +00:00
David Vossel
979eb709ae app_read does not break from prompt loop with user terminated empty string
In app.c, ast_app_getdata is called to stream the prompts and receive DTMF input.  If ast_app_getdata() receives an empty string caused by the user inputing the end of string character, in this case '#', it should break from the prompt loop and return to app_read, but instead it cycles through all the prompts.  I've added a return value for this special case in ast_readstring() which uses an enum I've delcared in apps.h.  This enum is now used as a return value for ast_app_getdata().

(closes issue #14279)
Reported by: Marquis
Patches:
	fix_app_read.patch uploaded by Marquis (license 32)
	read-ampersanmd.patch2 uploaded by dvossel (license 671)
Tested by: Marquis, dvossel
Review: http://reviewboard.digium.com/r/177/




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@180032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-03 23:21:18 +00:00