For some providers SMS service is already hardcoded in the app. For those providers that are not covered or if you want to override the hardcoded setup you need to set up your own web service.
Go to the Settings > SIP Accounts > Edit Account > Advanced Settings > Web Services
NOTE: Cloud Softphone Providers will put the url in the provisioning options of the cloud softphone web portal, not in the application. The instructions above on where to configure it are for Groundwire.
Enter the URL to your web service in Custom SMS Sender section. If you are using GET method, just put the parameters in the query string, if you chose to use POST, you can enter your parameters in POST field.
You will need to use dynamic parameters. For example if you enter %sms_to% in your URL query string or POST data it will be replaced by the destination phone number. %sms_body% will be replaced by the text of the message. You can also use some account specific parameters. For example %account[username]% will be replaced by the actual username. Or %account[password]% will be replaced by the actual password. One thing to note here is that the password will be passed only if the URL begins with https://, otherwise only couple of stars will be used which won't work obviously. You can also pass sha1 hash of your password istead. It can be achieved by %sha1(%account[password]%)%
Example URL for web callback using GET might be:
https://my.web.com/sms.php?u=%account[username]%&p=%account[password]%&msg=%sms_body%&to=%sms_to%&from=%account[userCallerId]%
or in case of insecure protocol
http://my.web.com/sms.php?u=%account[username]%&p=%sha1(%account[password]%)%&msg=%sms_body%&to=%sms_to%&from=%account[userCallerId]%
or simply
https://my.web.com/sms.php?u=johndoe%&p=secret&msg=%sms_body%&to=%sms_to%from=1800123456%
The return format for the SMS sender is a simple XML
<response>
<error>0</error>
<description>Success</description>
</response>
or
<response>
<error>400</error>
<description>Invalid parameters</description>
</response>