Hello,
On 8/9/12 4:42 PM, Peter Dunkley wrote:
On Thu, 2012-08-09 at 16:03 +0200, Olle E. Johansson wrote:
I am not in favour of a new module. Like GRUU, this is just optional behaviour based on the signalling....
there is no final design yet, I assume, but if there is a need for
[persistent] storage, I would not like to get rr or path dependent
of db or other type of external storage. If the flow value carries
the information needed for routing in the SIP message, then rr/path
can be extended. Otherwise I think a new module to take care of
storage overhead is recommended, either using internally rr/path or
the other modules using it.
The fact is that these modules are used heavily, even in embedded
devices, but at the moment outbound is not implemented at large in
clients side (ie, few phones sending sip.instance and reg-id). So
the 'classic' usage is still the most important for some time.
Cheers,
Daniel
My concern is just the amount of complex Kamailio configuration
required for something like Outbound. It's likely to be very
messy and hard for people to use. But if you think it is
practical, I don't have a problem trying it that way.
There are going to be quite a number of (hopefully small) changes
to the existing modules (path, registrar, rr, and usrloc at least)
anyway.
- The record_route() APIs need to be updated to make the
userinfo settable from kamailio.cfg (at least you can already
add parameters)
- The add_path() APIs need to be updated to let parameters be
added (for example ";ob" - at least you can already set the
userinfo)
- The logic to decide to use outbound for requests from
clients should be manageable as a route
- The logic to do the routing back to clients, sending the 430
etc, should be manageable as a route
- Flow token generation/decode/validation is going to be
tricky as new APIs will be needed for at least base64 encode,
base64 decode, HMAC-SHA1-80 - and string manipulation in
kamailio.cfg is a pain. Perhaps a set of flow-token specific
APIs to wrapper all of these things (in one of the utils
modules) would be better?
- A new API will be required to determine whether a connection
exists (based on input of IP address, port, and protocol) -
unless trying to send the request and just
catching/translating the error to a 430 is OK
- I think the new lookup(), lookup_next_dest(), managing the
AVPs for this and removing bindings from the location table
all do need to be new functions in the registrar module
Have I missed anything in that list?
--
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
--
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Seattle, USA, Sep 23-26, 2012 - http://asipto.com/u/katu
Kamailio Practical Workshop, Netherlands, Sep 10-12, 2012 - http://asipto.com/u/kpw