From Zenitel Wiki
A duplex conference is in principle an ordinary conversation with more than two participants. A duplex conference can have up to 64 participants using ICX-AlphaCom server, and 16 participants using AlphaCom XE server. This is a total for all conferences. 20 open duplex conferences can be configured. No additional hardware is required. The Duplex Conferences are operational by default, and additional properties can be assigned to each conference from AlphaPro - Duplex Conference window.
A station can leave the conference by hanging up. A conference participant can drop out of the conference temporarily to add another station by dialing 56 + directory number. It is possible to control conference set-up remotely. One station can force other stations into a conference, and also force them out again. A telephone call can be included in the conference. A 'master station' for the conference can be defined. This has the effect that when the master leaves the conference, the whole conference is terminated.
The core of the duplex conference is audio mixing. Each participant's loudspeaker gets the audio mix of the microphone signals from the other participants. This is called a conference bridge. An IP station and an analog station with handset lifted will be connected to the conference bridge in full (open) duplex. An analog station in loudspeaking mode will be connected in voice switched mode, and will require one "speech channel" (i.e. one ASLT or ATLB board per participant).
- 1 Joining and leaving conference
- 2 Programming options for Duplex Conference
- 3 Limitations and Resources
- 4 Technical Details
- 5 Additional Information
- 6 Software history
- 7 Open Duplex Conference prior to AMC 10.50
- 8 Issues
- 9 Related articles
Joining and leaving conference
Direct entry to a specific conference: Dial the conference number 83xx .
|SIP phones must use Direct Entry to a conference. SIP phones cannot be remotely included in the duplex conference.|
Transfer from conversation to "ad-hoc" conference
Transfer from a two-part conversation: Dial “56” during conversation. An unused “ad-hoc” conference is allocated, and the two stations are transferred to the new conference.
In case of an inquiry call from a parked conversation, all three stations will be transferred to an “ad-hoc” conference. Both ends of the open conversation can initiate the transfer by dialling “56”. This is probably the most natural way to establish a conference.
- Station A and B are in conversation
- Station A puts B OnHold (dial "2") and call station C
- Station A dial 56 (Or a DAK called "Conference")
- A + B + C are now in conference
Care has been taken to ensure that also calls that involves SIP Stations can be transferred to an ad-hoc conference. (No disconnection message during the transfer.) Calls to or from SIP Trunk can currently (AMC sw 220.127.116.11) not be included in an ad hoc conference.
Direct inclusion from within conference
Expand a conference: A participant in a duplex conference can include other stations into the conference: Dial
- 56 <station number>, or
- 56 <group number>
The dialler immediately goes back to the conference after terminating the dialling.
This is a “raw” setup function. Transfer and absence status of the target stations are ignored.
Inclusion by inquiry call from conference
Expand a conference: A participant in a duplex conference can also make an inquiry call to a station, and ask if somebody there want to join. If yes, dial “56” to transfer the inquired station to the conference. The dialling station returns to the conference as well.
If the answer is no, or no one respond to the inquiry, just press C and the dialler returns to the conference.
- 2 <station number> 56
With the inquiry method, transfer, private and absence status of the target station is followed.
Remote setup from station
Dial from Idle:
- 74 <station dirno> + <conference dirno>
- 75 <group number> + <conference dirno>
(Requires appropriate ClassOfService privileges.)
Remote disconnection from station
This feature disconnects specific stations from a duplex conference. Dial from idle:
- 74 <participant dirno> 8300
- 75 <group number> 8300
This is not a “conference disconnect” function. If the conference has additional members, these will remain in the conference.
Programming options for Duplex Conference
These options can be set for each duplex conference:
Per conference one “master” station can be programmed. The semantics is that when the conference master station leaves the conference, the whole conference is taken down.
The conference master is not automatically included in the conference. The conference disconnect function only applies if the conference master is included in the conference in the first place.
The conference priority controls the priority of resource allocations.
If set to the highest (alarm) priority, the conference can snatch resources from other stations/functions. Busy stations will also be disconnected from normal priority functions in order to be included in alarm-priority conference.
|The conference is treated like an ordinary conversation.|
Common for setup functions
For all remote setup variants it applies that a busy subscriber can not be included in the conference if not the conference has the highest priority to force the subscriber idle.
Group setup variants are limited to 16 group members. If the number of members in the group exceeds the maximum number of participants in the conference, the first members of the group that are free are included in the conference.
If a group member is busy with high enough priority, he is skipped and the next group member is involved.
Data Protocol messages
There are two different messages for forcing stations into a conference: ODC and CALL. Other Data Protocol Messages for Open Duplex Conference includes: OD_CONF_ENTERED, OD_CONF_LEAVE, ECL_O_DUPL_CONF.
Include/exclude a station or a group into/from an Open Duplex Conference: Dedicated message: O_DUPL_CONF:
- $ODC <station-or-group> <conference> [<mode>]
- (<mode> = 2 means “toggle”).
Null value or directory number for “duplex conference off” disconnects the subscriber or group from the conference. Response is “COMMAND_RESPONSE” or ILLEGAL_PARAM.
Set up a conversation like dialing from a station: Dedicated message: CALL_SETUP:
- $CALL <station> <conference> [<setup-flags>]
The response is COMMAND_RESPONSE. But the response is only transmitted if bit one (“RETURN_ACK”) in the setup-flags is set (append “w1” to the message).
$CALL also support inclusion of station into a conference in another exchange over AlphaNet.
Identifying a conference: Dedicated message: ECL_O_DUPL_CONF:
The entity class ECL_O_DUPL_CONF = 15 is defined for duplex conferences, letter “f” in the “simple linklayer”. So if you don’t want to depend on directory numbers, you can send:
- $CALL N3 NF5
which is the equivalent of
- $CALL L103 L8305
Limitations and Resources
The Open Duplex Conference mixing is handled by the AMC-IP card. Depending of the type of station, and the condition of the station, the resource usage can vary. An ordinary analogue station in loudspeaking mode will use one speech channel (one ASLT or ATLB resource). Lifting the handset on an analogue station switched the station to Full Duplex, making the resource usage change from the ASLT/ATLB to the AMC-IP, thus releasing one resource for stations without handset. IP stations is by default Full Duplex and will always get their resources from the AMC-IP card.
Resource usage summary
--> One ASLT board is needed for each partcipant in vox-duplex (two scanner resources is needed) --> A participant in full duplex requires on mixer resource; 1/16th AMC-IP.
Mixing in DSP
The new duplex conference do the mixing in the DSP of the AMC-IP board. No AGA board is required, neither any AlphaPro configuration. This means that the conference audio is limited to 7kHz bandwidth, also for internal members.
The DSP conference mixing is quite simple and efficient. For each 16kHz period:
- Zero all conference sums
- Loop through all conference ports: add input sample to the conference sum (one sum variable for each conference)
- Loop through all conference ports again: Output sample is conference sum minus the port input sample
In a MultiModule only the AMC-IP in the Master is used for the mixing.
IP calls supported, LEC
Calling into Duplex Conference is now properly supported.
- Calling from stations wired to slave modules linked with IP audio now works.
- Use of line echo cancelling versus voice switched duplex is greatly improved. This makes calling from IP stations and AlphaNet more useable.
An important change is local ASLT/ATLB stations use a Line Echo Cancellation (LEC) resource when going off hook. This is required so that members connecting via IP do not receive annoying echo. Another positive effect of using LEC is that it reduces the risk of "howling" when having many offhook members in a conference.
Resource usage and limitations
DSP SW (from version 01.14) implements 32 conference ports. (Resource type 0x1300) Each conference port can be connected to one of 32 "summation points". Each conference port outputs the sum of the inputs from the other ports connected to the same summation point. The conference ports operates on 16kHz samplerate 16 bit linear PCM.
So there can never be more than 32 simultaneous participants in total in an exchange. (This matches the capacity for 2 AGA cards only used for conference mixing). The actual number of participants will most likely be lower, see the following points:
- Each local participant uses at least one Conference port and and one AMC-backplane (PCMC) channel. There are 32 PCMC channels, and the same channels are also used for every VoIP connection, such as AlphaNet, IP stations, MultiModule-over-IP, SIP equipment etc...
- An ASLT participant with handset on-hook will use Voice switched Duplex, requiring two ASLT scanners.
- An ASLT participant with handset off requires a LEC resource, of which there are 10 in one module. If the participant is wired to an IP-slave, the LEC resource is located to the slave module. If LEC resources are used up, the connection switches back to Voice switched Duplex.
- There can never be more than 16 IP station participants, see VoIP via Backplane. An IP Station participant does not require duplex-scanner or LEC in the exchange, because the IP station has built in echo cancelling.
- Calling into a conference over AlphaNet IP: When onhook, the voice switched duplex usually takes place in the conference exchange. But when going offhook, the LEC resource is taken from the remote calling exchange.
- Default directory numbers: 8300 - 8320. 8300 is conference off.
- 8315-8320 are used as ad-hoc conferences.
- Both stations connected to ASLT-board and ATLB-board can be participants.
- All types of IP stations can participate in an Open Duplex Coneference.
- Outside phones calling in through a SIP trunk can dial into an Open Duplex Conference.
- SIP phones configured as SIP-Stations, or regstered through SIP registrar can also participate in an Open Duplex Conference.
- The remote set-up of duplex conference is a toggle feature. You can program a single-touch key with the remote set-up number + the station number + conference number. On the first press of the key, the station is included in an ongoing conference, on second press the station is removed from the conference. It is possible to do this from a station which is already a member of the conference.
- M-key with voice switched duplex: An on-hook ASLT station can use the M-key to force the speech direction of its own switched duplex connection. The M-key does not directly turn the duplex of the other participants, but the duplex of the others will often turn automatically when somebody uses the M-key.
- Conversation Timeout: The Conversation timeout is active for duplex conference members, in exactly the same way as in a normal conversation. Each member starts its own timer when joining the conference, so each member is disconnected individually when their time is out.
- If open duplex mixer allocation succeeded, but no duplex resources was available, the station starts ringing, and you can enter in open duplex by lifing handset.
- AMC 07.20:
- Introduction of Open Duplex Conference using AGA boards for mixing
- Maximum 4 participants in one conference
- Participants must be located in Master Module
- This is a Open Duplex Conference, i.e. handset must be used.
- AMC 08.00:
- Remote set-up as toggle feature.
- AMC 10.00:
- Stations can join the conference in loudspeaking "handsfree" mode, i.e. the duplex conference can have a mix of participants connected in open duplex and vox-duplex.
- Stations connected to slave modules can join the conference.
- A two-party conversation can be converted to a conference ad-hoc.
- Backwards-compatibility flag. When set users must be in open duplex mode to join the conference
- Ad-hoc conference flag.
- AMC 10.50:
- The number of participants increased from 4 to 16 in one conference.
- Conference mixing in AMC-IP, no additional AGA required.
- No AlphaPro configuration required
- M-key can be used in voice switched duplex.
- The 'Conversation timeout' timer applies also to Duplex Conference.
Open Duplex Conference prior to AMC 10.50
Force old AGA conference
The old AGA based conferencing is still available as it was on prevous versions in the AMCD SW. In order to switch back to the old mode, a flag can be set using the TST#NVRAM_editor:
.ex_profile.flags.use_old_odc = 1
The behaviour of the 83xx conferences was changed with the introduction of vox-duplex. If there is a need to enforce the old mode; only low speaking mode using handsets, this can be achieved by setting the system wide nvram flag:
.ex_profile.flags.dupl_conf_no_vox = 1
The autoload value is zero, allowing use of vox duplex. So normally there is no need to change this flag.
This flag is currently not accessible in AlphaPro, the “nvram” command must be used in “TST-console”.
Ad-hoc conference flags
Conferences 15 to 20 are by default used for transfer from call to ad-hoc conference. This is controlled by the NVRAM flag
Prior to AMC 10.00 this flag was unused, and autoloaded to zero for all conferences. With AMC 10.00 the anonymous flag is set to “1” for conferences 15 to 20 during autoload.
If the ”dupl_conf_no_vox” nvram-flag is set: Vox duplex is not allowed. When a station is included into a duplex conference, it will start to ring, and the handset has to be lifted in order to connect to the conference audio. If the handset was lifted in the first place, the station is connected to the conference audio directly. The timeout on the ringing is default 30 seconds, the duration is controlled by the same programming as normal private ringing.
This flag is currently not accessible in AlphaPro, the “nvram” command must be used in “TST-console”. Normally there is no need to change this flag. However:
If upgrading from an early X-version of AMC 10.00, you have to either set the anonymous-flags manually, or do a cold-start of the AMC board. Otherwise transfer from call to ad-hoc conference will not work.
AGA board and programming
In AMC versions earlier than 10.50 the duplex conference requirer proper installation of an AGA board.
All audio mixing take place in the Master module. At least one AGA board is needed, and some AGA resources must be programmed to “2 Open Duplex Conf Mixer” in the “Board” programming. (Each “port” defined in AlphaPro makes two mixer circuits, each 1/16th of AGA).
The figure shows an example of 4 participants in a conference, using AGA resources to perform the conference mixing.
The hardware for conferencing will initially be an AGA board, where each of the 16 bi-directional channels have 3 subchannels (timeslot selectors, like each subscriber on an ASLT). This means that 3 timeslots can be listened to, and the sum is returned in a 4. timeslot via an on-board loop. The figure is a simplified representation of use of timeslots.
Conference mixers only used in Master
Open Duplex participant in master:
port_in -> ts_in_m ->>> other mixers port_out <- ts_out_m <- mixer(own)
VoiceControled Duplex participant in master:
port_in -> ts_in_p -> fader -> ts_in_m ->>> other mixers ts_in_p -> scan_p port_out <- ts_out_m <- mixer(own) scan_m <- ts_out_m Duplex operating on port_out and fader
Open Duplex participant in slave:
port_in -> ts_in_p -> icch -> ts_in_m ->>> other mixers port_out <- ts_out_p <- icch <- ts_out_m <- mixer(own)
VoiceControled Duplex participant in master:
port_in -> ts_in_p -> icch -> ts_in_m ->>> other mixers ts_in_p -> scan_p port_out <- ts_out_p <- icch <- ts_out_m <- mixer(own) scan_m <- ts_out_m Duplex operating on port_out and fader (in slave)
- port_in, port_out: ASLT port for station, or AGA/AE1/AMC AlphaNet proxy
- ts_??_m : Timeslots in master module
- ts_??_s : Timeslots in slave module
- scan_p : duplex scanner for participant
- scan_m : duplex scanner for mix of others
- fader: Spare ASLT channel
- icch: Inter module audio channel
Problem that each stations must disconnect from conference individually. With the introduction vox duplex conferencing, unattended stations can easily be included remotely by the “56” feature. These stations can be hung up in conference for long time, after the active participants have disconnected. This locks up resources. The best solution will probably to let stations which has used the “56” features to become “conference master”, so that the conference is automatically disconnected when the master disconnects.
VoIP via Backplane
Audio from members transported on IP, is routed via the backplane before entering the DSP for mixing, and vice versa. This applies to slave-modules, AlphaNet callers, IP stations, SIP clients etc... This wastes two PCMC resources for that member. The total number of PCMC resources are 32. This means that 16 IP stations in Duplex Conference will use up all PCMC resources, and block any other VoIP calls. The audio is also converted unnecessarily to SigmaDelta from PCM and back.
For future versions it should consider to optimize this, so that the decoded VoIP audio goes directly to the conference mixer. Saving two PCMC resources and avoiding unnecessary transcoding. However, this requires some careful changes of the AMCD SW.