Conference room module

From Yate Documentation
Revision as of 13:43, 2 October 2012 by Dana (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

Conference room module

The conference room is an N-way audio mixer to which an arbitrary number of conference legs are attached.

The name of the conference room to connect to depends of the message:

  • for call.execute the callto parameter must be of the form "conf/NAME" (default empty) sets a specific room name, if the NAME is empty a new, unique conference room name is generated
  • for call.conference the room parameter (default empty) sets a specific room name instead of generating a new, unique one

In both cases the actual name of the conference is returned in the room parameter as "conf/NAME" like it should be used for further references.

The automatically generated room names are of the form "x-NUMBER" where NUMBER is incremented for each new room created. You must never make assumptions about the next room number, you must use the returned room parameter.

Each conference leg has the following capabilities that are controlled by the parameters of the call.execute or call.conference message:

  • existing (default false) forces using an existing room else the call fails
  • smart (default true) computes energy and supresses noise
  • echo (default false) hear back own voice in the conference's global mix
  • voice (default true) can speak to the conference, else can only hear it
  • counted (default true) conference leg is counted as regular user
  • billing (default false) emits messages needed to bill conference participants
  • utility (default false) creates a housekeeping conference leg that doesn't emit notifications and defaults to smart=false, echo=true, counted=false
  • player (default false) marks the conference leg as music player

The conference room itself has a set of capabilities that are taken from the parameters of the message that created the room:

  • maxusers (default 10) sets a limit to the number of users that can join a room
  • lonely (default false) allows the conference room to persist even when there is only one user connected
  • record (default empty) allows specifying a route that will make an outgoing record-only call
  • notify (default empty) enables generating notification messages for conference events
  • recordwarn (default empty) allows specifying an override source for the recording channel so that the participants are warned
  • rate (default 8000) sample rate used in mixing, must be 8000, 16000 or 32000 for transcoders to work properly

!! Messages The conference module handles two messages:

  • call.execute creates or attaches to an existing conference
  • call.conference creates a conference from an existing call allowing to add more call legs to it

A call.conference without a channel can be used to control recording. A record parameter that is "off" or "false" or "disable" will stop recording, else the old recorder is stopped and a new one created.

Besides the normal channel messages the conference rooms can generate [=chan.notify=] messages with the following parameters:

  • targetid - ID of the notification requestor
  • event - name of the event that created the message - "created", "destroyed", "joined" or "left"
  • room - name of the conference room
  • users - number of users currently in conference (only for "joined" or "left" events)
  • player - ID of the music player conference leg, if any
  • caller, called, billid, username - only for the "created" event


Configuration

There is no configuration file for this module. All parameters are taken from the call.execute or call.conference message.


Example

A simple conference can be executed via regexroute.conf like this

^701$ = conf/sales

Here 701 number will join people in conference.

^880$ = conf/test;lonely=true;maxusers=50

Here 800 will join people into a conference which is limited to 50 users, and where if there is only one person, they will remain in it (where the parameter lonelytimeout in pbxassist.conf specify the default global timeouts etc.)


Other information

Personal tools
Namespaces

Variants
Actions
Preface
Configuration
Administrators
Developers