Joint Routing, Channel Assignment, and Link Scheduling