home-assistant-libs / voip-utils

Apache License 2.0
1 stars 5 forks source link

Bounty: add support for outbound calls #17

Closed balloob closed 21 hours ago

balloob commented 3 months ago

We created this library to allow Home Assistant to work with Grandstream HT801 voip boxes. It currently only supports receiving calls.

Sometimes a smart home wants to let a room know something is happening. In that case, we need to be able to make outbound calls.

@synesthesiam started work on this but never got it fully working. And now we're too busy with other things 🥲. But I want this feature! So I am offering $500 for anyone that is able to make this work for voip utils.

The work-in-progress is in the ring branch of this repo including an example script.

balloob commented 3 months ago

Someone pointed me at https://github.com/arnonym/ha-plugins which uses pjsua2 lib. The goal is for Home Assistant to make outbound calls so if the voip integration is migrated to that lib and made to make outbound calls, that would also satisfy the bounty.

balloob commented 3 months ago

Hm pjsua2 is gpl so that's not an option 😕

lachesis commented 3 months ago

Well this might be too much work, but you could run Asterisk and use one of its various methods for creating calls, either ARI, Call Files, or the Asterisk remote CLI.

balloob commented 3 months ago

hm ya, you've good a good point. So I guess if someone rewrites our voip integration to use pjsua2 and supports outbound calls, that is ok too 👍

jaminh commented 3 months ago

I have started working on this a little bit. I don't have a Grandstream to test with but I was able to get my Polycom VVX 311 to ring based off the ring branch https://github.com/home-assistant-libs/voip-utils/blob/ring/voip_utils/sip.py#L234. I tried to make it so it would play a message too but I haven't been able to test it since that phone doesn't support OPUS. While working on this I also thought this functionality would benefit from a change to how VOIP devices are identified in HA, and opened an associated architecture discussion https://github.com/home-assistant/architecture/discussions/1096. If it would be helpful I can push the branch I have been working on, but it is in a very rough state currently.

balloob commented 2 months ago

@jaminh great to hear you're working on it! The change for unique ID is great and can be implemented and doesn't need the architecture issue.

Where are you based? There are a bunch of cheap grandstreams on ebay

jaminh commented 1 month ago

I have a rough draft of outgoing calls that I was able to get working successfully calling through asterisk https://github.com/home-assistant-libs/voip-utils/pull/19 . I plan to get a Grandstream soon to try testing with as well.