Commit graph

293 commits

Author SHA1 Message Date
Michiel van Baak
1d781feca6 Redo the event-based MWI in chan_skinny.
Dan saw regular segfaults with the old implementation and
rewrote it to make it really eventbased.
I altered it to be trunk compatible and wedhorn gave some feedback
and ideas how to make it even better.

(closes issue #13821)
Reported by: DEA
Patches:
      chan_skinny-mwi-events.txt uploaded by DEA (license 3)
Tested by: mvanbaak, DEA

"no probs by me" from wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@169367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-19 20:09:11 +00:00
Russell Bryant
ef6ad2b53c Merged revisions 168561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168561 | russell | 2009-01-13 13:13:05 -0600 (Tue, 13 Jan 2009) | 2 lines

Revert unnecessary indications API change from rev 122314

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-13 19:22:13 +00:00
Michiel van Baak
8c3a7a28bf Fix codec capability setup in chan_skinny
Behaviour now is that general codec config flows to default_line and default_device. [devices] stuff amends default_device and similar for [lines]. These are copied to individual device and line as they are created.
Added confcapability and confprefs for the configured stuff which doesn't change as device and so on are connected. prefs are based on line prefs if they exist, else the device prefs are used (prefs identifies codec order).

(closes issue #13806)
Reported by: pj
Patches:
      codecs.diff uploaded by wedhorn (license 30)
Tested by: pj and me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 17:14:13 +00:00
Eliel C. Sardanons
1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Michiel van Baak
e219598843 Add debug flag so skinny debug will show information about packets.
We dont want to scare users with this, so we added a devmode compile flag

(closes issue #13952)
Reported by: wedhorn
Patches:
      packetdebug3.diff uploaded by wedhorn (license 30)
Tested by: mvanbaak, wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 16:37:13 +00:00
Michiel van Baak
4a68fe383a dont send reorder tone after a device is hungup if a dialout is abandoned or failed.
Without this reorder tone will play after hangup and both wedhorn's and my wife have threatened to use an axe on our asterisk box

(closes issue #13948)
Reported by: wedhorn
Patches:
	switch.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:57:11 +00:00
Michiel van Baak
ced8427b09 Add Media Source Update to skinny's control2str
(issue #13948)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:48:09 +00:00
Michiel van Baak
58ff098571 fix a very occasional core dump in chan_skinny found by wedhorn.
(issue #13948)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:06:38 +00:00
Terry Wilson
d66a8cd264 Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon trying to parse an invalid config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 19:25:14 +00:00
Michiel van Baak
86f900b201 This commit does two things:
- Add CLI aliases module to asterisk.
- Remove all deprecated CLI commands from the code

Initial work done by file.
Junk-Y and lmadsen did a lot of work and testing to
get the list of deprecated commands into the configuration file.

Deprecated CLI commands are now handled by this new module,
see cli_aliases.conf for more info about that.

ok russellb@ via reviewboard

(closes issue #13735)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@156120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-12 06:46:04 +00:00
Tilghman Lesher
721b90aa4b Recorded merge of revisions 154263 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r154263 | tilghman | 2008-11-04 12:58:05 -0600 (Tue, 04 Nov 2008) | 3 lines
  
  Make the monitor thread non-detached, so it can be joined (suggested by Russell
  on -dev list).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-04 18:59:48 +00:00
Michiel van Baak
6f860c262d dont segfault when placing a call to a line that has no registered device.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-19 13:10:50 +00:00
Michiel van Baak
59d9255977 Break up skinny.conf into seperate sections for
devices and lines.

(closes issue #13412)
Reported by: wedhorn
Patches:
      config-restruct-v4.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@150426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-17 06:00:28 +00:00
Michiel van Baak
d1ee16cd9a make 'module unload chan_skinny.so' actually work.
(closes issue #13524)
Reported by: wedhorn
Patches:
      unload.diff uploaded by wedhorn (license 30)
	  With small tweak by me to prevent a crash


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-20 10:39:20 +00:00
Michiel van Baak
c8c11aae99 plug a couple of memleaks in chan_skinny.
(closes issue #13452)
Reported by: pj
Patches:
      memleak5.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, pj, mvanbaak

(closes issue #13294)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-14 22:16:34 +00:00
Tilghman Lesher
08af5bb312 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Michiel van Baak
cb5824d995 Added 'skinny show lines verbose'
This will print the subs and their status for every line (if any).

wedhorn did most of the work with his patch which introduced
'skinny show debug' but a discussion on IRC stated that it should be
added to 'skinny show lines'

Input on the output format by Qwell on IRC.

(closes issue #13344)
Reported by: wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-03 18:06:35 +00:00
Michiel van Baak
877549af70 fix unholding phones after hangup on older cisco phones.
Patch by wedhorn.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@139020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20 16:16:53 +00:00
Michiel van Baak
3f3b1d4dad chan_skinny now respects callwaiting=no
(closes issue #12691)
Reported by: sbisker
Patches:
      callwaitingv1.diff uploaded by wedhorn (license 30)
Tested by: wedhorn on old skinny phones, mvanbaak on 7960 and 7905 with latest firmware


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-19 16:56:50 +00:00
Sean Bright
db1ed285c4 More RSW merges. This should do it for the channels/ dir.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09 14:12:34 +00:00
Michiel van Baak
78a93bc386 show correct called party id and also store this to the 'placed calls' list once the call is connected.
(closes issue #13180)
Reported by: pj
Patches:
      2008080700_skinny_calledpartyid.diff uploaded by mvanbaak (license 7)
Tested by: mvanbaak, pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 21:19:39 +00:00
Mark Michelson
b3970abc30 Merged revisions 136062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r136062 | mmichelson | 2008-08-06 10:58:40 -0500 (Wed, 06 Aug 2008) | 16 lines

Since adding the AST_CONTROL_SRCUPDATE frame type,
there are places where ast_rtp_new_source may be called
where the tech_pvt of a channel may not yet have an
rtp structure allocated. This caused a crash in chan_skinny,
which was fixed earlier, but now the same crash has been 
reported against chan_h323 as well. It seems that the best 
solution is to modify ast_rtp_new_source to not attempt to 
set the marker bit if the rtp structure passed in is NULL.

This change to ast_rtp_new_source also allows the removal
of what is now a redundant pointer check from chan_skinny.

(closes issue #13247)
Reported by: pj


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 15:59:29 +00:00
Michiel van Baak
340809a771 whitespace fixes only.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-03 00:03:53 +00:00
Michiel van Baak
dc819e881e Dont coredump on register of non-configured devices
(closes issue #13224)
Reported by: mvanbaak
Patches:
      noncon.diff uploaded by wedhorn (license 30) with whitespace fixes by me
Tested by: wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-03 00:00:06 +00:00
Michiel van Baak
0f1a3177dc make this work again, and not segfault on device registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 13:56:00 +00:00
Kevin P. Fleming
bd28649280 --enable-dev-mode is your friend :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 13:21:16 +00:00
Michiel van Baak
532c10551a pass device instead of session to transmit_ functions.
(closes issue #10396)
Reported by: wedhorn
Patches:
      transmit3a.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 12:29:23 +00:00
Michiel van Baak
e9fc0e572c Merged revisions 135055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135055 | mvanbaak | 2008-08-01 12:55:27 +0200 (Fri, 01 Aug 2008) | 8 lines

fix some potential deadlocks in chan_skinny

(closes issue #13215)
Reported by: qwell
Patches:
      2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-01 11:00:13 +00:00
Tilghman Lesher
0c23159464 Deprecate *_device_state_* APIs in favor of *_devstate_* APIs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 21:20:03 +00:00
Michiel van Baak
3cb49856ae Convert chan_skinny's open-coded linked lists to the list macros
(closes issue #12956)
Reported by: DEA
Patches:
      chan_skinny-linkedlists-v2.txt uploaded by DEA (license 3)
Tested by: DEA, mvanbaak



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-13 22:59:35 +00:00
Brett Bryant
5b7933fe5e Janitor patch to change uses of sizeof to ARRAY_LEN
(closes issue #13054)
Reported by: pabelanger
Patches:
      ARRAY_LEN.patch2 uploaded by pabelanger (license 224)
Tested by: seanbright


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 18:09:35 +00:00
Michiel van Baak
ea326c832f remove block of commented code to set __ourip
This is now handled in skinny_register and load_config.

part two of chan_skinny cleanup


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 23:18:46 +00:00
Michiel van Baak
8caf21863e remove paging device from chan_skinny.
This has never been used, and noone could give us info about what
it is used for.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 23:14:08 +00:00
Michiel van Baak
9ba79e3b68 implement transfer functionality in chan_skinny
(closes issue #9939)
Reported by: wedhorn
Patches:
      transfer_v6.diff uploaded by wedhorn (license 30)
      chan_skinny-transfer-trunk-v10.txt uploaded by DEA (license 3)
      chan_skinny-transfer-trunk-v12.txt uploaded by mvanbaak (license 7)
Tested by: DEA, wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 19:37:40 +00:00
Tilghman Lesher
596f8b5186 Merged revisions 123113 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123113 | tilghman | 2008-06-16 14:50:12 -0500 (Mon, 16 Jun 2008) | 2 lines

Port "hasvoicemail" change from SIP to other channel drivers

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 19:57:05 +00:00
Michiel van Baak
a68a160b75 Implement call parking in chan_skinny.
(closes issue #11342)
Reported by: DEA
Patches:
      chan_skinny-park.txt uploaded by DEA (license 3)
      chan_skinny-park-v2.diff.txt uploaded by mvanbaak (license 7)
Tested by: DEA, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@122493 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 11:20:47 +00:00
Michiel van Baak
4741113bac formatting changes.
A lot of whitespace issues have been resolved in this commit
Also some doc updates, but that's only 6 lines


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118824 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-28 22:05:58 +00:00
Michiel van Baak
1bd776b0ea remove unused astobj.h header file from chan_skinny.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@118750 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-28 17:58:21 +00:00
Michiel van Baak
f1e9371da8 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue #12674)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117802 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-22 16:29:54 +00:00
Joshua Colp
df6cd7a879 Merged revisions 116799 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r116799 | file | 2008-05-16 17:28:11 -0300 (Fri, 16 May 2008) | 4 lines

Check to make sure an RTP structure exists before calling ast_rtp_new_source on it.
(closes issue #12669)
Reported by: sbisker

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116800 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-16 20:30:24 +00:00
Mark Michelson
0ebec7fa4f Undo inadvertent changes to chan_skinny caused by the merging of urgent messaging
support.

Thanks to Damien Wedhorn for pointing out the problem.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@116138 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-14 00:20:05 +00:00
Mark Michelson
7daebcd610 Adding support for "urgent" voicemail messages. Messages which are
marked "urgent" are considered to be higher priority than other messages
and so they will be played before any other messages in a user's mailbox.

There are two ways to leave an urgent message. 
1. send the 'U' option to VoiceMail().
2. Set review=yes in voicemail.conf. This will give instructions for 
   a caller to mark a message as urgent after the message has been recorded.

I have tested that this works correctly with file and ODBC storage, and James
Rothenberger (who wrote initial support for this feature) has tested its use
with IMAP storage.

(closes issue #11817)
Reported by: jaroth
	Based on branch http://svn.digium.com/svn/asterisk/team/jrothenberger/asterisk-urgent
Tested by: putnopvut, jaroth



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@115588 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-05-09 21:22:42 +00:00
Russell Bryant
dff07f833c s/chan_zap/chan_skinny/
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-27 22:54:33 +00:00
Michiel van Baak
4cd37243ff Make MWI in chan_skinny event based modeled after chan_zap and chan_mgcp.
(closes issue #12214)
Reported by: DEA
Patches:
      chan_skinny-vm-events-v3.txt uploaded by DEA (license 3)
	  Tested by: DEA and me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114700 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-27 15:17:18 +00:00
Michiel van Baak
08e674bce0 Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
      20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-24 22:16:48 +00:00
Jeff Peeler
41fd7a6a21 (closes issue #6113)
Reported by: oej
Tested by: jpeeler

This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option.

Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114487 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-21 23:42:45 +00:00
Joshua Colp
4a21c5dd22 Fix spelling of existent in a few places.
(closes issue #12409)
Reported by: candlerb


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@114024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-10 13:45:45 +00:00
Jason Parker
d314fd5336 Move all messages wrapped in skinnydebug from debug to verbose.
(closes issue #12224)
Reported by: DEA
Patches:
      chan_skinny-debug-log.txt uploaded by DEA (license 3)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113834 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-09 17:41:09 +00:00
Jason Parker
b52ec53da7 Merged revisions 113504 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113504 | qwell | 2008-04-08 13:48:55 -0500 (Tue, 08 Apr 2008) | 1 line

Add a little more that is required for previously added devices.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 18:49:21 +00:00
Jason Parker
f469ee8cf2 Merged revisions 113454 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r113454 | qwell | 2008-04-08 13:07:49 -0500 (Tue, 08 Apr 2008) | 4 lines

Add support for several new(ish) devices - most notably, 7942/7945, 7962/7965, 7975.

Thanks to Greg Oliver for providing me the required information.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@113455 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-04-08 18:08:35 +00:00