Posting some sample code for illustration purpose.
TwilioSMS sms = client.getAccount().getSMSMessages().create(params);//line send a request to twilio to send SMS
system.debug('smsobj' + sms);
testobj__C SendSMS = new testobj__C();
SendSMS.SMSStatus__c = sms.getStatus();
SendSMS.Dial_Call_Sid__c = sms.getSid();
SendSMS.Id = SMSID;
SendSMS.SMSError__c = '';
upsert SendSMS;
Once the request is sent to twilio,In the http response you get message status and SID which i store it in my custom object.
Later point where there is a response for the same SMS i can lookup the SID and find the corresponding sObject record and get the values i want.