Commit Graph

13664 Commits

Author SHA1 Message Date
Matthew Nicholson
ea3f81a68f Prevent a potential race condition and crash when hanging up a channel by removing the channel from the channel list before begining channel tear down.
This fix may potentially cause problems with CDR backends that access the channel a CDR is associated with via the channel list.  This fix makes the channel unavabile at the time when the CDR backend is invoked.  This has been documented in include/asterisk/cdr.h.

(closes issue #15316)
Reported by: vmarrone
Tested by: mnicholson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219136 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-17 14:58:39 +00:00
Tilghman Lesher
d28e69ad5d Properly deal with quotes in the arguments of '#exec' includes.
(closes issue #15583)
 Reported by: pkempgen
 Patches: 
       20090726__issue15583.diff.txt uploaded by tilghman (license 14)
       20090726__issue15583-1.4-4.diff.txt uploaded by pkempgen (license 169)
 Tested by: pkempgen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@219023 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-16 23:21:53 +00:00
David Brooks
6913d06d19 Fixes CID pattern matching behavior to mirror that of extension pattern matching.
Pattern matching for extensions uses a type of scoring system, giving values for
specificity to each character in the pattern. Unfortunately, this is done character
by character, in order. This does lead to some less specific patterns being first
in line for matching, but it will usually get the job done.

This patch merely brings CID matching to the same level as extension matching.
This patch does not attempt to tackle the problem shared by extension matching.

(closes issue #14708)
Reported by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-16 18:00:45 +00:00
Russell Bryant
03d3a47ca7 Remove the IAXy firmware from Asterisk.
The firmware can now be found on downloads.digium.com, where the rest of our
binary downloads live.  This was the last part of our Asterisk tarballs that
was considered non-free by Debian.  :-)

(closes issue #15838)
Reported by: paravoid


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-16 13:33:43 +00:00
Tilghman Lesher
cefd4b7b03 If the user enters the same password as before, don't signal an error when the change does nothing.
(closes issue #15492)
 Reported by: cbbs70a
 Patches: 
       20090713__issue15492.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218730 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 22:27:41 +00:00
Jeff Peeler
434dcbf847 Fix small memory leak in handle_init_event by always destroying the pthread
attr before returning.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 16:29:27 +00:00
Matthew Nicholson
ca41240806 Send request contact header field with response to registrer queries instead of the address of record.
(closes issue #14438)
Reported by: ravindrad
Patches:
      regquerypatch uploaded by ravindrad (license 684)
Tested by: ravindrad


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218578 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 16:03:54 +00:00
Tilghman Lesher
3913dcbc40 Ensure FollowMe sets language in channels it creates.
Also, not in the original bug report, but related fields are accountcode and
musicclass, and the inheritance of datastores.
(closes issue #15372)
 Reported by: Romik
 Patches: 
       20090828__issue15372.diff.txt uploaded by tilghman (license 14)
 Tested by: cervajs


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 16:01:17 +00:00
Kevin P. Fleming
b36f0b9340 revert accidental commit
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 14:57:01 +00:00
Kevin P. Fleming
2c027162a2 Use proper hostname for downloading sound files.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-15 14:55:58 +00:00
Jeff Peeler
395e431ab6 Fix handling of DAHDI_EVENT_REMOVED event to prevent crash in do_monitor.
After talking to rmudgett about some of his recent iflist locking changes, it
was determined that the only place that would destroy a channel without being
explicitly to do so was in handle_init_event. The loop to walk the interface
list has been modified to wait to destroy the channel until the dahdi_pvt of
the channel to be destroyed is no longer needed.

(closes issue #15378)
Reported by: samy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218401 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 21:47:11 +00:00
Tilghman Lesher
12f92cf9c6 Don't say "Please try again" if we don't give the user another chance to try again.
(issue #15055, SWP-129)
 Reported by: jthurman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218331 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 19:16:35 +00:00
Matthew Nicholson
903460b848 Ensure we don't pickup ourselves when doing pickup by exten.
(closes issue #15100)
Reported by: lmsteffan
Patches:
      (modified) pickup.patch uploaded by lmsteffan (license 779)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@218223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-14 14:53:57 +00:00
Tilghman Lesher
269854a47d Don't ring another channel, if there's not enough time for a queue member to answer.
(Fixes AST-228)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217989 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 23:52:22 +00:00
Tilghman Lesher
fb591b9f93 Backport realtime fix to 1.4
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 23:15:21 +00:00
David Vossel
92acf5ac29 IAX2 encryption regression
The IAX2 Call Token security patch inadvertently broke the use of
encryption due to the reorganization of code in the socket_process()
function.  When encryption is used, an incoming full frame must first
be decrypted before the information elements can be parsed.  The
security release mistakenly moved IE parsing before decryption in
order to process the new Call Token IE.  To resolve this, decryption
of full frames is once again done before looking into the frame.  This
involves searching for an existing callno, checking the pvt to see if
encryption is turned on, and decrypting the packet before the internal
fields of the full frame are accessed.

associated with AST-2009-006

(closes issue #15834)
Reported by: karesmakro
Patches:
      iax2_encryption_fix_1.4.diff uploaded by dvossel (license 671)
Tested by: dvossel, karesmakro

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217806 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 21:06:07 +00:00
Olle Johansson
74d16bb0df Reinstate muted that was removed by mistake.
muted doesn't compile any more on os/x, so I have to disable it in order to testcompile other code...


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 19:52:19 +00:00
Olle Johansson
b546a14a99 Remove harmful code that causes endless loops.
Remove code that causes loops in registrations. 

We have agreed that the patch that this code was part of was bad. I am ripping out the code that causes 
the issue. putnopvut needs to check the rest of the patch, if it needs to be changed as well.

This solves the issue reported in #15540, but needs more work before we close it (as described above).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217668 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-10 19:07:24 +00:00
Tilghman Lesher
b10343fd19 When MOH is playing on the channel, announcements sent through the conference are not heard.
(closes issue #14588)
 Reported by: voipas
 Patches: 
       20090716__issue14588__2.diff.txt uploaded by tilghman (license 14)
 Tested by: lmadsen, twisted, tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@217156 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-08 20:01:45 +00:00
Michiel van Baak
8edfe07e6d make asterisk compile under devmode with DEBUG_THREADS enabled on OpenBSD
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:56:10 +00:00
Michiel van Baak
da349b0e75 make chan_sip compile under devmode again
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216432 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:53:09 +00:00
Olle Johansson
05899c19a1 Make apps send PROGRESS control frame for early media and fix too early media issue in SIP
The issue at hand is that some legacy (dying) PBX systems send empty media frames on PRI
links *before* any call progress. The SIP channel receives these frames and by default
signals 183 Session progress and starts sending media. This will cause phones to 
play silence and ignore the later 180 ringing message. A bad user experience.

The fix is twofold:
- We discovered that asterisk apps that support early media ("noanswer") did not send
  any PROGRESS frame to indicate early media. Fixed.
- We introduce a setting in chan_sip so that users can disable any relay of media frames
  before the outbound channel actually indicates any sort of call progress.
  In 1.4, 1.6.0 and 1.6.1, this will be disabled for backward compatibility. In later versions
  of Asterisk, this will be enabled. We don't assume that it will change your Asterisk
  phone experience - only for the better.

We encourage third-party application developers to make sure that if they have applications
that wants to send early media, add a PROGRESS control frame transmission to make sure that
all channel drivers actually will start sending early media. This has not been the default
in Asterisk previous to this patch, so if you got inspiration from our code, you need to
update accordingly. Sorry for the trouble and thanks for your support.

This code has been running for a few months in a large scale installation (over 250
servers with PRI and/or BRI links to old PBX systems). 
That's no proof that this is an excellent patch, but, well, it's tested :-)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:45:48 +00:00
Michiel van Baak
d5cc6f0879 Make sure 'start' is always initialized.
This is the same as rev 216222 in trunk but 1.4 is affected as well


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 13:16:29 +00:00
Russell Bryant
3ce5ac3c0c Merged revisions 216262 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
  r216262 | russell | 2009-09-04 05:47:37 -0500 (Fri, 04 Sep 2009) | 2 lines
  
  Add a plain text version of the IAX2 security document.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216263 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-04 10:48:00 +00:00
Russell Bryant
ff3097a592 Blocked revisions 216087 via svnmerge
........
  r216087 | russell | 2009-09-03 14:37:05 -0500 (Thu, 03 Sep 2009) | 2 lines
  
  Fix a typo.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-03 19:37:19 +00:00
Russell Bryant
e982c31095 Merged revisions 216080 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
  r216080 | russell | 2009-09-03 14:35:23 -0500 (Thu, 03 Sep 2009) | 2 lines
  
  Add a note about IAX2 to UPGRADE.txt.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-03 19:36:46 +00:00
Russell Bryant
5694fcdb14 Merged revisions 216005 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
  r216005 | russell | 2009-09-03 13:42:24 -0500 (Thu, 03 Sep 2009) | 2 lines
  
  Add IAX2 security document related to AST-2009-006.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-03 18:44:58 +00:00
David Vossel
ed1951d895 Merge code associated with AST-2009-006
(closes issue #12912)
Reported by: rathaus
Tested by: tilghman, russell, dvossel, dbrooks



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@216000 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-03 18:32:32 +00:00
Terry Wilson
82b1e162e1 Re-send non-100 provisional responses to prevent cancellation
From section 13.3.1.1 of RFC 3261:

   If the UAS desires an extended period of time to answer the INVITE,
   it will need to ask for an "extension" in order to prevent proxies
   from canceling the transaction. A proxy has the option of canceling
   a transaction when there is a gap of 3 minutes between responses in a
   transaction. To prevent cancellation, the UAS MUST send a non-100
   provisional response at every minute, to handle the possibility of
   lost provisional responses.

(closes issue #11157)
Reported by: rjain
Tested by: twilson

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@215682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-02 21:41:22 +00:00
Dwayne M. Hubbard
fad010ebe7 Use strrchr() so SoftHangup will correctly truncate multi-hyphen channel names
In general channel names are in the form Foo/Bar-Z, but the channel name
could have multiple hyphens and look like Foo/B-a-r-Z.  Use strrchr to
truncate the channel name at the last hyphen.

(closes issue #15810)
Reported by: dhubbard
Patches:
      dw-softhangup-1.4.patch uploaded by dhubbard (license 733)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@215270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-01 23:04:52 +00:00
Tilghman Lesher
fa27e8dffa Also unlock the "other" channel, when returning, due to glare.
(closes issue #15787)
 Reported by: tim_ringenbach
 Patches: 
       chan_local.diff uploaded by tim ringenbach (license 540)
 Tested by: tim_ringenbach


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214940 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-31 16:16:52 +00:00
Tilghman Lesher
fafa668b04 Modify comment to be a bit more accurate.
We have kept this comment around long enough, that it's pretty clear that we're
keeping the code, because changing the code would require a pretty fundamental
architectural shift.  We've also taken criticism in some quarters, because it
was believed that it was referring to the code being nasty.  No, the code isn't
nasty, just the operation itself is rather odd.  Fixed for eternity (probably
not).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-28 20:13:32 +00:00
Tilghman Lesher
4b133920a5 Use autoconf to detect libcurl, as this enables cross-compilation checks, something we didn't allow before.
(closes issue #15714)
 Reported by: pprindeville
 Patches: 
       20090813__issue15714.diff.txt uploaded by tilghman (license 14)
 Tested by: pprindeville


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214517 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 21:45:34 +00:00
Tilghman Lesher
7215954ccf One more build system change, to make the descriptions look better, if we have better information.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214436 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 16:53:58 +00:00
Tilghman Lesher
60fd401064 Make autoheader descriptions render correctly in our autoconfig.h file.
(Figured out while working with issue #14906)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-27 16:03:50 +00:00
David Vossel
899272c2cc ast_write() ignores ast_audiohook_write() results
In ast_write(), if a channel has a list of audiohooks, those
lists are written to and the resulting frame is what ast_write()
should continue with.  The problem was the returned audiohook frame
was not being handled at all, and the original frame passed
into it did not contain the mixed audio, so essentially audio
was being lost.  One result of this was chan_spy's whisper
mode no longer worked.  To complicate the issue, frames
passed into ast_write may either be a single frame, or a list
of frames.  So, as the list of frames is processed in the
audiohook_write, the returned frames had to be added to a new
list.

(closes issue #15660)
Reported by: corruptor
Tested by: dvossel



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214194 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-26 16:36:42 +00:00
Tilghman Lesher
a45f5e5be0 I should always compile before committing...
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214069 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 19:28:42 +00:00
Tilghman Lesher
10a972f98e Fix pronunciation of German dates.
(closes issue #15273)
 Reported by: Benjamin Kluck
 Patches: 
       say_c.patch uploaded by Benjamin Kluck (license 803)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@214068 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 19:26:50 +00:00
Tilghman Lesher
0055593341 Improve error message by informing user exactly which function is missing a parethesis.
(closes issue #15242)
 Reported by: Nick_Lewis
 Patches: 
       pbx.c-funcparenthesis.patch2 uploaded by dbrooks (license 790)
       pbx.c-funcparenthesis-1.4.diff uploaded by loloski (license 68)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 06:34:44 +00:00
Tilghman Lesher
679cefec98 Use the default runlevels for Debian derivatives, instead of making up our own.
(closes issue #14730)
 Reported by: pkempgen


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213899 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-25 02:40:22 +00:00
Kevin P. Fleming
79221dad8d Ensure that T.38 INVITEs generated by Asterisk properly result in T.38 being enabled.
(closes issue #15373)
Reported by: dcolombo
Patches:
      chan_sip.patch uploaded by mbrancaleoni (license 342)
Tested by: dcolombo, mbrancaleoni


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 20:23:45 +00:00
Tilghman Lesher
1ea4af21ca Permit DEBUG_FD_LEAKS to be used with C++ source files.
(closes issue #15698)
 Reported by: slavon
 Patches: 
       20090817__issue15698.diff.txt uploaded by tilghman (license 14)
 Tested by: slavon, tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 16:52:53 +00:00
Jason Parker
3300ac5b40 Clarify queues.conf comments to specify that variables should be set in the dialplan.
(closes issue #15755)
Reported by: trendboy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-21 16:03:21 +00:00
Matthew Nicholson
4fa5fa014f Fix a crash by checking the proper pointer for validity before deferencing it.
(closes issue #15751)
Reported by: atis
Patches:
      ast_bridge_call_peer_cdr.patch uploaded by atis (license 242)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213339 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-20 20:33:07 +00:00
Jeff Peeler
d581b4216a Make all the symbols for the C-client callbacks global
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213283 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-20 19:53:34 +00:00
David Vossel
941ed1b2fe Fixes memory leak caused by incorrectly freeing mixmonitor
(closes issue #15699)
Reported by: edantie
Patches:
      mixmonitor.patch uploaded by edantie (license 862)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@213103 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-19 21:18:37 +00:00
Kevin P. Fleming
f5bc668276 Convert this branch to Opsound music-on-hold.
For more details:
http://blogs.digium.com/2009/08/18/asterisk-music-on-hold-changes/



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@212913 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 20:26:53 +00:00
Sean Bright
a4d1e6120f Delay the creation of temporary files until we have a valid manager command to handle.
Without this patch, asterisk creates a temporary file before determining if the
specified command is valid.  If invalid, we weren't properly cleaning up the file.

(closes issue #15730)
Reported by: zmehmood
Patches:
      M15730.diff uploaded by junky (license 177)
Tested by: zmehmood


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@212763 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 16:36:00 +00:00
Richard Mudgett
309898993f Removed some deadwood and added some doxygen comments.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@212727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-18 16:00:56 +00:00
Jeff Peeler
d924b5349e Fix segfault when reloading chan_misdn.
If more ports were specified than configured in misdn.conf a reload would crash
asterisk. The problem was the unconfigured port was using data from the
previously configured port. When the data for an unconfigured port was freed a
crash would result from the double free.

(closes issue #12113)
Reported by: agupta
Patches:
      bug12113.patch uploaded by jpeeler (license 325)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@212498 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-17 16:34:56 +00:00