[ovs-dev] [PATCH 0/3] Initial support for new SIP Alg.

Tiago Lam tiagolam at gmail.com
Wed Jan 10 11:47:07 UTC 2018


Hi Mark,

Your email strikes me as if you haven't read the previous email exchange at:

	https://mail.openvswitch.org/pipermail/ovs-dev/2017-November/341089.html

	(TL;DR I've asked similar questions there)

Having said that, and knowing this is happening, my intention is exactly 
this; Contribute with knowledge, where and how I can, in the form of 
code or otherwise, _to help_ bring that into life.

I'm sure no-one is underestimating how complex SIP is, I certainly am 
not. As a side note, it is also true that we are not looking into 
writing a complete SIP stack, but something that allows us to verify the 
exchanged traffic; It is my understanding that many shortcuts can be 
taken with this in mind.

Hopefully this, together with the email I pointed to, clarifies things a 
bit better.

Tiago

On 01/09/2018 07:33 PM, Mark Michelson wrote:
> On 12/22/2017 01:53 PM, Tiago Lam wrote:
>> This patch-set is an initial approach at implementing the new SIP Alg,
>> mentioned by Aaron at [1].
>>
>> I'm mostly interested in getting to know your thoughts of how this is
>> headed. There are a couple of points that are worth bringing up:
>> - As mentioned in patches 1/3 and 2/3, this is still a preliminary
>>     implementation, and some work will be needed to move away from some
>>     assuptions, like assuming the SIP traffic is always going over IPv4
>>     and TCP;
>> - At the moment, the sip state is being stored in the conn struct. I
>>     followed the example of seq_skew_dir here, which is also stored there,
>>     but realise this is not ideal. It seems storing it somewhere agnostic
>>     will be ideal in the future, to avoid polluting that struct with
>>     different Alg's details;
>> - The SIP helpers functions and structures are in conntrack-sip.h and
>>     conntrack-sip.c. This can create confusion when comparing to
>>     conntrack-tcp.c and other protocols since SIP is an Alg and is at a
>>     different level.
>>
>> With regards to testing, for now, this has been tested manually, by
>> setting up the flows mentioned in patch 2/3 and having two VMs connected
>> to OvS, both using SIPp to simulate real traffic both ways. I'm going to
>> have a look at how this can be automated and added to
>> tests/system-traffic.at, together with the rest of the already existing
>> tests.
>>
>> [1] [CONNTRACK] Discussions at OvS 2017:
>>       https://mail.openvswitch.org/pipermail/ovs-dev/2017-November/341089.html
>>
>> Tiago Lam (3):
>>     Conntrack: Add new API for future SIP Alg.
>>     Conntrack: Add initial support for new SIP Alg.
>>     Conntrack: Support asymmetric RTP port for SIP.
>>
>>    include/openvswitch/ofp-actions.h |   4 +
>>    lib/automake.mk                   |   2 +
>>    lib/conntrack-private.h           |   2 +
>>    lib/conntrack-sip.c               | 491 ++++++++++++++++++++++++++++++++++++++
>>    lib/conntrack-sip.h               | 123 ++++++++++
>>    lib/conntrack.c                   | 254 +++++++++++++++++++-
>>    lib/ofp-parse.c                   |   5 +
>>    ofproto/ofproto-dpif-xlate.c      |   3 +
>>    8 files changed, 883 insertions(+), 1 deletion(-)
>>    create mode 100644 lib/conntrack-sip.c
>>    create mode 100644 lib/conntrack-sip.h
>>
> 
> Hi Tiago,
> 
> Before starting in my current role, I worked for ten years doing VoIP
> development with a strong focus on SIP.
> 
> SIP is a beast of a protocol, and seeing this patchset, I made some
> notes about how things might possibly go wrong, and ... let's just say
> there are quite a few :). I know that you are writing this as a proof of
> concept and that you have many TODO-style comments owning up to the fact
> that you know about some things that are missing, but I think it may go
> deeper than you or anyone on the OVS development team realize.
> 
> I'm willing to help out in this effort by donating SIP knowledge, but
> before that, I'm curious what the end goal of the SIP ALG actually is. I
> have a feeling that the effort and expense of writing, and more
> importantly maintaining, a proper SIP ALG may not be worth it.
> 
> As a side point, when I was working on VoIP software, one of the first
> things we'd tell people who came to us with connectivity issues was
> "turn off the SIP ALG in your router". This on its own resolved issues
> with an alarming frequency.
> 
> Mark
> 


More information about the dev mailing list