Commit Graph

19000 Commits

Author SHA1 Message Date
Olle Johansson
8021cf48d8 Adding some clarifications to func_speex doxygen docs.
The functions needed doesn't exist in Speex 1.05 which is what a lot of distros use.
1.2 seems to have been in beta status for years, and does include the sexy functions needed for func_speex to work.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227237 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 16:56:48 +00:00
Joshua Colp
c900eaa733 Merged revisions 227166 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r227166 | file | 2009-11-03 11:36:16 -0400 (Tue, 03 Nov 2009) | 5 lines
  
  Fix a bug where an RPID header could be generated with a blank username in the URI.
  
  (closes issue #15909)
  Reported by: kobaz
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 15:37:08 +00:00
Leif Madsen
f6827928b0 Update extensions.conf.sample file to fix incorrect extensions.
(closes issue #15857)
Reported by: pprindeville
Patches:
      stdexten.patch#2 uploaded by pprindeville (license 347)
Tested by: pprindeville

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227162 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 15:19:47 +00:00
Olle Johansson
ede3699c6e Merged revisions 227088 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r227088 | oej | 2009-11-03 11:29:59 +0100 (Tis, 03 Nov 2009) | 7 lines

Use proper response code when violating Contact ACL's.

https://reviewboard.asterisk.org/r/415/

Thanks kpfleming for a quick review.
(EDVX-003)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-03 11:11:15 +00:00
Tilghman Lesher
66579d9d49 Add PacketCable NCS 1.0 support for Docsis/Eurodocsis networks
(closes issue #12950)
 Reported by: alea-soluciones
 Patches: 
       ncs-pktccops-12950-r206803.patch uploaded by alea-soluciones (license 514)
 Tested by: alea-soluciones, adomjan, urtho, nahuelgreco


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227049 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 22:29:19 +00:00
David Brooks
2c4d3b3168 SIP channel name uniqueness
SIP channel names were supposed to be unique by way of a name suffix derived from the
pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but
not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with
a simple incremented unsigned int.

(closes issue #15152)
Reported by: palbrecht

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 20:59:37 +00:00
David Brooks
d279260f51 SIP channel name uniqueness
SIP channel names were supposed to be unique by way of a name suffix derived from the
pointer to the channel's private data. Uniqueness was preserved on 32-bit systems, but
not on 64-bit systems. This patch, as suggested by kpfleming, replaces this suffix with
a simple incremented unsigned int.

(closes issue #15152)
Reported by: palbrecht

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 20:57:45 +00:00
Olle Johansson
8d64231c62 Adding external reference for doxygen
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226970 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 20:43:52 +00:00
Joshua Colp
7a17d87740 Merged revisions 226889 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226889 | file | 2009-11-02 14:08:11 -0400 (Mon, 02 Nov 2009) | 11 lines
  
  Fix a bug where the recorded privacy introduction file would not get removed if the caller hung up
  while the called party had not yet answered.
  
  This was fixed by introducing an argument to the 'n' option which, when enabled, removes the introduction
  file under all scenarios. This was done to preserve the behavior that has existed for quite some time.
  
  (closes issue #14674)
  Reported by: ulogic
  Patches:
        bug14674.patch uploaded by jpeeler (license 325)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226890 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 18:08:54 +00:00
Richard Mudgett
6406f39594 DAHDI ISDN channel names will not allow device state to work. (Interim solution.)
Since ISDN works like SIP and not analog ports in regard to devices, the
device state based on the ISDN channel number could not work.  This has
not been an issue until the advent of PTMP NT mode.  Previously, ISDN
lines were used as trunks and did not have to keep track of specific
devices.

As an interim solution until device states are properly implemented, the
channel name is being changed to the following format to use the generic
device state support:
DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>

Dialplan hints would thus be:
exten => xxx,hint,DAHDI/i2/5551212

This will work with the following restrictions:
*  The number of devices/phones cannot exceed the number of B channels.
(i.e., BRI has 2)
*  Each device/phone can only have one number.  No shared MSN's.
*  The phones/devices probably should not use subaddressing.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 17:34:22 +00:00
Tilghman Lesher
14a8c042cd Merged revisions 226811 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226811 | tilghman | 2009-11-02 11:14:20 -0600 (Mon, 02 Nov 2009) | 8 lines
  
  Don't allow two separate instances of safe_asterisk when restarting from the init script.
  (closes issue #14562)
   Reported by: davidw
   Patches: 
         Initially 20091022__issue14562.diff.txt uploaded by tilghman (license 14)
         Modified to 20091030__Issue14562_diff.txt uploaded by davidw (license 780)
   Tested by: davidw
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 17:15:31 +00:00
David Vossel
d107a0e3cf Blocked revisions 226736 via svnmerge
........
  r226736 | dvossel | 2009-11-02 09:31:02 -0600 (Mon, 02 Nov 2009) | 5 lines
  
  fixes crash on iterator_destroy on uninitialized iterator
  
  (closes issue #16162)
  Reported by: krn
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226748 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 15:34:37 +00:00
David Vossel
49fc72fc7c Blocked revisions 226688 via svnmerge
........
  r226688 | dvossel | 2009-11-02 09:16:30 -0600 (Mon, 02 Nov 2009) | 5 lines
  
  changes calltoken debug messages from LOG_NOTICE to LOG_DEBUG like they are supposed to be
  
  (closes issue #16144)
  Reported by: aragon
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226689 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 15:17:04 +00:00
Matthew Nicholson
93e43578ec This patch adds support for a draft proposal for adding Q.850 reason headers to sip messages.
(closes issue #13385)
Reported by: adomjan
Patches:
      sip.conf.sample-trunk20090929-reason_q850.patch uploaded by adomjan (license 487)
      CHANGES-trunk20090929-reason_q850.patch uploaded by adomjan (license 487)
      chan_sip.c-trunk20090929-reason_q850_atoi_fix.patch uploaded by adomjan (license 487)
      sip-q850-hangupcause1.diff uploaded by mnicholson (license 96)
Tested by: adomjan



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226687 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-02 14:57:11 +00:00
Richard Mudgett
7fbd314a88 Cleanup some flags on DAHDI PRI channel hangup.
*  Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split)
*  Make sure the outgoing flag is cleared if a new channel fails to get
created for outgoing calls.
*  Remove some unused flags since sig_pri was split.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-30 23:26:41 +00:00
Russell Bryant
844a01b27e Add an "Asterisk Architecture Overview" section to the doxygen documentation.
This is a side project I've been poking at this week.  The intent is to discuss
Asterisk architecture in a top down fashion to help new developers understand how
Asterisk is put together.  There is a ton of stuff to write about, so this will
just continue to evolve over time.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226606 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-30 04:08:39 +00:00
Joshua Colp
b9c370da86 Merged revisions 226531 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226531 | file | 2009-10-29 15:11:26 -0300 (Thu, 29 Oct 2009) | 6 lines
  
  Add an option to enabling passing music on hold start and stop requests through instead of
  acting on them in chan_local.
  
  (closes issue #14709)
  Reported by: dimas
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226532 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-29 18:13:42 +00:00
Olle Johansson
64e8fb465b Doxygen documentation update
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-29 12:20:16 +00:00
Tzafrir Cohen
5bd895b24b remove empty awk pattern (//)
Solaris 10 nawk doesn't lthe empty pattern ike '//' for 'always'.
Just remove that. No pattern at all always matches.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 20:50:52 +00:00
Leif Madsen
5524f0ab11 Merged revisions 226382 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226382 | lmadsen | 2009-10-28 15:06:13 -0500 (Wed, 28 Oct 2009) | 9 lines
  
  Update documentation in sip.conf.sample.
  
  Update the documentation in sip.conf.sample in order to make it more clear
  that directmedia/canreinvite do not cause Asterisk to ignore reINVITEs. It
  is only used to stop Asterisk from generating a reINVITE, but does not stop
  it from accepting them if necessary.
  
  (closes issue #15644)
  Reported by: lmadsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226384 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 20:11:07 +00:00
Leif Madsen
6b6fee6c95 Merged revisions 226377 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226377 | lmadsen | 2009-10-28 14:48:29 -0500 (Wed, 28 Oct 2009) | 7 lines
  
  Update CALLINGSUBADDR channel variable documentation.
  
  (closes issue #15734)
  Reported by: alecdavis
  Patches:
        channelvariables.tex.diff.txt uploaded by alecdavis (license 585)
  Tested by: alecdavis
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 19:50:00 +00:00
Tilghman Lesher
3afd1409d1 Merged revisions 226304 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226304 | tilghman | 2009-10-28 13:02:25 -0500 (Wed, 28 Oct 2009) | 2 lines
  
  Fix documentation (pointed out by TheDavidFactor on #-dev)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226305 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 18:04:05 +00:00
Tzafrir Cohen
3b6d052ac7 Remove extra cleanup in case we have more than one Asterisk.
/var/run would be cleaned on startup on most systems anyway.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226270 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-28 08:47:59 +00:00
Tzafrir Cohen
56a6df50cc another variation of the upstart script
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 22:10:38 +00:00
Olle Johansson
891e3df1c6 Adding compile time flags for Snow Leopard, Leopard and some other animals
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 21:03:22 +00:00
Tilghman Lesher
c6a34a201e Merged revisions 226138 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r226138 | tilghman | 2009-10-27 15:16:49 -0500 (Tue, 27 Oct 2009) | 7 lines
  
  Manager output is not always NULL-terminated, so force a NULL at the end of the filestream.
  (closes issue #15495)
   Reported by: pdf
   Patches: 
         20090916__issue15495.diff.txt uploaded by tilghman (license 14)
   Tested by: pdf
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226159 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 20:22:07 +00:00
Terry Wilson
ba8176dc52 Don't prepend the URI prefix to the post directory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 16:48:54 +00:00
Joshua Colp
5825f68e8b Add support for receiving unsolicited MWI NOTIFY messages.
This change adds a configuration option to SIP peers, unsolicited_mailbox, which
configures a virtual mailbox to use for received new/old MWI information. This
virtual mailbox can then be used by any device supporting MWI.

(closes issue #13028)
Reported by: AsteriskRocks
Patches:
      bug_13028_chan_sip_external_mwi_20090707.patch uploaded by cmaj (license 830)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-27 13:30:27 +00:00
Tzafrir Cohen
7e29f0da44 detect ARM Linux EABI OSARCH as linux-gnu instead of linux-gnueabi
* Set OSARCH to linux-gnu even if host_os is linux-gnueabi
* When checking if we are Linux, check OSARCH rather than host_os

The newer ARM ABI ("EABI") shows the OS name 'linux-gnueabi' rather than
'linux-gnu' . This patch sets OSARCH to be 'linux-gnu' even in such a case.

OSARCH is tested for the value of 'linux-gnu' in one or two places in the
tree. This patch also fixes the check libcap to check for $OSARCH rather
than $host_os .

See also: http://wiki.debian.org/ArmEabiPort

Merged revisions 225957 via svnmerge from 
http://svn.digium.com/svn/asterisk/branches/1.4


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@226018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 22:46:09 +00:00
Kevin P. Fleming
ea8b54fb9d Fix building in REF_DEBUG mode.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 22:04:04 +00:00
Kevin P. Fleming
ad7a9fb8e8 Correct broken logic from revision 225405.
The code committed in revision 225405 was broken; instead of removing the unreference code,
the logic used to decide when to do it should have been reversed. This patch corrects the
situation, and makes reference counting work properly again.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 22:03:29 +00:00
Jeff Peeler
ec0a1882c9 ACL check not present for verifying SIP INVITEs
The ACL check in check_peer_ok was missing and has now been restored. The
missing check allowed for calls to be made on prohibited networks where an ACL
was defined in sip.conf and the allowguest option was set to off. See the AST
security advisory below for more information.

Merge code associated with AST-2009-007.

(closes issue #16091)
Reported by: thom4fun


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225912 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 19:40:26 +00:00
Richard Mudgett
71452322a2 Make conditionals create previous code when libpri/ss7 are present.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225872 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 16:07:09 +00:00
Tzafrir Cohen
2736168a6b span numbers in pri debug / error messages
Prefix PRI trace messages with the span number. This makes the trace
readable even when you have a multi-port device.

(closes issue #15054)
Reported by: tzafrir
Patches:
      dahdi_pri_debug_spannum.diff uploaded by tzafrir (license 46)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 13:29:54 +00:00
Tzafrir Cohen
e5a57959eb Re-arange code a bit to build in dev-mode without ss7
No change of functionality here. Just localized a variable and indented
code into blocks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225803 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 11:34:06 +00:00
Tzafrir Cohen
d36cecd578 Make chan_dahdi build even without PRI / SS7
(Note: still some strange build warnings without SS7 in dev-mode)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225767 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-26 09:40:49 +00:00
Kevin P. Fleming
fb0196fce6 Improve performance of pedantic mode dialog searching in chan_sip.
This patch changes chan_sip to use the new astobj2 OBJ_MULTIPLE iterator support
to make pedantic mode dialog searching in find_call() not require a linear search
of all dialogs in the list of dialogs. This patch does *not* change the dialog
matching logic (more on that later), just improves the searching performance.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-24 14:40:37 +00:00
Richard Mudgett
cff6d02b53 Add to chan_dahdi ISDN HOLD, Call deflection, and keypad facility support.
* Added handling of received HOLD/RETRIEVE messages and the optional ability
  to transfer a held call on disconnect similar to an analog phone.
* Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
  Will reroute/deflect an outgoing call when receive the message.
  Can use the DAHDISendCallreroutingFacility to send the message for the
  supported switches.
* Added ability to send/receive keypad digits in the SETUP message.
  Send keypad digits in SETUP message: Dial(DAHDI/g1[/K<keypad_digits>][/extension])
  Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
* Added support for BRI PTMP NT mode.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225692 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-23 16:57:33 +00:00
Sean Bright
52a2ded0cd Optionally build and install the sample AGIs in the agi/ directory.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-23 16:40:30 +00:00
David Vossel
2208fb171b Fixes an iterator memory leak and uninitialized memory
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225650 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-23 14:41:50 +00:00
Kevin P. Fleming
673eadaa3a Merged revisions 225581 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225581 | kpfleming | 2009-10-23 09:00:01 -0500 (Fri, 23 Oct 2009) | 10 lines
  
  Don't force menuselect.makeopts to be rebuilt on every build.
  
  For some reason the menuselect.makeopts file was listed as PHONY in the Makefile,
  resulting in 'make' needing to rebuild it for every build. This then resulted in
  the embedded module rules being rebuilt on every build, which can be slow and is
  unnecessary.
  
  This patch fixes the problem by properly allowing 'make' to know when the
  menuselect.makeopts file needs to be rebuilt (defining the proper dependencies).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-23 14:02:42 +00:00
Leif Madsen
6cb07e7030 Update README documentation.
Update the README documentation to correctly describe which CLI command you should
use when attempting to get help from the CLI.

(closes issue #16064)
Reported by: thedavidfactor
Patches:
      readme.patch uploaded by thedavidfactor (license 903)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225515 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 22:24:03 +00:00
Leif Madsen
b544c53778 Merged revisions 225484 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225484 | lmadsen | 2009-10-22 16:51:52 -0500 (Thu, 22 Oct 2009) | 11 lines
  
  Clean valgrind output by suppressing false errors.
  Update valgrind.txt documentation and add valgrind.supp file in order to
  allow those who are creating valgrind output to have less false errors in
  the logfile.
  
  (closes issue #16007)
  Reported by: atis
  Patches:
        valgrind.txt.diff uploaded by atis (license 242)
        asterisk2.supp uploaded by atis (license 242)
  Tested by: atis, amorsen
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225485 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 21:52:30 +00:00
Leif Madsen
681ec86837 Add Asterisk Git HowTo documentation.
Added documentation on how to create a local git repository from
SVN. This documentation was added via doxygen.


(closes issue #15814)
Reported by: tzafrir
Patches:
      git-asterisk-howto uploaded by tzafrir (license 46)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225483 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 21:28:44 +00:00
Richard Mudgett
63473616da Search for the subaddress only within the extension section of the dial string.
Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadance#>|d][/extension])


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 20:07:55 +00:00
David Vossel
776a14386a SIP TCP/TLS: move client connection setup/write into tcp helper thread, various related locking/memory fixes.
What this patch fixes
1.Moves sip TCP/TLS connection setup into the TCP helper thread:
  Connection setup takes awhile and before this it was being
  done while holding the monitor lock.
2.Moves TCP/TLS writing to the TCP helper thread:  Through the
  use of a packet queue and an alert pipe, the TCP helper thread
  can now be woken up to write data as well as read data.
3.Locking error: sip_xmit returned an XMIT_ERROR without giving
  up the tcptls_session lock.  This lock has been completely removed
  from sip_xmit and placed in the new sip_tcptls_write() function.
4.Memory leak:  When creating a tcptls_client the tls_cfg was alloced
  but never freed unless the tcptls_session failed to start.  Now the
  session_args for a sip client are an ao2 object which frees the
  tls_cfg on destruction.
5.Pointer to stack variable: During sip_prepare_socket the creation
  of a client's ast_tcptls_session_args was done on the stack and
  stored as a pointer in the newly created tcptls_session.  Depending
  on the events that followed, there was a slight possibility that
  pointer could have been accessed after the stack returned.  Given
  the new changes, it is always accessed after the stack returns
  which is why I found it.

Notable code changes
1.I broke tcptls.c's ast_tcptls_client_start() function into two
  functions.  One for creating and allocating the new tcptls_session,
  and a separate one for starting and handling the new connection.
  This allowed me to create the tcptls_session, launch the helper
  thread, and then establish the connection within the helper thread.
2.Writes to a tcptls_session are now done within the helper thread.
  This is done by using an alert pipe to wake up the thread if new
  data needs to be sent.  The thread's sip_threadinfo object contains
  the alert pipe as well as the packet queue.
3.Since the threadinfo object contains the alert pipe, it must now be
  accessed outside of the helper thread for every write (queuing of a
  packet).  For easy lookup, I moved the threadinfo objects from a
  linked list to an ao2_container.

(closes issue #13136)
Reported by: pabelanger
Tested by: dvossel, whys

(closes issue #15894)
Reported by: dvossel
Tested by: dvossel

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 19:55:51 +00:00
Sean Bright
117d3fd910 Add the programs in utils/ to menuselect.
Nothing in utils/ is now built by default except for astcanary.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225440 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 19:33:32 +00:00
Tilghman Lesher
d9f72c1893 Permit storage of voicemail secrets in a separate file, located within the spool directory.
(closes issue #14276)
 Reported by: klaus3000
 Patches: 
       app_voicemail.c-svn-trunk-r214898.txt uploaded by klaus3000 (license 65)
 Tested by: jamesgolovich


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 19:10:04 +00:00
Kevin P. Fleming
be796e703a Fix a refcount error introduced by yesterday's OBJ_MULTIPLE commit.
When an object is being unlinked from its container *and* being returned to
the caller, we do not want to decrement the reference count after unlinking
it from the container, as the reference that the container held is what we
are returning to the caller... and if it was the only remaining reference to
the object, that could result in the object being destroyed.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225405 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 18:41:47 +00:00
Tilghman Lesher
496282194c Merged revisions 225105 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r225105 | tilghman | 2009-10-21 11:02:12 -0500 (Wed, 21 Oct 2009) | 4 lines
  
  Fix documentation for ast_softhangup() and correct the misuse thereof.
  (closes issue #16103)
   Reported by: majorbloodnok
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@225360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-10-22 17:11:23 +00:00