Changeset 2053


Ignore:
Timestamp:
Jun 25, 2008 6:35:31 PM (16 years ago)
Author:
bennylp
Message:

Fixed assertion error when resending re-INVITE after it is challenged with 401/407, and also fixed error when the invite session is not retrying the BYE request when it is challenged with 401/407

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip-ua/sip_inv.c

    r2049 r2053  
    25472547     * but only the transaction. 
    25482548     */ 
    2549     if ((tsx->status_code == PJSIP_SC_CALL_TSX_DOES_NOT_EXIST && 
     2549    if (inv->state != PJSIP_INV_STATE_DISCONNECTED && 
     2550        ((tsx->status_code == PJSIP_SC_CALL_TSX_DOES_NOT_EXIST && 
    25502551            tsx->method.id != PJSIP_CANCEL_METHOD) || 
    2551         tsx->status_code == PJSIP_SC_REQUEST_TIMEOUT || 
    2552         tsx->status_code == PJSIP_SC_TSX_TIMEOUT || 
    2553         tsx->status_code == PJSIP_SC_TSX_TRANSPORT_ERROR) 
     2552         tsx->status_code == PJSIP_SC_REQUEST_TIMEOUT || 
     2553         tsx->status_code == PJSIP_SC_TSX_TIMEOUT || 
     2554         tsx->status_code == PJSIP_SC_TSX_TRANSPORT_ERROR)) 
    25542555    { 
    25552556        pjsip_tx_data *bye; 
     
    33043305             tsx->role == PJSIP_ROLE_UAC) 
    33053306    { 
    3306         /* Must not have other pending INVITE transaction */ 
    3307         pj_assert(inv->invite_tsx==NULL || tsx==inv->invite_tsx); 
    33083307 
    33093308        /* 
     
    33113310         */ 
    33123311        if (tsx->state == PJSIP_TSX_STATE_CALLING) { 
     3312 
     3313            /* Must not have other pending INVITE transaction */ 
     3314            pj_assert(inv->invite_tsx==NULL || tsx==inv->invite_tsx); 
    33133315 
    33143316            /* Save pending invite transaction */ 
     
    34193421 
    34203422        } 
    3421     } 
    3422 } 
    3423  
     3423 
     3424    } else if (tsx->role == PJSIP_ROLE_UAC) { 
     3425        /* 
     3426         * Handle 401/407/408/481 response 
     3427         */ 
     3428        handle_uac_tsx_response(inv, e); 
     3429    } 
     3430} 
     3431 
Note: See TracChangeset for help on using the changeset viewer.