My actions as below, please help me check:

1. I used fetch_dlg_value function in onreply_route, when opensips received
100/200 reply of INVITE, I can get dialog stored value, but in 200 reply of
BYE, I can't get any data.

2. First, I found opensips had not get dialog pointer in w_fetch_dlg_value
function. 

3. In get_current_dialog function, if 200 reply, ONREPLY_ROUTE,
trans->dialog_ctx will be return. 

4. I found dialog_ctx seem only can be set in function dlg_onreq when
opensips received BYE. 

5. According my addtion debug info, I found when opensips received BYE,
dlg_onreq will be exec. 

6. I guess when opensips received sequential request (BYE), it will create
new transaction, then set current dialog pointer to this new transaction in
dlg_onreq function. Then when reply of these requests (200) be received,
current dialog pointer can be get via get_current_dialog function.

7. So I consider in function dlg_onreq, move t->dialog_ctx =
(void*)current_dlg_pointer; to the position that before "if (
current_dlg_pointer->flags & DLG_FLAG_ISINIT )".

===========================================================
void dlg_onreq(struct cell* t, int type, struct tmcb_params *param)
{
        /* is the dialog already created? */
        if (current_dlg_pointer!=NULL) {

                t->dialog_ctx = (void*)current_dlg_pointer;

                /* 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);
..........
===========================================================
-- 
View this message in context: 
http://n2.nabble.com/dialog-Can-t-fetch-data-in-200-reply-route-of-BYE-tp4699883p4701106.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