Hacker News new | past | comments | ask | show | jobs | submit login
Plivo - an opensource alternative to Twilio (plivo.org)
114 points by ankeshk on June 3, 2011 | hide | past | favorite | 48 comments



This is great. Being situated in The Netherlands, 90% of the phone-related web apps don't work here. I was just thinking yesterday that Twilio for Europe might be a great startup idea.

Twilio sounds great, and some of the mashups are very interesting, but it all doesn't work here. VOIP providers here seem to have ok prices, but horrible UI/UX to manage everything.


As mentioned by akalsey, Tropo could be a good option if you wish to use a hosted service. If you wish to have greater control and host things at your end and use your own carriers and phone numbers, then Plivo is the way to go.


I believe Ericsson can be used internationally for everything Twilio does in the states. They're a bit more corporate than Twilio, and their website is hard to navigate, but once you get in contact with them they're more helpful.

They are not able to provide long codes (10 digit phone numbers) for messaging in the States, but they can use long codes for messaging internationally.

In the states you're limited to Short Codes, but they do offer MMS support, which one-ups Twilio. I believe they also have a higher send rate, but I don't remember the specifics. Ericsson also has mobile payment support (charged to the carrier), where Twilio does not.

My research was specifically for messaging, but there is voice functionality as well.

Overall, Twilio is a lot more developer friendly. I think I waited something like two weeks for a callback from Ericsson, which would never happen with Twilio. But if you really need international phone numbers and advanced features, take a look into Ericsson.

I use Twilio now, but I don't use Ericsson yet. Chances are my product will end up using a combination of both, but the nature of every product is different so do what's best for you. Twilio can text/call internationally, but not with local numbers, which I believe makes the cost quite high on yourself and your users. Apparently there are also other solutions I haven't looked into yet (see other comments).

http://www.ericsson.com


If you're looking for more options, there's a LOT out there. Think of all the automated voice systems you interact with on a regular basis.

In the open source world, you could install Asterisk yourself and use something like Adhearsion to develop your apps. Adhearsion is an open source framework for building Asterisk applications in Ruby. http://adhearsion.com/

Whistle from the 2600hz project could be of interest, too. http://www.2600hz.org/whistle/

To build telephony applications in Java, you can use SIP servlets, a Java standard (look up JSR 289 and JSR 309). Because the Java standard is extremely low-level, we open sourced the framework we use for building Java speech applications. See Moho at http://labs.voxeo.com/moho/ or https://github.com/voxeo/moho

You can also take a look at at VoiceXML, a W3C standard for building telephony apps. VoiceXML is how the big boys build telephony applications. There are a number of commercial and open source VoiceXML products, and tons of hosting companies. A search for "VoiceXML Hosting" will turn up several thousand options. Many of which will work internationally.

And of course Tropo, as already mentioned, has an open source core as well as a ton of other fun open source stuff. See http://tropo.com/ and https://github.com/tropo/


I'm a fan of Tropo and have recommended it to clients, and overall think Voxeo is the team to beat in the telephony market. However, I feel you're exaggerating a bit here:

>VoiceXML is how the big boys build telephony applications. There are a number of commercial and open source VoiceXML products, and tons of hosting companies. A search for "VoiceXML Hosting" will turn up several thousand options. Many of which will work internationally.

VoiceXML is great for IVR type applications (along with CCXML) but it is not suited to a lot of the types of applications developers use for Twilio/Tropo.

>And of course Tropo, as already mentioned, has an open source core as well as a ton of other fun open source stuff

This statement is true if you guys open source PRISM, your SIP server, but until that happens (has it happened?), it's a little disingenuous to say that Tropo's "core" is open source when it relies on a proprietary SIP server to do all the heavy lifting.


VoiceXML and CCXML are suited for most telephony apps. We've seen conference calling, dating, virtual Number services, notifications, and lots more on XML telephony platforms. Twilio and Tropo Apis are each subsets of what Vxml & CCXML are.

Vxml and CCXML are more complex, sure. And for that reason they may not be suited for the same developers targeted by cloud Apis.

Prism, the app server platform Tropo.com runs on, is not open source. But because Tropo core is written to the JSR call control and media server standards, Tropo will run in any server that implements those. Mobicents and Sailfin are two open source options.


WTF is this?


Tropo provides phone numbers in 41 countries, including the Netherlands. We have a large number of Dutch customers. We also provide Dutch text to speech and speech recognition.


Since it is down, this is probably useful:

https://github.com/plivo/plivo


the site's up now http://www.plivo.org. have a look.


Can someone explain, or point the direction to a good explanation for noobs about how to go from setting up FreeSWITCH to actually making/receiving calls on the PSTN? And maybe, how to get phone numbers, or place calls with a certain caller ID?

I'd like to see a good primer on the topic but, frankly, I don't even know what to Google for.


- You need to install FS on your server and run it. There's an installer for that (Check

http://www.plivo.org/get-started/).

- You need to install Plivo on the server as well. There's a separate installer for that.

So now you have your Twilio-like instance ready.

- To buy a number you can head to ipkall.com (free) or icall.com or flowroute.com (paid). There are several such

services actually.

- Once you have the number, you can just point it to your server that is running FreeSWITCH and Plivo.

- You can buy minutes for usage from a third party such as IVOX VoIP (ivoxvoip.com). Again, there are several such

providers out there.

- Now, go ahead and deploy your Plivo app (just as you would deploy a Twilio app).

I hope this makes it clear.


You know of any recommendations for something a little more in depth? Maybe a book recommendation, if not much is online?

Often times, the terminology is confusing and difficult to know where to start and ease in.


It's probably best to get yourself some books. The online documentation for both Asterisk and FreeSWITCH is shit, the IRC channels are mostly useless unless you already know a lot and the configuration files are just plain weird (Asterisk uses ini-style files with embedded programming, FreeSWITCH's configuration format pretends to be XML (which it certainly isn't)). Asterisk also has severe performance problems and AFAIR has some extremely bad code.


The entire idea with Plivo (much like Twilio and Tropo) is to simplify i.e. let web developers build telephony apps without having to learn much about a telephony engine.


http://wiki.freeswitch.org/wiki/Getting_Started_Guide has a good overview of getting FreeSWITCH going. However, if you have no experience with VoIP or SIP, things may be a little rougher.

If you don't want to muck with FreeSWITCH's XML configs, blue.box (http://wiki.2600hz.org/display/bluebox/Home) is a good GUI tool that will configure your switch for you. See the quick start guide (http://wiki.2600hz.org/display/bluebox/Quick+start+configura...) but know the docs are undergoing expansion and clarification. If you have questions, we're available on Freenode in #2600hz and have a pretty active community that likes to get folks up and running.

I work for 2600hz so I'm biased though :)


Is there a reason you guys went with FreeSWITCH and not SIP Servlets/MobiCents or some other proprietary stuff he backend SIP code? Asterisk sucks for SIP...


Several reasons, among which include our co-founder is a co-author of the FreeSWITCH book, we love FreeSWITCH's eventing model, we built Whistle in Erlang and Andrew Thompson (Vagabond) had already built mod_erlang_event so we can tap into the event system with native Erlang terms.

We believe strongly in open source wanted every piece of the puzzle to be open source.


Isn't most of Twilio's technology open source already?

http://www.openvbx.org


Twilio being open source - this is a HUGE misconception. Openvbx is just an application on top of Twilio and basically locks you in to the Twilio platform. That's the bitter truth. Plivo is a 100% open source version of what Twilio has been hiding from you.


The source is here https://github.com/plivo/plivo

It looks like Twilio's lowest layer isn't completely open source. OpenVBX still requires a Twilio account.


Whereas Plivo's lowest layer is FreeSWITCH, a pretty solid base. I'm pretty stoked about this, if only the page would come up.



Yeah but it all ties into the Twilio service, so there is definitely space for a fork or for something like Plivo.


Changing the root web service URL for OpenVBX requires that you change one line of code. No need to even fork it.


Obviously that's not the hard part. Building your own Twilio is. I want to depend on multiple service providers, like you can do with Asterisk or FreeSWITCH. When X provider fails use Y provider. When Y provider is cheaper use Y. That's the true power of openness which OpenVBX has a vested interest in not providing.


I'm confused; looking at the OpenVBX page, under requirements: Web Server MySQL 5+ PHP 5.2+ recommended Twilio Account (link to twilio)


Automobile manufactures will tell you to use factory parts, too. Doesn't mean there aren't other compatible options.

OpenVBX would run on any platform that emulates Twilio's API. That includes Twilio (of course), Plivo, an Teleku (disclosure: now owned by us). There may be others out there as well.


This is great news. I work at Leads360 and we use Twilio extensively in our B2B web app. We'll definitely take a look at this and perhaps even use and contribute to the project.

Speaking of which, we are looking for a developer with telephony experience (i.e. Twilio, Tropo, Plivo, etc). In addition to working on our product, you would also have the opportunity to contribute to the Plivo project, assuming we switch to that. The position is either senior software eng or lead software eng depending on experience, etc. The position is full-time, local-only in El Segundo, CA (just south of LAX in Los Angeles). Email Bill at bpaetzke@leads360.com, if interested.



how does this hook into a phone system to actually function/process messages? This is why I use Twilio.

Website was pretty confusing


Plivo -> Freeswitch -> Voice Gateway -> PSTN Line


Plivo works exactly like Twilio. You just need to set it up on your server and then run your apps off it just as you do w Twilio.


The part I'm wondering is how I get a phone number pointed at my server in the first place.


Well if you're in the US and want phone numbers, there are several free providers such as ipkall.com and paid ones such as icall.com, flowroute.com. In case of the free providers, you won't even have to bear the cost of incoming calls. That's a solid advantage you'll have if you use Plivo. Also, there are hundreds of such number providers around. Just google for them. Once you have the number, you can just point it to your server that is running FreeSWITCH and Plivo.


Cool. Your overview should probably mention this.


Tropo is also open source. https://github.com/tropo


That's a bit disingenuous. The API clients are open source. The actual service is not. If a developer builds on top of Tropo, they are locked into Tropo's pricing and servers. Same with Twilio.

If you want to be on the eye-bleeding edge of scalable VoIP, check out Whistle (http://www.2600hz.org/about-whistle/). Host your APIs (REST and AMQP), choose your carriers, and build your whapps on a completely open-source project. We will gladly host and/or manage your servers as well.

Whereas Twilio/Tropo/Plivio give you ways to manage just call handling, Whistle aims to expose phone provisioning, call handling, server and cluster management, and more. We are open sourcing the PBX tools, a trunking platform (see it live at http://store.2600hz.com), among others that are in development.

That said, we're really excited with plivio's release and hope to either work with them to integrate their app as a whapp on our platform, or fork the project and do it ourselves (if we ever have time)!


The core that actually runs your applications is open source. Runs on any java SIP servlet app server. You can run Tropo apps without touching Tropo.com at all or paying us for anything. There are a number of companies doing this today.

We did this precisely because we wanted to prevent lock in. We want your business, but if we suck, you should be able to go elsewhere.


Plivo and not Plivio. :-)


The biggest answer that Twilio and Tropo answer is running the voice services in the cloud.

If you've ever tried to get any SIP based product to run virtualized you will know that is no easy feat, and not recommended for production: http://wiki.freeswitch.org/wiki/Amazon_EC2


I disagree, getting a SIP server up and running in EC2 is no harder than doing it on it's own. Unless you're doing mixing/conferencing, you shouldn't see any delays from the virtualization.


This is especially true if you run FreeSWITCH in bypass media mode. If all you're processing is the SIP signaling, you can put a lot more calls on a virtual server AND usually see better quality calls as the RTP is typically sent on a more direct route to/from the carrier to the endpoint.


you mean, i need a phone?


Not sure what you're referring to... but yes, you need to buy a phone number. Head to ipkall.com (free) or icall.com or flowroute.com (paid). There are several such services out there. Once you have the number, you can just point it to your server that is running FreeSWITCH and Plivo.


Site seems down.

If getting HN'ed already kills a service like this, it's not very reliable. Not something I'd want to depend on for this kind of service.


It's not a service -- it's open source software you download and run on your own servers. Their web site or ability to keep it online has nothing to do with the product.


The site http://www.plivo.org is up again.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: