Commit Graph

2567 Commits

Author SHA1 Message Date
Kevin P. Fleming
2ebf0eee36 remove some more chan_zap references
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137529 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-13 20:42:33 +00:00
Kevin P. Fleming
a57dd05769 convert this module to be able to handle DAHDI or Zaptel (reported on asterisk-users, don't know how this got missed before)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137188 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-11 13:33:35 +00:00
Tilghman Lesher
925996df48 Update persistent state on all exit conditions.
(closes issue #12916)
 Reported by: sgenyuk
 Patches: 
       app_queue.patch.txt uploaded by neutrino88 (license 297)
 Tested by: sgenyuk, aragon


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136488 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 16:50:47 +00:00
Kevin P. Fleming
24dedd7016 work around a bug in gcc-4.2.3 that incorrectly ignores the casting away of 'const' for pointers when the developer knows it is safe to do so
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 16:11:17 +00:00
Mark Michelson
7dcb58af43 We only need to unregister the QueueStatus manager
command once on an unload



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 20:42:15 +00:00
Mark Michelson
bae517b1e2 Revert inadvertent changes to app_skel that occurred when
I was testing for a memory leak



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 00:27:54 +00:00
Mark Michelson
b8bbf8b61a Merging the issue11259 branch.
The purpose of this branch was to take into account
"burps" which could cause jitterbuffers to misbehave.
One such example is if the L option to Dial() were used
to inject audio into a bridged conversation at regular
intervals. Since the audio here was not passed through
the jitterbuffer, it would cause a gap in the jitterbuffer's
timestamps which would cause a frames to be dropped for a 
brief period.

Now ast_generic_bridge will empty and reset the jitterbuffer
each time it is called. This causes injected audio to be handled
properly.

ast_generic_bridge also will empty and reset the jitterbuffer
if it receives an AST_CONTROL_SRCUPDATE frame since the change
in audio source could negatively affect the jitterbuffer.

All of this was made possible by adding a new public API call
to the abstract_jb called ast_jb_empty_and_reset.

(closes issue #11259)
Reported by: plack
Tested by: putnopvut



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 00:25:10 +00:00
Steve Murphy
ee8adb313e (closes issue #12982)
Reported by: bcnit
Tested by: murf

I discovered that also, in the previous bug fixes and changes,
the cdr.conf 'unanswered' option is not being obeyed, so
I fixed this.

And, yes, there are two 'answer' times involved in this
scenario, and I would agree with you, that the first 
answer time is the time that should appear in the CDR.
(the second 'answer' time is the time that the bridge
was begun).

I made the necessary adjustments, recording the first
answer time into the peer cdr, and then using that to
override the bridge cdr's value.

To get the 'unanswered' CDRs to appear, I purposely
output them, using the dial cmd to mark them as
DIALED (with a new flag), and outputting them if
they bear that flag, and you are in the right mode.

I also corrected one small mention of the Zap device
to equally consider the dahdi device.

I heavily tested 10-sec-wait macros in dial, and
without the macro call; I tested hangups while the
macro was running vs. letting the macro complete
and the bridge form. Looks OK. Removed all the
instrumentation and debug.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-05 23:13:20 +00:00
Tilghman Lesher
b0e9870535 Memory leak on unload
(closes issue #13231)
 Reported by: eliel
 Patches: 
       app_voicemail.leak.patch uploaded by eliel (license 64)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-04 16:56:19 +00:00
Michiel van Baak
c5ef42b87c make app_ices compile on OpenBSD.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@135058 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-01 11:43:46 +00:00
Russell Bryant
9105d1ecff Get app_ices working again
(closes issue #12981)
Reported by: dlogan
Patches:
      20080709__app_ices_v2_update_trunk.diff uploaded by bbryant (license 36)
      20080709__app_ices_v2_update_14.diff uploaded by bbryant (license 36)
Tested by: bbryant


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134915 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-31 19:37:26 +00:00
Mark Michelson
f51e53921c Add more timeout checks into app_queue, specifically
targeting areas where an unknown and potentially
long time has just elapsed. Also added a check
to try_calling() to return early if the timeout
has elapsed instead of potentially setting a negative
timeout for the call (thus making it have *no* timeout
at all).


(closes issue #13186)
Reported by: miquel_cabrespina
Patches:
      13186.diff uploaded by putnopvut (license 60)
Tested by: miquel_cabrespina



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134758 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-31 15:56:18 +00:00
Kevin P. Fleming
7b61edde36 build against the now-typedef-free dahdi/user.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-29 22:05:57 +00:00
Mark Michelson
b7aa2fb03c Merging the imap_consistency branch.
The main aim of this branch was to make the IMAP
code function in the same manner as the ODBC code
does, eliminating the need for so many IMAP-specific
code chunks. The focal point of all of this work was
to make the various macros (e.g. RETRIEVE, DISPOSE) 
functionally equivalent.

While doing the above work, I also fixed a few bugs
that I came across in my testing. Among these were

1. Fixed message forwarding. This was completely 
broken when using IMAP.
2. Fixed the inability to save new messages as old
and vice versa.
3. Fixed the "delete" options in voicemail.conf when
using IMAP storage.

Even though a few bugs were fixed and the code is
a lot more consistent, the one thing that was *not*
improved in this branch was performance.

The merge of this to trunk may not come immediately
due to the amount of work it will probably involve.

(closes issue #12764)
Reported by: balsamcn



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-29 15:54:48 +00:00
Tilghman Lesher
0b2e233479 Detect when sox fails to raise the volume, because sox can't read the file.
(closes issue #12939)
 Reported by: rickbradley
 Patches: 
       20080728__bug12939.diff.txt uploaded by Corydon76 (license 14)
 Tested by: rickbradley


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134161 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-28 21:50:50 +00:00
Tilghman Lesher
8e0165bb17 Remove unnecessary mmap flag
(Closes issue #13161)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 18:00:33 +00:00
Kevin P. Fleming
cd12517eeb make some more changes to the dahdi/zap channel name support stuff to ensure allthe globals are 'const', and clean up mmichelson's changes to app_chanspy to simplify the code
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 20:42:30 +00:00
Mark Michelson
252c5728fc As suggested by seanbright, the PSEUDO_CHAN_LEN in
app_chanspy should be set at load time, not at compile
time, since dahdi_chan_name is determined at load time.

Also changed the next_unique_id_to_use to have the 
static qualifier.

Also added the dahdi_chan_name_len variable so that
strlen(dahdi_chan_name) isn't necessary. Thanks to
seanbright for the suggestion.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 19:39:47 +00:00
Mark Michelson
9482af686b Zap/pseudo is ten characters, but DAHDI/pseudo is
twelve. The strncmp call in next_channel should
account for this.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133104 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 19:06:16 +00:00
Mark Michelson
ba642db1f4 Update the "last" channel in next_channel in app_chanspy so
that the same pseudo channel isn't constantly returned.

related to issue #13124



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133101 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 18:57:17 +00:00
Kevin P. Fleming
6a0bcc4754 fix up namespace pollution for dahdi_chan_mode enum
correct registration of AMI actions in chan_dahdi; in zap-only mode, only register the Zap flavors of the actions (and use Zap prefixes for headers and acks), but in dahdi+zap mode, register both Zap and DAHDI flavors of actions



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@132787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-22 22:11:01 +00:00
Brett Bryant
222f6d733a Fix a bug where SENDTEXTSTATUS isn't set properly when it isn't
supported on a channel (yet _another_ useful patch by eliel).

(issue #13081)
Reported by: eliel
Patches:
      app_sendtext1.4.c uploaded by eliel (license 64)
Tested by: eliel


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@132507 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-21 20:51:45 +00:00
Mark Michelson
592497392b Move the init_queue call back to where it used to be (changed
Sept 12 last year). It was moved then to prevent a memory leak.
Since then, the same memory leak recurred and was fixed in a 
better way.

Now it has been found that the placement of this init_queue
call can cause problems if a realtime queue has values changed
to an empty string. The problem is that the default value
for that queue parameter would not be set.

(closes issue #13084)
Reported by: elbriga



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@131369 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 20:23:02 +00:00
Mark Michelson
47924ba64d Apparently, "thread safety" is important, whatever
that means. :P

(Thanks Russell!)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@131357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 19:37:08 +00:00
Mark Michelson
e10908c6d2 Make absolutely certain that the transfer datastore
is removed from the calling channel once the caller
is finished in the queue. This could have weird con-
sequences when dialing local queue members when multiple
transfers occur on a single call.

Also fixed a memory leak that would occur when an
attended transfer occurred from a queue member.

(closes issue #13047)
Reported by: festr



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@131299 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-16 18:57:34 +00:00
Mark Michelson
cb503c4cb4 Add a check to the CAN_EARLY_BRIDGE macro in app_dial to
be sure there are no audiohooks present on the channels
involved. This fixed a one-way audio situation I had in
my test setup. I couldn't find any open issues that suggested
one-way audio with regards to mixmonitor (or other audiohook)
usage, though.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@130792 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-14 17:50:21 +00:00
Kevin P. Fleming
75c6f9ab0f a whole pile of Zaptel/DAHDI compatibility work, with lots more to come... this tree is not yet ready for users to be easily upgrading or switching, but it needs to be :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@130298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 22:12:26 +00:00
Mark Michelson
7b1c12bcb0 Backport TCP-related timeouts to IMAP voicemail in 1.4
since it should solve bugs people are experiencing. Specifically,
there are times where communication with the IMAP server causes
system calls to block forever. If this should happen when querying
the mailbox so that chan_sip's do_monitor thread can send MWI to
a phone, it means that SIP calls cannot be processed any more.

The timeout options are outlined in doc/imapstorage.txt. Defaults
for the timeouts are sixty seconds.

(closes issue #12987)
Reported by: mthomasslo



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@129158 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 21:09:10 +00:00
Tilghman Lesher
e46bb5f5bc Cause SIP to return a 480 instead of a 404 when a sip peer exists, but is not
registered.
(closes issue #12885)
 Reported by: ibc
 Patches: 
       20080701__bug12885__2.diff.txt uploaded by Corydon76 (license 14)
 Tested by: ibc


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@129149 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 20:27:47 +00:00
Tilghman Lesher
37d56a983f Check for non-NULL before stripping characters.
(closes issue #12954)
 Reported by: bfsworks
 Patches: 
       20080701__bug12954.diff.txt uploaded by Corydon76 (license 14)
 Tested by: deti


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@128856 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-08 00:01:30 +00:00
Tilghman Lesher
03ba0f7ef0 Stop using deprecated method, as requested by Kevin.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@128812 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-07 23:21:52 +00:00
Kevin P. Fleming
589c7bdb3a remove this, it has been moved to the main Makefile
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@127895 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-03 22:20:16 +00:00
Mark Michelson
2ddc2e2ca0 Add error message to failed open(2) calls inside the copy() function of
app_voicemail. This idea came as part of my work in helping to resolve
issue #12764.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@127244 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-01 23:36:40 +00:00
Mark Michelson
28004bb651 Add the interface of a queue member to the output of the "queue show" command
so that it can easily be associated with a queue member's name. This helps
so that the appropriate queue member can be removed or paused since the 
interface is required, not the member's name.

(closes issue #12783)
Reported by: davevg
Patches:
      app_queue.diff uploaded by davevg (license 209) with small mod from me



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@125585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 22:52:39 +00:00
Mark Michelson
3d2bc51957 Backport of attended transfer queue_log patch from trunk.
This patch allows for attended transfers to be logged in the
queue_log the same way that blind transfers have always been.

It was decided by popular opinion on the asterisk-dev mailing
list that this should be backported to 1.4. Thanks to everyone
who gave an opinion.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@125530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 22:02:55 +00:00
Mark Michelson
033e0392e7 Prior to this patch, the "queue show" command used cached
information for realtime queues instead of giving up-to-date
info. Now realtime is queried for the latest and greatest in
queue info.

(closes issue #12858)
Reported by: bcnit
Patches:
      queue_show.patch uploaded by putnopvut (license 60)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@125476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 20:56:01 +00:00
Kevin P. Fleming
994998a9da allow tonezone to live in a different place than DAHDI/Zaptel, since dahdi-tools and dahdi-linux are now separate packages and can be installed in different places
don't include tonezone.h in dahdi_compat.h, because only a couple of modules need it

get app_rpt building again after the DAHDI changes

(closes issue #12911)
Reported by: tzafrir



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@125132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 22:21:30 +00:00
Tilghman Lesher
b8e3e5c6d5 Occasionally control characters find their way into CallerID. These need to
be stripped prior to placing CallerID in the headers of an email.
(closes issue #12759)
 Reported by: RobH
 Patches: 
       20080602__bug12759__2.diff.txt uploaded by Corydon76 (license 14)
 Tested by: RobH


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@124910 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-24 21:08:52 +00:00
Steve Murphy
a8f8c021d2 (closes issue #12910)
Reported by: chris-mac

Sorry, my testing did not contain the simple case of forkCDR(v),
I am much embarrassed to admit.  If I had, I would have 
more solidly initialized the opts element for varset.




git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@124540 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-22 02:54:52 +00:00
Tilghman Lesher
6bcc02490f usleep with a value over 1,000,000 is nonportable. Changing to use sleep()
instead.  (closes issue #12814)
 Reported by: pputman
 Patches: 
       app_rtp_sleep.patch uploaded by pputman (license 81)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@124450 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-20 23:12:33 +00:00
Mark Michelson
83efc923de Fix IMAP forwarding so that messages are sent to the proper mailbox.
(closes issue #12897)
Reported by: jaroth
Patches:
      destination_forward.patch uploaded by jaroth (license 50)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@124112 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-19 20:28:41 +00:00
Mark Michelson
d7fbc9aae2 davidw pointed out that the holdtime calculation used by
app_queue does not use "boxcar" filtering as the comments
say. The term "boxcar" means that the number of samples used
to calculate stays constant, with new samples replacing the
oldest ones. The queue holdtime calculation uses all holdtime
samples collected since the queue was loaded, so the comment
has been changed to be accurate.

(closes issue #12781)
Reported by: davidw



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@123274 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-17 15:56:55 +00:00
Terry Wilson
d432d18723 Remove extra option from previous solution attempt
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122617 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 17:45:55 +00:00
Terry Wilson
e128c2a314 This should fix the behavior of the 'T' dial feature being passed incorrectly to the transferee when builtin_atxfers are used.
Also, doing a builtin_atxfer to parking was broken and is fixed here as well.

(closes issue #11898)
	Reported by: sergee
	Tested by: otherwiseguy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-13 16:29:07 +00:00
Jeff Peeler
f9818af8dd Adds DAHDI support alongside Zaptel. DAHDI usage favored, but all Zap stuff should continue working. Release announcement to follow.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 19:08:20 +00:00
Mark Michelson
9f669a3a09 Properly play a holdtime message if the announce-holdtime option is
set to "once."

(closes issue #12842)
Reported by: ramonpeek
Patches:
      patch001.diff uploaded by ramonpeek (license 266)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 18:50:58 +00:00
Jeff Peeler
0c0a5cdc73 (closes issue #12193)
Reported by: davidw
Patch by: Corydon76, modified by me to work properly with ParkAndAnnounce app



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122208 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 15:46:08 +00:00
Tilghman Lesher
3ca503066a Flipflop the sections for two options, since the section for 'X' (exit context)
may otherwise absorb keypresses meant for 's' (admin/user menu).
(closes issue #12836)
 Reported by: blitzrage
 Patches: 
       20080611__bug12836.diff.txt uploaded by Corydon76 (license 14)
 Tested by: blitzrage


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122137 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 15:18:39 +00:00
Steve Murphy
50449140e8 Arkadia tried to warn me, but the code added to ast_cdr_busy, _failed, and _noanswer was redundant. Didn't spot it until I was resolving conflicts in trunk. Ugh. Redundant code removed. It wasn't harmful. Just dumb.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122127 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 14:51:44 +00:00
Steve Murphy
5c2cf0f3c0 (closes issue #10668)
Reported by: arkadia
Tested by: murf, arkadia

Options added to forkCDR() app and the CDR() func to
remove some roadblocks for CDR applications.

The "show application ForkCDR" output was upgraded
to more fully explain the inner workings of forkCDR.

The A option was added to forkCDR to force the
CDR system to NOT change the disposition on the
original CDR, after the fork. This involves
ast_cdr_answer, _busy, _failed, and so on.

The T option was added to forkCDR to force 
obedience of the cdr LOCKED flag in the
ast_cdr_end, all the disposition changing
funcs (ast_cdr_answer, etc), and in the
ast_cdr_setvar func.

The CHANGES file was updated to explain ALL
the new options added to satisfy this bug report
(and some requests made verbally and via 
email, irc, etc, over the past months/year)

The 's' option was added to the CDR() func,
to force it to skip LOCKED cdr's in the
chain.

Again, the new options should be totally transparent
to existing apps! Current behavior of CDR,
forkCDR, and the rest of the CDR system should
not change one little bit. Until you add the
new options, at least!



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@122046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-12 13:47:34 +00:00