[Telephony] SIP

Skill name: SIP-skill

One of the features that is frequently requested for Mycroft is intra-device communication - ie communication between two or more Mycroft devices on the same network. One of the ways that we could envisage this happening is through Session Initiation Protocol - SIP - which is a videoconferencing and telephony protocol used by multiple vendors across the world.

User stories:

  • As a Mycroft user with multiple devices in my home, I would like a way to do voice-based device to device communication over a single network - ie using the Mycroft devices as walkie-talkies, or, for instance, as a baby monitor.

  • As a Mycroft user, I would like to use Mycroft devices as a SIP client, and be able to make SIP-based telephony calls using SIP.

What third party services, data sets or platforms will the Skill interact with?

The folks over at Telestax - https://telestax.com/ have outlined their Restcomm platform - it’s a whole suit of telephony and collaboration tools that would be suitable for this Skill.
https://github.com/RestComm

Are there similar Mycroft Skills already?

No

What will the user Speak to trigger the Skill?

TBA, that level of detail isn’t available yet

What phrases will Mycroft Speak?

TBA, that level of detail isn’t available yet

What Skill Settings will this Skill need to store?

TBA, that level of detail isn’t available yet

Great idea, I was also exploring some possible ways to do this. I also considered https://www.linux-projects.org/rpi-videoconference-demo-os/ , some sort of skype like functionality.

Maybe by connecting to a mycroft clientid or something.

Excellent suggestion K.

I propose that instead of SIP, have a broad and robust implementation of XMPP + Jingle as a core capability of Mycroft, and every device gets its own registered JID, something like: Mycroft.ai.Warwick@Xabber.org/ai
( and perhaps make the JID match a dedicated email address, as much as possible to provide a continuity of identity across closely related mediums).

This opens many possibilities including but not limited to device-to-device “intercom”, general voice and video communications (with other XMPP/Jabber users out there), ability to send IM-based notifications, scheduled updates, etc., and even limited Mycroft command input (caution and care and much consideration on something like this obviously) remotely. And of course, XMPP is a strongly OpenSource and fairly mature protocol/scheme (jingle extensions less so, admittedly).

Also, possible revenue stream: home.mycroft.ai should definitely be free for skills and software and so on, but there could be a “premium” level of home.mycroft.ai service where you offer XMPP (+ jingle) services on home.mycroft.ai for a low monthly or annual fee. Users are welcome to go find their own public Jabber/XMPP server if they want, but then they have the additional hassle and maybe not all the capabilities and integration.