How to call iphone connected to LAN from node-red?

Is there a free or cheap way to call an iphone (only for audio) connected to the internet from Node-Red ?
Moreover you can assume that the iphone is connected to the same LAN as Node-RED.

So when calling the iphone the iphone user should get a notification (e.g. ring) and the ability to pick up the call. Once picked up a bidirectional audio session should be opened between the iphone and node-red.

If this means that a special app needs to be installed on the iphone then I am happy to hear which app should be used.

What is it that node red is going to say when you pick up the phone? To get node red to hold an intelligent conversation is going to be tricky.

No, the idea is not that node-red is going to hold an intelligent conversation.

FYI the complete solution:

  1. node-red is running on a device having a microphone + speaker which is constantly listening for a hotword
  2. once it hears the hotword, it listens for the command (e.g. "call John")
  3. once it recognizes the command "call John": it calls the iphone from John
  4. once John picks up the iphone: everything the microphone of the node-red device hears is routed to the iphone from John and everything John says is routed to the speaker connected to the node-red device.

So I think I can build most of it except for the part about calling the iphone and communicating the audio with the iphone I am looking for advice.

1 Like

some of the options I am considering:

  • discord
  • telegram
  • linphone

Is it not easier to buy a second iPhone instead, put it where you need to put it, configure it to react on your hotword/phrase using Siri? -> you get called on your iPhone

You can use the alexa node, alexa app and a an echo dot to call between devices

1 Like

Thanks that seems a good option.

By alexa node you mean node-red-contrib-alexa-local ?

I did some further digging and I don't think there is an alexa node-red node that allows to make these calls. So for making those calls I need :

The "right" way would be to run a voice server of some kind, a comms server with voice capability. Maybe Teamspeak or Mumble - sorry, not sure if those have mobile versions.

Once upon a time, I would have immediately recommended Jabber. But since it became a CISCO property I'm no longer sure whether you can simply run your own server.

1 Like

There are apps for teamspeak and murmur but it doesn't look like they can be "called".

Telegram, Discord and Alexa app seem to support "incoming calls".

1 Like

would this help with perhaps a few add ons for voice recognition

sorry but i not sure i get this. why do you need to phone someone who is close enough to the pc for the microphone to hear ??
Do you want to make a call to another phone by voice command from a pc. Or have a nr device control a phone that is calling another phone. If so then why not miss out the iphone and call directly voip to the person you want.
To me it seems the iphone inbetween is causing the problem.. Do you have a network plan on the iphone you want to use. But with viber skype etc free calls shouldn't be a problem.
I think i get it now. Forget the phone make. Its not important. If the nr device is connected to internet then voip is the way to go. Linked with a wake word node and flow. There is also a node called browser that uses electron browser and can automatically insert text to login to a skype or viber account and make a call

The person I want to call is on the 2nd floor - a bit too far for shouting.

More or less. I have a google voice kit which I want to extend with that functionality. As the voice kit is running on a raspberry pi, I can easily install other software on it.

The iphone is the device the person on the 2nd floor has to receive and answer the calls.

viber and skype are indeed also good suggestions. But it seems not easy to make headless calls to vibe or skype from a raspberry pi (my google voice kit).

That is an interesting remark. I am thinking of

  • setting up PBX (asterisk)
  • installing a softphone app on the iphone
  • use nodered-contrib-asterisk-ari for making the calls (not sure if this is possible with that node and how well it works) from my raspberry pi (= google voice kit)

I managed to setup freepbx (asterisk) and was able to set-up a voice call between Zoipher (installed on my macbook) and linphone installed on my iphone.

The current issue is that the standard installation of freepbx doesn't support "iOS push notifications (CallKit)".
This means that my iphone will only receive incoming calls if the linphone app is running (in the foreground). In other words freepbx must be extended to support "iOS push notifications" in order to assure that you can receive incoming calls while linphone app is not running.

I would also encourage you to look at Nextcloud Talk.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.