CVX does not solve SOCPs on its own. It transforms the problem input by the user into a form which the specified solver can handle, then calls the solver, then transforms the solver results back to the user entered objective function and variables. This is what’s done for both continuous and mixed integers SOCPs. MOSEK is called by CVX to solve the SOCP, whether it’s mixed integer or not. MOSEK can handle MISOCPs natively, and CVX calls upon it to do just that.