[OpenSIPS-Devel] call_control, dialog and BYE messages patch

Bogdan-Andrei Iancu bogdan at voice-system.ro
Tue Mar 31 10:32:35 CEST 2009


Hi Mauro,

I think a better approach is to use the DLGCB_LOADED callback type. This 
is called when a dialog is restored from DB (at startup) and it is 
called per dialog. So the "callcontrol" module could register such 
callback and use it to register further whatever other callbacks are needed.

Maybe Dan can help with this as he has a better inside view on the module.

Regards,
Bogdan

Mauro Davi' wrote:
>
> Hi All,
>
> using the callcontrol module I see that if the opensips server goes 
> down, on the next start the BYE message aren’t sent to the call 
> control module (i.e. the stop message).
>
> Attached there is the dialog module patch.
>
> I modified the |register_dlgcb (dialog, type, cb, param, 
> free_param_cb)| function in this way:
>
> If the dialog parameter is null and the type isn’t equal to 
> DIALOG_CREATED, the callback function is registered to all the active 
> dialogs.
>
> So in the call control module, in the mod_init function I simply added 
> this new lines:
>
> if (dlg_api.register_dlgcb(NULL, DLGCB_RESPONSE_FWDED, 
> __dialog_replies, NULL, NULL) != 0) {
>
> LM_CRIT("cannot register callback for dialog confirmation\n");
>
> return -1;
>
> }
>
> if (dlg_api.register_dlgcb(NULL, DLGCB_TERMINATED | DLGCB_FAILED | 
> DLGCB_EXPIRED | DLGCB_DESTROY, __dialog_ended, (void*)CCActive, NULL) 
> != 0) {
>
> LM_CRIT("cannot register callback for dialog termination\n");
>
> return -1;
>
> }
>
> Now the BYE messages are sent to the call control module (stop 
> messages) also if the opensips server is previously killed.
>
> I don’t know if this is the best solution, but it is a solution J
>
> Regards,
>
> MD
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Devel mailing list
> Devel at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/devel
>   




More information about the Devel mailing list