Hi all, Maybe someone can have a look at this issue and provide some comments/guidance. It's about building a module to store dialog information in order to allow SER to terminate sessions.
Thanks in advance. JF On 12/6/05, JF <[EMAIL PROTECTED]> wrote: > Hi Bogdan, > > Thank you for that. I managed to add a t_cancel function to tm api, > but now I realize that in tm/dlg.c the code to create EARLY dialogs is > missing in new_dlg_uas() (only 2xx replies are handled, creating > CONFIRMED dialogs). To clarify, I'm using new_dlg_uas() via tm api to > create this dlg structure from within a TMCB_RESPONSE_IN callback > within this new "dialog management" module. > > Now, according to RFC 3261, on section 13.2.2.1: > "If a provisional response has a tag in the To field, and if the > dialog ID of the response does not match an existing dialog, one is > constructed" > > So first a check must be done for To tag presence, then try to find a > dialog (by ID) in the dialog table the module maintains. > So I would have to change new_dlg_uas() to create EARLY dialogs also > and only call it if previous checks pass. > > Does this seem reasonable? Could you (or the other core developers) > provide some guidance here? I have read somewhere in the list that > there were plans to implement a similar module... > > JF > > On 12/6/05, Bogdan-Andrei Iancu <[EMAIL PROTECTED]> wrote: > > Hi, > > > > The TM API does not export any cancel function right now. Instead there > > is a FIFO function for generating cancels: t_uac_cancel (see > > modules/tm/tm.c +553) . maybe this will help you in adding an API function. > > > > regards, > > bogdan > > > > JF wrote: > > > > >Hi, > > > > > >I've been playing around with TM callbacks and the TM API trying to > > >build a module which mantains dialog info in order to permit session > > >termination. For now I managed (in a very experimental way) to have a > > >function exposed to the script which initiates (appropriately built > > >with dialog info) BYE transactions to UAs and effectively terminates > > >the call. Later this could be done via FIFO or unix socket command > > >taking some kind of "dialog identifier" parameter... > > >But sending BYEs to terminate calls only works if the dialog is > > >already in the CONFIRMED state. > > >For early dialogs, CANCELs should be used. But in the TM API there is > > >no cancel function. Is there any other way of canceling a request on > > >behalf of an UA from within an openser module? Or would the TM API > > >need to be extended? > > > > > >Thanks in advance for any insights. > > > > > >JF > > > > > >_______________________________________________ > > >Devel mailing list > > >[email protected] > > >http://openser.org/cgi-bin/mailman/listinfo/devel > > > > > > > > > > > > > > _______________________________________________ Devel mailing list [email protected] http://openser.org/cgi-bin/mailman/listinfo/devel
