Role of Envoy with external jaeger all in one

For an istio installation in production with tracing.enabled=false and global.enableTracing=true, and a separate jaeger all-in-one image deployed in the cluster, what are the different roles Istio Envoy and Jaeger Agent play? Does Isto Envoy just manage the tracing headers? Is Agent the piece that sends spans to Jaeger? Does it involve creation of 2 sidecar proxies (1 for Agent, 1 for Envoy) for each application pod at runtime?