Can you provide more info on this Twilio mini-telco? I’ve been working on something similar to work around the lack of well supported libraries for telephony
My phone uses a sim card from a verizon MVNO. I don't even know the phone number.
"My" phone number was provisioned, and has always lived, in Twilio.
I set up a simple call forward and SMS forward to my SIM number. When I land in a foreign country, I get a new sim card and just point the forwards to the new number. Easy.
I wrote a shell script that allows me to SMS from the command line from my phone number. So I can SMS people from an airplane even though my handset is off. If I lost my handset I could still SMS you.
It's also nice to have a proper date/time stamped SMS log that lives in /var/mail/sms ... I use this a lot.
My favorite thing about all of this is that I have finally removed voicemail from my life. Hint: you need to tell your carrier, with star-71, to forward to a "black hole" number at the end of your call sequence, otherwise verizon will jump in and say "the wireless blah blah voicemail box that is not set up blah blah ...". So my twilio number rings for X seconds (whatever I set the timeout to) but then the call progresses to verizon, but verizon has been instructed with star-71 command to forward calls to a second number I set up in twilio that does nothing but hang up. That's my "black hole" number and you can insert that into the end of a lot of workflows like this.
Calling has to be done with a voip app on your phone because, of course, you cannot call from your twilio number directly from your phone. Well, you could, if perhaps you called yourself and then set up some logic where you type in the phone number you really want and then twilio forwards you there, but I think it's easier to use a nice VOIP app ... I use groundwire, but whatever works.
I might try to formalize all of this and present it at Signal next year ... there are a lot of other neat things you can do ....
Neat! I have a similar setup, except a little more native support because of Twilio Wireless (not sure if you know about this? https://www.twilio.com/wireless)
I have the Twilio SIM (T-Mobile coverage) in my primary SIM (iPhone dual sim), and then Verizon/ATT/Sprint/TMobile on my e-sim. The e-sim is for data only, because data is expensive (and slow) on Twilio. If you don't have Dual Sim then the data element may be a bit of a roadblock for you to totally switch over to the Twilio SIM depending on your data needs. Tthe goal of my setup is to be completely cell phone agnostic. I wanted to be able to send a single signal into the PSTN over an IP connection OR over a cell-only connection (no data). The native support on this is great when you use the Twilio SIM, but with call forwarding and some other hacks you can get support without the Twilio SIM. Also, the great thing about the SIM is that I can pop it into a phone from 2002, and have it talk to the internet through a series of signals sent via SMS (e.g. server maintenance, open up a firewall for a few moments, etc). I wrote a server that I point the SIM endpoint to, and this server handles all of the forwarding/reception of voice and SMS.
I also built out a CLI for messaging (pulls in SMS history, deletes from Twilio, stores locally encrypted, lets you send out messages on a "convo" view, etc)... using the python API, and then built out a Web UI for making phone calls using client.js (receiving phone calls TBD). This has integrated support with my CardDav contacts (and depending on if someone is in my contacts, they get a different number on the caller ID), which makes for a more powerful (IMO) app than an iOS VOIP app, of which the options are fairly clunky and limited.
It is all pretty hacky but if you want to talk more about it I am curious to see what you have built out. I am not totally dependent on it for a few reasons, a big one being that I don't want to send all of my communications through the unencrypted telephone network.. The long-term goal here is to package it and open-source it so that people can easily "free" their communications, but it is pretty scattered right now.
Eagerly awaiting the PinePhone to give me more flexibility with all of this.
For people who are looking for a similar setup, jmp.chat is an alternative service built on free software and a voip provider like twilio. They forward SMS over XMPP and you can make calls with any old SIP client. Its literally a bunch of ruby scripts, a very charming project. I jumped ship from twilio after they made payments without a credit card impossible for small-timers like myself.
Google Voice (née GrandCentral) also has the phone number indirection-layer feature. It's a product and not a developer tool, so it lacks some of the more advanced features (eg command line access), but it's far more accessible to non-developers.
Google's uses Google Voice as part of GoogleFi, so hopeful it won't be killed off any time soon.
> if perhaps you called yourself and then set up some logic where you type in the phone number you really want and then twilio forwards you there
It would be cumbersome to have to do that manually, but have you looked into any of the 3rd-party dialer apps on Android? They'll dial the prefix specified before dialing the number that was entered.
rsync|6 years ago
"My" phone number was provisioned, and has always lived, in Twilio.
I set up a simple call forward and SMS forward to my SIM number. When I land in a foreign country, I get a new sim card and just point the forwards to the new number. Easy.
I wrote a shell script that allows me to SMS from the command line from my phone number. So I can SMS people from an airplane even though my handset is off. If I lost my handset I could still SMS you.
It's also nice to have a proper date/time stamped SMS log that lives in /var/mail/sms ... I use this a lot.
My favorite thing about all of this is that I have finally removed voicemail from my life. Hint: you need to tell your carrier, with star-71, to forward to a "black hole" number at the end of your call sequence, otherwise verizon will jump in and say "the wireless blah blah voicemail box that is not set up blah blah ...". So my twilio number rings for X seconds (whatever I set the timeout to) but then the call progresses to verizon, but verizon has been instructed with star-71 command to forward calls to a second number I set up in twilio that does nothing but hang up. That's my "black hole" number and you can insert that into the end of a lot of workflows like this.
Calling has to be done with a voip app on your phone because, of course, you cannot call from your twilio number directly from your phone. Well, you could, if perhaps you called yourself and then set up some logic where you type in the phone number you really want and then twilio forwards you there, but I think it's easier to use a nice VOIP app ... I use groundwire, but whatever works.
I might try to formalize all of this and present it at Signal next year ... there are a lot of other neat things you can do ....
jdillaaa|6 years ago
I have the Twilio SIM (T-Mobile coverage) in my primary SIM (iPhone dual sim), and then Verizon/ATT/Sprint/TMobile on my e-sim. The e-sim is for data only, because data is expensive (and slow) on Twilio. If you don't have Dual Sim then the data element may be a bit of a roadblock for you to totally switch over to the Twilio SIM depending on your data needs. Tthe goal of my setup is to be completely cell phone agnostic. I wanted to be able to send a single signal into the PSTN over an IP connection OR over a cell-only connection (no data). The native support on this is great when you use the Twilio SIM, but with call forwarding and some other hacks you can get support without the Twilio SIM. Also, the great thing about the SIM is that I can pop it into a phone from 2002, and have it talk to the internet through a series of signals sent via SMS (e.g. server maintenance, open up a firewall for a few moments, etc). I wrote a server that I point the SIM endpoint to, and this server handles all of the forwarding/reception of voice and SMS.
I also built out a CLI for messaging (pulls in SMS history, deletes from Twilio, stores locally encrypted, lets you send out messages on a "convo" view, etc)... using the python API, and then built out a Web UI for making phone calls using client.js (receiving phone calls TBD). This has integrated support with my CardDav contacts (and depending on if someone is in my contacts, they get a different number on the caller ID), which makes for a more powerful (IMO) app than an iOS VOIP app, of which the options are fairly clunky and limited.
It is all pretty hacky but if you want to talk more about it I am curious to see what you have built out. I am not totally dependent on it for a few reasons, a big one being that I don't want to send all of my communications through the unencrypted telephone network.. The long-term goal here is to package it and open-source it so that people can easily "free" their communications, but it is pretty scattered right now.
Eagerly awaiting the PinePhone to give me more flexibility with all of this.
minimalist|6 years ago
wiz21c|6 years ago
bbmario|6 years ago
fragmede|6 years ago
Google's uses Google Voice as part of GoogleFi, so hopeful it won't be killed off any time soon.
fragmede|6 years ago
It would be cumbersome to have to do that manually, but have you looked into any of the 3rd-party dialer apps on Android? They'll dial the prefix specified before dialing the number that was entered.
BillinghamJ|6 years ago
nexuist|6 years ago