*** id: 9beba1a8-d8e4-4683-82ab-67d883aba526 title: Relay.Calling slug: /python/reference/calling max-toc-depth: 3 ---------------- [relay-calling-call]: /docs/server-sdk/v2/python/reference/calling/call [relay-calling-dialresult]: /docs/server-sdk/v2/python/reference/calling/results/dial ## Relay.Calling This represents the API interface for the Calling Relay Service. This object is used to make requests related to managing end to end calls. ## Methods ### dial Make an outbound Call and waits until it has been answered or hung up. **Parameters** | Parameter | Type | Required | Description | | ------------- | -------- | ------------ | ----------------------------------------------------------------------------------------------------- | | `call_type` | `string` | **optional** | The type of call.
*Default to `phone` as it is the only supported for now.* | | `from_number` | `string` | **required** | The party the call is coming from.
*Must be a SignalWire number or SIP endpoint that you own.* | | `to_number` | `string` | **required** | The party you are attempting to call. | | `timeout` | `number` | **optional** | The time, in seconds, the call will ring before going to voicemail. | **Returns** `coroutine` - Coroutine object that will be fulfilled with a [`Relay.Calling.DialResult`][relay-calling-dialresult] object. **Examples** Make an outbound Call and print the call object if it was answered: ```python async def ready(client): result = await client.calling.dial(from_number='+1XXXXXXXXXX', to_number='+1YYYYYYYYYY') if result.successful: # Call has been answered and is now active. Use 'result.call' to access the Call object. print(result.call) else: print('Call failed or not answered.') ``` ### newCall Create a new `Call` object. The call has not started yet allowing you to attach event listeners on it. **Parameters** See `Relay.Calling.Dial` for the parameter list. **Returns** `Call` - A new [`Relay.Calling.Call`][relay-calling-call] object. **Examples** Create a new Call object: ```python call = client.calling.new_call(from_number='+1XXXXXXXXXX', to_number='+1YYYYYYYYYY', timeout=30) # Use the call object.. ```