Commit Graph

20729 Commits

Author SHA1 Message Date
Brad Watkins
ee5d9d0835 Fix reloading of peer when a user is requested.
Prevent peer reloading from causing multiple MWI subscriptions to be created when using realtime.  This had the effect of sending one NOTIFY for every time a sip peer made a call, in one case eventually overwhelming  the phone and causing it to reboot.

(closes issue #18342)
Reported by: nivek
Patches:
      issue0018342p1.patch uploaded by nivek (license 636)
Tested by: nivek

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296352 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-26 18:19:02 +00:00
Russell Bryant
f8153e4567 Merged revisions 296221 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r296221 | russell | 2010-11-24 17:28:19 -0600 (Wed, 24 Nov 2010) | 13 lines
  
  Merged revisions 296213 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r296213 | russell | 2010-11-24 17:26:43 -0600 (Wed, 24 Nov 2010) | 6 lines
    
    Make Asterisk less crashy.
    
    Since we might not put a new translation path on the channel, go ahead and
    set it to NULL right after destroying the old one to ensure we don't try
    to free an invalid translation path later on.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296230 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 23:29:44 +00:00
Richard Mudgett
5634ae11d5 Merged revisions 296166 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r296166 | rmudgett | 2010-11-24 16:42:45 -0600 (Wed, 24 Nov 2010) | 50 lines
  
  Merged revisions 296165 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r296165 | rmudgett | 2010-11-24 16:41:07 -0600 (Wed, 24 Nov 2010) | 43 lines
    
    Oneway audio to SIP phone from FXS port after FXS port gets a CallWaiting pip.
    
    The FXS connected phone has to have CW/CID support to fail, as it will
    send back a DTMF 'A' or 'D' when it's ready to receive CallerID.  A normal
    phone with no CID never fails.  Also the SIP phone does not hear MOH when
    the CW call is answered.
    
    The DTMF end frame is suppressed when the phone acknowledges the CW signal
    for CID.  The problem is the DTMF begin frame needs to be suppressed as
    well.  The DTMF begin frame is causing SIP to start sending the DTMF RTP
    frames.  Since the DTMF end frame is suppressed, SIP will not stop sending
    those DTMF RTP packets.
    
    * Suppress the DTMF begin and end frames when the channel driver is
    looking for DTMF digits.
    
    * Fixed a couple issues caused by not cleaning up the CID spill if you
    answer the CW call while it is sending the CID spill.
    
    * Fixed not sending CW/CID spill to the phone when the call is natively
    bridged.  (Fixed by not using native bridge if CW/CID is possible.)
    
    * Suppress received audio when sending CW/CID spills.  The other parties
    involved do not need to hear the CW/CID spills and may be confused if the
    CW call is for them.
    
    (closes issue #18129)
    Reported by: alecdavis
    Patches:
          issue_18129_v1.8_v3.patch uploaded by rmudgett (license 664)
    Tested by: alecdavis, rmudgett
    
    
    NOTE:
    
    * v1.4 does not have the main problem fixed by suppressing the DTMF start
    frames.  The other three items fixed are relevant.
    
    * If you really must restore native bridging between analog ports, you
    need to disable CW/CID either by configuring chan_dahdi.conf
    callwaitingcallerid=no or dialing *70 before dialing the number to
    temporarily disable CW.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 22:49:48 +00:00
Russell Bryant
515c5f489f 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/branches/1.8@296084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 20:23:46 +00:00
Russell Bryant
30a7e71c27 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/branches/1.8@296002 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 17:13:08 +00:00
Olle Johansson
47cb712df7 Merged revisions 295907 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295907 | oej | 2010-11-23 10:36:38 +0100 (Tis, 23 Nov 2010) | 14 lines
  
  Merged revisions 295906 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295906 | oej | 2010-11-23 10:28:14 +0100 (Tis, 23 Nov 2010) | 8 lines
    
    Fix support of saynumber(1,n) in the Swedish language
    
    (closes issue #18353)
    Reported by: oej
    
    Review: https://reviewboard.asterisk.org/r/1031/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295949 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-23 10:30:05 +00:00
Sean Bright
f2901f8cca Merged revisions 295868 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r295868 | seanbright | 2010-11-22 15:02:37 -0500 (Mon, 22 Nov 2010) | 2 lines
  
  Change some documentation to suggest dahdi_monitor instead of ztmonitor.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295869 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-22 20:03:49 +00:00
Richard Mudgett
c08103f033 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/branches/1.8@295866 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-22 19:36:10 +00:00
Richard Mudgett
a77913a22d One way audio before answering call waiting call on analog port.
* Analog call waiting Caller ID spills could get stuck resulting in one
way audio until the waiting call is answered.  This only happens on the
second (and later) call waiting call if the active call is not the first
call.

* The CLI/AMI "dahdi show channel" command could report the wrong channel
information.

Must keep the struct analog_pvt.owner and struct dahdi_pvt.owner pointer
in sync.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-20 03:11:15 +00:00
Russell Bryant
5153fbef97 Merged revisions 295710 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r295710 | russell | 2010-11-19 18:45:51 -0600 (Fri, 19 Nov 2010) | 29 lines
  
  Fix cache of device state changes for multiple servers.
  
  This patch addresses a regression where device states across multiple servers
  were not being processing completely correctly.  The code works to determine
  the overall state by looking at the last known state of a device on each
  server.  However, there was a regression due to some invasive rewrites of how
  the cache works that led to the cache only storing the last device state change
  for a device, regardless of which server it was on.
  
  The code is set up to cache device state change events by ensuring that each
  event in the cache has a unique device name + entity ID (server ID).  The code
  that was responsible for comparing raw information elements (which EID is)
  always returned a match due to a memcmp() with a length of 0.
  
  There isn't much code to fix the actual bug.  This patch also introduces a new
  CLI command that was very useful for debugging this problem.  The command
  allows you to dump the contents of the event cache.
  
  (closes issue #18284)
  Reported by: klaus3000
  Patches:
        issue18284.rev1.txt uploaded by russell (license 2)
  Tested by: russell, klaus3000
  
  (closes issue #18280)
  Reported by: klaus3000
  
  Review: https://reviewboard.asterisk.org/r/1012/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295711 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-20 00:50:00 +00:00
Terry Wilson
1930461fa7 Merged revisions 295672 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295672 | twilson | 2010-11-19 13:55:48 -0800 (Fri, 19 Nov 2010) | 15 lines
  
  Merged revisions 295628 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295628 | twilson | 2010-11-19 12:53:36 -0800 (Fri, 19 Nov 2010) | 8 lines
    
    Discard responses with more than one Via
    
    This is not a perfect solution as headers that are joined via commas are not
    detected. This is a parsing issue that to fix "correctly" would necessitate 
    a new SIP parser.
    
    Review: https://reviewboard.asterisk.org/r/1019/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295673 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 22:06:10 +00:00
Brett Bryant
ddb80391f6 Patch for deadlock from ordering issue between channel/queue locks in app_queue
(set_queue_variables).

(closes issue #18031)
Reported by: rain

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 21:40:21 +00:00
Richard Mudgett
7fbafbd5df Bring sig_analog extraction more into alignment with orig-trunk/v1.6.2 chan_dahdi.
* Restore SMDI support.
* Fixed initial value of struct analog_pvt.use_callerid.  It may get
forced on depending upon other config options.
* Call analog_dnd() instead of manual inlined code.
* Removed unused struct analog_pvt.usedistinctiveringdetection.
* Removed the struct analog_pvt.unknown_alarm flag.  It was really the
struct analog_pvt.inalarm flag.
* Use ast_debug() instead of ast_log(LOG_DEBUG).
* Rename several function's index variable to idx.
* Some formatting tweaks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 16:47:11 +00:00
Leif Madsen
b007bcc9b0 'sip notify clear-mwi' needs terminating CRLF.
(closes issue #18275)
Reported by: klaus3000
Patches:
      fix_body_CRLF_patch.txt uploaded by klaus3000 (license 65)

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295477 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-18 20:30:35 +00:00
Paul Belanger
f284b66dda Merged revisions 295440 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r295440 | pabelanger | 2010-11-18 12:51:34 -0500 (Thu, 18 Nov 2010) | 4 lines
  
  Fix compiler warnings when using openssl-dev 1.0.0+
  
  Review: https://reviewboard.asterisk.org/r/1016/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295441 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-18 18:02:12 +00:00
Paul Belanger
66e95a72d3 Add RedHat specific dependencies
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-18 05:12:05 +00:00
Paul Belanger
14bf83e9d3 Uncomment settings under [global], to surpress warning when loading Asterisk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-17 14:09:38 +00:00
Richard Mudgett
b63471b048 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/branches/1.8@295282 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-16 23:02:36 +00:00
Russell Bryant
73547b0961 Check for pdftotext and give a useful error if not found.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-16 22:41:11 +00:00
Russell Bryant
6a35147c4f Remove intentional typo I had added when testing the check. oops.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295201 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-16 21:46:18 +00:00
Russell Bryant
49750bb6e8 Check for wikiexport.py in PATH and give a useful error message if not found.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-16 20:50:03 +00:00
Tilghman Lesher
583ca101ad Merged revisions 295062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r295062 | tilghman | 2010-11-15 12:24:02 -0600 (Mon, 15 Nov 2010) | 9 lines
  
  Merged revisions 295026 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r295026 | tilghman | 2010-11-15 11:58:37 -0600 (Mon, 15 Nov 2010) | 2 lines
    
    Create test verifying results of expression parser
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-15 18:30:13 +00:00
Tilghman Lesher
ab199924ac Merged revisions 294988 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294988 | tilghman | 2010-11-15 01:42:39 -0600 (Mon, 15 Nov 2010) | 8 lines
  
  It is possible to crash Asterisk by feeding the curl engine invalid data.
  
  (closes issue #18161)
   Reported by: wdoekes
   Patches: 
         20101029__issue18161.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-15 07:44:38 +00:00
Jeff Peeler
f1abd401b9 Merged revisions 294910 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294910 | jpeeler | 2010-11-12 15:14:23 -0600 (Fri, 12 Nov 2010) | 4 lines
  
  Return correct error code if lock path fails. The recent changes to open_mailbox actually caused it to be fixed, but let's be consistent.
  
  Reported by alecdavis in asterisk-dev.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294911 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-12 21:14:43 +00:00
Jeff Peeler
06ac20454e Merged revisions 294904 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r294904 | jpeeler | 2010-11-12 14:51:15 -0600 (Fri, 12 Nov 2010) | 23 lines
  
  Merged revisions 294903 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r294903 | jpeeler | 2010-11-12 14:49:09 -0600 (Fri, 12 Nov 2010) | 16 lines
    
    Fix regression causing abort in voicemail after opening a mailbox with no mesgs.
    
    In order to be more safe, some error handling code was changed to respect more
    error conditions including the potential memory allocation failure for deleted
    and heard message tracking introduced in 293004. However, last_message_index
    returns -1 for zero messages (perhaps as expected) and was triggering the
    stricter error checking. Because last_message_index is only called directly
    in one place, just return 0 from open_mailbox (for file based storage) when no
    messages are detected unless a real error has occurred.
    
    (closes issue #18240)
    Reported by: leobrown
    Patches: 
          bug18240.1-6-2.diff.txt uploaded by alecdavis (license 585)
    Tested by: pabelanger
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294905 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-12 20:52:06 +00:00
Richard Mudgett
ac9434aecc Merged revisions 294822 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r294822 | rmudgett | 2010-11-11 20:44:12 -0600 (Thu, 11 Nov 2010) | 18 lines
  
  Merged revisions 294821 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r294821 | rmudgett | 2010-11-11 20:41:13 -0600 (Thu, 11 Nov 2010) | 11 lines
    
    Asterisk is getting a "No D-channels available!" warning message every 4 seconds.
    
    Asterisk is just whining too much with this message: "No D-channels
    available!  Using Primary channel XXX as D-channel anyway!".
    
    Filtered the message so it only comes out once if there is no D channel
    available without an intervening D channel available period.
    
    (closes issue #17270)
    Reported by: jmls
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-12 02:45:22 +00:00
Russell Bryant
2052ac8ecf Remove CCSS architecture PDF.
It has been moved to:

https://wiki.asterisk.org/wiki/display/AST/CCSS+Architecture


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294745 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-11 22:17:57 +00:00
Russell Bryant
f68807f063 Remove most of the contents of the doc dir in favor of the wiki content.
This merge does the following things:

 * Removes most of the contents from the doc/ directory in favor
   of the wiki - http://wiki.asterisk.org/

 * Updates the build_tools/prep_tarball script to know how to export
   the contents of the wiki in both PDF and plain text formats so that
   the documentation is still included in Asterisk release tarballs.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294740 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-11 22:13:38 +00:00
Jeff Peeler
01f31e0c50 Merged revisions 294733 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r294733 | jpeeler | 2010-11-11 15:57:22 -0600 (Thu, 11 Nov 2010) | 25 lines
  
  Merged revisions 294688 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r294688 | jpeeler | 2010-11-11 15:12:27 -0600 (Thu, 11 Nov 2010) | 18 lines
    
    Fix problem with qualify option packets for realtime peers never stopping.
    
    The option packets not only never stopped, but if a realtime peer was not in
    the peer list multiple options dialogs could accumulate over time. This
    scenario has the potential to progress to the point of saturating a link just
    from options packets. The fix was to ensure that the poke scheduler checks to
    see if a peer is in the peer list before continuing to poke. The reason a peer
    must be in the peer list to be able to properly manage an options dialog is
    because otherwise the call pointer is lost when the peer is regenerated from
    the database, which is how existing qualify dialogs are detected.
    
    (closes issue #16382)
    (closes issue #17779)
    Reported by: lftsy
    Patches: 
          bug16382-3.patch uploaded by jpeeler (license 325)
    Tested by: zerohalo
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-11 21:58:25 +00:00
Jeff Peeler
aafc5f4e99 Merged revisions 294639 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r294639 | jpeeler | 2010-11-11 13:31:00 -0600 (Thu, 11 Nov 2010) | 53 lines
  
  Merged revisions 294384 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r294384 | jpeeler | 2010-11-09 11:37:59 -0600 (Tue, 09 Nov 2010) | 47 lines
    
    Fix a deadlock in device state change processing.
    
    Copied from some notes from the original author (Russell):
    
    Deadlock scenario:
    Thread 1: device state change thread
      Holds - rdlock on contexts
      Holds - hints lock
      Waiting on channels container lock
    
    Thread 2: SIP monitor thread
      Holds the "iflock"
      Holds a sip_pvt lock
      Holds channel container lock
      Waiting for a channel lock
    
    Thread 3: A channel thread (chan_local in this case)
      Holds 2 channel locks acquired within app_dial
      Holds a 3rd channel lock it got inside of chan_local
      Holds a local_pvt lock
      Waiting on a rdlock of the contexts lock
    
    A bunch of other threads waiting on a wrlock of the contexts lock
    
    
    To address this deadlock, some locking order rules must be put in place and
    enforced. Existing relevant rules:
    
    1) channel lock before a pvt lock
    2) contexts lock before hints lock
    3) channels container before a channel
    
    What's missing is some enforcement of the order when you involve more than any
    two. To fix this problem, I put in some code that ensures that (at least in the
    code paths involved in this bug) the locks in (3) come before the locks in (2).
    To change the operation of thread 1 to comply, I converted the storage of hints
    to an astobj2 container. This allows processing of hints without holding the
    hints container lock. So, in the code path that led to thread 1's state, it no
    longer holds either the contexts or hints lock while it attempts to lock the
    channels container.
    
    (closes issue #18165)
    Reported by: antonio
    
    ABE-2583
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294640 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-11 19:42:06 +00:00
Tilghman Lesher
c6973b1187 Fixing the Mac OS X build (bamboo warning)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294605 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-10 23:26:39 +00:00
Tilghman Lesher
1c692b86e5 Properly queue files with inotify(7).
(closes issue #18089)
 Reported by: abelbeck
 Patches: 
       20101021__issue18089.diff.txt uploaded by tilghman (license 14)
 Tested by: tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-10 23:13:37 +00:00
Russell Bryant
a4715fdf2d Tweak a couple of CLI commands back to their original form.
The "module" in this case is two parts, so there are two words before
the verb of the CLI command.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294535 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-10 14:14:51 +00:00
Russell Bryant
2ee0c4ddff Merged revisions 294500 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294500 | russell | 2010-11-10 06:41:41 -0600 (Wed, 10 Nov 2010) | 7 lines
  
  Improve a debug message to be more readable and consistent.
  
  (closes issue #18282)
  Reported by: klaus3000
  Patches:
        ast_devstate2str-patch.txt uploaded by klaus3000 (license 65)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-10 12:46:27 +00:00
Richard Mudgett
1334febddc Allow ast_do_masquerade() failure to be reported again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294466 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-09 22:46:45 +00:00
Tilghman Lesher
2d6a9d607f Merged revisions 294429 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294429 | tilghman | 2010-11-09 14:27:23 -0600 (Tue, 09 Nov 2010) | 8 lines
  
  Detect GMime properly on systems where gmime flags and libs are configured with pkg-config.
  
  (closes issue #16155)
   Reported by: jcollie
   Patches: 
         20100917__issue16155.diff.txt uploaded by tilghman (license 14)
   Tested by: tilghman
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-09 20:33:05 +00:00
Richard Mudgett
3f9644b7db 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/branches/1.8@294349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-09 16:55:32 +00:00
Jeff Peeler
b12f27f231 Merged revisions 294312 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294312 | jpeeler | 2010-11-08 16:30:49 -0600 (Mon, 08 Nov 2010) | 1 line
  
  add missing unlock not present in 294277
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 22:32:13 +00:00
Jeff Peeler
375b5b6b09 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/branches/1.8@294278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 21:59:45 +00:00
Matthew Nicholson
529b8fc988 Merged revisions 294242 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r294242 | mnicholson | 2010-11-08 14:50:21 -0600 (Mon, 08 Nov 2010) | 8 lines
  
  Go off hold when we get an empty reinvite telling us to.
  
  (closes issue 0014448)
  Reported by: frawd
  
  (closes issue #17878)
  Reported by: frawd
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294243 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 20:56:30 +00:00
Terry Wilson
3bb6f58420 Set a default waittime, and make sure to convert it to milliseconds
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294207 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 19:56:10 +00:00
Richard Mudgett
4e39e38ac5 valgrind reported references to freed memory during a mISDN hangup collision.
Bad things have been happening in chan_misdn because the chan_misdn
channel private struct chan_list is not protected from reentrancy.  Hangup
collisions have be causing read and write accesses to freed memory.

Converted chan_misdn struct chan_list to an ao2 object for its reference
counting feature.

**********
Removed an impediment to converting chan_list to an ao2 object.

The use of the other_ch member in chan_list is shaky at best.  It is set
if the incoming and outgoing call legs are mISDN.  The use of the other_ch
member goes against the Asterisk architecture and can even cause problems.

1) It is used to disable echo cancellation.  This could be bad if the call
is forked and the winning call leg is not mISDN or the winning call leg is
not the last mISDN channel called by the fork.  The other_ch would become
a dangling pointer.

2) It is used when the far end is alerting to hear the far end's inband
audio instead of Asterisk's generated ringback tone.  This is bad if the
call is forked.  You would only hear the last forked mISDN channel and it
may not be ringing yet.

The other_ch would become a dangling pointer if the call is later
transferred.
**********

JIRA SWP-2423
JIRA ABE-2614


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294125 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-08 17:16:01 +00:00
Brett Bryant
e1a1360451 Fixed deadlock avoidance issues while locking channel when adding the
Max-Forwards header to a request.

(closes issue #17949)
(closes issue #18200)
Reported by: bwg

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 22:03:11 +00:00
Terry Wilson
225da545c5 Corret spelling and example
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 16:05:50 +00:00
Terry Wilson
10317dacb6 Tell people to use the correct common name for clients as well
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@294047 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 15:36:20 +00:00
Shaun Ruffell
c45ac8cc9c Merged revisions 293969 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293969 | sruffell | 2010-11-04 19:06:02 -0500 (Thu, 04 Nov 2010) | 25 lines
  
  Merged revisions 293968 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293968 | sruffell | 2010-11-04 19:02:53 -0500 (Thu, 04 Nov 2010) | 17 lines
    
    codecs/codec_dahdi: Prevent "choppy" audio when receiving unexpected frame sizes.
    
    dahdi-linux 2.4.0 (specifically commit 9034) added the capability for
    the wctc4xxp to return more than a single packet of data in response to
    a read.  However, when decoding packets, codec_dahdi was still assuming
    that the default number of samples was in each read.
    
    In other words, each packet your provider sent you, regardless of size,
    would result in 20 ms of decoded data (30 ms if decoding G723). If your
    provider was sending 60 ms packets then codec_dahdi would end up
    stripping 40 ms of data from each transcoded frame resulting in "choppy"
    audio.
    
    This would only affect systems where G729 packets are arriving in sizes
    greater than 20ms or G723 packets arriving in sizes greater than 30ms.
    
    DAHDI-744.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-05 00:07:11 +00:00
David Vossel
c34f40e710 Fixes ringback tone on sip semi-attended transfer.
ABE-2168


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293924 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-04 21:39:51 +00:00
Paul Belanger
5cf1c93fd5 Do not output port in IPaddress for AMI sippeers.
(closes issue #18248)
Reported by: orn
Patches: 
      ami_sippeers.patch uploaded by pabelanger (license 224)
Tested by: orn


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293887 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-04 13:27:54 +00:00
Richard Mudgett
252cffd38d Merged revisions 293806 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293806 | rmudgett | 2010-11-03 13:31:57 -0500 (Wed, 03 Nov 2010) | 27 lines
  
  Merged revisions 293805 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293805 | rmudgett | 2010-11-03 13:23:04 -0500 (Wed, 03 Nov 2010) | 20 lines
    
    Party A in an analog 3-way call would continue to hear ringback after party C answers.
    
    All parties are analog FXS ports.
    1) A calls B.
    2) A flash hooks to call C.
    3) A flash hooks to bring C into 3-way call before C answers.  (A and B hear ringback)
    4) C answers
    5) A continues to hear ringback during the 3-way call. (All parties can hear each other.)
    
    * Fixed use of wrong variable in dahdi_bridge() that stopped ringback on
    the wrong subchannel.
    
    * Made several debug messages have more information.
    
    A similar issue happens if B and C are SIP channels.  B continues to hear
    ringback.  For some reason this only affects v1.8 and trunk.
    
    * Don't start ringback on the real and 3-way subchannels when creating the
    3-way conference.  Removing this code is benign on v1.6.2 and earlier.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-03 18:35:19 +00:00
Terry Wilson
6dfc9dddd8 Avoid valgrind warnings for ast_rtp_instance_get_xxx_address
The documentation for ast_rtp_instance_get_(local/remote)_address stated that
they returned 0 for success and -1 on failure. Instead, they returned 0 if the
address structure passed in was already equivalent to the address instance
local/remote address or 1 otherwise. 90% of the calls to these functions
completely ignored the return address and passed in an uninitialized struct,
which would make valgrind complain even though the operation was technically
safe.

This patch fixes the documentation and converts the get_xxx_address functions
to void since all they really do is copy the address and cannot fail.
Additionally two new functions
(ast_rtp_instance_get_and_cmp_(local/remote)_address) are created for the 3
times where the return value was actually checked. The
get_and_cmp_local_address function is currently unused, but exists for the sake
of symmetry.

The only functional change as a result of this change is that we will not do an
ast_sockaddr_cmp() on (mostly uninitialized) addresses before doing the
ast_sockaddr_copy() in the get_*_address functions. So, even though it is an
API change, it shouldn't have a noticeable change in behavior.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-03 18:05:14 +00:00