I am implementing a command-line calendaring solution using libical to parse the CalDAV bits. I'm trying to figure out the easiest way to actually get at the CalDAV bits stored on my zimbra server and there's very little documentation in that respect.

Right now I am using iCal and it does everything for me in the background. I'm curious as to what exactly it is doing and how so I can reproduce that.