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.

byu

byu

Will there be a video published to youtube?

l3nz

l3nz

This looks wonderful. It’s wonderful to see handling of SIP calls (plus everything else that Membrane can do) as a pure-Elixir thing, with no external Asterisk/Freeswitch doing the heavy lifting.

byoungdale

byoungdale

here is the video of the talk.

Where Next?

Popular in Announcing Top

mikehostetler
LLM DB - LLM Model Metadata Package This package was extracted out of the ReqLLM project. LLM DB is a model metadata catalog with fast, ...
New
garrison
Hobbes is a scalable, fault-tolerant transactional record store written in Elixir. Hobbes is designed to be: Scalable - Hobbes can sha...
New
lostbean
Hello Elixir community! :wave: I’m excited to announce the first release of ReqCassette, a VCR-style record-and-replay library specifica...
New
tugayac
Hey Elixir Community! A few months back, I open sourced a link management system we had built into an app. It’s now got enough features ...
New
mindreframer
ElixirProto: Protobuf-Inspired Serialization for Elixir Events I wanted to have an Elixir-native serialization for events, that also supp...
New
jallum
Turbopuffer - Elixir client for vector and full-text search I’m excited to share Turbopuffer, a new Elixir client library for the Turbop...
New
Mati365
Phoenix has great tooling overall, but one thing that’s still lacking is a solid, plug-and-play integration with a modern WYSIWYG editor....
New
mudspot
Hi folks, I’d like to announce the release of Prometheus Agents, a set of subagents for Claude Code that cater to the Elixir Phoenix pro...
New
belaustegui
Announcing ErrorTracker, an Elixir-based built-in error tracking solution. Features Basic, free, built-in error tracking solution. Trac...
New
rodloboz
Sifter is a a query filtering library for Ecto. It lets frontend apps send human-readable query strings like: "elixir phoenix status:pu...
New

Other popular topics Top

JDanielMartinez
Hi! May someone helps me, please! I have two apps into an umbrella project: the first one is Database, which manages queries, and the se...
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 45766 226
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
_russellb
I want to try my hand at web scraping. What tools/libraries do I need to use. I’m hoping to turn this into something professional so don’...
New
lk-geimfari
What is most correct way to open, read and parse JSON file with poison? For example if we have example.json file in root of some projec...
New
mgjohns61585
Could someone help me? I'm making my first elixir program, number guessing game. I can't figure out how to convert the user's guess from ...
New
aadeshere1
I have a another noob question about loop. Since elixir is immutable, while loop is not directly possible. total = 10 while total != 0 ...
New
chrisalley
ExUnit now has describe blocks which is a welcome addition coming from RSpec. In the docs, it states that nested hierarchies of describe ...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27162 124
New

We're in Beta

About us Mission Statement