Commit Graph

610 Commits

Author SHA1 Message Date
Russell Bryant
ddd0ae53d2 Merged revisions 296084 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296084 | russell | 2010-11-24 14:23:46 -0600 (Wed, 24 Nov 2010) | 26 lines
  
  Merged revisions 296083 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r296083 | russell | 2010-11-24 14:23:11 -0600 (Wed, 24 Nov 2010) | 19 lines
    
    Merged revisions 296082 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r296082 | russell | 2010-11-24 14:22:32 -0600 (Wed, 24 Nov 2010) | 12 lines
      
      Fix false reporting of an error by set_format().
      
      In the case that the native format was able to be changed to match the
      new requested format, the code proceeded to attempt to build a translation
      path, anyway.  The result would be NULL, since no translation path is
      necessary and resulted in this function thinking an error has occurred.
      This case is now specifically caught and no attempt to build a translation
      path is attempted.
      
      Thanks to our automated tests and bamboo.asterisk.org for catching this problem
      and making a whole lot of noise when things started failing.  :-)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 20:24:38 +00:00
Russell Bryant
712ba23185 Merged revisions 296002 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r296002 | russell | 2010-11-24 11:13:08 -0600 (Wed, 24 Nov 2010) | 52 lines
  
  Merged revisions 296001 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r296001 | russell | 2010-11-24 11:03:16 -0600 (Wed, 24 Nov 2010) | 45 lines
    
    Merged revisions 296000 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r296000 | russell | 2010-11-24 10:48:39 -0600 (Wed, 24 Nov 2010) | 38 lines
      
      Handle failures building translation paths more effectively.
      
      The problem scenario occurred on a heavily loaded system that was using the
      codec_dahdi module and exceeded the hardware transcoding capacity.  The failure
      mode at that point was not good.  The report came in to us as an Asterisk
      lock-up.  The "core show locks" shows a ton of threads locked up (but no
      obvious deadlock).  Upon deeper investigation, when the system is in this
      state, the CPU was maxed out.  The CPU was being consumed by the Asterisk
      logger spewing messages on every audio frame for calls set up after transcoder
      capacity was reached.
      
      The purpose of this patch is to make Asterisk handle failures to create a
      translation path in a more graceful manner.  If we can't translate, then the
      call just needs to be dropped, as it's not going to work.  These are the
      changes:
      
      1) In set_format() of channel.c (which is called by set_read_format() and
      set_write_format()), it was ignoring if ast_translator_build_path() failed and
      returned NULL.  It now pays attention to that case and returns a result
      reflecting failure.  With this change in place, the bridging code will
      immediately detect a failure and end the bridge instead of proceeding to try to
      bridge frames that can't be translated and making channel drivers freak out by
      sending them frames in a format they weren't expecting.
      
      2) In ast_indicate_data() of channel.c, failure of ast_playtones_start() was
      ignored.  It is now reflected in the return value of the function.  This didn't
      turn out to have any affect on the bug, but seemed like a good change to leave
      in.
      
      3) In app_dial(), when only sending a call to a single endpoint, it will
      attempt to do some bridging of its own of early audio.  It uses
      make_compatible() when it's going to do this.  However, it ignored failure from
      make compatible.  So, even with the fix from #1, if there was early audio going
      through app_dial, there would still be a period of invalid frames passing
      through.  After detecting failure here, Dial() exits.
      
      ABE-2658
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@296034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 17:23:39 +00:00
Richard Mudgett
7c7486ad19 Merged revisions 295866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r295866 | rmudgett | 2010-11-22 13:36:10 -0600 (Mon, 22 Nov 2010) | 60 lines
  
  Merged revisions 295843 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r295843 | rmudgett | 2010-11-22 13:28:23 -0600 (Mon, 22 Nov 2010) | 53 lines
    
    Merged revisions 295790 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r295790 | rmudgett | 2010-11-22 12:46:26 -0600 (Mon, 22 Nov 2010) | 46 lines
      
      The channel redirect function (CLI or AMI) hangs up the call instead of redirecting the call.
      
      To recreate the problem:
      1) Party A calls Party B
      2) Invoke CLI "channel redirect" command to redirect channel call leg
      associated with A.
      3) All associated channels are hung up.
      
      Note that if the CLI command were done on the channel call leg associated
      with B it works.
      
      This regression was a result of the fix for issue #16946
      (https://reviewboard.asterisk.org/r/740/).
      
      The regression affects all features that use an async goto to execute the
      dialplan because of an external event: Channel redirect, AMI redirect, SIP
      REFER, and FAX detection.
      
      The struct ast_channel._softhangup code is a mess.  The variable is used
      for several purposes that do not necessarily result in the call being hung
      up.  I have added doxygen comments to describe how the various _softhangup
      bits are used.  I have corrected all the places where the variable was
      tested in a non-bit oriented manner.
      
      The primary fix is the new AST_CONTROL_END_OF_Q frame.  It acts as a weak
      hangup request so the soft hangup requests that do not normally result in
      a hangup do not hangup.
      
      JIRA SWP-2470
      JIRA SWP-2489
      
      (closes issue #18171)
      Reported by: SantaFox
      (closes issue #18185)
      Reported by: kwemheuer
      (closes issue #18211)
      Reported by: zahir_koradia
      (closes issue #18230)
      Reported by: vmarrone
      (closes issue #18299)
      Reported by: mbrevda
      (closes issue #18322)
      Reported by: nerbos
      
      Review:	https://reviewboard.asterisk.org/r/1013/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@295867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-22 19:42:02 +00:00
Richard Mudgett
e15582b186 Merged revisions 295282 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r295282 | rmudgett | 2010-11-16 17:02:36 -0600 (Tue, 16 Nov 2010) | 16 lines
  
  Merged revisions 295281 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r295281 | rmudgett | 2010-11-16 16:57:07 -0600 (Tue, 16 Nov 2010) | 9 lines
    
    Merged revisions 295280 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r295280 | rmudgett | 2010-11-16 16:52:06 -0600 (Tue, 16 Nov 2010) | 1 line
      
      Dead code elimination in channel.c:ast_channel_bridge() variable who.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@295283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-16 23:04:55 +00:00
Richard Mudgett
e2c8ef9179 Merged revisions 294466 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r294466 | rmudgett | 2010-11-09 16:46:45 -0600 (Tue, 09 Nov 2010) | 1 line
  
  Allow ast_do_masquerade() failure to be reported again.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-09 22:52:00 +00:00
Richard Mudgett
3adb425b25 Merged revisions 294349 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r294349 | rmudgett | 2010-11-09 10:55:32 -0600 (Tue, 09 Nov 2010) | 17 lines
  
  Analog lines do not transfer CONNECTED LINE or execute the interception macros.
  
  Add connected line update for sig_analog transfers and simplify the
  corresponding sig_pri and chan_misdn transfer code.
  
  Note that if you create a three-way call in sig_analog before transferring
  the call, the distinction of the caller/callee interception macros make
  little sense.  The interception macro writer needs to be prepared for
  either caller/callee macro to be executed.  The current implementation
  swaps which caller/callee interception macro is executed after a three-way
  call is created.
  
  Review:	https://reviewboard.asterisk.org/r/996/
  
  JIRA ABE-2589
  JIRA SWP-2372
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-09 17:00:07 +00:00
Jeff Peeler
12a40275f2 Merged revisions 294278 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r294278 | jpeeler | 2010-11-08 15:59:45 -0600 (Mon, 08 Nov 2010) | 23 lines
  
  Merged revisions 294277 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r294277 | jpeeler | 2010-11-08 15:58:13 -0600 (Mon, 08 Nov 2010) | 16 lines
    
    Fix playback failure when using IAX with the timerfd module.
    
    To fix this issue the alert pipe will now be used when the timerfd module is
    in use. There appeared to be a race that was not solved by adding locking in the
    timerfd module, but needed to be there anyway. The race was between the timer
    being put in non-continuous mode in ast_read on the channel thread and the IAX 
    frame scheduler queuing a frame which would enable continuous mode before the
    non-continuous mode event was read. This race for now is simply avoided.
    
    (closes issue #18110)
    Reported by: tpanton
    Tested by: tpanton
    
    I put tested by tpanton because it was tested on his hardware. Thanks for the
    remote access to debug this issue!
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@294279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 22:03:54 +00:00
Richard Mudgett
64845d73c7 Merged revisions 292704 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r292704 | rmudgett | 2010-10-22 10:47:08 -0500 (Fri, 22 Oct 2010) | 19 lines
  
  Connected line is not updated when chan_dahdi/sig_pri or chan_misdn transfers a call.
  
  When a call is transfered by ECT or implicitly by disconnect in sig_pri or
  implicitly by disconnect in chan_misdn, the connected line information is
  not exchanged.  The connected line interception macros also need to be
  executed if defined.
  
  The CALLER interception macro is executed for the held call.
  The CALLEE interception macro is executed for the active/ringing call.
  
  JIRA ABE-2589
  JIRA SWP-2296
  
  Patches:
        abe_2589_c3bier.patch uploaded by rmudgett (license 664)
        abe_2589_v1.8_v2.patch uploaded by rmudgett (license 664)
  
  Review: https://reviewboard.asterisk.org/r/958/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@292705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-22 15:47:56 +00:00
Terry Wilson
1b91e18564 Merged revisions 291581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r291581 | twilson | 2010-10-13 16:01:56 -0700 (Wed, 13 Oct 2010) | 35 lines
  
  Merged revisions 291580 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r291580 | twilson | 2010-10-13 15:58:43 -0700 (Wed, 13 Oct 2010) | 28 lines
    
    Merged revisions 291577 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r291577 | twilson | 2010-10-13 15:45:15 -0700 (Wed, 13 Oct 2010) | 21 lines
      
      Don't ignore frames that have been queued when softhangup'd
      
      When an outgoing call is answered and hung up by the far end *very* quickly, we
      may not read any frames and therefor end up with a call that displays the wrong
      disposition/DIALSTATUS. The reason is because ast_queue_hangup() immediately
      sets the _softhangup flag on the channel and then queues the HANGUP control
      frame, but __ast_read refuses to read any frames if ast_check_hangup() indicates
      that a hangup request has been made (which it will if _softhangup is set). So,
      we end up losing control frames.
      
      This change makes __ast_read continue to read frames even if a soft hangup has
      been requested. It queues a hangup frame to make sure that __ast_read() will
      still eventually return NULL.
      
      Much thanks to David Vossel for all of the reviews, discussion, and help!
      
      (closes issue #16946)
      Reported by: davidw
      
      Review: https://reviewboard.asterisk.org/r/740/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@291657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-13 23:47:10 +00:00
Jason Parker
ce6abd6bf7 Merged revisions 289340 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289340 | qwell | 2010-09-29 16:12:43 -0500 (Wed, 29 Sep 2010) | 22 lines
  
  Merged revisions 289339 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r289339 | qwell | 2010-09-29 16:03:47 -0500 (Wed, 29 Sep 2010) | 15 lines
    
    Merged revisions 289338 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r289338 | qwell | 2010-09-29 15:56:26 -0500 (Wed, 29 Sep 2010) | 8 lines
      
      Allow a manager originate to succeed on forwarded devices.
      
      The timeout to wait for an answer was being set to 0 when a device forwarded to another
      extension.  We don't always need the timeout set like this, so make it an optional
      parameter, and don't use it in this case.
      
      ABE-2544
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-29 21:19:46 +00:00
Matthew Nicholson
fb855036d3 Merged revisions 289268 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r289268 | mnicholson | 2010-09-29 12:08:20 -0500 (Wed, 29 Sep 2010) | 5 lines
  
  Update the CDR record when ast_channel_set_caller_event() is called
  
  (related to issue #17569)
  Reported by: tbelder
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289269 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-29 17:08:56 +00:00
Richard Mudgett
3cb0f1ff0a Merged revisions 289253 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r289253 | rmudgett | 2010-09-29 11:16:47 -0500 (Wed, 29 Sep 2010) | 1 line
  
  Make development error message indicate which channel.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-29 16:17:27 +00:00
Matthew Nicholson
e529607617 Merged revisions 289179 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289179 | mnicholson | 2010-09-29 10:04:56 -0500 (Wed, 29 Sep 2010) | 22 lines
  
  Merged revisions 289178 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r289178 | mnicholson | 2010-09-29 10:04:11 -0500 (Wed, 29 Sep 2010) | 15 lines
    
    Merged revisions 289177 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r289177 | mnicholson | 2010-09-29 10:03:27 -0500 (Wed, 29 Sep 2010) | 8 lines
      
      Set the caller id on CDRs when it is set on the parent channel.
      
      (closes issue #17569)
      Reported by: tbelder
      Patches:
            17569.diff uploaded by tbelder (license 618)
      Tested by: tbelder
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289180 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-29 15:07:57 +00:00
Brett Bryant
8e22acde1b Merged revisions 289099 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r289099 | bbryant | 2010-09-28 14:18:02 -0400 (Tue, 28 Sep 2010) | 28 lines
  
  Merged revisions 289095 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r289095 | bbryant | 2010-09-28 14:14:19 -0400 (Tue, 28 Sep 2010) | 21 lines
    
    Merged revisions 289094 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r289094 | bbryant | 2010-09-28 14:10:19 -0400 (Tue, 28 Sep 2010) | 14 lines
      
      Fixes an issue with the Newchannel AMI event during the Masquerading process.
      
      Fixes an issue with the Newchannel AMI event during the Masquerading process,
      where no Newchannel AMI event was generated for the psuedo channel used during
      the masquerading process.
      
      (closes issue #17987)
      Reported by: RadicAlish
      Patches: 
            newchannel.patch.txt uploaded by RadicAlish (license 1122)
            Tested by: RadicAlish
      
            Review: https://reviewboard.asterisk.org/r/937/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@289131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-28 18:24:11 +00:00
Richard Mudgett
851141c131 Merged revisions 288079-288080 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r288079 | rmudgett | 2010-09-21 15:29:51 -0500 (Tue, 21 Sep 2010) | 2 lines
  
  Protect channel access in CONNECTED_LINE and REDIRECTING interception macro launch code.
........
  r288080 | rmudgett | 2010-09-21 15:29:59 -0500 (Tue, 21 Sep 2010) | 8 lines
  
  Simplify locking code for REDIRECTING interception macro when forwarding a call.
  
  Simplified the locking code by using a local copy of the redirecting party
  information in app_dial.c:do_forward() and app_queue.c:wait_for_answer()
  for launching the REDIRECTING interception macro when a call is forwarded.
  
  Reduced the lock time of the 'o->chan' and 'in' channels.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 20:33:20 +00:00
Brett Bryant
949c16de77 Merged revisions 288007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r288007 | bbryant | 2010-09-21 15:48:53 -0400 (Tue, 21 Sep 2010) | 21 lines
  
  Merged revisions 288006 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r288006 | bbryant | 2010-09-21 15:46:20 -0400 (Tue, 21 Sep 2010) | 14 lines
    
    Merged revisions 288005 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r288005 | bbryant | 2010-09-21 15:43:46 -0400 (Tue, 21 Sep 2010) | 8 lines
      
      Add a check to fix a rare segmentation fault you'd get if ast_frdup couldn't allocate
      memory on the first frame being queued in ast_queue_frame.
      
      (closes issue #17882)
      Reported by: seanbright
      Tested by: seanbright
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@288008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 19:50:46 +00:00
Terry Wilson
6aa4e2b35e Merged revisions 287931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287931 | twilson | 2010-09-21 14:02:40 -0500 (Tue, 21 Sep 2010) | 2 lines
  
  Revert change in favor of a more targeted fix
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287932 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 19:04:57 +00:00
Terry Wilson
690561643d Merged revisions 287833 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287833 | twilson | 2010-09-20 23:37:44 -0500 (Mon, 20 Sep 2010) | 3 lines
  
  Don't generate connected line buffer twice for comparison
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 04:39:30 +00:00
Terry Wilson
03a833f2e8 Merged revisions 287757 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287757 | twilson | 2010-09-20 18:51:38 -0500 (Mon, 20 Sep 2010) | 7 lines
  
  Avoid infinite loop with certain local channel connected line updates
  
  Compare connected line data before sending a connected line indication to avoid
  possible loops.
  
  Review: https://reviewboard.asterisk.org/r/932/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 00:11:59 +00:00
Alec L Davis
c65de13046 Merged revisions 287685 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r287685 | alecdavis | 2010-09-21 11:16:45 +1200 (Tue, 21 Sep 2010) | 18 lines
  
  ast_channel_masquerade: Avoid recursive masquerades.
  
  Check all 4 combinations of (original/clonechan) * (masq/masqr).
  
  Initially original->masq and clonechan->masqr were only checked.
  
  It's possible with multiple masq's planned - and not yet executed, that
   the 'original' chan could already have another masq'd into it - thus original->masqr
  would be set, that masqr would lost.
  Likewise for the clonechan->masq.
  
  (closes issue #16057;#17363)
  Reported by: amorsen;davidw,alecdavis
  Patches: 
        based on bug16057.diff4.txt uploaded by alecdavis (license 585)
  Tested by: ramonpeek, davidw, alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287756 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 23:42:56 +00:00
Alec L Davis
672e1c323f Merged revisions 287661 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287661 | alecdavis | 2010-09-21 10:21:50 +1200 (Tue, 21 Sep 2010) | 14 lines
  
  ast_do_masquerade. Keep channels ao2_container locked while unlink and linking channels.
  
  Previously, Masquerade would unlock 'original' and 'clonechan' and allow another masq thread to run.
  End result would be corrupted memory, and the frequent report 'Bad Magic Number'.
  
  (closes issue #17801,#17710)
  Reported by: notthematrix
  Patches: 
        Based on bug17801.diff1.txt uploaded by alecdavis (license 585)
  Tested by: alecdavis
  
  Review: https://reviewboard.asterisk.org/r/928
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 22:24:51 +00:00
David Vossel
2f3dee2379 Merged revisions 287647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287647 | dvossel | 2010-09-20 17:09:16 -0500 (Mon, 20 Sep 2010) | 21 lines
  
  Addition of the FrameHook API (AKA AwesomeHooks)
  
  So far all our tools for viewing and manipulating media streams
  within Asterisk have been entirely focused on audio.  That made
  sense then, but is not scalable now.  The FrameHook API lets us
  tap into and manipulate _ANY_ type of media or signaling passed
  on a channel present today or in the future.  This tool is a step
  in the direction of expanding Asterisk's boundaries and will help
  generate some rather interesting applications in the future.
  
  In addition to the FrameHook API, a simple dialplan function
  exercising the api has been included as well.  This function
  is called FRAME_TRACE().  FRAME_TRACE() allows for the internal
  ast_frames read and written to a channel to be output.  Filters
  can be placed on this function to debug only certain types of frames.
  This function could be thought of as an internal way of doing
  ast_frame packet captures.
  
  Review: https://reviewboard.asterisk.org/r/925/
........



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 22:16:37 +00:00
Matthew Nicholson
bf5121e367 Merged revisions 286682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286682 | mnicholson | 2010-09-14 13:04:21 -0500 (Tue, 14 Sep 2010) | 21 lines
  
  Merged revisions 286681 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r286681 | mnicholson | 2010-09-14 13:02:24 -0500 (Tue, 14 Sep 2010) | 14 lines
    
    Merged revisions 286679 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r286679 | mnicholson | 2010-09-14 13:00:01 -0500 (Tue, 14 Sep 2010) | 7 lines
      
      Only drop duplicate answer frames if the channel is bridged.
      
      Back in r3710 ast_read() was modified to drop answer frames on channels that were in the UP state.  This modification prevented bridges that were up before the answer from being broken and reestablished by an ANSWER control frame.  That change also prevents pickup of channels called from the ast_dial framework from working properly.  The ast_dial framework expects to see an ANSWER frame after dialing and the pickup code queues one but ast_read() drops it.  This new change only drops ANSWER frames when the channel is bridged, allowing the answer queued by the pickup code to properly pass through ast_read() on to the ast_dial framework.
      
      ABE-2473
      (related to issue #2342)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-14 18:05:39 +00:00
Jason Parker
74ebe38903 Merged revisions 285745 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r285745 | qwell | 2010-09-09 15:11:06 -0500 (Thu, 09 Sep 2010) | 23 lines
  
  Merged revisions 285744 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r285744 | qwell | 2010-09-09 15:09:23 -0500 (Thu, 09 Sep 2010) | 16 lines
    
    Merged revisions 285742 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r285742 | qwell | 2010-09-09 15:06:31 -0500 (Thu, 09 Sep 2010) | 9 lines
      
      Transmit silence when reading DTMF in ast_readstring.
      
      Otherwise, you could get issues with DTMF timeouts causing hangups.
      
      (closes issue #17370)
      Reported by: makoto
      Patches: 
            channel-readstring-silence-generator.patch uploaded by makoto (license 38)
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285746 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-09 20:13:39 +00:00
Terry Wilson
2bd6b82737 Merged revisions 282468 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r282468 | twilson | 2010-08-16 12:53:44 -0500 (Mon, 16 Aug 2010) | 30 lines
  
  Merged revisions 282467 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r282467 | twilson | 2010-08-16 12:32:01 -0500 (Mon, 16 Aug 2010) | 23 lines
    
    Merged revisions 282430 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r282430 | twilson | 2010-08-16 12:06:37 -0500 (Mon, 16 Aug 2010) | 16 lines
      
      Send a SRCCHANGE indication when we masquerade
      
      Masquerading a channel means that the src of the audio is potentially
      changing, so send a SRCCHANGE so that RTP-based media streams can get
      a new SSRC generated to reflect the change. Original patch by addix
      (along with lots of testing--thanks!).
      
      (closes issue #17007)
      Reported by: addix
      Patches: 
            1001-reset-SSRC-original-channel.diff uploaded by addix (license 1006)
            srcchange.diff uploaded by twilson (license 396)
      Tested by: addix, twilson
      
      Review: https://reviewboard.asterisk.org/r/862/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-16 20:40:55 +00:00
Jeff Peeler
3770eaadcb Merged revisions 281913 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r281913 | jpeeler | 2010-08-11 22:03:37 -0500 (Wed, 11 Aug 2010) | 34 lines
  
  Merged revisions 281912 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r281912 | jpeeler | 2010-08-11 22:01:38 -0500 (Wed, 11 Aug 2010) | 27 lines
    
    Merged revisions 281911 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r281911 | jpeeler | 2010-08-11 22:00:14 -0500 (Wed, 11 Aug 2010) | 20 lines
      
      Ensure SSRC is changed when media source is changed to resolve audio delay.
      
      This change causes the SSRC to change right before the channels are bridged,
      which is what used to happen. It seems that fixes were made to attempt limiting
      SSRC changes, targeted mainly at sending DTMF. DTMF is not affecting the SSRC
      with this change.
      
      There are two other control frames sent in ast_channel_bridge that probably
      should also be changed to AST_CONTROL_SRCCHANGE as well, but I'm going to leave
      this change up to the discretion of resolving issue #17007.
      
      For reference - old review implementing new control frame SRCCHANGE:
      https://reviewboard.asterisk.org/r/540
      
      (closes issue #17404)
      Reported by: sdolloff
      Patches: 
            bug17404.patch uploaded by jpeeler (license 325)
      Tested by: sdolloff
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281914 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-12 03:08:45 +00:00
David Vossel
139e3e5d84 Merged revisions 280450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r280450 | dvossel | 2010-07-29 14:13:27 -0500 (Thu, 29 Jul 2010) | 25 lines
  
  Merged revisions 280449 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r280449 | dvossel | 2010-07-29 14:05:25 -0500 (Thu, 29 Jul 2010) | 18 lines
    
    Merged revisions 280448 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r280448 | dvossel | 2010-07-29 14:04:23 -0500 (Thu, 29 Jul 2010) | 12 lines
      
      fixes issue with translator frame not getting freed
      
      A translator frame even if it local storage so the translation path
      can be freed.  This issue prevented g729 licenses from being freed up.
      
      (closes issue #17630)
      Reported by: manvirr
      Patches:
            encoder_fix.diff uploaded by dvossel (license 671)
      Tested by: manvirr, dvossel
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280459 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 19:18:50 +00:00
Matthew Nicholson
3def1196b4 Merged revisions 280307 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r280307 | mnicholson | 2010-07-29 08:56:35 -0500 (Thu, 29 Jul 2010) | 11 lines
  
  Merged revisions 280306 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r280306 | mnicholson | 2010-07-29 08:45:11 -0500 (Thu, 29 Jul 2010) | 2 lines
    
    Implement support for ast_channel_queryoption on local channels.  Currently only AST_OPTION_T38_STATE is supported.

    ABE-2229
    Review: https://reviewboard.asterisk.org/r/813/
  ........
  
  Additionally, pass AST_CONTROL_T38_PARAMETERS control frames through generic bridges.  This change appears to have been unintentionally left out of rev 203699.
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-29 14:03:59 +00:00
David Vossel
395a35900a Merged revisions 279949 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r279949 | dvossel | 2010-07-27 15:57:00 -0500 (Tue, 27 Jul 2010) | 31 lines
  
  Merged revisions 279946 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r279946 | dvossel | 2010-07-27 15:54:32 -0500 (Tue, 27 Jul 2010) | 24 lines
    
    Merged revisions 279945 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r279945 | dvossel | 2010-07-27 15:33:40 -0500 (Tue, 27 Jul 2010) | 19 lines
      
      remove empty audiohook write list on channel
      
      If a channel has an audiohook write list created on it, that
      list stays on the channel until the channel is destroyed.  There
      is no reason to keep that list on the channel if it becomes empty.
      If it is empty that just means we are doing needless translating
      for every ast_read and ast_write.  This patch removes the audiohook
      list from the channel once it is detected to be empty on either a
      read or write.  If a audiohook is added back to the channel after
      this list is destroyed, the list just gets recreated as if it never
      existed to begin with.
      
      (closes issue #17630)
      Reported by: manvirr
      
      Review: https://reviewboard.asterisk.org/r/799/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 20:59:16 +00:00
Russell Bryant
8bd241f238 Merged revisions 279636,279815 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r279636 | russell | 2010-07-26 16:53:30 -0500 (Mon, 26 Jul 2010) | 2 lines
  
  Ignore a control subclass of -1 in ast_waitfordigit_full().
........
  r279815 | russell | 2010-07-27 11:06:58 -0500 (Tue, 27 Jul 2010) | 4 lines
  
  Support "channels" in addition to "channel" in chan_dahdi.conf.
  
  Review: https://reviewboard.asterisk.org/r/804
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@279816 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 16:08:10 +00:00
Mark Michelson
0da891c543 Merged revisions 278618 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r278618 | mmichelson | 2010-07-22 09:55:04 -0500 (Thu, 22 Jul 2010) | 13 lines
  
  Allow PLC to function properly when channels use SLIN for audio.
  
  If a channel involved in a bridge was using SLIN audio, then translation
  paths were not guaranteed to be set up properly since in all likelihood
  the number of translation steps was only 1.
  
  This patch enforces the transcode_via_slin behavior if transcode_via_slin
  or generic_plc is enabled and one of the formats to make compatible is
  SLIN.
  
  AST-352
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-22 14:58:01 +00:00
Matthew Nicholson
e16a5e4727 Print f->subclass.integer instead of f->subclass.
(fix build breakage introduced in r277250)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277262 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 18:05:01 +00:00
Matthew Nicholson
d787ccff35 Merged revisions 277247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277247 | mnicholson | 2010-07-16 12:29:57 -0500 (Fri, 16 Jul 2010) | 4 lines
  
  For pass through DTMF tones, measure the actual duration between the begin and end packets on the wire.  If it is detected to be less than AST_MIN_DTMF_DURATION, trigger dtmf emulation.
  
  AST-362
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277250 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 17:30:39 +00:00
Jeff Peeler
e7591ab428 Merged revisions 276652 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r276652 | jpeeler | 2010-07-15 08:48:58 -0500 (Thu, 15 Jul 2010) | 2 lines
  
  In a perfect world, the frame source would never be NULL. In the meantime, don't crash when it is.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276653 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-15 13:51:11 +00:00
Richard Mudgett
cf7bbcc4c6 Expand the caller ANI field to an ast_party_id
Expand the ani field in ast_party_caller and ast_party_connected_line to
an ast_party_id.

This is an extension to the ast_callerid restructuring patch in review:
https://reviewboard.asterisk.org/r/702/

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:58:03 +00:00
Richard Mudgett
ec37ffbdaf ast_callerid restructuring
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.

Eliminate struct ast_callerid and replace it with the following struct
organization:

struct ast_party_name {
	char *str;
	int char_set;
	int presentation;
	unsigned char valid;
};
struct ast_party_number {
	char *str;
	int plan;
	int presentation;
	unsigned char valid;
};
struct ast_party_subaddress {
	char *str;
	int type;
	unsigned char odd_even_indicator;
	unsigned char valid;
};
struct ast_party_id {
	struct ast_party_name name;
	struct ast_party_number number;
	struct ast_party_subaddress subaddress;
	char *tag;
};
struct ast_party_dialed {
	struct {
		char *str;
		int plan;
	} number;
	struct ast_party_subaddress subaddress;
	int transit_network_select;
};
struct ast_party_caller {
	struct ast_party_id id;
	char *ani;
	int ani2;
};

The new organization adds some new information as well.

* The party name and number now have their own presentation value that can
be manipulated independently.  ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.

* The party name and number now have a valid flag.  Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.

* The party name now has a character set value.  SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.

* The dialed party now has a numbering plan value that could be useful to
have available.

The various channel drivers will need to be updated to support the new
core features as needed.  They have simply been converted to supply
current functionality at this time.


The following items of note were either corrected or enhanced:

* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.

* CALLERPRES() is now deprecated because the name and number have their
own presentation values.

* Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
contain garbage.  It also can only contain the caller id number so using
ast_callerid_parse() on it is silly.  There was also a typo in the
CALLERNAME if test.

* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string.  ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string.  Then using
ast_shrink_phone_number() could alter it even more.

* Fixed caller ID name and number memory leak in chan_usbradio.c.

* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.

* Protected access to a caller channel with lock in chan_sip.c.

* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk().  Also made save all caller ID data instead of just the name
and number strings.

* Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
function.

* Corrected some weirdness with app_privacy.c's use of caller
presentation.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00
Richard Mudgett
30071ba71b Add which ITU spec specifies the numbering plan.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275725 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-12 17:54:46 +00:00
Jeff Peeler
e710ef67b9 Merged revisions 275665 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r275665 | jpeeler | 2010-07-12 11:58:39 -0500 (Mon, 12 Jul 2010) | 11 lines
  
  Change ast_write to not stop generator when called from ast_prod.
  
  For SIP channels configured with the progressinband option on, the ringback was
  being immediately stopped. This problem was due to ast_prod being moved for a
  deadlock fix in 259858. Prodding the channel after setting up the generator
  triggered the check in ast_write to stop the generator. The fix here should
  write the frame the same as was done before the call to ast_prod was moved.
  
  (closes issue #17372)
  Reported by: tech_admin
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-12 17:21:01 +00:00
Richard Mudgett
816f26c16c Generate a correct AstData string for ast_callerid.cid_ton
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274782 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 22:05:40 +00:00
Richard Mudgett
25a3c313b5 Fix trunk compile.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 19:12:55 +00:00
Eliel C. Sardanons
a1b89a6a50 Implement AstData API data providers as part of the GSOC 2010 project,
midterm evaluation.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 14:48:42 +00:00
David Vossel
b00f58da25 adds speex 16khz audio support
(closes issue #17501)
Reported by: fabled
Patches:
      asterisk-trunk-speex-wideband-v2.patch uploaded by fabled (license 448)
Tested by: malcolmd, fabled, dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@271231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-17 17:23:43 +00:00
David Vossel
fcb055fb4e addition of G.719 pass-through support
(closes issue #16293)
Reported by: malcolmd
Patches:
      g719.passthrough.patch.7 uploaded by malcolmd (license 924)
      format_g719.c uploaded by malcolmd (license 924)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-16 19:03:24 +00:00
Mark Michelson
e8d2153da6 Merged revisions 269821 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r269821 | mmichelson | 2010-06-10 14:30:12 -0500 (Thu, 10 Jun 2010) | 19 lines
  
  Fix potential crash when writing raw SLIN audio on a PLC-enabled channel.
  
  The issue here was that the frame created when adjusting for PLC had no offset
  to its audio data. If this frame were translated to another format prior to
  being sent out an RTP socket, all went well because the translation code would
  put an appropriate offset into the frame. However, if the SLIN audio were not
  translated before being sent out the RTP socket, bad things would happen.
  Specifically, the ast_rtp_raw_write makes the assumption that the frame has
  at least enough of an offset that it can accommodate an RTP header. This was
  not the case. As such, data was being written prior to the allocation, likely
  corrupting the data the memory allocator had written. Thus when the time came
  to free the data, all hell broke loose. ....Well, Asterisk crashed at least.
  
  The fix was just what one would expect. Offset the data in the frame by a reasonable
  amount. The method I used is a bit odd since the data in the frame is 16 bit integers
  and not bytes. I left a big ol' comment about it. This can be improved on if someone
  is interested. I was more interested in getting the crash resolved.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@269822 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-10 19:34:03 +00:00
Terry Wilson
857814f435 Add SRTP support for Asterisk
After 5 years in mantis and over a year on reviewboard, SRTP support is finally
being comitted. This includes generic CHANNEL dialplan functions that work for
getting the status of whether a call has secure media or signaling as defined
by the underlying channel technology and for setting whether or not a new
channel being bridged to a calling channel should have secure signaling or
media. See doc/tex/secure-calls.tex for examples.

Original patch by mikma, updated for trunk and revised by me.

(closes issue #5413)
Reported by: mikma
Tested by: twilson, notthematrix, hemanshurpatel

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@268894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-08 05:29:08 +00:00
Richard Mudgett
0760f4e70a Add ETSI Malicious Call ID support.
Add the ability to report malicious callers as an AMI event in the call
event class.

Relevant specification: EN 300 180

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 22:28:58 +00:00
Richard Mudgett
afd4454c44 Generic Advice of Charge.
Asterisk Generic AOC Representation
- Generic AOC encode/decode routines.
  (Generic AOC must be encoded to be passed on the wire in the AST_CONTROL_AOC frame)
- AST_CONTROL_AOC frame type to represent generic encoded AOC data
- Manager events for AOC-S, AOC-D, and AOC-E messages

Asterisk App Support
- app_dial AOC-S pass-through support on call setup
- app_queue AOC-S pass-through support on call setup

AOC Unit Tests
- AOC Unit Tests for encode/decode routines
- AOC Unit Test for manager event representation.

SIP AOC Support
- Pass-through of generic AOC-D and AOC-E messages to snom phones via the
  snom AOC specification.
- Creation of chan_sip page3 flags for the addition of the new
  'snom_aoc_enabled' sip.conf option.

IAX AOC Support
- Natively supports AOC pass-through through the use of the new
  AST_CONTROL_AOC frame type

DAHDI AOC Support
- ETSI PRI full AOC Pass-through support
- 'aoc_enable' chan_dahdi.conf option for independently enabling
  pass-through of AOC-S, AOC-D, AOC-E.
- 'aoce_delayhangup' option for retrieving AOC-E on disconnect.
- DAHDI A() dial string option for requesting AOC services.
  example usage:
  ;requests AOC-S, AOC-D, and AOC-E on call setup
  exten=>1111,1,Dial(DAHDI/g1/1112/A(s,d,e))

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 18:10:15 +00:00
Mark Michelson
8999372c33 Fix misspelling of macro args.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:04:51 +00:00
Richard Mudgett
838ce15e20 Memory leak in connected line data when SIP blond transfer done.
The handling of the control subclass AST_CONTROL_READ_ACTION frame leaked
connected line string memory in __ast_read().

Also in __ast_read() the frame type switch should not have had a case for
AST_CONTROL_READ_ACTION.  AST_CONTROL_READ_ACTION is not a frame type.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 16:23:51 +00:00
David Vossel
fdb698ca2b fixes segfault when using generic plc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 16:10:09 +00:00