Ignore:
Timestamp:
May 29, 2019 8:02:02 AM (5 years ago)
Author:
ming
Message:

Fixed #2205: Use bound address for outgoing UDP SIP messages

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip/src/pjsua-lib/pjsua_acc.c

    r6004 r6015  
    32933293        return status; 
    32943294 
    3295     /* Set this as default return value. This may be changed below 
    3296      * for TCP/TLS 
    3297      */ 
     3295    /* Set this as default return value. This may be changed below. */ 
    32983296    addr->host = tfla2_prm.ret_addr; 
    32993297    addr->port = tfla2_prm.ret_port; 
     
    33163314            acc->via_tp = (pjsip_transport *)tfla2_prm.ret_tp; 
    33173315        } 
     3316    } else 
     3317    /* For UDP transport, check if we need to overwrite the address 
     3318     * with its bound address. 
     3319     */ 
     3320    if ((flag & PJSIP_TRANSPORT_DATAGRAM) && tfla2_prm.local_if && 
     3321        tfla2_prm.ret_tp) 
     3322    { 
     3323        int i; 
     3324 
     3325        for (i = 0; i < sizeof(pjsua_var.tpdata); i++) { 
     3326            if (tfla2_prm.ret_tp==(const void *)pjsua_var.tpdata[i].data.tp) { 
     3327                if (pjsua_var.tpdata[i].has_bound_addr) { 
     3328                    pj_strdup(acc->pool, &addr->host, 
     3329                              &pjsua_var.tpdata[i].data.tp->local_name.host); 
     3330                    addr->port = (pj_uint16_t) 
     3331                                 pjsua_var.tpdata[i].data.tp->local_name.port; 
     3332                } 
     3333                break; 
     3334            } 
     3335        } 
    33183336    } 
    33193337 
Note: See TracChangeset for help on using the changeset viewer.