Commit Graph

17378 Commits

Author SHA1 Message Date
Mark Michelson 0d5da5f436 Fix a bit of odd logic for announcing position. Sync with 1.6.0's logic
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-11 23:12:57 +00:00
Mark Michelson 34161542e9 Fix odd "thank you" sound playing behavior in app_queue.c
If someone has configured the queue to play an position or holdtime
announcement, then it is odd and potentially unexpected to hear a 
"Thank you for your patience" sound when no position or holdtime
was actually announced.

This fixes the announcement so that the "thanks" sound is only played
in the case that a position or holdtime was actually announced.

There is a way that the "thank you" sound can be played without a
position or holdtime, and that is to set announce-frequency to a value
but keep announce-position and announce-holdtime both turned off.

(closes issue #14227)
Reported by: caspy
Patches:
      14227_v3.patch uploaded by putnopvut (license 60)
Tested by: caspy


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-11 23:03:08 +00:00
Mark Michelson 47ebea6a8d Fix 'd' option for app_dial and add new option to Answer application
The 'd' option would not work for channel types which use RTP to transport
DTMF digits. The only way to allow for this to work was to answer the channel
if we saw that this option was enabled.

I realized that this may cause issues with CDRs, specifically with giving false
dispositions and answer times. I therefore modified ast_answer to take another
parameter which would tell if the CDR should be marked answered.

I also extended this to the Answer application so that the channel may be answered
but not CDRified if desired.

I also modified app_dictate and app_waitforsilence to only answer the channel if it
is not already up, to help not allow for faulty CDR answer times.

All of these changes are going into Asterisk trunk. For 1.6.0 and 1.6.1, however, all
the changes except for the change to the Answer application will go in since we do
not introduce new features into stable branches

(closes issue #14164)
Reported by: DennisD
Patches:
      14164.patch uploaded by putnopvut (license 60)
Tested by: putnopvut

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-11 22:41:01 +00:00
Tilghman Lesher ff0b908777 Blocked revisions 174885 via svnmerge
........
  r174885 | tilghman | 2009-02-11 14:54:18 -0600 (Wed, 11 Feb 2009) | 13 lines
  
  Restore a behavior that was recently changed, when we fixed issue #13962 and
  issue #13363 (related to issue #6176).  When a hangup occurs during a Macro
  execution in earlier 1.4, the h extension would execute within the Macro
  context, whereas it was always supposed to execute only within the main context
  (where Macro was called).  So this fix checks for an "h" extension in the
  deepest macro context where a hangup occurred; if it exists, that "h" extension
  executes, otherwise the main context "h" is executed.
  (closes issue #14122)
   Reported by: wetwired
   Patches: 
         20090210__bug14122.diff.txt uploaded by Corydon76 (license 14)
   Tested by: andrew
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174886 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-11 20:55:46 +00:00
Joshua Colp 8435535300 Tell the device state core a change happened when a channel is freed but not a specific state.
We need to do this because while we know that the freeing of the channel may cause something to become
not in use we do not know this for sure. There may be another channel that is still up which would cause
it to be in use.
(closes issue #13238)
Reported by: kowalma
Patches:
      20090121__bug13238.diff.txt uploaded by Corydon76 (license 14)
Tested by: alecdavis


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-11 14:44:47 +00:00
Mark Michelson c9670b24a4 Fix potential for stack overflows in app_chanspy.c
When using the 'g' or 'e' options, the stack allocations that
were used could cause a stack overflow if a spyer stayed on the
line long enough without actually successfully spying on anyone.

The problem has been corrected by using static buffers and copying
the contents of the appropriate strings into them instead of using
functions like alloca or ast_strdupa



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174805 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 23:17:03 +00:00
Mark Michelson e909bfcea9 Fix an fd leak that would occur in HTTP AMI sessions
The explanation behind this fix is a bit complicated, and I've already
typed it up in the code as a huge comment inside of manager.c, so I'll
give the abridged version here.

We needed a way to separate action-specific data from session-specific data.
Unfortunately, the only way to maintain API compatibility and to not have to
change every single manager action was to rename the current mansession structure
and wrap it inside a new mansession structure which actually contains action-
specific data.

(closes issue #14364)
Reported by: awk
Patches:
      14364_better.patch uploaded by putnopvut (license 60)
Tested by: putnopvut

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174764 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 21:45:14 +00:00
Joshua Colp 6304c09149 Only decrease inringing count if above zero.
(issue #13238)
Reported by: kowalma


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 20:15:43 +00:00
Kevin P. Fleming 23939e54f3 improve slinfactory API to remove implicit sample rate and require explicit sample rate selection by creator of the slinfactory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174705 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 19:38:26 +00:00
Joshua Colp 656110e42b Blocked revisions 174644 via svnmerge
........
  r174644 | file | 2009-02-10 14:50:50 -0400 (Tue, 10 Feb 2009) | 6 lines
  
  Go off hold when we get an empty reinvite telling us to.
  (closes issue #14448)
  Reported by: frawd
  Patches:
        hold_invite_nosdp.patch uploaded by frawd (license 610)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174645 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 18:57:30 +00:00
Matthew Nicholson b7dc074376 Merged revisions 174583 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r174583 | mnicholson | 2009-02-10 11:52:42 -0600 (Tue, 10 Feb 2009) | 18 lines
  
  Improve behavior of jitterbuffer when maxjitterbuffer is set.
  
  This change improves the way the jitterbuffer handles maxjitterbuffer and
  dramatically reduces the number of frames dropped when maxjitterbuffer is
  exceeded.  In the previous jitterbuffer, when maxjitterbuffer was exceeded, all
  new frames were dropped until the jitterbuffer is empty.  This change modifies
  the code to only drop frames until maxjitterbuffer is no longer exceeded.
  
  Also, previously when maxjitterbuffer was exceeded, dropped frames were not
  tracked causing stats for dropped frames to be incorrect, this change also
  addresses that problem.
  
  (closes issue #14044)
  Patches:
        bug14044-1.diff uploaded by mnicholson (license 96)
  Tested by: mnicholson
  Review: http://reviewboard.digium.com/r/144/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 18:16:31 +00:00
Joshua Colp 8e6780a5b1 Set the type for the peer structure to be a peer as the default.
(closes issue #14447)
Reported by: triccyx


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 17:48:29 +00:00
Joshua Colp bb327036f1 Make the logic for inuse and inringing manipluation match that of 1.4. The old broken logic would reset the values back to 0 during certain scenarios causing the wrong state to be reported.
(closes issue #14399)
Reported by: caspy
(issue #13238)
Reported by: kowalma


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174543 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 15:37:07 +00:00
Tilghman Lesher d4df1c6a78 Fix0ring build
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 07:06:29 +00:00
Tilghman Lesher 51c80f5b40 Remove the usage of the KeepAlive app, as it no longer exists.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 05:39:33 +00:00
Steve Murphy 3084e9ce93 This patch removes the use of AST_PBX_KEEPALIVE
from app_rpt.c.


(closes issue #14435)
Reported by: D_McNaul



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 04:49:02 +00:00
Steve Murphy 43462557c0 More intptr_t work.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 04:36:22 +00:00
Steve Murphy dbe56b6647 Merged revisions 174369 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r174369 | murf | 2009-02-09 19:27:40 -0700 (Mon, 09 Feb 2009) | 5 lines
  
  This patch solves some compiler complaints
  in both 32 and 64-bit environments.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174370 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-10 02:45:56 +00:00
Mark Michelson e0b0ae07a3 Fix something I messed up in the merge I just did
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174327 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-09 17:27:32 +00:00
David Vossel 829b14fc3e Fixes issue with hangups not being sent and external process never terminating.
The ignore_hangup, run_dead, and noanswer flags were never initilized to zero causing hangups to never be issued.  If the external script expects to be notified of a hangup and never receives one, it runs indefinitely. 

(closes issue #14251)
Reported by: chris-mac
Tested by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174325 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-09 17:26:02 +00:00
Mark Michelson a02ef73b25 Merged revisions 174282 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r174282 | mmichelson | 2009-02-09 11:11:05 -0600 (Mon, 09 Feb 2009) | 12 lines

Don't do an SRV lookup if a port is specified

RFC 3263 says to do A record lookups on a hostname
if a port has been specified, so that's what we're
going to do. See section 4.2.

(closes issue #14419)
Reported by: klaus3000
Patches:
      patch_chan_sip_nosrvifport_1.4.23.txt uploaded by klaus3000 (license 65)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174301 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-09 17:20:55 +00:00
Joshua Colp 23760c47d3 Merged revisions 174218 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r174218 | file | 2009-02-09 10:48:21 -0400 (Mon, 09 Feb 2009) | 4 lines
  
  Don't overwrite our pointer to the music class when music on hold stops. We will use this if it starts again to see if we can resume the music where it left off.
  (closes issue #14407)
  Reported by: mostyn
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174219 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-09 14:49:24 +00:00
Russell Bryant e77b3cea6b Merged revisions 174148 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r174148 | russell | 2009-02-07 10:15:07 -0600 (Sat, 07 Feb 2009) | 2 lines

Fix a race condition that could cause a crash.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-07 16:16:50 +00:00
Dwayne M. Hubbard 0024ad62ab Merged revisions 174082 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r174082 | dhubbard | 2009-02-06 17:36:03 -0600 (Fri, 06 Feb 2009) | 5 lines

check ast_strlen_zero() before calling ast_strdupa() in sip_uri_headers_cmp()
and sip_uri_params_cmp()

The reporter didn't actually upload a properly-formed patch, instead a 
modified chan_sip.c file was uploaded.  I created a patch to determine the
changes, then modified the suggested changes to create a proper fix.  The
summary above is a complete description of the changes.

(closes issue #13547)
Reported by: tecnoxarxa
Patches:
      chan_sip.c.gz uploaded by tecnoxarxa (license 258)
Tested by: tecnoxarxa

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174084 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 23:51:56 +00:00
David Vossel c15b83e7e5 Adds immediate yes/no option to iax.conf
This is very similar to the DAHDI immediate=yes option.  When the phone is picked up, instead of giving a dialtone it connects directly to the "s" extension.  Changes where implemented in chan_iax2.c to directly connect to the "s" extension in the appropriate context when this option is enabled.  Examples explaining its use are added to iax2.conf.sample.  CHANGES has been updated as well. 

(closes issue #14266)
Reported by: jcovert
Patches:
      chan_iax2.c.patch-trunk uploaded by jcovert (license 551)
      iax.conf.sample.patch uploaded by jcovert (license 551)
Tested by: jcovert, dvossel
Review: http://reviewboard.digium.com/r/143/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 20:12:33 +00:00
Joshua Colp fa389ab17a Don't subscribe to a mailbox on pseudo channels. It is futile. This solves an issue where duplicated pseudo channels would cause a crash because the first one would unsubscribe and the next one would also try to unsubscribe the same subscription.
(closes issue #14322)
Reported by: amessina


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@174041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 19:28:53 +00:00
Joshua Colp 550f7f1e65 Merged revisions 173967-173968 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r173967 | file | 2009-02-06 13:14:15 -0400 (Fri, 06 Feb 2009) | 4 lines
  
  Some clients do not put the call-id for replaces at the beginning, so support it being anywhere in the string.
  (closes issue #14350)
  Reported by: fhackenberger
........
  r173968 | file | 2009-02-06 13:15:01 -0400 (Fri, 06 Feb 2009) | 2 lines
  
  Remove a debug message I put in by accident.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 17:18:35 +00:00
Matthew Nicholson 647b68ec23 Merged revisions 173917 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r173917 | mnicholson | 2009-02-06 10:20:23 -0600 (Fri, 06 Feb 2009) | 7 lines
  
  Limit the addition of the Contact header in SIP responses according to various
  SIP RFCs.
  
  (closes issue #13602)
  Reported by: hjourdain
  Tested by: mnicholson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 16:28:19 +00:00
Joshua Colp b2484d7db9 Always detach and destroy the whisper and barge audiohooks. Additionally also allow an audiohook to be detached if it has not been attached.
(closes issue #14414)
Reported by: bluecrow76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173902 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 15:59:17 +00:00
Tilghman Lesher 5da26420e9 Blocked revisions 173900 via svnmerge
........
  r173900 | tilghman | 2009-02-06 09:43:32 -0600 (Fri, 06 Feb 2009) | 3 lines
  
  Backport OS X fix from trunk
  (AGAIN, closes issue #14360)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173901 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 15:44:23 +00:00
Russell Bryant 0cbada4f96 Add a common implementation of a scheduler context with a dedicated thread.
This commit expands the Asterisk scheduler API to include a common implementation
of a scheduler context being processed by a dedicated thread.  chan_iax2 has been
updated to use this new code.  Also, as a result, this resolves some race
conditions related to the previous chan_iax2 scheduler handling.

Related to rev 171452 which resolved the same issues in 1.4.

Code from team/russell/sched_thread2

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173858 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 10:55:35 +00:00
Russell Bryant 1d46bb0d0f Resolve a memory leak that would occur on an invalid channel given to Action: Status
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173848 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-06 10:25:09 +00:00
Mark Michelson 69dff2f5f8 Update extensions.conf.sample to be correct.
In trunk, the only necessary change pointed out was that the call
to ChanIsAvail uses an option that has been removed.

For the 1.6.1 branch, however, it appears that the sample file is
badly in need of updating since there are |'s used all over the place
there. My tentative plan is just to copy trunk's sample config file
to those branches since the info there is most up-to-date and should
be correct for use in 1.6.1

Thanks to macli in #asterisk-dev for bringing this up



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173776 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 23:48:48 +00:00
Mark Michelson 8f9c8f8b40 Properly set "seen" and "unseen" flags when moving messages from the new to the old folder when using IMAP for voicemail storage
(closes issue #13905)
Reported by: jaroth
Patches:
      foldermove_v2.patch uploaded by jaroth (license 50)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173773 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 23:28:19 +00:00
Mark Michelson bf5358dd26 Blocked revisions 173770 via svnmerge
........
r173770 | mmichelson | 2009-02-05 17:19:16 -0600 (Thu, 05 Feb 2009) | 20 lines

Fix logic regarding when to perform an SRV lookup for outgoing REGISTER requests

With this fix, we only will perform an SRV lookup at the following times:

* The first time we register with a remote registrar
* If we send a REGISTER but do not receive a response
* If the sendto() function returns an error

While I wrote the patch that fixes this issue, a huge amount of credit is due
to Brett Bryant, who wrote the initial patch on which I based this one.

(closes issue #12312)
Reported by: jrast
Patches:
      12312.patch uploaded by putnopvut (license 60)
Tested by: blitzrage

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


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 23:19:51 +00:00
Jeff Peeler 4ac807845d Merged revisions 173696 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r173696 | jpeeler | 2009-02-05 14:47:51 -0600 (Thu, 05 Feb 2009) | 12 lines
  
  Add new configuration option to make shared IMAP mailboxes function as expected.
  
  The new option is "imapvmshareid" which is an ID to tag multiple mailboxes
  using the same IMAP storage location to function as one mailbox. This allows
  all messages to be retrieved for any user in the group. The patch alters the
  'X-Asterisk-VM-Extension' header that is responsible for matching voicemails
  for a given user.
  
  (closes issue #13673)
  Reported by: howardwilkinson
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173697 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 21:00:26 +00:00
Mark Michelson 2e1d9f9a21 Merged revisions 173692 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173692 | mmichelson | 2009-02-05 14:29:09 -0600 (Thu, 05 Feb 2009) | 12 lines

Fix situations where queue members could be autopaused unexpectedly

Specifically, this patch prevents us from autopausing members when
we receive a busy or congestion frame from them.

(closes issue #14376)
Reported by: fiddur
Patches:
      14376.patch uploaded by putnopvut (license 60)
Tested by: fiddur


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173693 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 20:30:45 +00:00
Tilghman Lesher 4cc1606d27 Change the first field, or we don't get the necessary field separation.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 19:36:29 +00:00
Mark Michelson 5d3fc1ee3a Merged revisions 173592 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173592 | mmichelson | 2009-02-05 12:47:24 -0600 (Thu, 05 Feb 2009) | 3 lines

Add some missing cleanup to app_mixmonitor


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 18:48:55 +00:00
Mark Michelson 5f83636af4 Merged revisions 173559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173559 | mmichelson | 2009-02-05 11:34:33 -0600 (Thu, 05 Feb 2009) | 25 lines

Fix a problem where a channel pointer becomes invalid due to masquerading or hanging up.

app_mixmonitor runs its own thread to monitor the channel's activity and write the mixed
audio to a file. Since this thread runs independently of the channel, it is possible that
the mixmonitor thread's channel pointer will point to freed memory when the channel either
is masqueraded or hangs up (technically, both cases are hangups, but we need to handle the
cases slightly differently).

The solution for this is to employ a datastore, which has the nice benefit of allowing us 
to hook into channel masquerades and hangups and update our pointer as necessary. If this
looks familiar, this same technique is employed in app_chanspy. app_chanspy is a bit more
involved since it does a lot more operations on the channel that is being spied upon.

app_mixmonitor does have an extra touch that app_chanspy doesn't have, though. Since there
is a thread race between the channel's thread and the mixmonitor thread on a hangup, we em-
ploy a condition-and-boolean combination to ensure that the channel thread finishes with
our structure before the mixmonitor thread attempts to free it. No crashes!

(closes issue #14374)
Reported by: aragon
Patches:
	  14374.patch uploaded by putnopvut (license 60)
Tested by: aragon, putnopvut


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-05 18:34:06 +00:00
Mark Michelson 172777bd02 Fix some areas where the incorrect interface was passed to ast_device_state
I swear it feels like I already did this once...

(closes issue #14359)
Reported by: francesco_r


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 22:16:19 +00:00
Tilghman Lesher f931abc61a Add XML documentation for the applications and functions in res_jabber
(closes issue #14405)
 Reported by: snuffy
 Patches: 
       xml_jabber.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173503 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 21:26:15 +00:00
David Vossel b605bdff0c Fixes issue with IAX2 transfer not handing off calls. Reverts changes in 116884
Fixes issue with IAX2 transfers not taking place. As it was, a call that was being transfered would never be handed off correctly to the call ends because of how call numbers were stored in a hash table. The hash table, "iax_peercallno_pvt", storing all the current call numbers did not take into account the complications associated with transferring a call, so a separate hash table was required. This second hash table "iax_transfercallno_pvt" handles calls being transfered, once the call transfer is complete the call is removed from the transfer hash table and added to the peer hash table resuming normal operations. Addition functions were created to handle storing, removing, and comparing items in the iax_transfercallno_pvt table. The changes reverted in 116884 caused backwards compatibility issues involving iax2 transfer with 1.6.0, 1.4, and 1.2. 
  
(closes issue #13468)
Reported by: nicox
Tested by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173502 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 21:25:14 +00:00
Jeff Peeler 39ec5d1576 Merged revisions 173211 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r173211 | jpeeler | 2009-02-03 15:57:01 -0600 (Tue, 03 Feb 2009) | 17 lines
  
  Parking attempts made to one end of a bridge no longer will hang up due to a
  parking failure.
  
  Parking attempts made using either one-touch, or doing either a blind or 
  assisted transfer to the parking extension now keep up the bridge instead of
  hanging up the attempted parked party. Normal causes for the parking attempt
  to fail includes the specific specified extension (via PARKINGEXTEN) not being 
  available or if all the parking spaces are currently in use. To avoid having
  to reverse a masquerade park_space_reserve was made to provide foresight if
  a parking attempt will succeed and if so reserve the parking space.
  
  (closes issue #13494)
  Reported by: mdu113
  
  Reviewed by Russell: http://reviewboard.digium.com/r/133/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 21:17:53 +00:00
Tilghman Lesher f2fd6528a2 When using a socket as a FILE *, the stdio functions will sometimes try to do
an fseek() on the stream, which is an invalid operation for a socket.  Turning
off buffering explicitly lets the stdio functions know they cannot do this,
thus avoiding a potential error.
(closes issue #14400)
 Reported by: fnordian
 Patches: 
       tcptls.patch uploaded by fnordian (license 110)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 18:48:06 +00:00
Mark Michelson e04e940a71 Merged revisions 173396 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173396 | mmichelson | 2009-02-04 11:44:48 -0600 (Wed, 04 Feb 2009) | 3 lines

Revert my previous change because it was stupid


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173397 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 17:45:14 +00:00
Mark Michelson 668f9f4e31 Merged revisions 173392 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r173392 | mmichelson | 2009-02-04 11:40:29 -0600 (Wed, 04 Feb 2009) | 3 lines

Add a missing unlock. Extremely unlikely to ever matter, but it's needed.


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 17:41:02 +00:00
Mark Michelson bd244342e2 Fix a problem where file playback would cause fds to remain open forever
The problem came from the fact that a frame read from a format interpreter
was not freed. Adding a call to ast_frfree fixed this. The explanation for
why this caused the problem is a bit complex, but here goes:

There was a problem in all versions of Asterisk where the embedded frame
of a filestream structure was referenced after the filestream was freed. This
was fixed by adding reference counting to the filestream structure. The refcount
would increase every time that a filestream's frame pointer was pointing to an
actual frame of data. When the frame was freed, the refcount would decrease. Once
the refcount reached 0, the filestream was freed, and as part of the operation,
the open files were closed as well.

Thus it becomes more clear why a missing ast_frfree would cause a reference leak
and cause the files to not be closed. You may ask then if there was a frame leak
before this patch. The answer to that is actually no! The filestream code was
"smart" enough to know that since the frame we received came from a format interpreter,
the frame had no malloced data and thus didn't need to be freed. Now, however, there
is cleanup that needs to be done when we finish with the frame, so we do need to
call ast_frfree on the frame to be sure that the refcount for the filestream is
decremented appropriately.

(closes issue #14384)
Reported by: fiddur
Patches:
      14384.patch uploaded by putnopvut (license 60)
Tested by: fiddur, putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 15:30:12 +00:00
Tilghman Lesher f90021fdd0 Ensure that commas placed in the middle of extension character classes do not
interfere with correct parsing of the extension.  Also, if an unterminated
character class DOES make its way into the pbx core (through some other
method), ensure that it does not crash Asterisk.
(closes issue #14362)
 Reported by: Nick_Lewis
 Patches: 
       20090129__bug14362.diff.txt uploaded by Corydon76 (license 14)
 Tested by: Corydon76


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-04 00:43:52 +00:00
David Vossel f8f032e98b Blocked revisions 173248 via svnmerge
........
  r173248 | dvossel | 2009-02-03 17:35:55 -0600 (Tue, 03 Feb 2009) | 6 lines
  
  Fixes issue with IAX2 transfer not handing off calls. 
  
  Fixes issue with IAX2 transfers not taking place.  As it was, a call that was being transfered would never be handed off correctly to the call ends because of how call numbers were stored in a hash table.  The hash table, "iax_peercallno_pvt", storing all the current call numbers did not take into account the complications associated with transferring a call, so a separate hash table was required.  This second hash table "iax_transfercallno_pvt" handles calls being transfered, once the call transfer is complete the call is removed from the transfer hash table and added to the peer hash table resuming normal operations. Addition functions were created to handle storing, removing, and comparing items in the iax_transfercallno_pvt table. 
  
  (issue #13468)
Review: http://reviewboard.digium.com/r/140/
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@173249 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-03 23:39:14 +00:00