pjsip_message_filter: Only do interface lookup for wildcard addresses.
authorSean Bright <sean.bright@gmail.com>
Wed, 1 Nov 2017 18:58:32 +0000 (14:58 -0400)
committerSean Bright <sean.bright@gmail.com>
Wed, 1 Nov 2017 18:59:17 +0000 (13:59 -0500)
Change-Id: Ie083987e69dc43b6861671c218cacacc11b2072f

res/res_pjsip/pjsip_message_filter.c

index 978aeb0..085d978 100644 (file)
@@ -236,7 +236,7 @@ static pj_status_t filter_on_tx_message(pjsip_tx_data *tdata)
        pjsip_tpmgr_fla2_param_default(&prm);
        prm.tp_type = tdata->tp_info.transport->key.type;
        pj_strset2(&prm.dst_host, tdata->tp_info.dst_name);
-       prm.local_if = PJ_TRUE;
+       prm.local_if = is_bound_any(tdata->tp_info.transport);
 
        /* If we can't get the local address use best effort and let it pass */
        if (pjsip_tpmgr_find_local_addr2(pjsip_endpt_get_tpmgr(ast_sip_get_pjsip_endpoint()), tdata->pool, &prm) != PJ_SUCCESS) {