iCAl not working

CMS Version

CMS 4.0.12

Player Type

Widnows Players

Player Version

v4 R402

Issue

I am trying to add a iCal to a layout and the google public iCal link isn’t working. It just gives me the error, “The iCal provided is not valid, please choose a valid feed.” The thing is I tested this in a cloud CMS I manage and it works just fine. Am I missing something?

Thanks!

I have this same issue, I’ve attempted using both a published Outlook ics file and a google calendar version of my calendar and both are “not valid”. I have a work around using google calendar’s webview and the embedded content widget.

it functions but isn’t optimal or pretty.

Bumping again as I am still looking for an answer.

I’m not sure if this helps. My server tech and I have been trying to resolve an issue with iCal files as well. They always say not valid.

When we turn on verbose logging we see “cURL 60” or “cURL28” errors for the iCal files. These are certificate errors thrown when Xibo attempts to get the site certificate for the iCal file but either can’t get it or can’t understand what it gets. We aren’t sure what this is caused by because it could be the fault of the ics provider not having an up-to-date certificate, xibo’s libraries not being able to read the certificate, or something preventing the xibo server from receiving the certificate like a firewall or misconfigured docker.

I’d suggest checking your log file’s for the exact error it throws when you publish a layout with the “not Valid” iCal. Then try and track down the cause by checking your site certificates, server configuration and firewall rules. Sadly we haven’t been able to figure out the issue yet but its a start.

I have passed on the suggestion to my own server tech and will have them take a look at it.

We did just try upgrading from 4.0.12 to 4.0.14 and the problem persists, though with a weird caviat now. For backstory, I am trying to link a university calendar to a display and when I add the iCal to google and try using the google public iCal link it gives me the “the ical provided is not valid” message. The same link works just fine in the cloud version of the CMS. However the university website also provides the calendar in a non-ical format, and that .php version does work on our local hosted server. Is there some form of conversion that the cloud version does, but the local host doesn’t do by default?

I did confirm that the server can reach the public address for the calendar in a webpage widget and I can embed the calendar without issue, it is only the calendar widget that doesn’t work.

Here are the links:
Not working - https://calendar.google.com/calendar/ical/0i41anf52hsdk9vp1autnacaq7kgj8nv%40import.calendar.google.com/public/basic.ics

Working -
https://www.wichita.edu/calendar/link/ical.php

After much more poking around I’ve found what causes my problem. It might be related to yours.

the Xibo server’s security settings is blocking access. This is not the firewall itself but the server’s webfilter as defined by my organization.

As I understand it the server has to download the file and then distribute it to the players, my webfilter is blocking that initial download even though my workstation and my player machines could directly access it. In your case this might be caused by firewall rules, webfilter services, or traffic shaping on your network. I’d look at anything that restricts or directs traffic specifically to your Xibo server instance. We isolated this by remoting into the server then pinging the published calendar. Then monitoring the traffic logs of the firewall and webfilter for errors at the same time. We don’t use traffic shaping but if we did we would have had to look at those logs for the same time code to see where the problem broke down.

Ironically, if I could just give the server’s calendar widget the iCal export or had html embed code that would parse the published iCal on the player machine it would bypass the server restrictions. At least that’s my case.

Hit a similar issue (CMS version 4.1.00), can’t be security or firewall related for me as the ics file is being staticly served from a local http server on the same subnets etc.etc, not even using https.

What I did find was using the option “Get events using a preset date range?” causes the issue, turn that off and just use the default “Events from the start of the…” options works without any issues. Fortunatly that work around is fine for my uses, but not ideal.

For reference my ics file is generated by: https://ical.marudot.com/
and apart from a few liens that are too long validates against: iCalendar Validator

In our instance it wasn’t affected by the date range. It literally was blocked and showed up in the log as “unreachable” though I’ve seen another error recently after updating the server that says “Cache not ready” which may be a separate issue.

I am facing the same issue. CMS 4.0.12 and android player V4_R403.
Can it be related to https?

I don’t know if this is related or a different issue, but i’ve been having problems with Calendar on my v4.1.2 deployment also. The same ics file works fine with my older 3.3.7 deployment.

The calendar is an Office 365 shared calendar.

In the logs on 4.1.2, i get the following:
downloadIcs: Unable to get feed: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://outlook.office365.com/owa/calendar/.../reachcalendar.ics

That error code (60) is ( libcurl - Error Codes):

CURLE_PEER_FAILED_VERIFICATION (60)

The remote server's SSL certificate or SSH fingerprint was deemed not OK. This error code has been unified with CURLE_SSL_CACERT since 7.62.0. Its previous value was 51.

After that, i get:
iscProvider: fetchData: Unable to download feed
and
The iCal provided is not valid, please choose a valid feed

I found a ticket relating to that error, but having played with permissions on the ca-certs folder, i can’t replicate their fix. cURL error 60: SSL certificate problem - Get Help - Xibo Community

I also found a post by @dan walking through updating CA root certificates for PHP ( Using Tickers, Forecast, Twitter and other external resources that make use of HTTPS connections - FAQ’s - Xibo Community ) and a follow-up talking about adding a SSL inspection certificate to that bundle ( Issues with weather (curl error 60) self signed cert - Get Help - Xibo Community ).

But no joy. I’ll keep pulling at this thread and see