Take a look at how the Authentication currently works:
After understanding how it works you should be able to create your custom routes/controllers to manage phone login.
Create a new route for logging in by phone and use the desired users-permissions services there.
For example, to issue a jwt token for the user, you can use the users-permissions’s jwt.issue service:
let jwt = await strapi.plugins['users-permissions'].services.jwt.issue({
id: user_id
})