- language:python - sdk:compatibility - product:voice Another very common use case with our voice APIs is creating/dialing conferences! This guide will show how you can dial into simple conferences using XML bins or create a more complex conferencing application using our SignalWire SDKs. What do I need to get started? You will need a SignalWire phone number that we can configure to handle inbound calls or to make outbound calls. You can read our handy guide on [how to purchase a phone number](guides/numbers-api/getting-started/buying-a-phone-number/index.mdx) if you have not done so already. You can also read [here](/guides/how-to-configure-your-webhook) to learn more about webhooks and how to configure them. We will be using inbound voice call webhooks for recording inbound calls. If you want to create an application that can handle more complex conferencing, you will also need to create an XML document in one of the SignalWire SDKs. This allows for greater customizability and the ability to build expansive applications serving multiple purposes in one document. You will need to make sure you have installed one of the SignalWire client SDKs in Python, Node.JS, PHP, or Ruby to write the XML document. You can view installation instructions [here](/compatibility-api/sdks). Lastly, if you are using the SignalWire SDK, you will need to host your code on a server to make it publically accessible! For local testing without using a server, [ngrok](https://ngrok.com/) is a great tool to allow you to create an SSH tunnel to your code on localhost making it publically accessible by SignalWire. You will then need to use it as your [webhook for handling inbound calls](/guides/how-to-configure-your-webhook#inbound-voice-call). Conferencing Notes A few notes that pertain to both the XML and SDK versions of this code! - You can freely name the conference room to fit your preference. However, only callers within a project can join in on a named conference room. Callers from separate projects will not be able to connect to that same conference room. - You can customize the background music as callers are waiting to join a conference call - Conferences will not begin unless there are 2 or more parties present. Conferencing with XML Bins (serverless code hosting) - Using simple conferencing with XML bins is incredibly easy! Conference is nested with Dial and has a variety of parameters you can use to further control the conference including recording, moderator controls, coaching, real-time conference controls, joining on mute or hold, and more. We will show some of these features in the SDK version, but you can also find some XML code examples of these in the [conference documentation](/compatibility-api/cxml/voice/conference-noun). This example is of a basic conference XML bin that you could attach to a phone number for handling inbound calls. The first participant to join will be placed in the conference and hear wait music until a second participant joins. Once a second participant joins the conference, the wait music comes to an end, a beep is played, and the conference call begins. xml