Off hand, it may be something to do with the port numbers you are using. In the 3102, by default, the FXS uses port 5060, the FXO uses port 5061 (remember it's two devices sharing an IP). By default, 3CX used to be set to use Port 5062 with the FXO portion of a 3102. So one end or the other had to be changed. in the 3CX trunk settings, you tell 3CX what port to send to, it doesn't derive that info from a registration as it does with the FXS portion. So, make sure you are using a different local port on the FXO portion, and be sure that the trunk, in 3CX is sending to that port. You don't want it to sent to the same port you are using for the FXS.