Docker image
fonoster/routr-connect
The processor has no configuration file. You configure it with environment variables.
Ports
Environment variables
Service
Number normalization
Connect Token verification
These variables verify the JWT in theX-Connect-Token header. Set only one of CONNECT_VERIFIER_ADDR or CONNECT_VERIFIER_PUBLIC_KEY_PATH. If you set both, the public key is used.
Header stripping
Untrusted requests are calls from the PSTN and requests authorized only by a Connect Token. The default list is
X-App-Ref, X-Call-Ref, X-Call-Direction, X-DOD-Number, X-DOD-Privacy, X-Access-Key-Id, X-Is-Api-Originated-Type, X-Edgeport-Ref, X-Gateway-Auth, X-Request-Uri, and X-Session-Count. A request with a verified Connect Token keeps X-App-Ref. Requests from authenticated Agents and Peers keep all headers.
EdgePort trust
When the callee is connected to a different EdgePort, the processor adds a Route header to that EdgePort and anX-Edgeport-Ref header. A request carrying X-Edgeport-Ref skips routing and access checks, so the processor honors the header only from a trusted peer EdgePort.
From any other source, the processor removes
X-Edgeport-Ref, logs a warning, and routes the request normally. A CANCEL always follows its INVITE’s path and is not affected.
Observability
gRPC contract
The processor serves the Processor contract and is a client of the Location Service and the API Server.
See processor.proto, location.proto, and the Connect protos.
Minimal example
This command runs the processor against a Location Service and an API Server.Notes
- With a single EdgePort, leave
TRUSTED_EDGEPORT_ADDRESSESempty. With several EdgePorts, list their addresses, or requests forwarded between EdgePorts go through routing and access checks again instead of reusing the route in the message. - The EdgePort ref is its
HOSTNAMEin Docker and Kubernetes. Use those values inTRUSTED_EDGEPORTS. - The processor exits at startup if
LOCATION_ADDRorAPI_ADDRis missing.