Actions

Duplex Conference 10.45

From Zenitel Wiki

Revision as of 14:37, 24 September 2008 by Ati (talk) (VoIP via Backplane)

The duplex conference feature has been upgraded in AMC 10.50. See Duplex Conference for description of the previous version. The remaining text describes the difference from the old version. This text will eventually be merged into the main article.


Whats new

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.

As before: only the master module is used for 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. An other positive effect of using LEC is that it reduces the risk of "howling" when having many offhook members in a conference.

Up to 16 members in a duplex conference

The max number of member in one single conference is now 16 (up from 4). It remains to be tested whether this is actually useable, in terms of audio quality. There are also a number of resource constraints that can limit the number of participants, see next section.

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 also used for every VoIP connection, like AlphaNet, IP stations, Inter-module-over-IP.

A ASLT participant with handset on will use Voice switched Duplex, requiring ASLT scanners.

A ASLT participant with handset off require a LEC resource. If the participant is wired to a 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.

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 offhook, 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.

VoIP via Backplane

In this version, audio from members transported on IP, is routed via the backplane before entering the DSP for mixing, an visa versa. This applies to slave-modules, AlphaNet callers, IP stations, SIP clients. This wastes two PCMC resources for that member. 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.

M-key with voice switched duplex

On-hook ASLT station can now 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 now active on duplex conference members, in exactly same way as in a normal conversation. Each member starts its own timer when joining the conference, so each member is disconnected individually when her time is out.

Implementors comments

The original Duplex Conference shared little code with normal call setup. As the AlphaCom system has grown much more complex, this has become a large problem for maintainance. The new Duplex conference implementation is now some 70-80% reuse of the call setup handing. When a stations is included into a conference, a virtual "proxy station" is allocated, and mapped to the corresponding DSP conference port. From that point, normal call setup handling is used to connect to station to the conference mixing port. Handling of duplex, LEC, modules, AlphaNet and IP stations is basicly handled by the normal call handling. Conversation-timing, and M-key on duplex came as a bonus of the redesign.

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

Force old AGA conference

The old AGA based conferencing is still left as-is on 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

Missing features

  • When someone include other stations into conference, the includer should become a "master" of the conference, so than when includer leaves the conference, the whole conference should be disconnected. Problem now is that it is easy to include an unattended station to a conference, which will remain busy in conference for ever / or until conversation timeout.
  • Optimize VoIP connections (see above)