What is Custom SIP?
SIP headers provide a structured format for transmitting metadata during VoIP calls. This metadata can include details about the caller, the recipient, and other contextual information, enabling more personalized and context-aware interactions.Key attributes
Theconv object provides access to SIP-related attributes that you can use in your agent logic:
sip_headers
- Description: A dictionary containing SIP headers and their corresponding values.
- Use case: Extract caller-specific metadata or route calls dynamically.
- Example:
caller_number
- Description: The phone number of the caller.
- Use case: Personalize responses based on the caller’s number.
- Example:
callee_number
- Description: The phone number the caller dialed.
- Use case: Determine routing based on the number dialed.
- Example:
How to Use Custom SIP
-
Access SIP headers:
- Use
conv.sip_headersto retrieve metadata from the SIP protocol. - This is particularly useful for identifying caller attributes or custom routing.
- Use
-
Dynamic routing:
- Utilize
caller_numberandcallee_numberto configure routing flows based on incoming and dialed numbers.
- Utilize
-
Store data for contextual responses:
- Save SIP-related information into
conv.stateto persist data across the conversation. - Example:
- Save SIP-related information into
Use cases
- VIP routing: Automatically direct high-priority callers to specific support flows.
- Branch-specific handling: Route calls to the appropriate branch or location based on the number dialed.
- Dynamic personalization: Use SIP headers to provide tailored greetings or responses.
Conversation object, visit the conv object page.
Initiating SIP transfers programmatically
In addition to configuring call handoffs in the UI, you can initiate SIP transfers directly from a function usingreturn values. This is especially useful when routing logic depends on in-conversation data or SIP header values.
You can use two methods: INVITE and REFER. These are mutually exclusive with UI-based Call Handoffs and require manual setup.
SIP INVITE
This creates a new call and bridges the user with the target. Use this when you want PolyAI to act as a bridge.SIP REFER
This instructs the Session Border Controller to take over and transfer the call.To avoid 405 errors, make sure the “Take Back and Transfer” setting is enabled when using SIP REFER on any platform with that setting.

