When I used fetch_dlg_value to get data in 200 reply route of BYE, it always
empty.

I read some source about dialog module, I had discovered some possible
mistakes in function dlg_onreq() (file dlg_handles.c)(svn rev
6658)(2010-03-08)

When opensips receive 'BYE', current_dlg_pointer must be not null, and
current_dlg_pointer had been initiated, so this function will be return
before 't->dialog_ctx = (void*)current_dlg_pointer;' be exec. So in 200
reply of BYE, can't get dialog pointer.

I'm not sure this problem really exits? Would you please confirm it?

function dlg_onreq() (svn rev 6658 2010-03-08)
==============================================
void dlg_onreq(struct cell* t, int type, struct tmcb_params *param)
{
        /* is the dialog already created? */
        if (current_dlg_pointer!=NULL) {
                /* new, un-initialized dialog ? */
                if ( current_dlg_pointer->flags & DLG_FLAG_ISINIT )
                        return;

                /* dialog was previously created by create_dialog() 
                   -> just do the last settings */
                run_create_callbacks( current_dlg_pointer, param->req);

                current_dlg_pointer->lifetime = get_dlg_timeout(param->req);

                if (param->req->flags&bye_on_timeout_flag)
                        current_dlg_pointer->flags |= DLG_FLAG_BYEONTIMEOUT;

                t->dialog_ctx = (void*)current_dlg_pointer;

                /* dialog is fully initialized */
                current_dlg_pointer->flags |= DLG_FLAG_ISINIT;
        } else {
 ......
========================================================
-- 
View this message in context: 
http://n2.nabble.com/dialog-Can-t-fetch-data-in-200-reply-route-of-BYE-tp4699883p4699883.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.

_______________________________________________
Users mailing list
Users@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to