Ignore:
Timestamp:
Oct 8, 2006 4:59:38 PM (18 years ago)
Author:
bennylp
Message:

Modify sip_transaction.c to send ACK first before notifying upper layer about the failure (so that ACK is transmitted first before next INVITE is sent).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsip/sip_transaction.c

    r675 r756  
    23932393        pjsip_endpt_cancel_timer( tsx->endpt, &tsx->timeout_timer ); 
    23942394 
    2395         /* Generate ACK now (for INVITE) but send it later because 
    2396          * dialog need to use last_tx. 
    2397          */ 
     2395        /* Generate and send ACK (for INVITE) */ 
    23982396        if (tsx->method.id == PJSIP_INVITE_METHOD) { 
    23992397            pj_status_t status; 
     
    24042402            if (status != PJ_SUCCESS) 
    24052403                return status; 
     2404 
     2405            status = tsx_send_msg( tsx, ack_tdata); 
     2406            if (status != PJ_SUCCESS) 
     2407                return status; 
    24062408        } 
    24072409 
     
    24122414        /* Generate and send ACK for INVITE. */ 
    24132415        if (tsx->method.id == PJSIP_INVITE_METHOD) { 
    2414             pj_status_t status; 
    2415  
    2416             status = tsx_send_msg( tsx, ack_tdata); 
    2417  
    24182416            if (ack_tdata != tsx->last_tx) { 
    24192417                pjsip_tx_data_dec_ref(tsx->last_tx); 
     
    24262424                pjsip_tx_data_add_ref(ack_tdata); 
    24272425                */ 
    2428             } 
    2429  
    2430             if (status != PJ_SUCCESS) { 
    2431                 return status; 
    24322426            } 
    24332427        } 
Note: See TracChangeset for help on using the changeset viewer.