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:
+11
-7
@@ -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=""
|
||||
|
||||
Reference in New Issue
Block a user