SIP Transfers

Transfer calls to SIP-compatible endpoints.

SIP transfers enable your AI agent to hand off calls to SIP endpoints such as PBX systems, SIP phones, or softphones.

Looking for other transfer types? See the Call Transfers overview for phone number (TEL) and dynamic transfer options.


Prerequisites

  • Your SIP endpoint must be reachable from Synthflow
  • SIP (UDP/TCP 5060) and RTP ports open and forwarded

Setup

1

Go to Agents → [Your Agent] → Actions.

2

Under During the call, click Add ActionCall Transfer.

3

Enter your SIP URI (e.g., sip:user@domain.com).

4

Configure transfer settings:

  • Transfer mode: Warm (with message or context summary) or blind
  • Timeout: How long to wait for the endpoint to answer
5

Click Add Action to save.


Custom X-Headers

You can define custom X-headers in the UI to pass additional metadata with your SIP INVITE requests. This is useful for routing logic, caller identification, or integration with your PBX system.

Custom X-Headers configuration

Available Variables

Header values support dynamic variables, allowing you to pass contextual data with each transfer:

Variable SourceExampleDescription
Pre-call webhook{results.data.name}Data returned from your pre-call webhook
During-call actions{results.data.data.price}Results from custom actions executed during the call

Field Requirements

FieldRequirements
NameMust start with X- and contain only letters (A-Z, a-z), digits (0-9), hyphen (-), and underscore (_). Pattern: ^X-[A-Za-z0-9\-_]+$
ValueCannot contain CR (\r), LF (\n), or NULL (\0) characters. Supports variables (e.g., {customer_id}).

Avoid adding too many X-headers. Excessive headers increase the size of SIP INVITE packets, which can lead to packet fragmentation and loss—especially over UDP. Keep your headers minimal and only include data that your PBX or routing logic actually needs.


Supported SIP URI Formats

FormatExampleUse Case
Basicsip:user@domain.comStandard SIP endpoint
With portsip:user@domain.com:5060Non-standard port
Secure (TLS)sips:user@domain.comEncrypted connections
E.164sip:+1234567890@provider.comPSTN gateway routing
Rawinternal-ext-123Custom telephony only (see below)

Raw Format (Custom Telephony Only)

If you’re using custom telephony integration and need to transfer to internal pseudo numbers or non-standard formats, you can use raw format. This bypasses URI validation and passes your input directly to your telephony provider.

Raw format only works with custom telephony integrations. It does not apply when using Synthflow’s built-in telephony.


SIP Methods: REFER vs INVITE

The SIP method used depends on your transfer mode:

Transfer ModeSIP MethodBehavior
Blind (Cold)SIP REFERSynthflow hands off the call entirely; your SIP server handles the new connection
WarmSIP INVITESynthflow creates a new outbound call leg, bridges the calls after whisper/summary

SIP REFER considerations:

  • Caller ID shows the original caller’s number
  • Requires your SIP server to support REFER
  • Transfer happens entirely on your telephony infrastructure

SIP INVITE considerations:

  • Caller ID shows your Synthflow agent’s number
  • Allows whisper messages and conversation summaries
  • Synthflow maintains control until transfer completes

Security

Synthflow supports Access Control Lists (ACL) to secure inbound SIP calls. Configure your SIP server to accept connections only from Synthflow’s IP addresses. Username/password authentication is not currently supported for inbound call transfers.


Transfer Failure Handling

Failure ScenarioBlind TransferWarm Transfer
SIP endpoint unreachableCall endsAgent can retry or continue
Timeout (no answer)Call endsAgent can retry or continue
SIP error response (4xx/5xx)Call endsAgent notified with error

For mission-critical transfers, use warm transfer mode to enable graceful failure recovery and alternative routing.