General list for discussing Bufferbloat
 help / color / mirror / Atom feed
* [Bloat] doing better videoconferencing and voip emulation and analysis?
@ 2016-02-12 18:47 Dave Täht
  2016-02-12 20:17 ` Aaron Wood
  2016-02-13 22:56 ` Michael Richardson
  0 siblings, 2 replies; 3+ messages in thread
From: Dave Täht @ 2016-02-12 18:47 UTC (permalink / raw)
  To: bloat


A *long* while ago I had started at an attempt to do some better voip
and videoconferencing emulation. I stopped primarily due to:

A) wanting a *good* three way UDP handshake to kick off the protocol
(thus avoiding the DDOS possibilities)

B) No money

C) Not wanting to write it in C (and the low level features needed like
sendmmsg and manipulating low level ip header constructs like qos and
ecn seem hard to get at in many other languages)

D) hoping that some other protocol (like QUIC) could be used for it instead.

Anyway, my first attempt at describing what I wanted to do ended up
here, before I realized how much work it would be.

https://github.com/dtaht/twd/blob/master/rfc/middle.mkd

And I'm really tempted to go write something new in go or rust (Not C!
Need a break from C!), or leverage some other rtp/sip benchmarking tool.
Has any other libraries or benchmarks shown up worth leveraging to
tackle these problems?

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bloat] doing better videoconferencing and voip emulation and analysis?
  2016-02-12 18:47 [Bloat] doing better videoconferencing and voip emulation and analysis? Dave Täht
@ 2016-02-12 20:17 ` Aaron Wood
  2016-02-13 22:56 ` Michael Richardson
  1 sibling, 0 replies; 3+ messages in thread
From: Aaron Wood @ 2016-02-12 20:17 UTC (permalink / raw)
  To: Dave Täht; +Cc: bloat

[-- Attachment #1: Type: text/plain, Size: 1812 bytes --]

scapy (python) should be able to keep up with a voip or video stream.  I've
been using it to parse packets and do some other manipulations.  It's
certainly not C, performance-wise, but it's incredibly flexible at the
protocol manipulation level.

The performance issues that I'm running into with it have me tempted to
look for something similar in Go.  I'm unencapsulating packets (think
stripping packets out of a GRE tunnel), and only able to get about
1000-1200 packets/sec on modest hardware (running in a linux VM hosted on
windows on an i5 processor...)

-Aaron

On Fri, Feb 12, 2016 at 10:47 AM, Dave Täht <dave@taht.net> wrote:

>
> A *long* while ago I had started at an attempt to do some better voip
> and videoconferencing emulation. I stopped primarily due to:
>
> A) wanting a *good* three way UDP handshake to kick off the protocol
> (thus avoiding the DDOS possibilities)
>
> B) No money
>
> C) Not wanting to write it in C (and the low level features needed like
> sendmmsg and manipulating low level ip header constructs like qos and
> ecn seem hard to get at in many other languages)
>
> D) hoping that some other protocol (like QUIC) could be used for it
> instead.
>
> Anyway, my first attempt at describing what I wanted to do ended up
> here, before I realized how much work it would be.
>
> https://github.com/dtaht/twd/blob/master/rfc/middle.mkd
>
> And I'm really tempted to go write something new in go or rust (Not C!
> Need a break from C!), or leverage some other rtp/sip benchmarking tool.
> Has any other libraries or benchmarks shown up worth leveraging to
> tackle these problems?
> _______________________________________________
> Bloat mailing list
> Bloat@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
>

[-- Attachment #2: Type: text/html, Size: 2462 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Bloat] doing better videoconferencing and voip emulation and analysis?
  2016-02-12 18:47 [Bloat] doing better videoconferencing and voip emulation and analysis? Dave Täht
  2016-02-12 20:17 ` Aaron Wood
@ 2016-02-13 22:56 ` Michael Richardson
  1 sibling, 0 replies; 3+ messages in thread
From: Michael Richardson @ 2016-02-13 22:56 UTC (permalink / raw)
  To: =?UTF-8?Q?Dave_T=c3=a4ht?=; +Cc: bloat


Dave Täht <dave@taht.net> wrote:
    > C) Not wanting to write it in C (and the low level features needed like
    > sendmmsg and manipulating low level ip header constructs like qos and
    > ecn seem hard to get at in many other languages)

I'd use go, and see if I could import pjsip libraries for RTP.
In my reading of the GO book (by B.Kernighan), it seems that support for C
and C++ libraries is easy in GO, but I'm still at chapter 5...

linphone uses bellesip; other than compile it, I have no experience to
recommend for or against it.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-02-13 22:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-12 18:47 [Bloat] doing better videoconferencing and voip emulation and analysis? Dave Täht
2016-02-12 20:17 ` Aaron Wood
2016-02-13 22:56 ` Michael Richardson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox