diff --git a/res/res_pjsip_session.c b/res/res_pjsip_session.c
index d8789ae52eac509b84bb6c9b87268e88e9fdf814..37ff531050314962344785ad9f26609addb7b999 100644
--- a/res/res_pjsip_session.c
+++ b/res/res_pjsip_session.c
@@ -4006,6 +4006,7 @@ static void session_outgoing_nat_hook(pjsip_tx_data *tdata, struct ast_sip_trans
 		if (ast_sip_transport_is_local(transport_state, &our_sdp_addr) || !transport_state->localnet) {
 			ast_debug(5, "Setting external media address to %s\n", ast_sockaddr_stringify_host(&transport_state->external_media_address));
 			pj_strdup2(tdata->pool, &sdp->conn->addr, ast_sockaddr_stringify_host(&transport_state->external_media_address));
+			pj_strdup2(tdata->pool, &sdp->origin.addr, transport->external_media_address);
 		}
 	}