tl;dr: Value student work and universal communication over content.
I'm going to add a second answer to discuss a somewhat broader context. I was a pioneer in hybrid courses: partly online and partly face to face. One model was monthly face to face meetings of several hours with most work done remotely. The model assumed round-the-clock work (students lived in many time zones and had different work schedules) and so the possibility of anytime contact had to be maintained. All work in the course was team work with teams of 4-5 students in a class of about 20. The individual teams also found it difficult to meet face-to-face (FTF) other than during the lunch period of the monthly FTF meet up.
During the FTF we (the two co-instructors) were careful to do only those things that required group interaction, so there was no lecturing. Educational games were important to us. You can teach software process through games, it turns out, producing a non-software product instead.
Content of the course could be read by students from books and online material, some from the instructors and some otherwise. The core of the course was a large iterative project done by each team. Sometimes the teams worked on the same thing and sometimes they each worked on different aspects of the (software) project.
The students were expected to do all of their work between FTF sessions, so communication was all important.
The two main tools we used were a wiki, which any student or faculty member could edit, and a mailing list to which everyone was subscribed. The faculty could put up wiki pages (as could students) to point everyone to content, etc. The mailing list guaranteed that any question asked by anyone was seen by all as were all answers. It was a "full information" situation.
Private messages to faculty were discouraged for anything other than personal issues such as grading.
The individual teams sometimes used Skype for coordination and planning, but could also use the mailing list or wiki for that.
While we didn't use it much, a chat-server can also be useful for real-time conversations. This can be advantageous over Skype in certain populations - our students were older so hearing may be an issue. One issue is that not all students may be available for a real-time conversation (here email works better), but if an entire conversation thread can be captured and then posted to either the wiki or to the mailing list the downside is minimized a bit. A chat server is more useful to a small working group as the numbers are smaller so it is more likely everyone can get involved and the conversation thread is less chaotic.
The underlying philosophy of the course was that the important things were student work and universal communication. Content was much less important than those two. Content is available everywhere on nearly everything. It isn't content that makes the course.
I found the same tools and philosophy useful in other hybrid courses that weren't quite as intense as the one described above.
Note that this answer was posted before a title change to the question narrowed the question. The original title asked for "tools for online teaching." This answer was provided in that light.