Commit Graph

227 Commits

Author SHA1 Message Date
Richard Mudgett 2af231dd91 Merged revisions 320059 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320059 | rmudgett | 2011-05-20 12:03:49 -0500 (Fri, 20 May 2011) | 1 line
  
  Misc comment cleanup in features.c.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 17:04:53 +00:00
Richard Mudgett ae091d166a Merged revisions 320057 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320057 | rmudgett | 2011-05-20 11:43:02 -0500 (Fri, 20 May 2011) | 19 lines
  
  Crash while transferring a call during DTMF feature timeout.
  
  When a call is being attended transferred during the time between
  AST_FRAME_DTMF_BEGIN and AST_FRAME_DTMF_END, the transferred channel
  becomes a zombie (so tech data is not available), making ast_dtmf_stream()
  segfault when it tries to send the DTMF digit (at least with SIP
  channels).
  
  Patch based on feature-end-zombie.patch uploaded by Irontec (license 1256)
  
  * Check for zombies when ast_channel_bridge() returns.
  
  * Guarantee that the fo parameter value is initialized in
  ast_channel_bridge() before any returns.
  
  (closes issue #19116)
  Reported by: Irontec
  Tested by: rmudgett
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 16:46:02 +00:00
Richard Mudgett b1cfd0e059 Merged revisions 320007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320007 | rmudgett | 2011-05-20 11:19:01 -0500 (Fri, 20 May 2011) | 2 lines
  
  Change some variable names to make pickup code easier to understand.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@320013 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 16:20:25 +00:00
Richard Mudgett 0436c501c9 Merged revisions 319997 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319997 | rmudgett | 2011-05-20 10:48:25 -0500 (Fri, 20 May 2011) | 25 lines
  
  Crash when using directed pickup applications.
  
  The directed pickup applications can cause a crash if the pickup was
  successful because the dialplan keeps executing.
  
  This patch does the following:
  
  * Completes the channel masquerade on a successful pickup before the
  application returns.  The channel is now guaranteed a zombie and must not
  continue executing the dialplan.
  
  * Changes the return value of the directed pickup applications to return
  zero if the pickup failed and nonzero(-1) if the pickup succeeded.
  
  * Made some code optimizations that no longer require re-checking the
  pickup channel to see if it is still available to pickup.
  
  (closes issue #19310)
  Reported by: remiq
  Patches:
        issue19310_v1.8_v2.patch uploaded by rmudgett (license 664)
  Tested by: alecdavis, remiq, rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1221/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319998 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-20 15:52:20 +00:00
Jonathan Rose 87004f0d9f Merged revisions 319866 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r319866 | jrose | 2011-05-19 13:32:38 -0500 (Thu, 19 May 2011) | 11 lines
  
  Fix Randomize option on Park()
  
  The randomize option was generally not working like it should have at all on Park().
  This patch restores intended functionality.
  
  (closes issue #18862)
  Reported by: davidw
  Tested by: jrose
  
  Review: https://reviewboard.asterisk.org/r/1222/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-19 18:36:38 +00:00
Richard Mudgett db89abf0bd Merged revisions 318868 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318868 | rmudgett | 2011-05-13 11:28:26 -0500 (Fri, 13 May 2011) | 19 lines
  
  CDR's are being written immediately on caller hangup.
  
  CDR's are being written immediately on caller hangup.  The dialplan is not
  able to modify it in the h exten.  The h exten in the initial context is
  not run before closing CDR's when the bridge is unlinked if a macro is
  active and does not have an h exten.
  
  * Make ast_bridge_call() check for an h exten in the current context and
  if a macro is active then the initial context.  The first h exten found is
  then run before closing the CDR.
  
  (closes issue #18212)
  Reported by: leearcher
  Patches:
        issue18212_v1.8.patch uploaded by rmudgett (license 664)
  Tested by: rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1206/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-13 16:30:29 +00:00
Alec L Davis 892b7a2efd Merged revisions 318671 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318671 | alecdavis | 2011-05-13 10:52:08 +1200 (Fri, 13 May 2011) | 30 lines
  
  Fix directed group pickup feature code *8 with pickupsounds enabled 
  
  Since 1.6.2, the new pickupsound and pickupfailsound in features.conf cause many issues.
  
  1). chan_sip:handle_request_invite() shouldn't be playing out the fail/success audio, as it has 'netlock' locked.
  2). dialplan applications for directed_pickups shouldn't beep.
  3). feature code for directed pickup should beep on success/failure if configured.
  
  Created a sip_pickup() thread to handle the pickup and playout the audio, spawned from handle_request_invite.
  
  Moved app_directed:pickup_do() to features:ast_do_pickup().
  
  Functions below, all now use the new ast_do_pickup()
  app_directed_pickup.c:
     pickup_by_channel()
     pickup_by_exten()
     pickup_by_mark()
     pickup_by_part()
  features.c:
     ast_pickup_call()
  
  (closes issue #18654)
  Reported by: Docent
  Patches: 
        ast_do_pickup_1.8_trunk.diff.txt uploaded by alecdavis (license 585)
  Tested by: lmadsen, francesco_r, amilcar, isis242, alecdavis, irroot, rymkus, loloski, rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1185/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 22:56:43 +00:00
Richard Mudgett bf57bb3c89 Merged revisions 318282 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r318282 | rmudgett | 2011-05-09 14:07:01 -0500 (Mon, 09 May 2011) | 24 lines
  
  Hangup extension executed twice.
  
  When a user hangs up a call, in certain circumstances, the hangup
  extension can end up being executed twice:
  
  1) If a call is bridged and the 'h' extension executes the Hangup
  application, then the 'h' extension will be executed twice.
  
  2) If a call is bridged within a macro (Dial or Queue), it has its own 'h'
  extension, the main context also has an 'h' extension, and the macro 'h'
  extension executes the Hangup application, then both 'h' extensions will
  be executed.
  
  * Revert originally commited fix for #16106 and just set
  AST_FLAG_BRIDGE_HANGUP_RUN unconditionally in ast_bridge_call().  The
  bridge code just executed an 'h' extension so the main PBX loop does not
  need to execute one as well.
  
  (issue #16106)
  Reported by: ajohnson
  
  (issue #16548)
  Reported by: hajekd
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 19:09:16 +00:00
Jonathan Rose ff4c7d46c0 Minor change to 318141 to improve parsing behavior.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318193 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 14:37:10 +00:00
Jonathan Rose 229e066dcb Allows ParkedCall application to specify a parkinglot.
When invoking the app parkedcall, the argument can now include '@parkinglot' after the
extension.

(closes issue #18777)
Reported by: cartama
Patches:
      0018777.diff uploaded by cartama (license 1157)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318141 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 13:56:32 +00:00
Russell Bryant 37aa52fd78 Merged revisions 316265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines
  
  Fix a bunch of compiler warnings generated by gcc 4.6.0.
  
  Most of these are -Wunused-but-set-variable, but there were a few others
  mixed in here, as well.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 20:45:32 +00:00
Terry Wilson 8d2a71877a Merged revisions 315644 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r315644 | twilson | 2011-04-26 14:39:01 -0700 (Tue, 26 Apr 2011) | 32 lines
  
  Merged revisions 315643 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r315643 | twilson | 2011-04-26 14:27:44 -0700 (Tue, 26 Apr 2011) | 25 lines
    
    Merged revisions 315596 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r315596 | twilson | 2011-04-26 14:16:10 -0700 (Tue, 26 Apr 2011) | 18 lines
      
      Allow transfer loops without allowing forwarding loops
      
      We try to avoid the situation where two phones may be forwarded to each other
      causing an infinite loop by storing each dialed interface in a channel
      datastore and checking the list before dialing out. This works, but currently
      breaks situations like A calls B, A transfers B to C, B transfers C to A, and A
      transfers C to B. Since human interaction is happening here and not an
      automated forwarding loop, it should be allowed.
      
      This patch removes the dialed_interfaces datastore when a call is bridged (a
      suggestion from the brilliant mmichelson). If a call is being bridged, it
      should be safe to assume that we aren't stuck in a loop.
      
      Since we are now handling this is the bridge code, the previous attempts at
      handling it in app_dial and app_queue are removed.
      
      Review: https://reviewboard.asterisk.org/r/1195/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@315670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-26 22:26:37 +00:00
Jonathan Rose 68dd87ef0d Merged revisions 313048 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r313048 | jrose | 2011-04-07 08:35:33 -0500 (Thu, 07 Apr 2011) | 16 lines
  
  Merged revisions 313047 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r313047 | jrose | 2011-04-07 08:23:01 -0500 (Thu, 07 Apr 2011) | 9 lines
    
    Makes parking lots clear and rebuild properly when features reload is invoked from CLI
    
    Before, default parkinglot in context parkedcalls with ext 700 would always be present and when reload was invoked, the previous parkinglots would not be cleared.
    
    (closes issue #18801)
    Reported by: mickecarlsson
    
    Review: https://reviewboard.asterisk.org/r/1161/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-07 13:42:13 +00:00
Terry Wilson d958ca6953 Merged revisions 310902 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r310902 | twilson | 2011-03-16 12:19:57 -0500 (Wed, 16 Mar 2011) | 43 lines
  
  Merged revisions 310889 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r310889 | twilson | 2011-03-16 12:03:27 -0500 (Wed, 16 Mar 2011) | 36 lines
    
    Merged revisions 310888 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r310888 | twilson | 2011-03-16 11:58:42 -0500 (Wed, 16 Mar 2011) | 29 lines
      
      Don't delay DTMF in core bridge while listening for DTMF features
      
      This patch is mostly the work of Olle Johansson. I did some cleanup and
      added the silence generating code if transmit_silence is set.
      
      When a channel listens for DTMF in the core bridge, the outbound DTMF is not
      sent until we have received DTMF_END. For a long DTMF, this is a disaster. We
      send 4 seconds of DTMF to Asterisk, which sends no audio for those 4 seconds.
      Some products see this delay and the time skew on RTP packets that results and
      start ignoring the audio that is sent afterward.
      
      With this change, the DTMF_BEGIN frame is inspected and checked. If it matches
      a feature code, we wait for DTMF_END and activate the feature as before. If
      transmit_silence=yes in asterisk.conf, silence is sent if we paritally match a
      multi-digit feature. If it doesn't match a feature, the frame is forwarded
      along with the DTMF_END without delay. By doing it this way, DTMF is not delayed.
      
      (closes issue #15642)
      Reported by: jasonshugart
      Patches: 
            issue_15652_dtmf_ast-1.4.patch.txt uploaded by twilson (license 396)
      Tested by: globalnetinc, jde
      
      (closes issue #16625)
      Reported by: sharvanek
      
      Review: https://reviewboard.asterisk.org/r/1092/
      Review: https://reviewboard.asterisk.org/r/1125/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@310941 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-16 17:29:16 +00:00
Jeff Peeler e2df246636 Allow parkedmusicclass to be settable for non-default parking lots.
(closes issue #17946)
Reported by: bluecrow76
Patches:
      asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-09 20:11:11 +00:00
Jeff Peeler 6b0fa46103 Merged revisions 307228 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r307228 | jpeeler | 2011-02-09 13:52:51 -0600 (Wed, 09 Feb 2011) | 17 lines
  
  Merged revisions 307227 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r307227 | jpeeler | 2011-02-09 13:52:12 -0600 (Wed, 09 Feb 2011) | 11 lines
    
    Make sure to set parking dial context for non-default parking lots.
    
    Since parking_con_dial isn't settable, set all parking lots to "park-dial".
    
    (closes issue #17946)
    Reported by: bluecrow76
    Patches:
          asterisk-1.8.0-beta4-multipark-fixes-2010SEP02.diff uploaded by bluecrow76 (license 270)
          modified by me
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@307229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-09 19:53:28 +00:00
Richard Mudgett 49feb747ba Pass a MCID request to the bridged channel.
Pass a MCID request to the bridged channel so the bridged channel can send
it to the network.

The ability to send the MCID request on an ISDN span is enabled with the
new chan_dahdi.conf mcid_send option.

JIRA SWP-2845
JIRA ABE-2736


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-07 23:33:44 +00:00
Terry Wilson 1277a80a5b Merged revisions 306674 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r306674 | twilson | 2011-02-07 14:43:22 -0800 (Mon, 07 Feb 2011) | 24 lines
  
  Merged revisions 306673 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r306673 | twilson | 2011-02-07 14:40:20 -0800 (Mon, 07 Feb 2011) | 17 lines
    
    Merged revisions 306672 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r306672 | twilson | 2011-02-07 14:35:20 -0800 (Mon, 07 Feb 2011) | 10 lines
      
      Don't try to pickup a call in the middle of a masquerade
      
      If A calls B which doesn't answer and C & D both try to do a call pickup, it is
      possible for ast_pickup_call to answer the call, then fail to masquerade one of
      the calls because the other one is already in the process of masquerading. This
      patch checks to see if the channel is in the process of masquerading before
      call before selecting it for a pickup.
      
      Review: https://reviewboard.asterisk.org/r/1094/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-07 22:46:07 +00:00
Paul Belanger 3556e4c2d4 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 16:55:39 +00:00
Jeff Peeler fed10ed35d Merged revisions 306124 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r306124 | jpeeler | 2011-02-03 14:50:48 -0600 (Thu, 03 Feb 2011) | 17 lines
  
  Merged revisions 306123 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r306123 | jpeeler | 2011-02-03 14:49:48 -0600 (Thu, 03 Feb 2011) | 10 lines
    
    Set exception on channel in parking thread when POLLPRI event detected.
    
    This is done just to make the code be equivalent to the old select code. As
    noted in 303106 the same issue was already fixed in this branch, but the
    exception was not set on the channel in the case of POLLPRI. The reason that
    this did not cause a problem here is because in 122923 the check in __ast_read
    to check the exception flag was removed.
    
    (related to #18637)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 20:51:09 +00:00
David Vossel c26c190711 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 16:22:10 +00:00
Jeff Peeler 8677f0424e Merged revisions 304339 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r304339 | jpeeler | 2011-01-26 16:27:30 -0600 (Wed, 26 Jan 2011) | 9 lines
  
  Merged revisions 304338 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r304338 | jpeeler | 2011-01-26 16:26:37 -0600 (Wed, 26 Jan 2011) | 2 lines
    
    Change delimiter used internally for GOTO_ON_BLINDXFR to commas to match 76703.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304340 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26 22:27:51 +00:00
Richard Mudgett ca014f49a2 Merged revisions 304007 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r304007 | rmudgett | 2011-01-25 17:28:25 -0600 (Tue, 25 Jan 2011) | 22 lines
  
  Merged revisions 304006 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r304006 | rmudgett | 2011-01-25 17:25:32 -0600 (Tue, 25 Jan 2011) | 15 lines
    
    Merged revisions 304005 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r304005 | rmudgett | 2011-01-25 17:21:09 -0600 (Tue, 25 Jan 2011) | 8 lines
      
      DTMF attended transfers sometimes fail for no apparent reason.
      
      The loop in feature_request_and_dial() can exit when Party C has answered
      without processing an AST_CONTROL_ANSWER.  Also sometimes an
      AST_CONTROL_ANSWER never happens even though Party C has answered.
      
      Don't hangup Party C if he is up or we receive an AST_CONTROL_ANSWER.
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@304008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 23:31:40 +00:00
Russell Bryant 092134399c Merged revisions 303549 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r303549 | russell | 2011-01-24 14:51:37 -0600 (Mon, 24 Jan 2011) | 45 lines
  
  Merged revisions 303548 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r303548 | russell | 2011-01-24 14:49:53 -0600 (Mon, 24 Jan 2011) | 38 lines
    
    Merged revisions 303546 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r303546 | russell | 2011-01-24 14:32:21 -0600 (Mon, 24 Jan 2011) | 31 lines
      
      Fix channel redirect out of MeetMe() and other issues with channel softhangup.
      
      Mantis issue #18585 reports that a channel redirect out of MeetMe() stopped
      working properly.  This issue includes a patch that resolves the issue by
      removing a call to ast_check_hangup() from app_meetme.c.  I left that in my
      patch, as it doesn't need to be there.  However, the rest of the patch fixes
      this problem with or without the change to app_meetme.
      
      The key difference between what happens before and after this patch is the
      effect of the END_OF_Q control frame.  After END_OF_Q is hit in ast_read(),
      ast_read() will return NULL.  With the ast_check_hangup() removed, app_meetme
      sees this which causes it to exit as intended.  Checking ast_check_hangup()
      caused app_meetme to exit earlier in the process, and the target of the
      redirect saw the condition where ast_read() returned NULL.
      
      Removing ast_check_hangup() works around the issue in app_meetme, but doesn't
      solve the issue if another application did the same thing.  There are also
      other edge cases where if an application finishes at the same time that a
      redirect happens, the target of the redirect will think that the channel hung
      up.  So, I made some changes in pbx.c to resolve it at a deeper level.  There
      are already places that unset the SOFTHANGUP_ASYNCGOTO flag in an attempt to
      abort the hangup process.  My patch extends this to remove the END_OF_Q frame
      from the channel's read queue, making the "abort hangup" more complete.  This
      same technique was used in every place where a softhangup flag was cleared.
      
      (closes issue #18585)
      Reported by: oej
      Tested by: oej, wedhorn, russell
      
      Review: https://reviewboard.asterisk.org/r/1082/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303551 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-24 20:57:28 +00:00
Shaun Ruffell 80f6848ca3 Merged revisions 303107 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r303107 | sruffell | 2011-01-20 13:57:31 -0600 (Thu, 20 Jan 2011) | 23 lines
  
  Merged revisions 303106 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r303106 | sruffell | 2011-01-20 13:56:34 -0600 (Thu, 20 Jan 2011) | 15 lines
    
    main/features: Use POLLPRI when waiting for events on parked channels.
    
    This change resolves a regression in the 1.6.2 when converting from
    select to poll.  The DAHDI timers use POLLPRI to indicate that the timer
    fired, but features was not waiting for that flag.  The result was no
    audio for MOH when a call was parked and res_timing_dahdi was in use.
    
    This patch is slightly modified from the one on the mantis issue.  It does
    not set an exception on the channel if the POLLPRI flag is set.
    
    (closes issue #18262)
    Reported by: francesco_r
    Patches:
          patch_park_moh-trunk-2.txt uploaded by cjacobsen (license 1029)
          Tested by: francesco_r, rfrantik, one47
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@303108 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-20 19:58:54 +00:00
Richard Mudgett c8e57f82bf Merged revisions 302713 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r302713 | rmudgett | 2011-01-19 15:29:22 -0600 (Wed, 19 Jan 2011) | 29 lines
  
  Merged revisions 302693 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r302693 | rmudgett | 2011-01-19 15:25:41 -0600 (Wed, 19 Jan 2011) | 22 lines
    
    Merged revisions 302671 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r302671 | rmudgett | 2011-01-19 15:21:56 -0600 (Wed, 19 Jan 2011) | 15 lines
      
      DTMF transfer plays the wrong sounds for wrong number or other call failure.
      
      * Set the default for features.conf.sample xferfailsound option to "beeperr"
      as documented instead of "pbx-invalid" and corrected the use of it in DTMF
      blind transfer (#1).
      
      * Improved DTMF blind transfer handling of wrong numbers.
      
      Most of the concerns in this issue were taken care of by the patch for
      issue 17999: Issues with DTMF triggered attended transfers.
      
      (closes issue #18379)
      Reported by: gincantalupo
      Tested by: rmudgett
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-19 21:35:28 +00:00
Sean Bright f4d63bf918 Merged revisions 302552 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r302552 | seanbright | 2011-01-19 13:54:47 -0500 (Wed, 19 Jan 2011) | 14 lines
  
  Merged revisions 302551 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r302551 | seanbright | 2011-01-19 13:54:03 -0500 (Wed, 19 Jan 2011) | 7 lines
    
    Remove an extraneous \r\n at the end of a parking manager events.
    
    (closes issue #18363)
    Reported by: clegall_proformatique
    Patches:
          asterisk_1.8_295998_parking_manager_events_format.patch uploaded by clegall proformatique (license 1139)
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302553 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-19 18:55:43 +00:00
Richard Mudgett 8cd1ac534b Merged revisions 302318 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r302318 | rmudgett | 2011-01-18 16:04:14 -0600 (Tue, 18 Jan 2011) | 1 line
  
  Use the expanded format type instead of plain int.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-18 22:06:55 +00:00
Richard Mudgett a05aeff312 Merged revisions 302174 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r302174 | rmudgett | 2011-01-18 12:11:43 -0600 (Tue, 18 Jan 2011) | 102 lines
  
  Merged revisions 302173 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r302173 | rmudgett | 2011-01-18 12:07:15 -0600 (Tue, 18 Jan 2011) | 95 lines
    
    Merged revisions 302172 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r302172 | rmudgett | 2011-01-18 12:04:36 -0600 (Tue, 18 Jan 2011) | 88 lines
      
      Issues with DTMF triggered attended transfers.
      
      Issue #17999
      1) A calls B. B answers.
      2) B using DTMF dial *2 (code in features.conf for attended transfer).
      3) A hears MOH. B dial number C
      4) C ringing. A hears MOH.
      5) B hangup. A still hears MOH. C ringing.
      6) A hangup. C still ringing until "atxfernoanswertimeout" expires.
      For v1.4 C will ring forever until C answers the dead line. (Issue #17096)
      
      Problem: When A and B hangup, C is still ringing.
      
      Issue #18395
      SIP call limit of B is 1
      1. A call B, B answered
      2. B *2(atxfer) call C
      3. B hangup, C ringing
      4. Timeout waiting for C to answer
      5. Recall to B fails because B has reached its call limit.
      
      Because B reached its call limit, it cannot do anything until the transfer
      it started completes.
      
      Issue #17273
      Same scenario as issue 18395 but party B is an FXS port.  Party B cannot
      do anything until the transfer it started completes.  If B goes back off
      hook before C answers, B hears ringback instead of the expected dialtone.
      
      **********
      Note for the issue #17273 and #18395 fix:
      
      DTMF attended transfer works within the channel bridge.  Unfortunately,
      when either party A or B in the channel bridge hangs up, that channel is
      not completely hung up until the transfer completes.  This is a real
      problem depending upon the channel technology involved.
      
      For chan_dahdi, the channel is crippled until the hangup is complete.
      Either the channel is not useable (analog) or the protocol disconnect
      messages are held up (PRI/BRI/SS7) and the media is not released.
      
      For chan_sip, a call limit of one is going to block that endpoint from any
      further calls until the hangup is complete.
      
      For party A this is a minor problem.  The party A channel will only be in
      this condition while party B is dialing and when party B and C are
      conferring.  The conversation between party B and C is expected to be a
      short one.  Party B is either asking a question of party C or announcing
      party A.  Also party A does not have much incentive to hangup at this
      point.
      
      For party B this can be a major problem during a blonde transfer.  (A
      blonde transfer is our term for an attended transfer that is converted
      into a blind transfer.  :)) Party B could be the operator.  When party B
      hangs up, he assumes that he is out of the original call entirely.  The
      party B channel will be in this condition while party C is ringing, while
      attempting to recall party B, and while waiting between call attempts.
      
      WARNING:
      The ATXFER_NULL_TECH conditional is a hack to fix the problem.  It will
      replace the party B channel technology with a NULL channel driver to
      complete hanging up the party B channel technology.  The consequences of
      this code is that the 'h' extension will not be able to access any channel
      technology specific information like SIP statistics for the call.
      
      ATXFER_NULL_TECH is not defined by default.
      **********
      
      (closes issue #17999)
      Reported by: iskatel
      Tested by: rmudgett
      JIRA SWP-2246
      
      (closes issue #17096)
      Reported by: gelo
      Tested by: rmudgett
      JIRA SWP-1192
      
      (closes issue #18395)
      Reported by: shihchuan
      Tested by: rmudgett
      
      (closes issue #17273)
      Reported by: grecco
      Tested by: rmudgett
      
      Review: https://reviewboard.asterisk.org/r/1047/
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@302178 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-18 18:17:01 +00:00
Richard Mudgett 9be73e35de Merged revisions 300166 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r300166 | rmudgett | 2011-01-03 17:14:55 -0600 (Mon, 03 Jan 2011) | 11 lines
  
  Merged revisions 300165 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r300165 | rmudgett | 2011-01-03 17:02:13 -0600 (Mon, 03 Jan 2011) | 4 lines
    
    Use correct variable for atxfercallbackretries config option.
    
    * Misc formatting changes.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@300168 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-03 23:18:20 +00:00
Leif Madsen cf655aa1c9 Merged revisions 299088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r299088 | lmadsen | 2010-12-20 10:18:26 -0600 (Mon, 20 Dec 2010) | 13 lines
  
  Merged revisions 299087 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r299087 | lmadsen | 2010-12-20 10:18:03 -0600 (Mon, 20 Dec 2010) | 5 lines
    
    Note that Park() timeout is milliseconds.
    
    (closes issue #15758)
    Reported by: mmurdock
    Tested by: mmurdock, seanbright
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@299089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 16:19:22 +00:00
Terry Wilson 5ce016b463 Merged revisions 297952 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r297952 | twilson | 2010-12-09 14:48:44 -0600 (Thu, 09 Dec 2010) | 10 lines
  
  Don't crash after Set(CDR(userfield)=...) in ast_bridge_call
  
  Instead of setting peer->cdr = NULL, set it to not post.
  
  (closes issue #18415)
  Reported by: macbrody
  Patches: 
        patch-18415 uploaded by jsolares (license 1167)
  Tested by: jsolares, twilson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@297956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-09 21:26:19 +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
Richard Mudgett e86c254b79 Merged revisions 287897 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287897 | rmudgett | 2010-09-21 10:53:19 -0500 (Tue, 21 Sep 2010) | 1 line
  
  Cut-n-paste error in builtin_blindtransfer().
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287898 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-21 15:54:12 +00:00
Jeff Peeler eee14db850 Merged revisions 287020 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r287020 | jpeeler | 2010-09-15 15:58:39 -0500 (Wed, 15 Sep 2010) | 1 line
  
  fix uninintialized variable
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287021 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 21:00:03 +00:00
Jeff Peeler 41b95ee887 Merged revisions 286931 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r286931 | jpeeler | 2010-09-15 14:22:15 -0500 (Wed, 15 Sep 2010) | 16 lines
  
  Add parking extension for non-default parking lots.
  
  This is a new feature that allows for parking to custom parking lots to be
  accessed directly, rather than with channel variables or by changing the
  default parking lot. The extension is set with the parkext option just as the
  default parking lot is done. Also, the manager action has been updated to
  optionally allow a specified parking lot.
  
  (closes issue #14882)
  Reported by: vmikhnevych
  Patches: 
        patch_14882.txt uploaded by mnick (license 874)
        modified by me
  
  Review: https://reviewboard.asterisk.org/r/884/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286939 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 19:23:56 +00:00
Tilghman Lesher a6adb398e9 Merged revisions 286558 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286558 | tilghman | 2010-09-13 18:50:34 -0500 (Mon, 13 Sep 2010) | 9 lines
  
  Merged revisions 286557 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r286557 | tilghman | 2010-09-13 18:48:51 -0500 (Mon, 13 Sep 2010) | 2 lines
    
    C precedence got me
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-13 23:51:32 +00:00
Tilghman Lesher 77433168ea Merged revisions 286528 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r286528 | tilghman | 2010-09-13 18:12:21 -0500 (Mon, 13 Sep 2010) | 9 lines
  
  Merged revisions 286527 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r286527 | tilghman | 2010-09-13 18:03:26 -0500 (Mon, 13 Sep 2010) | 2 lines
    
    Refactor conversion to ast_poll() to fix callparking regression.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-13 23:15:50 +00:00
Olle Johansson 3335c96157 Whitespace cleanup and reformatting with { and }
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@286329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-11 17:31:42 +00:00
Richard Mudgett 4e0612340e Merged revisions 285371 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r285371 | rmudgett | 2010-09-07 16:08:35 -0500 (Tue, 07 Sep 2010) | 1 line
  
  Fix cut-n-paste error.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@285372 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-07 21:12:58 +00:00
Tilghman Lesher 5eae9f44f7 Merged revisions 284597 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r284597 | tilghman | 2010-09-02 00:00:34 -0500 (Thu, 02 Sep 2010) | 29 lines
  
  Merged revisions 284593,284595 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r284593 | tilghman | 2010-09-01 17:59:50 -0500 (Wed, 01 Sep 2010) | 18 lines
    
    Merged revisions 284478 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r284478 | tilghman | 2010-09-01 13:49:11 -0500 (Wed, 01 Sep 2010) | 11 lines
      
      Ensure that all areas that previously used select(2) now use poll(2), with implementations that need poll(2) implemented with select(2) safe against 1024-bit overflows.
      
      This is a followup to the fix for the pthread timer in 1.6.2 and beyond, fixing
      a potential crash bug in all supported releases.
      
      (closes issue #17678)
       Reported by: russell
      Branch: https://origsvn.digium.com/svn/asterisk/team/tilghman/ast_select 
      
      Review: https://reviewboard.asterisk.org/r/824/
    ........
  ................
    r284595 | tilghman | 2010-09-01 22:57:43 -0500 (Wed, 01 Sep 2010) | 2 lines
    
    Failed to rerun bootstrap.sh after last commit
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@284598 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:02:54 +00:00
Russell Bryant a9e49f4e45 Update documentation for 'comebacktoorigin' in featuers.conf.
The documentation for this option did not match the code.  Fix that along with
some minor cleanups to the code along the way.  Document a slight change in
behavior (to something that was previously undocumented) in UPGRADE.txt.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278425 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 13:02:46 +00:00
Tilghman Lesher ef95349d1c Merged revisions 278167 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r278167 | tilghman | 2010-07-20 15:59:06 -0500 (Tue, 20 Jul 2010) | 4 lines
  
  Do not queue up DTMF frames while a call is on hold.
  
  (Fixes ABE-2110)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278272 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 22:26:23 +00:00
Jean Galarneau e533a48c16 Merged revisions 277906 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277906 | jeang | 2010-07-19 15:16:36 -0500 (Mon, 19 Jul 2010) | 7 lines
  
  Avoid trying to pickup a parked extension before the park operation is completed.
  
  A crash could occur if the extension is picked up while the parking extension is
  being announced. Testing pu->notquiteyet while searching for a parked extension
  resolves this crash.
  
  (ABE-2418)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 21:07:08 +00:00
Tim Ringenbach 3442f13da4 Merged revisions 277625 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277625 | tringenbach | 2010-07-16 17:43:39 -0500 (Fri, 16 Jul 2010) | 9 lines
  
  Save and restore AST_FLAG_BRIDGE_HANGUP_DONT on attended transfer.
  
  ast_bridge_call() clears AST_FLAG_BRIDGE_HANGUP_DONT. But during an attended
  transfer, ast_bridge_call() is called for a second bridge on the same channel,
  and it clears that flag, which still needs to get set for when the original
  ast_bridge_call() gets control back and checks it.
  
  Review: https://reviewboard.asterisk.org/r/741
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 23:23:15 +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
Russell Bryant 8ae46b53a8 Merged revisions 276123 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r276123 | russell | 2010-07-13 14:06:53 -0500 (Tue, 13 Jul 2010) | 2 lines
  
  Use chan->cdr instead of chan_cdr (just like peer->cdr instead of peer_cdr in the last commit).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276124 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 19:09:42 +00:00
Russell Bryant ea1307d9ad Merged revisions 275994 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r275994 | russell | 2010-07-13 11:51:18 -0500 (Tue, 13 Jul 2010) | 14 lines
  
  Access peer->cdr directly instead of through a saved off reference.
  
  At this point in the code, it is possible that peer_cdr may be invalid.
  Specifically, in the blind transfer code, CDRs are swapped between channels.
  So, peer_cdr is no longer == peer->cdr.
  
  The scenario that exposed a crash in this code was a blind transfer that hit
  the system call limit, causing the transferee channel to get destroyed after
  the transfer attempt failed.  Even if it succeeds and this code doesn't crash,
  this code was still trying to reset a CDR on a channel that was now owned by
  a different thread, which is a BadThing(tm).
  
  (ABE-2417)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275995 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-13 16:53:44 +00:00
Russell Bryant b4ba8548e1 Fix some issues related to dynamic feature groups in features.conf.
The bridge handling code did not properly consider feature groups when setting
parameters that would affect whether or not a native bridge would be attempted.
If DYNAMIC_FEATURES only include a feature group, a native bridge would occur
that may prevent features from working.

Fix a bug in verbose output that would show the key mapping as empty if it was
using the default mapping and not a custom mapping in the feature group.

Add feature groups to the output of "features show".

Adjust the feature execution logic to match that of the logic when executing
a feature that was not configured through a feature group.

Update features.conf.sample to show that an '=' is still required if using
the default key mapping from [applicationmap].

Finally, clean up a little bit of formatting to better coform to coding
guidelines while in the area.

(closes issue #17589)
Reported by: lmadsen
Patches:
      issue_17589.rev4.txt uploaded by russell (license 2)
Tested by: russell, lmadsen


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275424 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 21:57:21 +00:00
Russell Bryant eaaeb7a1bc Add missing ao2_iterator_destroy().
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@275310 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-09 19:58:06 +00:00