From 0035804b38f1e903b764600c9830688d30c7d358 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 20 Jul 2026 16:16:34 +0000 Subject: [PATCH] Fix false "TLS: NOT LOADED" startup banner in Easy Asterisk entrypoint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Claude-Session: https://claude.ai/code/session_015X1jRGHwrvovz2qkhKfDZi --- vendor/easy-asterisk/docker/entrypoint.sh | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/vendor/easy-asterisk/docker/entrypoint.sh b/vendor/easy-asterisk/docker/entrypoint.sh index b62caa9..1181c3e 100755 --- a/vendor/easy-asterisk/docker/entrypoint.sh +++ b/vendor/easy-asterisk/docker/entrypoint.sh @@ -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=""