There is disclosed a method of allocating a channelisation code comprising,
for each user, defining a path in the code tree based on a required range of spreading
factors, selecting a node of the path in dependence on the currently required spreading
factor; and reserving all nodes on the code tree in an upward and downward direction
from the selected node, wherein the selected node for any user must not coincide
with a node reserved by any other user.