[Serdev] contribution: SER module implementing Path extension
(RFC 3327) (previous was wrong)
Adrian Georgescu
ag at ag-projects.com
Thu Jun 2 09:22:26 UTC 2005
Hi!
This is great! This is something which is quite useful!
comments inline
On May 31, 2005, at 5:21 PM, Fermín Galán Márquez wrote:
>
> store_path(): store the content of the "Path" header in the request
> into a
> very simple database: key is the SIP URI in "From" (note that
> store_path()
> it's intended to be used during registration in registrar servers) and
> value
> is the "Path" content.
Is the path stored in a separate table? Why don't you store it in the
location table? If you multiple registrations at the same account, the
From: can't be used as key. The key must be the From: and the Contact:
>
> route_based_path(): retrieves the stored value (using the SIP URI in
> the
> Request URI as key), put it in a "Route" header and forward the
> request to
> that destination.
Does this also works with multiple branches (a forked call, parallel
ringing)?
> An example of how to use both function to implement a simplified
> S-CSCF is
> shown in the attached ser.cfg file.
>
> The code is attached in path.tgz file. Just uncompress it inside
> modules/
> directory in the SER sources. It has been development for SER version
> 0.8.14
> (but I think I would compile in newer versions without problem).
>
> Note that the code is very primitive, more a "proof-of-concept" that a
> strong and smart implementation. However, I think it could be
> interesting
> for others, which maybe want to help to improve it. We aren't SER
> gurus :)
> and maybe there are clever and smarter ways to do the same things in
> the
> code. For example, putting the "Route" header in a smarter place (the
> current implementation put "Route" always after all other headers,
> that is
> valid but not recommended in RFC 3261).
>
> Other thing that can be improved is the database. The current
> implementation
> uses a simple text file and, if the "Path" header doesn't include
> exactly
> one SIP URI (as in IMS, where "Path" is intend to include the SIP URI
> of the
> P-CSCF from where the user is registering) the header handler routines
> would
> fail.
I would suggest to add another column to the location table to store
the path of an user agent.
regards,
Adrian & Klaus
More information about the Serdev
mailing list