Configuring TWILIO SMS provider
Twilio has announced a new API to deliver SMS, but the old RESTful simple API is still working. We are going to use it. Configure a new Provider, type SMS with protocol WEB URL.
Use the following link:
https://api.twilio.com/2010-04-01/Accounts/<ACCOUNT SID>/Messages.json
Replacing <ACCOUNT SID> with your Twilio Account SID
Complete the configuration with the Auth Token and the Post Data like:
To=${URIENCODE(${SMSDESTNUM})}&From=${URIENCODE(+18584334434)}&Body=${URIENCODE(${SMSTEXT})}
Once created the provider, create the Routing Profile, type SMS and define the rules, for example as following
If you want to send a MMS, use:
To=${URIENCODE(${SMSDESTNUM})}&From=${URIENCODE(${SMSSOURCENUM})}&Body=${URIENCODE(${SMSTEXT})}&MediaUrl=http://<your server>/pbx/mms/${MMSKEY}/${MMSFILENAME}
Receiving SMS
To receive SMS with Twilio, the best is to use the Custom format in POST/GET. Twilio seems to have problems in delivering messages over https when using a LetsEncrypt certificate. Not a smart move from them. This will force you to use HTTP as protocol. Beware, if using LetsEncrypt certificate, you may have a redirect forcing all communications to go over HTTPS. You need to disable it in /etc/httpd/conf/httpd.conf.