Conference room module

From Yate Documentation
(Difference between revisions)
Jump to: navigation, search
Line 6: Line 6:
  
 
The name of the conference room to connect to depends of the message:
 
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.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
 
* for call.conference the ''room'' parameter (default empty) sets a specific room name instead of generating a new, unique one
Line 13: Line 14:
  
 
Each conference leg has the following capabilities that are controlled by the parameters of the call.execute or call.conference message:
 
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
 
* ''existing'' (default false) forces using an existing room else the call fails
 
* ''smart'' (default true) computes energy and supresses noise
 
* ''smart'' (default true) computes energy and supresses noise
Line 23: Line 25:
  
 
The conference room itself has a set of capabilities that are taken from the parameters of the message that created the room:
 
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
 
* ''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
 
* ''lonely'' (default false) allows the conference room to persist even when there is only one user connected
Line 30: Line 33:
 
* ''rate'' (default 8000) sample rate used in mixing, must be 8000, 16000 or 32000 for transcoders to work properly
 
* ''rate'' (default 8000) sample rate used in mixing, must be 8000, 16000 or 32000 for transcoders to work properly
  
!! Messages
+
 
 +
== Messages ==
 +
 
 
The conference module handles two messages:
 
The conference module handles two messages:
 +
 
* ''call.execute'' creates or attaches to an existing conference
 
* ''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
 
* ''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.
 
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:
+
Besides the normal channel messages the conference rooms can generate chan.notify messages with the following parameters:
 +
 
 
* ''targetid'' - ID of the notification requestor
 
* ''targetid'' - ID of the notification requestor
 
* ''event'' - name of the event that created the message - "created", "destroyed", "joined" or "left"
 
* ''event'' - name of the event that created the message - "created", "destroyed", "joined" or "left"

Revision as of 13:47, 2 October 2012

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