chore: validate Twilio number voice capability

This commit is contained in:
Muhsin
2026-03-27 15:01:45 +04:00
parent 1946c373d7
commit 5c704691d7
@@ -75,6 +75,7 @@ module Enterprise::Channel::TwilioSms
end
def provision_twiml_app
validate_voice_capability!
service = ::Twilio::VoiceWebhookSetupService.new(channel: self)
self.twiml_app_sid = service.perform
rescue StandardError => e
@@ -82,5 +83,12 @@ module Enterprise::Channel::TwilioSms
errors.add(:base, "Twilio voice setup failed: #{e.message}")
end
def validate_voice_capability!
twilio_client = Twilio::REST::Client.new(account_sid, auth_token)
number = twilio_client.incoming_phone_numbers.list(phone_number: phone_number).first
raise 'Phone number not found in Twilio account' unless number
raise 'This phone number does not support voice calls' unless number.capabilities['voice']
end
alias provision_twiml_app_on_update provision_twiml_app
end