Skip to main content
When an inbound call or transferred call includes SIP headers, the platform can expose supported headers to the agent as session metadata. Agents can use this context for routing, personalization, or transfer continuity. For example, an agent can:
  • Route a call based on x-queue or x-skill.
  • Continue a CCaaS journey using user-to-user.
  • Inspect transfer context from referred-by, diversion, or history-info.
  • This capability applies to voice channels that expose inbound SIP headers to the runtime, including the Kore Voice Gateway path. - This capability is currently in Alpha. The agent can access only headers that are sent by the upstream SIP environment and pass the platform’s filtering and safety checks. Validate the behavior in your SIP environment before using it in production.

How Incoming SIP Headers Are Processed

Incoming SIP headers are sent by the upstream SIP system. Unlike outgoing transfer headers, you do not configure header names or values in the agent or project settings. The processing flow is:
The process works as follows:
  1. An upstream system, such as an SBC, carrier, PBX, or transfer source, sends SIP headers with the inbound INVITE or transfer REFER.
  2. The voice provider path forwards the available headers to the runtime.
  3. The runtime validates, filters, and normalizes the headers.
  4. Supported headers that pass these checks are added to _metadata.sip before the first agent turn.
  5. The agent can read the headers from session metadata and use them in conditions, prompts, or tool calls.
There is no project-level configuration for selecting incoming SIP headers. Project-level Header Passthrough and Allowed Transfer Headers settings apply to outgoing transfers, not incoming header processing.

Platform-Supported Incoming Headers

The platform exposes a fixed set of incoming SIP header names. Headers with other names are dropped. Supported header names are:

Header Normalization

Before exposing headers to the agent, the runtime normalizes them as follows:
  • Header names are case-insensitive and stored in lowercase. X-Queue becomes x-queue.
  • Underscores are converted to hyphens. x_queue becomes x-queue.
  • Repeated or multi-valued headers are combined into a comma-separated value.
  • CR/LF characters are removed from values.
  • Values containing null characters are rejected.

Blocked Headers

Infrastructure and security-sensitive headers are not exposed to the agent. Examples include:

Access Incoming Headers in the Agent

Incoming SIP headers are available in the runtime session metadata at: _metadata.sip. Example:
The metadata includes:

Use Incoming Headers in Agent

You can use incoming SIP headers directly in agent conditions or assign them to simpler variables for reuse.

Use Headers Directly in Conditions

Use bracket notation when referencing header names that contain hyphens.

Assign Headers to Variables

When a header is used in multiple conditions, prompts, or tools, assign its value to a variable in ON_START.
This approach is recommended when the same SIP-derived value is used in multiple places.

Use Incoming Headers in Tool Calls

If a tool or HTTP integration requires a value from an incoming SIP header, first assign the header value to a variable in ON_START. For example:
You can then pass sip_queue or sip_uui to downstream tools or integrations.

Limits

The following limits apply to incoming SIP headers:
  • Maximum 30 projected headers.
  • Maximum 2048 bytes per value.
  • Maximum 16384 bytes total for the projected SIP header block.
If these limits are exceeded, excess data is dropped rather than causing session initialization to fail.

Security Considerations

Treat incoming SIP headers as upstream-provided context, not as authenticated proof of identity or authorization. Do not rely solely on a SIP header to authorize sensitive actions such as:
  • Accessing an account.
  • Confirming a user’s identity.
  • Issuing a refund.
  • Changing security-sensitive information.
If a header such as user-to-user contains a customer identifier, validate it against a trusted system before using it for sensitive operations.

Troubleshooting