Hello,
On 12/6/12 11:44 AM, Peter Dunkley wrote:
Hi Olle,
I haven't had any time for the last few months to work on outbound. So there is some module boiler plate and a set of notes (attached) at the moment and not much more.
I have a requirement for outbound myself for early next year, so will be picking it up again soon, but there is little to no chance of it making it into Kamailio 3.4.
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)
this should be supported, there is no unique key on instance only and reg-id is saved -- in the worst case, the required changes are very small.
- 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.
This one can be also easily added, we have t_load_contacts() which serializes the contact records based on Q value. It has to be extended to work on reg-id:
http://kamailio.org/docs/modules/stable/modules/tm.html#id2550968
- 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
There is t_next_contacts(), working on the set of avps built by t_load_contacts() -- again, it need some enhancements, but probably not hard work.
Perhaps I can help on the above points, even do them myself, but I can't give any timelines for the moment.
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.
Address in firth path will be used to set $du anyhow, not sure what the flow token implies, but might be just done from config.
Cheers, Daniel
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).
Regards,
Peter
On Thu, 2012-12-06 at 09:43 +0100, Olle E. Johansson wrote:
Peter,
What's the current status of the outbound support? Which branch is it?
Can we do anything to help to get this into the coming release?
/O
sr-dev mailing list sr-dev@lists.sip-router.org mailto:sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
-- Peter Dunkley Technical Director Crocodile RCS Ltd
sr-dev mailing list sr-dev@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev