diff --git a/src/sip/transp.c b/src/sip/transp.c index c63940a8b..ada515522 100644 --- a/src/sip/transp.c +++ b/src/sip/transp.c @@ -794,9 +794,13 @@ static int conn_send(struct sip_connqent **qentp, struct sip *sip, bool secure, /* Fallback check for any address win32 */ if (!sa_isset(&conn->laddr, SA_ALL)) { + uint16_t port = sa_port(&conn->laddr); err = sip_transp_laddr(sip, &conn->laddr, conn->tp, dst); if (err) goto out; + + if (port) + sa_set_port(&conn->laddr, port); } if (connh) {