[Home]

Summary:ASTERISK-24763: CalDav calendar fails to process day long event when time is set to 00:00
Reporter:juanmol (juanmol)Labels:
Date Opened:2015-02-06 01:59:09.000-0600Date Closed:2017-09-13 14:52:56
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_calendar_caldav
Versions:13.0.1 13.1.1 Frequency of
Occurrence
Constant
Related
Issues:
Environment:debian wheezy amd64Attachments:( 0) 1.png
( 1) 2.png
( 2) 3.png
( 3) 4.png
( 4) 5.png
( 5) 6.png
( 6) 7.png
( 7) 8.png
( 8) 9.png
Description:trying with periodic events the caldav integration doesn't works. At the moment of creation the event with any client tool, you can see updated events in asterisk, but in few hours the system doesn't works. For example:

{noformat}
asterisk -rx 'calendar show calendar calendar_matraca_es'
Name              : calendar_matraca_es
Notify channel    : SIP/TROLOLO
Notify context    : calendar_event_notif
Notify extension  : s
Notify applicatio : Playback
Notify appdata    : tt-weasels
Refresh time      : 1
Timeframe         : 2
Autoreminder      : 10
Events
------
Summary     : fuera matraca_es
Description : out
Organizer   :
Location    : 10
Categories  :
Priority    : 0
UID         : 52339C61-408B-487D-AA34-9F7E3FB57B4A
Start       : 2015-02-05 12:00:00 AM +0100
End         : 2015-02-06 12:00:00 AM +0100
Alarm       :

Summary     : fuera matraca_es
Description : out
Organizer   :
Location    : 10
Categories  :
Priority    : 0
UID         : 52339C61-408B-487D-AA34-9F7E3FB57B4A
Start       : 2015-02-05 12:00:00 AM +0100
End         : 2015-02-06 12:00:00 AM +0100
Alarm       :
{noformat}

it's a duplicated item with the same UID. If i see the same calendar with other clients, it shows correctly. For example with {{CalDAVClientLibrary}}:
{noformat}
./runshell.py --server http://server:5232
User: asterisk
Password:
cd asterisk/13A69070-B7CA-4F82-A698-1FFFCA73EBD4/
/asterisk/13A69070-B7CA-4F82-A698-1FFFCA73EBD4 > ls
52339C61-408B-487D-AA34-9F7E3FB57B4A.ics
612ACABD-5BD0-44BE-9378-AC598A3F47E9.ics
8394DB77-2DCB-45A1-AE79-7FA534EB44D4.ics
C68122B7-A0C1-419A-A10A-F6A6F0DBBCEA.ics
E3516CC9-899C-42B3-A3C2-59E5AC76769C.ics
{noformat}

as you can see, there are only one {{52339C61-408B-487D-AA34-9F7E3FB57B4A.ics}} file and others event more that needs to be showed in asterisk calendar show command (same time and date).

I have test with other asterisk 10.5.1 connected to the same server (same user/pass and conf file) and it works perfect.
Comments:By: juanmol (juanmol) 2015-02-06 04:24:12.879-0600

the bug persist in Asterisk 13.1.1

By: Matt Jordan (mjordan) 2015-02-06 09:35:27.891-0600

We require a complete debug log to help triage the issue. This document will provide instructions on how to collect debugging logs from an Asterisk machine for the purpose of helping bug marshals troubleshoot an issue: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

There haven't been many (or even, any) changes in {{res_calendar_caldav}} since Asterisk 10 - so if there is an issue, I'd suspect it to be something subtle.

Please attach your calendar.conf as well as the relevant portion of your dialplan.

By: juanmol (juanmol) 2015-02-09 01:03:06.365-0600

calendar.conf
[calendar_matraca_es]
type = caldav
url = http://caldavserver:5232/asterisk/13A69070-B7CA-4F82-A698-1FFFCA73EBD4
user = asterisk
secret = asterisk
refresh = 1
timeframe = 2
autoreminder = 10
channel = SIP/TROLOLO
context = calendar_event_notify
extension = s
waittime = 30
app = Playback
appdata = tt-weasels


By: juanmol (juanmol) 2015-02-09 01:05:32.687-0600

extensions.conf
same => n,Set(id=${CALENDAR_QUERY(calendar_matraca_es,${EPOCH},${EPOCH})})
same => n,Set(contador=0)
same => n,Set(prioridadmenor=15)
same => n(comprueba_query),GotoIf($[${contador} = ${CALENDAR_QUERY_RESULT(${id},getnum)}]?actua_query)
same => n,Set(contador=$[${contador}+1])
same => n,ExecIf($[${CALENDAR_QUERY_RESULT(${id},location,${contador})} < ${prioridadmenor}]?Set(prioridadmenor=${CALENDAR_QUERY_RESULT(${id},location,${contador})}))
same => n,ExecIf($[${CALENDAR_QUERY_RESULT(${id},location,${contador})} = ${prioridadmenor}]?Set(actuador=${contador}))

same => n,GotoIf($[ "${contador}" = "20" ]?fallo_critico,s,1)

same => n,Goto(comprueba_query)
same => n(actua_query),Set(mensajehorario=${CALENDAR_QUERY_RESULT(${id},description,${actuador})})
same => n,Set(sumario=${CALENDAR_QUERY_RESULT(${id},summary,${actuador})})
same => n,Set(aplicacion=${CUT(mensajehorario, ,1)})
same => n,Set(parametro=${CUT(mensajehorario, ,2)})


; i know, i need to clean a little this code.

By: juanmol (juanmol) 2015-02-09 01:09:47.604-0600

I have sent the calendar and extensions. I think the only needed is calendar.conf, i can attach the extensions or the log but ... it's a new empty system, to see the bug i only need to wait hours. The Asterisk it's not receiving or making any calls. What i mean, you can see the bug only configuring the calendar.conf file.

By: juanmol (juanmol) 2015-02-09 02:03:40.891-0600

the envent that fails it's an all day event with daily frequency. Maybe the caldav client library is searching for new events, and at the same time 00:00 it see the end of one of the event and the start of the next ... maybe?

By: juanmol (juanmol) 2015-02-09 03:30:41.267-0600

as you can see i can reproduce the error:
1.png empty calendar
2.png no events in Asterisk
3.png creating a full day event
4.png with daily frequency
5.png the result
6.png the BUG!!
7.png trying with another event, this time from 00:00 to 00:00 next day (daily frequenzy too)
8.png the result
9.png working! (my workaround)

By: Matt Jordan (mjordan) 2015-02-11 11:26:10.816-0600

Please do attach the log and your configuration files.

Please do *not* paste them in as a comment. That makes it very difficult to review the information.

By: Rusty Newton (rnewton) 2015-02-26 18:35:43.272-0600

Juanmol we haven't heard back from you. Can you provide an Asterisk debug log capture during the calendar event creation and when the issue shows up?

Please follow this guide on how to collect a log: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

Be sure the 'DEBUG' and 'VERBOSE' message types appear in the log before attaching it to the issue.

You can attach the log and re-attach your config files with "More >Attach Files" .

By: Matt Jordan (mjordan) 2015-03-30 09:14:56.731-0500

I think we might have enough here to figure out what is happening.

By: Rusty Newton (rnewton) 2015-04-13 19:01:18.657-0500

Forgot to unassign myself!

By: Sean Bright (seanbright) 2017-09-13 14:52:56.352-0500

I can't reproduce this with Asterisk 13.17.1.

If you can reproduce the bug in at least Asterisk 13.17.1 and can provide SSH access for me to debug, please feel free to re-open.