Fix false "TLS: NOT LOADED" startup banner in Easy Asterisk entrypoint

pjsip show transports was checked once, immediately after "core show
version" first responded — but res_pjsip can take a moment longer to
finish binding its transports, so the check would sometimes read an
empty transport list and print "NOT LOADED" even though transport-tls
came up correctly a second later (confirmed live: TLS SIP traffic on
5061 in the container logs right after the misleading banner).

Poll for up to 10s instead of checking once, matching the existing
core-show-version wait pattern further up the same script.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015X1jRGHwrvovz2qkhKfDZi
This commit is contained in:
Claude
2026-07-20 16:16:34 +00:00
parent 45609c2cb1
commit 0035804b38
+11 -7
View File
@@ -479,15 +479,19 @@ for i in $(seq 1 60); do
sleep 1
done
# Verify PJSIP transports are listening
# Verify PJSIP transports are listening. res_pjsip finishes binding its
# transports a beat after "core show version" first responds, so a single
# immediate check can catch it mid-startup and misreport TLS as down even
# though it comes up a second later — poll for a few seconds before giving up.
tls_ok=false
udp_ok=false
if asterisk -rx "pjsip show transports" 2>/dev/null | grep -q "transport-tls"; then
tls_ok=true
fi
if asterisk -rx "pjsip show transports" 2>/dev/null | grep -q "transport-udp"; then
udp_ok=true
fi
for i in $(seq 1 10); do
transports_output=$(asterisk -rx "pjsip show transports" 2>/dev/null)
echo "$transports_output" | grep -q "transport-tls" && tls_ok=true
echo "$transports_output" | grep -q "transport-udp" && udp_ok=true
$tls_ok && $udp_ok && break
sleep 1
done
# Check if port 5061 is actually bound
tls_listen=""