Broadcast television viewing over the Internet (IPTV) is becoming commonplace. Multicasting trees serve as an efficient mechanism to deliver streaming data as each internal node duplicates the packets it receives and sends it along to its children which eventually delivers them to the clients. Given a set of multicasting trees whose roots are servers capable of broadcasting a set of distinct channels, and a set of clients (which are not part of the multicasting trees) each with a set of requested channels, our goal is to determine for each client for each of its channel request, a node (contact node) in the appropriate multicast tree (that serves the channel). The contact nodes are determined in such a way that certain optimization constraints are taken into consideration and satisfied. We have provided Integer Programming (IP) models and heuristics to find these contact nodes in order to optimize constraints on zap time and bandwidth utilization. The proposed IP model is novel and the polynomial-time heuristic provide a fairly good solution in a short amount of time.