Repository navigation
fix: allow separate host for call signaling (local debugging with ngrok) - #117
Open
rsubrama83 wants to merge 1 commit into
Open
rsubrama83 wants to merge 1 commit into
rsubrama83 wants to merge 1 commit into
Conversation
CallControlBaseUrl and the media ServiceFqdn were both built from ServiceCname. With ngrok, signaling (HTTP tunnel) and media (TCP tunnel behind a CNAME) are on different hosts, so call notifications were sent to the TCP tunnel host, never reached the bot, and calls failed without errors. Add the optional AzureSettings__ServiceSignalingDnsName setting, used for CallControlBaseUrl and the joinCall response. It falls back to ServiceCname, so AKS and existing setups are unchanged. Document the local setup in docs/debug.md and the env templates. Fixes #64 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #64. Related to #96.
Problem
AzureSettings.Initialize()builds both the call notification URL (CallControlBaseUrl) and the media FQDN (MediaPlatformInstanceSettings.ServiceFqdn) fromServiceCname, which falls back toServiceDnsName.On AKS, signaling (Traefik on 443) and media (LoadBalancer ports) share one host, so this works. For local debugging with ngrok they are different hosts: signaling goes through the ngrok HTTP tunnel, and media goes through a reserved TCP address behind your own CNAME, which the certificate is issued for. With
ServiceDnsNameset to the media CNAME, as the docs say, Teams sends call notifications tohttps://<tcp host>:443/.... They never reach the bot, and the call drops without any error in the bot log. This matches #64 and the maintainer'sCallControlBaseUrlhint there.Change
AzureSettings__ServiceSignalingDnsName, used forCallControlBaseUrland the call URI returned byPOST /joinCall. It falls back toServiceCname, so behaviour is unchanged when it isn't set. The AKS chart is untouched.ServiceCname/ServiceDnsName..env-templatefiles and the README.envexample.docs/debug.md: new "Signaling and media hosts" section with an example ngrok.env, plus a troubleshooting entry for "calls fail without errors in the bot".Testing
dotnet buildpasses with 0 warnings.RecordingBot.Tests: 2/2 pass.localhost:4040).🤖 Generated with Claude Code