diff --git a/src/sip/transp.c b/src/sip/transp.c index eb7717b3e..c63940a8b 100644 --- a/src/sip/transp.c +++ b/src/sip/transp.c @@ -792,8 +792,18 @@ static int conn_send(struct sip_connqent **qentp, struct sip *sip, bool secure, if (err) goto out; - if (connh) + /* Fallback check for any address win32 */ + if (!sa_isset(&conn->laddr, SA_ALL)) { + err = sip_transp_laddr(sip, &conn->laddr, conn->tp, dst); + if (err) + goto out; + } + + if (connh) { err = connh(&conn->laddr, dst, mb, arg); + if (err) + goto out; + } (void)tcp_conn_settos(conn->tc, sip->tos); #ifdef USE_TLS