[sr-dev] Status of outbound support

Peter Dunkley peter.dunkley at crocodile-rcs.com
Thu Dec 6 12:06:51 CET 2012


On Thu, 2012-12-06 at 11:57 +0100, Olle E. Johansson wrote:

> > 
> > One thing that would speed up the development of outbound is if
> > someone else (who knows about the internals of the registrar and
> > usrloc modules) took on the tasks relating to those.  These are
> > basically: 
> >       * Handle multiple registrations with same instance ID but
> >         difference reg-id (may already be supported) 
> 
> It needs to be handled properly in parallell and serial forking, which
> I have not seen. May have missed it though.
> 

My point exactly.  I have no experience with the registrar and usrloc
modules, and the outbound development breaks neatly into two parts:

      * Edge server (rr, path, outbound)
      * Proxy/registrar (registrar, usrloc)

I will eventually do all of it, but if it is needed sooner then getting
someone else to do the proxy/registrar part would help.

> >       * Have registrar populate an AVP array (specified as a
> >         modparam), ordered by reg-id, when a lookup() is performed -
> >         similar to dispatcher (but don't break parallel and serial
> >         forking) - set $du to first contact in the AVP array. 
> 
> Right.
> 
> >       * New API (lookup_next_dest()) in registrar that allow you to
> >         work through the set in order if a 430 is returned (API
> >         needs to remove failed contacts from the location table) -
> >         again, similar to dispatcher
> > And for being able to use outbound for NAT traversal on a single
> > server (so no Edge proxies): 
> >       * Make registrar able to detect that the top Path-URI for the
> >         contact is actually an interface on the local server, and if
> >         it has an ;ob parameter and a flow token, set $du based on
> >         that.
> > 
> > This would allow me to focus on the Edge server behaviour, which
> > involves changes to path, rr, a new outbound module, and some
> > configuration examples (for edge and proxy/registrar).
> > 
> 
> And new response codes. 
> 

All of the checking/handling of the new response codes will be in
failure_routes.  So I don't think there is really any work required
here.

> I do long for an eventroute for broken TCP connections from clients.
> 

Not sure how this would help with outbound as the proxy/registrar and
edge server (with the client connections) will be separate anyway?

I think that between checking the return code from t_relay() and a
failure_route on the edge proxy you will catch all of these problems and
be able to generate the 430 response.

> Thanks for the feedback. I guess we have to visit Berlin and feed an
> unspecified group of developers with Bratwurst and Beer to get some
> help here... :-)
> 

If I had time to visit Berlin I'd have more time to spend on outbound in
the first place :-)

-- 
Peter Dunkley
Technical Director
Crocodile RCS Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20121206/a16b35f3/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: face-smile.png
Type: image/png
Size: 1057 bytes
Desc: not available
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20121206/a16b35f3/attachment.png>


More information about the sr-dev mailing list