[Kamailio-Devel] RFC: Dialog: Feature-Extensions

Jerome Martin jmartin at longphone.fr
Tue Sep 16 17:24:25 CEST 2008


Hi,

I'd like to jump in because I too have some needs/patches wrt the dialog
module. We are also using dialog for billing.

1/ About your patches :
> - in case "tight matching" fails (when using the
Record-Route-Parameter
> for in-dialog requests), try to find the dialog based on the
> SIP-Elements in the message

I think this is already mode 1 in 1.4 ?

> - i've moved the loading of dialogs to the first child (rather than
> during the initialization of the module)

May I ask what is your goal there ?

> - i'll execute the create_dlg-callbacks when loading from database at
> startup. We do billing based on the dialog module, so we need the
> callbacks, when a dialog terminates... (and the callbacks should also
be
> executed, if the proxy was restarted in the meanwhile ;-)

I am VERY interested in your create_dlg-callbacks when loading from DB
stuff !
As we do billing from dialog too, I was planning on getting to code
something lalong those lines myself.
Also, I wondered about loading dialogs with other sockets than the local
one in case the proxy who created a dialog died meanwhile, have you
thought about this ?

2/ I try to use is_in_profile() to determine if requests (ACK, etc...)
are for an existing dialog in the script. For replies, it works fine,
but for requests, the dialog callback creating the current_dlg is called
only during t_relay. So I have a patch that adds a callback in pre
script / request to create the dialog there. It means is_in_profile()
can now be used from the request route to check if an ACk, a re-INVITE,
etc... belongs to an existing dialog. It does not work for CANCELs.

3/ I use 1.4 now, but I have patches for 1.3 (not ported yet ...) that
(quoting from memory) :
    . handles REQBYE properly when dialog is in DELETED state
    . adds an extra_info column in the dialog from an avp (I think this
one is now obsolete)
    . move deleted dialogs to an other "archive" table instead of
deleting them
 
4/ I have partial patches that were aimed at :
    . saving the dialogs earlier in DB, as soon as the INVITE is
received
    . adding a new state to the state_machine, RINGING


Please comment on this too :-)
I do not want to hijack the thread, but I felt relevant to inject here
my own tweaks, maybe we can do something more structured all
together ? :-)

Regards,

Jérôme Martin | LongPhone
Responsable Architecture Réseau
122, rue la Boetie | 75008 Paris 
Tel :  +33 (0)1 56 26 28 44
Fax : +33 (0)1 56 26 28 45
Mail : jmartin at longphone.fr
Web : www.longphone.com


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kamailio.org/pipermail/devel/attachments/20080916/0ef77cd5/attachment.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: stock_smiley-1.png
Type: image/png
Size: 873 bytes
Desc: not available
Url : http://lists.kamailio.org/pipermail/devel/attachments/20080916/0ef77cd5/attachment.png 


More information about the Devel mailing list