Ignore:
Timestamp:
Oct 9, 2009 12:11:07 PM (10 years ago)
Author:
bennylp
Message:

Fixed ticket #917, #936, and #967:

  • #917: CANCEL may be sent to different servers than the INVITE when DNS SRV is used (thanks Alexei Kuznetsov for the report)
  • #936: CANCEL must be sent with TCP if the INVITE was sent with TCP because of 1300 bytes message size/MTU limit (thanks Johan Lantz for the report)
  • #967: Wrong Route header generation in CANCEL request with strict route

Save the server address(es) found by resolution process to tx_data, which is copied to CANCEL request. CANCEL request then uses this address rather than starting a fresh server resolution.

File:
1 edited

Legend:

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

    r2915 r2932  
    16271627{ 
    16281628    pjsip_transaction *tsx = (pjsip_transaction*) send_state->token; 
     1629    pjsip_tx_data *tdata = send_state->tdata; 
    16291630    struct tsx_lock_data lck; 
    16301631 
     
    16451646 
    16461647            /* Update remote address. */ 
    1647             tsx->addr_len = send_state->addr.entry[send_state->cur_addr].addr_len; 
     1648            tsx->addr_len = tdata->dest_info.addr.entry[tdata->dest_info.cur_addr].addr_len; 
    16481649            pj_memcpy(&tsx->addr,  
    1649                       &send_state->addr.entry[send_state->cur_addr].addr, 
     1650                      &tdata->dest_info.addr.entry[tdata->dest_info.cur_addr].addr, 
    16501651                      tsx->addr_len); 
    16511652 
Note: See TracChangeset for help on using the changeset viewer.