The simplest solution would be a single oscillator and a divider chain. Start with say 4MHz, keep it fairly low unless you want problems with line impedance as it will not be a differential signal. Connect it to a pin on the plug at the hub end, any pin will do but make it simple by using the same pin on all cables. Then use simple divide by 2 circuits to produce 2MHz, 1MHz, 500KHz and so on until you have a signal for all 48 cables.
Now at each room, look for the signal and measure it's frequency or period. From that you can tell which stage of division it was produced from and hence which cable it connects to. I strongly advise you do this in stages, maybe driving 16 cables at a time then moving on to the next 16. The reason is that after 48 stages of division, even 4MHz would be reduced to 0.000000014Hz or about one cycle in 2.5 years! Splitting the problem into 4 lots of 16 cables will only reduce 4MHz down to 61Hz which is a bit easier to measure. :grin:
If you do it using your original plan, the signal generation end would be quite complicated and any cross-coupling, ringing or impedance mismatching could create a wide spectrum of signals at several, possibly all rooms and you would need signal analysis equipment to find the fundamental.
Having done something similar on a large hotel TV distribution network where all cables were inside walls but led to a central control box, the cheapest way was to enlist help from a friend and use a battery at source and a lamp for the room end. We used walkie-talkies to communicate although mobile phones would work just as well. You just need one socket connected to a small battery at one end and an LED wired to a socket at the other. Plug the LED in each room in turn. It only takes a moment to swap the battery from one cable to another until you get a shout from the other end that the LED has lit up. Label that cable with the room number and put it to one side so it doesn't get checked again. We did around 100 rooms in about 2 hours.
Brian.