When attempting to send a One-Time Password (OTP) via SMS using the Twilio integration, the message delivery fails. The following error is logged in the SSP_COMMON_ASYNC_EXECUTOR3 thread stack trace:
Exception in thread "SSP_COMMON_ASYNC_EXECUTOR3" java.lang.NullPointerException: Cannot invoke "java.lang.Integer.intValue()" because the return value of "com.twilio.exception.ApiException.getCode()" is null
at com.broadcom.layer7authentication.core.service.mds.providers.sms.TwilioSmsService.sendNotification(TwilioSmsService.java:125)
at com.broadcom.layer7authentication.core.service.mds.providers.sms.TwilioSmsService.sendMultiple(TwilioSmsService.java:212)
at com.broadcom.layer7authentication.core.service.mds.providers.sms.TwilioSmsService.notifyUser(TwilioSmsService.java:186)
at com.broadcom.layer7authentication.core.service.mds.impl.MessageDeliveryHandler.deliverMessages(MessageDeliveryHandler.java:144)
at com.broadcom.layer7authentication.core.service.mds.MessageDeliveryService.lambda$sendASymantec Identity Security Platform - IDSP - 4.0.3
The root cause consists of two separate components:
Network Timeout / Unresponsive Remote Server: The external Twilio API endpoints are completely unresponsive or unreachable from the local cluster. The underlying Twilio SDK defaults to a 30-second connection timeout window before throwing a generic network exception.
Unhandled Exception Code: When a raw network connection timeout or drop happens before an HTTP response is formed, ApiException.getCode() returns null. The Identity Provider (IDSP) application code attempts to auto-unbox this value to a primitive int via intValue(), which triggers the secondary NullPointerException.
A code update will be introduced in an upcoming release to properly intercept and handle the null error codes returned by the Twilio SDK during network dropouts, preventing the NullPointerException crash.
Note: Applying this code update stabilizes the background executor threads and ensures graceful error logging, but it will not fix the underlying network transport failure preventing SMS delivery.
To resolve the primary SMS delivery failure, network administrators must troubleshoot why the local cluster cannot communicate with Twilio's endpoints.
Execute the following curl command directly from the cluster nodes experiencing the failure to trace connection speeds, firewall blockages, or DNS resolution delays. Replace the bracketed placeholders with your actual Twilio environment credentials
time curl -v -X POST "https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/Messages.json" \
--data-urlencode "To=+1XXXXXXXXXX" \
--data-urlencode "From={Your_Configured_From_Phone}" \
--data-urlencode "Body=Test connection message" \
-u "{
Verify Proxy Settings: If egress traffic requires an explicit forward proxy configuration, ensure the cluster runtime environments are passing the outbound HTTP request through it.
Firewall / Egress Filtering: Confirm that outbound traffic to api.twilio.com via port 443 is explicitly whitelisted on all edge routers and internal node firewalls.
Inspect the time and -v Outputs: Look closely at the curl output headers. If the transaction hangs at the connection or TLS handshake phase until the command finishes, it confirms an environmental firewall or routing issue.