Conference resource (CF… SID) with a nested Participant
collection keyed by each leg’s CallSid. Vobiz models the same thing as a named room: every
call that runs <Conference>RoomName</Conference> joins the room RoomName, and you control the
room and its members by that name - so there is no separate SID to track. This page maps every
Twilio conference call onto its Vobiz equivalent, in Python and Node.
Set your credentials once:
AUTH_ID is your Vobiz Auth ID (MA_…), AUTH_TOKEN is your Auth
Token. In the Vobiz SDK, api_key is the Auth ID, and every account-scoped method takes that
auth_id explicitly. Members are addressed by conference_name + member_id.Twilio → Vobiz mapping
Join a call to a conference
In Twilio you either dial into a room with<Dial><Conference> from an inbound call, or you push a
new leg in with participants.create. In Vobiz the room name is the join key: return
<Conference>RoomName</Conference> from an inbound call’s answer URL, and originate outbound legs
with make_call pointing at an answer URL that returns the same room.
<Conference> inside <Dial>; VobizXML uses
<Conference> directly, with the room name as the element text.
Control members: mute, hold, kick
Twilio addresses a participant by its legCallSid and mutates it with participants(sid).update(...).
Vobiz gives each control its own verb, addressed by conference_name + member_id - you get the
member IDs from get_conference.
List, inspect, and end rooms
Record a conference
Twilio records via therecord attribute (record-from-start) plus recordingStatusCallback.
Vobiz records the whole room either declaratively (record="true" on <Conference>) or imperatively,
starting and stopping on demand by room name.
callbackUrl on the conference end event (and to
callback_url on the recording API) - see Conference callbacks.
Key differences
- Room name, not SID. Twilio tracks a
Conferenceby itsCF…SID and each participant by legCallSid. Vobiz uses the human-readable room name plus amember_idfor every operation, so you never fetch a SID before acting - the name you put in<Conference>is the same name you pass to every control method. - One call returns the whole room.
get_conferencereturns the room’s details and its member list together, where Twilio’sfetch()andparticipants.list()are separate requests. - Ending rooms is explicit. Vobiz gives you
delete_conferencefor one room anddelete_all_conferencesfor every active room, versus Twilio’supdate(status='completed')per SID. - One verb per control. Mute, hold, deaf, announce, kick, and hangup are each their own method
(
mute_member,play_audio_member,deaf_member,kick_member,hangup_member), so intent is explicit and composable rather than a bundle of flags on oneparticipant.update(). - Hold is “play to one member.”
play_audio_memberstreams hold music to a single participant andstop_audio_memberreturns them to the room - the same outcome as Twilio’shold/hold_url, expressed as an audio action you fully control. - On-demand recording.
start_conference_recording/stop_conference_recordinglet you record any portion of an active room by name, in addition to the declarativerecord="true"attribute. - Same TwiML-shaped XML. VobizXML keeps
startConferenceOnEnter,endConferenceOnExit,muted,beep, andmaxParticipantsunder the same names - most<Conference>blocks port with only awaitUrl→waitSoundandstatusCallback→callbackUrlrename.
See also
- Conference XML element - every attribute of the Vobiz
<Conference>verb. - Conference callbacks -
enter/exit/start/endwebhooks. - Gather - collect DTMF before or after joining a room.
- Twilio → Vobiz overview - the full migration map and order.