Documentation for new sms provider?
You need to write an extension (https://docs.civicrm.org/dev/en/latest/extensions/civix/#generate-module), and you can use the existing provider extensions as a template and change what you need. You can also look at other third party extensions. I wrote one recently (https://lab.civicrm.org/extensions/ringcentral), which has some maybe nonstandard things, but mostly I copied and pasted the overall structure from twilio and clickatell, e.g. https://github.com/civicrm/org.civicrm.sms.twilio/blob/master/org_civicrm_sms_twilio.php