Let G=(V,E) be a graph and T⊆V be a node set. The authors call an edge set S a Steiner tree for T if S connects all pairs of nodes in T. In this paper the authors address the following problem, which they call the weighted Steiner tree packing problem. Given a graph G=(V,E) with edge weights we, edge capacities ce, e∈E, and node sets T1,...,TN, find edge sets S1,...,SN such that each Sk is a Steiner tree for Tk, at most ce of these edge sets use edge e for each e∈E, and the sum of the weights of the edge sets is minimal. The present motivation for studying this problem arises from a routing problem in VLSI-design, where given sets of points have to be connected by wires. The authors consider the Steiner tree packing problem from a polyhedral point of view and define an associated polyhedron, called the Steiner tree packing polyhedron. The goal of this paper is to (partially) describe this polyhedron by means of inequalities. It turns out that, under mild assumptions, each inequality that defines a facet for the (single) Steiner tree polyhedron can be lifted to a facet-defining inequality for the Steiner tree packing polyhedron. The main emphasis of this paper lies on the presentation of so-called joint inequalities that are valid and facet-defining for this polyhedron. Inequalities of this kind involve at least two Steiner trees. The classes of inequalities we have found from the basis of a branch & cut algorithm. This algorithm is described in our companion paper (next abstract).