-
-
Notifications
You must be signed in to change notification settings - Fork 32.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VOIP - handle ongoing calls for announce and start conversation #136970
Conversation
Allow announcements and conversation starts to be queued up for an existing call. Also allow specifying a SIP username for the HA endpoint which is required for some VOIP servers.
Hey there @balloob, @synesthesiam, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
Hey there @balloob, @synesthesiam, mind taking a look at this pull request as it has been labeled with an integration ( Code owner commandsCode owners of
|
5b96454
to
bc39cdb
Compare
Thanks! Can we make the SIP user stuff a separate PR? What is the use case for queuing up announcements and calls? It makes the code much more complex for what seems to me an edge case. |
Yeah, I'll try to split things up into more discrete features. There were a couple things I was trying to handle with the queuing of service calls. The first case would be if someone had called in to HA and was saying commands and something happened in the house that triggers an announcement. In that case we could play the announcement after their command processed and then go back to the regular command loop. The second scenario I had in mind was commands or questions in a start conversation action that require follow up questions. So potentially the action called in response to a command could be a call to start conversation, and then that question could be asked in the same call. Edit: I thought of a more concrete example of the second use case. Suppose someone called in to change the temperature in a room, but there are multiple climate devices in the room. Instead of just responding with an error response about ambiguous climate devices it could call start conversation to ask which climate device to change. Not sure if the ability to pass along that context is available yet in start conversation but I assume that's the direction you are heading. |
The second case will be handled with future improvements to the builtin conversation agent to handle follow-up questions. The conversation id will keep the context with nothing special needed from VoIP 👍 For the first case, I'm still of the opinion that this isn't worth the large increase in code complexity. As the maintainer of this integration, I need to draw the line somewhere 😄 |
Allow announcements and conversation starts to be queued up for an existing call. Also allow specifying a SIP username for the HA endpoint which is required for some VOIP servers.
I tried to combine elements from the current implementation and my original implementation to handle announcements and conversation start when there is already a call to the specified satellite.
Proposed change
Allow announcements and conversation starts to be queued up for an existing call. Also allow specifying a SIP username for the HA endpoint which is required for some VOIP servers.
I tried to combine elements from the current implementation and my original implementation to handle announcements and conversation start when there is already a call to the specified satellite.
Type of change
Additional information
Checklist
ruff format homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
.To help with the load of incoming pull requests: