Coffee over VoIP

Posted by Marko Đurić Thursday, Sep 07, 2017
Coffee beans (Photo by Daniel Ruswick on Unsplash)

Coffee over Voice over Internet Protocol. CoVoIP? Call your coffee machine and order your cup of coffee just the way you like it. Place an order when standing near the coffee machine, when in front of the office building, so it will be ready when you reach the office or call from the other side of the world.

While it is technically possible, the last option for ordering coffee via satellite would not really satisfy your coffee needs. But hey, if that's "your cup of coffee" then go for it.

To make further reading easier, let's bring the terms a bit closer:

  • VoIP: term for placing calls via the Internet, uses SIP (Session Initiation Protocol) for signaling, RTP (Real-time Transfer Protocol) for voice, and uses IP as a communication protocol
  • Coffee: a magic beverage that makes you more awake in the morning and enables the normal functioning for the rest of the day, also known to have similar effects after lunch.

VoIP solutions are becoming more popular for small offices and even homes. Chances are you are already using it daily. If not through using an IP phone, then almost certainly your call is routed via VoIP providers' networks. On your mobile phone, you may have applications or SIP support within the mobile OS configured to use your SIP account. 

Open source PBX systems are best candidates for this purpose unless you've already established your preferred VoIP solution in your home/office. The most popular choices are Asterisk and FreeSWITCH. The former one is likely all you will need, while the other is much more than just a PBX and a bit more intimidating on first sight. Both solutions have a great community and provide basic functionality as soon as you install it by using well-documented procedures.

We at Amphinicy have experience with both systems. Started with Asterisk and later moved on to FreeSWITCH. No quick-dial coffee feature is implemented yet, though.

Give me my coffee now

For your morning boost, you would like your cup of coffee to be ready as soon as possible. Of course, sending a message to the coffee machine or remembering to schedule a morning cup of coffee might be a solution. On the other hand, it is still early, and it would be better if you could just call your coffee machine using a quick dial on your phone and order the coffee just the way you like it.

Not getting too technical, one may implement this by simply setting the dial plan (list of dialing rules) for reaching the coffee machine. All calls to an extension associated with the coffee machine will be routed to it. Coffee machine may welcome you via IVR (Interactive Voice Response) menu, and prepare coffee based on your choices. This menu will be similar to lists you hear when placing calls to any service operated number, e.g. your mobile service provider. Ideally without any "all operators are now busy". That is not something you want to hear when ordering your cup of coffee.

OK, now we have our phone coffee ordering system. It is time to have a "live" operator to answer the calls. A speech-to-text module would be utilised for this purpose. You would describe the coffee you like (short, no sugar, plenty of cream), and a system would match the module's text output with coffee types it knows how to make.
IMPORTANT Fallback to the "normal" menu is highly recommended in case of the phone just does not understand what you're saying or if you’re still mumbling the coffee description.

That’s fine, a coffee drinker, I would like for my coffee machine to know my coffee needs by now. I would prefer not to have a menu for selecting a coffee, or have to explain by words the coffee I want. No problem. Since VoIP knows both the caller (you) and the callee (the coffee machine), it should be able to prepare the coffee the same as the previous one. Bonus points for still having all those other options for times when another coffee type is needed.

For having all these scenarios working in the real world, some tweaks are, of course, still required on your coffee machine to handle incoming CIP (coffee initiation protocol - not a real acronym, but given enough time...) requests. This part is left to your imagination.

comments powered by Disqus

news / events / blogs