I do not use Radius,but I am reading my CDRs from ports 9002/3.
In documentation for CDRs Quintum explain what you can get out from CDRs.
Incoming Line: If the call is incoming, this field identifies which line the call came in on. Valid entry: 1 = PBX, 2 = PSTN. This field will be empty if the call is an incoming VoIP call.
Incoming Channel: If the call is incoming, this field identifies which channel the call came in on. Valid entry: 1-31. This field will be empty if the call is an incoming VoIP call.
Outgoing Line: If the call is outgoing, this field identifies which line the call is going out on. Valid entry: 1 = PBX, 2 = PSTN. This field will be empty if the call is an outgoing VoIP call.
Outgoing Channel: If the call is outgoing, this field identifies which channel the call went out on. Valid entry: 1-31. This field will be empty if the call is an outgoing VoIP call.
So you can figur out wether call was from FXS/PBX or FXO/PSTN side.
How could you make SW to present it on real time in parallel to your Radius, I do not know.
As Vassil said, find a new Billing which is related to CDRs.