For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
GuidesReference
GuidesReference
    • Core
      • Overview
    • Agents
      • Overview
      • AgentBase
      • AgentServer
      • BedrockAgent
      • CLI Tools
      • Configuration
      • ContextBuilder
      • DataMap
      • FunctionResult
      • Helper Functions
      • LiveWire
      • MCP Gateway
      • PomBuilder
      • Prefabs
      • Search
      • SkillBase
      • Skills
      • SWAIGFunction
      • SWMLBuilder
      • SWMLService
      • WebService
    • RELAY
      • Overview
      • Actions
      • Call
        • ai
        • ai_hold
        • ai_message
        • ai_unhold
        • amazon_bedrock
        • answer
        • bind_digit
        • clear_digit_bindings
        • collect
        • connect
        • denoise
        • denoise_stop
        • detect
        • disconnect
        • echo
        • hangup
        • hold
        • join_conference
        • join_room
        • leave_conference
        • leave_room
        • live_transcribe
        • live_translate
        • on
        • pass_
        • pay
        • play
        • play_and_collect
        • queue_enter
        • queue_leave
        • receive_fax
        • record
        • refer
        • send_digits
        • send_fax
        • stream
        • tap
        • transfer
        • unhold
        • user_event
        • wait_for
        • wait_for_ended
      • Constants
      • Events
      • Message
      • RelayClient
      • RelayError
    • REST Client
      • Overview
      • Addresses
      • Calling
      • Chat
      • Compat
      • Datasphere
      • Fabric
      • Imported Numbers
      • Logs
      • Lookup
      • MFA
      • Number Groups
      • Phone Numbers
      • Project
      • PubSub
      • Queues
      • Recordings
      • Registry
      • RestClient
      • Short Codes
      • SignalWireRestError
      • SIP Profile
      • Verified Callers
      • Video
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • Parameters
  • Returns
  • Example
RELAYCall

echo

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

hangup

Next
Built with

Echo audio back to the caller. This is primarily useful for testing audio quality, latency, and connectivity. The caller hears their own voice repeated back to them.

This method emits calling.call.echo events. See Call Events for payload details.

Parameters

timeout
Optional[float]

Maximum duration of the echo in seconds. The echo stops automatically after this timeout.

status_url
Optional[str]

URL to receive echo status webhooks.

Returns

dict — Server response confirming the echo operation.

Example

1from signalwire.relay import RelayClient
2
3client = RelayClient(
4 project="your-project-id",
5 token="your-api-token",
6 host="your-space.signalwire.com",
7 contexts=["default"],
8)
9
10@client.on_call
11async def handle_call(call):
12 await call.answer()
13 await call.play([{"type": "tts", "text": "Starting echo test. You should hear yourself."}])
14
15 result = await call.echo(timeout=30)
16 print(f"Echo completed: {result}")
17
18 await call.play([{"type": "tts", "text": "Echo test complete."}])
19 await call.hangup()
20
21client.run()