Commit Graph

19957 Commits

Author SHA1 Message Date
Richard Mudgett 28264c52b9 Add ETSI Advice Of Charge (AOC) event reporting.
This feature generates AMI events in the new aoc event class from the
events passed up by libpri.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@267008 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 17:13:53 +00:00
Richard Mudgett 48dd4d1249 Add ETSI Explicit Call Transfer (ECT) support.
Added ability to send and receive ETSI Explicit Call Transfer (ECT)
messages to eliminate tromboned calls.

Note: Asterisk already supported initiating the transfer of calls to
eliminate tromboned calls to libpri so there was nothing to do for the
asterisk portion.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266926 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 16:14:12 +00:00
Paul Belanger 7bdc11519b pthread_join to assure the thread is really gone
(closes issue #15465)
Reported by: fnordian
Patches:
      bridging.patch uploaded by fnordian (license 110)
Tested by: lmadsen, fnordian, peterh

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266877 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-02 13:32:22 +00:00
Terry Wilson a55820a26d Use the correct ical.h file
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266832 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 22:14:44 +00:00
Tilghman Lesher b0357dcc3e Support setting locale per-mailbox (changes date/time languages for email, pager messages).
(closes issue #14333)
 Reported by: klaus3000
 Patches: 
       20090515__issue14333.diff.txt uploaded by tilghman (license 14)
       app_voicemail.c-svn-trunk-rev211675-patch.txt uploaded by klaus3000 (license 65)
 Tested by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266828 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 21:28:19 +00:00
Terry Wilson ffbb85bb4d Set app and appdata fields when a Dial is redirected
(closes issue #17204)
Reported by: one47
Tested by: twilson, one47


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266786 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 21:12:49 +00:00
Tilghman Lesher 464e44e325 Don't register functions until the last possible point, so they're not unloaded unnecessarily.
(closes issue #15996)
 Reported by: junky
 Patches: 
       sdmi_wait.diff uploaded by junky (license 177)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 18:02:24 +00:00
Tilghman Lesher 7718567b24 Eliminate stale manager events after a set interval, even if AMI clients don't query for them.
Actions (or failures to act) by external clients should not cause memory leaks
in Asterisk, especially when those continued leaks could cause Asterisk to
misbehave later.

(closes issue #17234)
 Reported by: mav3rick
 Patches: 
       20100510__issue17234.diff.txt uploaded by tilghman (license 14)
       20100517__issue17234__trunk.diff.txt uploaded by tilghman (license 14)
 Tested by: mav3rick, davidw

(closes issue #17365)
 Reported by: davidw


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266682 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 16:41:00 +00:00
Tilghman Lesher dd26c53707 Merged revisions 266585 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r266585 | tilghman | 2010-06-01 10:17:46 -0500 (Tue, 01 Jun 2010) | 11 lines
  
  Prevent CLI prompt from distorting output of lines shorter than the prompt.
  
  Uses the VT100 method of clearing the line from the cursor position to the
  end of the line:  Esc-0K
  
  (closes issue #17160)
   Reported by: coolmig
   Patches: 
         20100531__issue17160.diff.txt uploaded by tilghman (license 14)
   Tested by: coolmig
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266592 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-01 15:18:59 +00:00
Tilghman Lesher 4eaea01cad Needs to be wrapped in <para>
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266522 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-30 20:18:03 +00:00
Tilghman Lesher 83039d88e4 Merged revisions 266437 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r266437 | tilghman | 2010-05-29 23:43:28 -0500 (Sat, 29 May 2010) | 2 lines
  
  Reverting patch and reopening issue #16784, as patch breaks color display.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-30 04:44:28 +00:00
Terry Wilson 9a2f04ce26 Fix ical library handling (again)
Newer versions of libical (which we require) store the header file in a
libical/ subfolder and include an ical.h file that does a #warning for
deprecation and then #includes <libical/ical.h>. Since we now test for
libical/ical.h, we can change the #includes back to <libical/ical.h> and
remove the test which specifically adds /usr/include/libical as an include
directory.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266386 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 22:54:03 +00:00
Tilghman Lesher 2da88f1977 Setup environment variables for the benefit of child processes and disallow changing them.
(closes issue #14899)
 Reported by: jmls
 Patches: 
       20090916__issue14899.diff.txt uploaded by tilghman (license 14)
 Tested by: jmls


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266385 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 22:50:06 +00:00
Tilghman Lesher 7e204048fc Only report swap on platforms which can examine those statistics
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 20:53:04 +00:00
David Vossel 185f73d8b1 fixes crash when creation of UDPTL fails
(closes issue #17264)
Reported by: falves11
Patches:
      issue_17264_reviewboard_fix.diff uploaded by dvossel (license 671)
      issue_17264_1.6.2_reviewboard_fix.diff uploaded by dvossel (license 671)
Tested by: falves11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266292 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 17:55:38 +00:00
Terry Wilson 9fdbc5618d More build fixes for ical/neon and res_calendar_ews
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-28 17:34:00 +00:00
Jeff Peeler a370bc1522 fix compile error
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266240 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-27 20:08:49 +00:00
Tilghman Lesher 05a1ec8abc Cache query results for one second.
Queries from the PBX core come in 3's.  Caching avoids the additional
performance penalty from those two additional queries hitting the database.

(closes issue #16521)
 Reported by: tilghman
 Patches: 
       20091229__issue16521.diff.txt uploaded by tilghman (license 14)
 Tested by: Hubguru, tilghman


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-27 19:25:16 +00:00
Tilghman Lesher fb80119b87 Merged revisions 266142 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r266142 | tilghman | 2010-05-26 16:11:44 -0500 (Wed, 26 May 2010) | 14 lines
  
  Use sigaction for signals which should persist past the initial trigger, not signal.
  
  If you call signal() in a Solaris signal handler, instead of just resetting
  the signal handler, it causes the signal to refire, because the signal is not
  marked as handled prior to the signal handler being called.  This effectively
  causes Solaris to immediately exceed the threadstack in recursive signal
  handlers and crash.
  
  (closes issue #17000)
   Reported by: rmcgilvr
   Patches: 
         20100526__issue17000.diff.txt uploaded by tilghman (license 14)
   Tested by: rmcgilvr
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266146 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 21:17:46 +00:00
Mark Michelson 70a1bf3142 Remove redundant ast_conntected_line_free call.
This wouldn't cause any problems, but it's certainly not needed either.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:17:54 +00:00
Mark Michelson 529a87ce7d Remove unrelated MOH change from previous commit.
Thanks Kevin!



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266094 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:15:47 +00:00
Mark Michelson 8999372c33 Fix misspelling of macro args.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266092 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 20:04:51 +00:00
David Vossel 77a96c5a93 do all sip registry parsing before transmit_register
This patch breaks up every part of the sip registry string during
config parsing and removes all parsing from transmit_register().
Thanks to Nick_Lewis for contributing this patch!

(closes issue #14331)
Reported by: Nick_Lewis
Patches:
      chan_sip.c-domparse.patch uploaded by Nick Lewis (license 657)
      chan_sip.c.patch uploaded by Nick Lewis (license 657)
      chan_sip.c.domainparse3.patch uploaded by Nick Lewis (license 657)
      chan_sip.c-domparse4.patch uploaded by Nick Lewis (license 657)
      chan_sip.c-domparse5.patch uploaded by Nick Lewis (license 657)
      nicklewispatch.diff uploaded by dvossel (license 671)
Tested by: Nick_Lewis, dvossel

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 19:46:49 +00:00
David Vossel 07500098c1 fixes failed SIP Directed pickup resulting in dead channel
(closes issue #17339)
Reported by: one47
Patches:
      sip_magic_pickup2 uploaded by one47 (license 23)
Tested by: one47, dvossel


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 18:32:51 +00:00
Mark Michelson 7c02ee4f91 Blocked revisions 266004 via svnmerge
........
  r266004 | mmichelson | 2010-05-26 13:21:10 -0500 (Wed, 26 May 2010) | 12 lines
  
  Make AgentComplete message more consistent.
  
  At times, the "Member" field was not specified during the event.
  It's there now.
  
  (closes issue #15638)
  Reported by: elbriga
  Patches:
        patchAppQueueAgentComplete.diff uploaded by elbriga (license 482)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@266005 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 18:21:53 +00:00
Tilghman Lesher 35025c16d0 Merged revisions 265910 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r265910 | tilghman | 2010-05-26 11:21:00 -0500 (Wed, 26 May 2010) | 7 lines
  
  Not finding rows in the DB does not rise to the level of a warning.
  
  (closes issue #17062)
   Reported by: drookie
   Patches: 
         20100525__issue17062.diff.txt uploaded by tilghman (license 14)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 16:23:28 +00:00
Tilghman Lesher 5c9fdd8666 Construct socket name, according to the Postgres docs, and document as such.
(closes issue #17392)
 Reported by: dps
 Patches: 
       20100525__issue17392.diff.txt uploaded by tilghman (license 14)
 Tested by: dps


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265894 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 16:14:48 +00:00
Mark Michelson 822423adb8 .......
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265844 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 14:45:47 +00:00
Mark Michelson 83ca84d9bd Re-enable "always" option for videosupport option in sip.conf.
(closes issue #17016)
Reported by: twilson
Patches:
      17016.patch uploaded by mmichelson (license 60)
	  Tested by: devmod



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265842 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 14:41:55 +00:00
Terry Wilson f1503b9e1d Ensure that libneon > 0.29.0 is installed for res_calendar_ews
This uses a modified version of pabelanger's patch that checks for NTLM support
instead, which was added in 0.29.0 which is what is required for
res_calendar_ews.

(closes issue #17391)
Reported by: loloski
Patches: 
      issue17391.patch.v2 uploaded by pabelanger (license 224)
Tested by: twilson


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265793 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 05:33:11 +00:00
Tilghman Lesher a7498ae02e Use configure to determine the prefixes and include directories properly.
This ensures cross-platform compatibility, even among Linux distributions,
which don't always put headers in the same place.

(closes issue #17391)
 Reported by: loloski


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-26 00:29:40 +00:00
Mark Michelson 01db62bdbe Properly use peer's outboundproxy for outbound REGISTERs.
The logic used in transmit_register to get the outboundproxy for a peer
was flawed since this value would be overridden shortly afterwards when
create_addr was called.

In addition, this also fixes some logic used when parsing users.conf so
that the peer name is placed in the internally-generated register string
so that an outboundproxy set in the Asterisk GUI will be used for outbound
REGISTERs.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265698 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 20:59:04 +00:00
David Vossel 170fdad7df Blocked revisions 265613 via svnmerge
........
  r265613 | dvossel | 2010-05-25 12:11:40 -0500 (Tue, 25 May 2010) | 8 lines
  
  fixes build issue with zaptel
  
  (closes issue #17394)
  Reported by: aragon
  Patches:
        half_buffer_fix.diff uploaded by dvossel (license 671)
  Tested by: aragon
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 17:12:28 +00:00
Matthew Nicholson 9ed82007f1 Merged revisions 265610 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r265610 | mnicholson | 2010-05-25 11:48:19 -0500 (Tue, 25 May 2010) | 8 lines
  
  Don't mark the cdr records of unanswered queue calls with "NOANSWER".  This restores the behavior prior to r258670.
  
  (closes issue #17334)
  Reported by: jvandal
  Patches:
        queue-cdr-fixes1.diff uploaded by mnicholson (license 96)
  Tested by: aragon, jvandal
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265611 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 17:00:11 +00:00
Richard Mudgett 838ce15e20 Memory leak in connected line data when SIP blond transfer done.
The handling of the control subclass AST_CONTROL_READ_ACTION frame leaked
connected line string memory in __ast_read().

Also in __ast_read() the frame type switch should not have had a case for
AST_CONTROL_READ_ACTION.  AST_CONTROL_READ_ACTION is not a frame type.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265608 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 16:23:51 +00:00
Tzafrir Cohen f14e56249a Typos: 'succesful' (lintian)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-25 08:31:51 +00:00
Terry Wilson 0390dae08d Merge the rest of the FullyBooted patch
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 22:21:58 +00:00
Mark Michelson cba378d847 Allow SendDTMF to play digits to a specified channel.
Patch supplied by reporter was modified to use autoservice and
prevent a potential channel ref leak but is otherwise as the
reporter uploaded it.

(closes issue #17182)
Reported by: rcasas
Patches:
      app_senddtmf.c.patch_trunk uploaded by rcasas (license 641)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265453 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 22:16:29 +00:00
Mark Michelson c5be9d2247 Print openh323 log to the Asterisk console.
(closes issue #17109)
Reported by: under
Patches:
      logstream.diff uploaded by under (license 914)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 22:05:15 +00:00
Mark Michelson f908dd984c Allow type=user SIP endpoints to be loaded properly from realtime.
(closes issue #16021)
Reported by: Guggemand
Patches:
      realtime-type-fix.patch uploaded by Guggemand (license 897)
	  (altered by me slightly to avoid ref leaks)
Tested by: Guggemand




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265449 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 21:44:30 +00:00
Richard Mudgett 4e38beb960 Make app_rpt.c able to compile again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 20:08:35 +00:00
David Vossel 94de6f3cb8 reverses incorrect logic introduced by r243200
The decoding of the replace_id did not need to be broken
up in this instance.  This was brought to my attention
again because it caused a segfault when the from or to
tags were not present in the "Replaces" header.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 19:42:54 +00:00
Terry Wilson 3c9a8ebadb Add the FullyBooted AMI event
It is possible to connect to the manager interface before all Asterisk modules
are loaded. To ensure that an application does not send AMI actions that might
require a module that has not yet loaded, the application can listen for the
FullyBooted manager event. It will be sent upon connection if all modules have
been loaded, or as soon as loading is complete. The event:

   Event: FullyBooted
   Privilege: system,all
   Status: Fully Booted

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 19:06:40 +00:00
Terry Wilson 880cde12ac Calendaring support for Exchange Server 2007+ via EWS
This commit adds support for calendaring with Exchange Server 2007+ via
Exchange Web Services. Full write support and for querying attendees. Many
thanks to Jan Kaláb for the feature.

(closes issue #17022)
Reported by: pitel
Patches: 
      res_calendar_ews.c uploaded by pitel (license 1008)
Tested by: pitel, twilson

Review: https://reviewboard.asterisk.org/r/557/
Review: https://reviewboard.asterisk.org/r/668/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265317 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 18:21:20 +00:00
Tilghman Lesher 6f998f06af On systems with a LOT of RAM, a signed integer sometimes printed negative.
(closes issue #16837)
 Reported by: jlpedrosa
 Patches: 
       20100504__issue16837.diff.txt uploaded by tilghman (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 18:19:08 +00:00
David Vossel fdb698ca2b fixes segfault when using generic plc
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265273 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-24 16:10:09 +00:00
Alexandr Anikin 45895dc320 small changes to avoiding 'freeing unused memory...'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-23 18:23:38 +00:00
Richard Mudgett ba8e183938 Channel initialization failure causes crashes.
__ast_channel_alloc_ap() has several points in the initialization of a new
channel structure where it could fail.  Since the channel structure is now
an ao2 object, the destructor callback needs to be able to handle clean up
when the structure setup is incomplete.

Problems corrected:

1) Failing to setup the alertpipe would not unreference the structure but
free it directly.  Doing this to an ao2_object is very bad.

2) File descriptors need to be initialized to -1 before a construction
failure could occur so the destructor will not close unopened descriptors.

3) The destructor needs to check that the string field has been
initialized before using any string field values.  Crashes expected.

4) The destructor should not notify devstate if the device name is empty.
It is a waste of cycles and a couple ERROR log messages are generated.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21 22:46:52 +00:00
Mark Michelson 1225ee831c Merged revisions 265089 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r265089 | mmichelson | 2010-05-21 15:59:14 -0500 (Fri, 21 May 2010) | 8 lines
  
  Don't hang up on a queue caller if the file we attempt to play does not exist.
  
  This also fixes a documentation mistake in file.h that made my original attempt
  to correct this problem not work correctly.
  
  (closes issue #17061)
  Reported by: RoadKill
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265090 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21 21:08:51 +00:00
Mark Michelson ee60cb8d41 Be sure to set the sin_family on the proxy when allocating.
(closes issue #17157)
Reported by: stuarth




git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@265087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-21 20:38:14 +00:00