Caller ID processing: Difference between revisions

From Wildsong
Jump to navigationJump to search
Brian Wilson (talk | contribs)
mNo edit summary
Brian Wilson (talk | contribs)
mNo edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
I am inspired by Signal 2017 to try out more of Twilio features and services.
I am inspired by Signal 2017 to try out more of Twilio features and services.
So let's explore what I can do with caller id on messages coming via Twilio.
 
This page describes the first idea I had -- when the weather turned hot here
I got the idea for [http://github.com/brian32768/twilio-weatherman/ the twilio-weatherman app]
which I implemented and published on github.


Note from here on when I say "messages" here, I mean both SMS text and voice calls.
Note from here on when I say "messages" here, I mean both SMS text and voice calls.
Line 29: Line 32:
== Receiving messages ==
== Receiving messages ==


This is what happens right now today. I need to write this down since I don't think I've ever done it.
This is what happens right now today. I need to write this down since I don't think I've documented it anywhere.


SMS - Under Phone Numbers, click on the main number, and see Messaging "When A Message Comes In"
SMS - Under Phone Numbers, click on the main number, and see Messaging "When A Message Comes In"
is directed to some TwiML.
is directed to some TwiML.  


These days (June 2017) look in Developer section under Runtime then click on "TwiML Bins".
To find the TwiML, look in Developer section under Runtime then click on "TwiML Bins".


Sometimes I add code in Asterisk when I want calls to forward to my cellphone, so a call comes in on Twilio  
Sometimes I add code in Asterisk when I want calls to forward to my cellphone, so a call comes in on Twilio  
Line 63: Line 66:
where xxxx is the last four of my cellphone. I have the same thing in my personal account.
where xxxx is the last four of my cellphone. I have the same thing in my personal account.


[[Category: VOIP]]
[[Category: Telephones]]
[[Category: GIS]]
[[Category: GIS]]

Latest revision as of 15:50, 31 August 2022

I am inspired by Signal 2017 to try out more of Twilio features and services.

This page describes the first idea I had -- when the weather turned hot here I got the idea for the twilio-weatherman app which I implemented and published on github.

Note from here on when I say "messages" here, I mean both SMS text and voice calls.

Flow:

  1. A message comes in to Twilio on my number; could be either SMS or voice.
  2. Send it to one of the many Twilio Caller ID plugins.
  3. Find out where it's coming from (as much detail as is available in results of the plugin lookup.)
  4. Use a webhook to send the lookup results to my server Bellman.
  5. Geocode the location.
  6. Put it onto a map on a laptop that hangs on my kitchen wall (aka the walltop).
  7. Voice and SMS messages will be forwarded to Bellman and to phone(s).
  8. Text of an SMS will be displayed on the walltop.

When a voice call needs to be sent to Bellman, it's done with Twilio Elastic SIP Trunk and processed by Bellman's Asterisk server. Asterisk takes on the task of ringing handsets and perhaps recording voicemail.

I wanted to switch from Asterisk to OpenVBX but that turned out to be pretty much a non-starter. Asterisk was already running here and OpenVBX seems like a weak alternative.

What else? Maybe conferencing? I don't need a call center here so Task Router is not interesting to me.

Grandstream phones do a nice job at video but I have no idea how that fits in here today. Maybe after Signal 2018.

I am thinking I should try to use Twilio Functions for some of this to reduce dependencies on Bellman.

That's about 5 or 8 projects right there. Let's start.

Receiving messages

This is what happens right now today. I need to write this down since I don't think I've documented it anywhere.

SMS - Under Phone Numbers, click on the main number, and see Messaging "When A Message Comes In" is directed to some TwiML.

To find the TwiML, look in Developer section under Runtime then click on "TwiML Bins".

Sometimes I add code in Asterisk when I want calls to forward to my cellphone, so a call comes in on Twilio and then rings both my home phones and cellphone. Currently it just rings my home phones.

In Geo-CEG's account the active bin is called "Forward calls to all Geo-CEG staff" but it currently just rings my phone. It's just this:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
 <Dial>
	<Number>
      +1707827xxxx
	</Number>
 </Dial>
</Response>

where xxxx is the last 4 digits of my Twilio SIP Trunk number.

After creating a TwiML bin you can select it under "Numbers"; set "A Call Comes In" to "TwiML" and then pick the named bin.

There is another bin under Messaging "A New Message Comes In" called "SMS Forwarding". That bin contains

<?xml version="1.0" encoding="UTF-8"?>
<Response>
 <Message to="+1707827xxxx">Template:From: Template:Body</Message>
</Response>

where xxxx is the last four of my cellphone. I have the same thing in my personal account.