byoungdale

byoungdale

Parrot_platform - a pure Elixir SIP protocol implementation with RTP audio support via Membrane

Hey everyone,

I’m excited to share my first hex package: parrot_platform | Hex - a pure Elixir SIP protocol implementation with RTP audio support via Membrane.

Ever wanted to build VoIP applications in Elixir? I know I have. And now we can!

Parrot provides OTP behaviors for creating VoIP servers and clients. Checkout the uas and uac project generators in the Quick Start guide. It should get you making a call from your own VoIP Client into your own VoIP Server (you’ll need two terminal sessions). I’ve only tested on my MacBook, but I think it should be good on other hardware :sweat_smile:

I’ll be giving a talk at ClueCon this week about Elixir for telecom in general, and then demo-ing this project at the end. Not sure if there are other telecom/voip folks on here. But, would love to connect if you’ll be there.

I’m using the slogan “We are putting the ‘T’ back in OTP”. Hopefully that doesn’t offend anyone. I know OTP has been, is, and will continue to be used in telecom without this library. But, it is a fun slogan, so I’m sticking with it for now.

Happy to discuss any details or answer any questions.

Thanks!

https://github.com/parrot-platform/parrot_platform

Most Liked

byoungdale

byoungdale

I have added the slides for my presentation on Elixir and parrot that I gave this past week at ClueCon.

There will be a video in the coming weeks that I can share once it is released.

byoungdale

byoungdale

here is the video of the talk.

byu

byu

Will there be a video published to youtube?

Where Next?

Popular in Announcing Top

Hal9000
Here is my first stab at this. README pasted below. https://github.com/Hal9000/elixir_random Comments and critiques are welcome. Thank...
New
cjen07
parameterized pipe in elixir: |n> edit: negative index in |n> and mixed usage with |> are supported example: use ParamPipe ...
New
treble37
Just looking for a little feedback on a tiny helper library I built - Sometimes I find the need to convert maps with atom keys to maps w...
New
seancribbs
Today I released a new dialyzer Mix task as the dialyzex package! At the time we started writing this task, the existing dialyzer integra...
New
michalmuskala
Hello everybody. I have just released Jason - a new JSON library. You might be wondering, why do we need a new library? The primary foc...
New
pkrawat1
Hey guyz We at @aviabird are working on a payment library in elixir/phoenix. We are targeting March 2018 to add 56 Gateways to it. Have...
New
wfgilman
I’ve cleaned up and open sourced three financial libraries I was using for my company. They are bindings for the APIs of these three comp...
New
kevinlang
Hey all, We have made an Ecto3 Adapter for SQLite3, ecto_sqlite3! We have successfully on-boarded the full suite of integration tests (...
New
kip
Image is an image processing library for Elixir. It is based upon the fabulous vix library that provides a libvips wrapper for Elixir. I...
622 18934 194
New
MRdotB
I needed to reuse React components from my Chrome extension in my Phoenix/LiveView backend. I noticed that for Svelte/Vue, there are live...
New

Other popular topics Top

Qqwy
Update: How to use the Blogs & Podcasts section You can post links to your blog posts or podcasts either in one of the Official Blog...
3271 127089 1222
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod – where is this set? Thanks.
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
belgoros
I’m not a pro in using Regex and can’t figure out why the following behaviour happens, especially if we take into account the difference ...
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
romenigld
I am trying to run a deploy with docker and I successfully runned with this command: docker build -t romenigld/blog-prod . but when I t...
New
JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement