Ignore:
Timestamp:
Jun 20, 2012 10:39:05 AM (12 years ago)
Author:
ming
Message:

Fixed #1537: Via rewrite: putting the right IP address in Via sent-by for outgoing requests

File:
1 edited

Legend:

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

    r4038 r4173  
    9191    pjsip_route_hdr              route_set; 
    9292    pjsip_hdr                    hdr_list; 
     93    pjsip_host_port              via_addr; 
     94    const void                  *via_tp; 
    9395 
    9496    /* Authorization sessions. */ 
     
    807809        regc->next_reg.sec += delay.sec; 
    808810    } 
     811} 
     812 
     813PJ_DEF(pj_status_t) pjsip_regc_set_via_sent_by( pjsip_regc *regc, 
     814                                                pjsip_host_port *via_addr, 
     815                                                pjsip_transport *via_tp) 
     816{ 
     817    PJ_ASSERT_RETURN(regc, PJ_EINVAL); 
     818 
     819    if (!via_addr) 
     820        pj_bzero(&regc->via_addr, sizeof(regc->via_addr)); 
     821    else 
     822        regc->via_addr = *via_addr; 
     823    regc->via_tp = via_tp; 
     824 
     825    return PJ_SUCCESS; 
    809826} 
    810827 
     
    12631280    pjsip_tx_data_add_ref(tdata); 
    12641281 
     1282    /* If via_addr is set, use this address for the Via header. */ 
     1283    if (regc->via_addr.host.slen > 0) { 
     1284        tdata->via_addr = regc->via_addr; 
     1285        tdata->via_tp = regc->via_tp; 
     1286    } 
     1287 
    12651288    /* Need to unlock the regc temporarily while sending the message to 
    12661289     * prevent deadlock (https://trac.pjsip.org/repos/ticket/1247). 
Note: See TracChangeset for help on using the changeset viewer.