Montag, 27. April 2009

Dialogic(R) Diva(R) SoftIP use cases

Dialogic(R) Diva(R) SoftIP use cases

Partial or full migration of existing installation and application environment to IP

One existing application with configuration can be migrated to IP environment is case phone numbers, media processing features and supplementary services are mapped (translated) between one use in IP network and one expected by developed in E.1/T.1/S0/PSTN application.

To achieve this mapping and translation softIP uses following techniques:
mapping between used by application phone numbers CPN/CiPN (DID, extensions, MSN) and SIP addresses
  • for incoming calls mapping of SIP urls to CPN/CiPN/Redirection numbers
  • for incoming calls mapping of SIP urls to CiPN and registering of SIP urls
  • for outgoing calls mapping of CPN to SIP url to create call using default outbound proxy
  • for outgoing calls mapping of CPN to SIP url and outbound proxy
translation of basic call signaling and supplementary services protocols between SIP and ISDN signaling protocols
  • Dialogic(R) Diva(R) translates SIP signaling messages to ISDN QSIG messages which are routed and processed by softIP using one virtual ISDN network. This translation allows to achieve high level of compatibility to existing application uses same QSIG implementation as Dialogic(R) Diva(R) hardware
    • same source code
    • same state machines
    • same coding of messages
  • allows to use any other supported by Divalogic(R) Diva(R) ISDN protocol instead of QSIG, but this is suggested to use QSIG as most flexible and best suited for this purpose
  • if required provides access to SIP signaling to application
conversion of media protocols between used in IP and ISDN environment

  • softIP provides support for multiple voice codecs and performs transcoding between expected by user application G.711 aLaw/uLaw byte stream and used at IP side RTP packet stream with one of supported payloads
  • G.711 aLaw/uLaw, G.729, G.723 32k, GSM, iLBC
  • if required softIP provides access to compressed IP data and RTP data to user application
  • softIP uses T.38 and clear channel fax to provide to user application same T.30 capabilities and same support for formats of fax document media as in case of used in ISDN environment Dialogic(R) Diva(R) hardware
  • V.34 Fax with 33600 Bps
  • Provides high level of compatibility with by use of same T.30 implementation as Dialogic(R) Diva(R) hardware
  • V.34 (33600 Bps) clear channel fax
  • Provides high level of compatibility by use of the same fax modulation and T.30 implementation as Dialogic(R) Diva(R) hardware
  • Supports line interconnect (conferencing between different types of peer)
  • Between IP peers
  • Between IP and ISDN (E.1/T.1/S0/POTS) peers
  • Use of virtual E.1/T.1 interfaces
  • To ensure compatibility with existing application which are not supporting interfaces with more then 31 channels softIP present available (licensed) channels as number of virtual E.1 (T.1) interfaces every with not more then 30 (23) bearer channels
  • less 30 channels results in one virtual fractional E.1 interface
  • 120 channels results in 4 x virtual E.1 interfaces
  • Reuse of existing device drivers and API at binary level and possibility to use softIP in one system with Dialogic(R) Diva(R) ISDN (E.1/T.1/S0) and POTS hardware ensures high level of compatibility to existing applications and environments and allows step by step migration from ISDN/POTS to IP.
SoftIP allows to use following Dialogic(R) Diva(R) ISDN/Analog hardware for media processing:
  • Diva 4PRI PCI, Diva 2PRI PCI, Diva 4PRI PCIe HS, Diva 2PRI PCIe HS, Diva 1PRI PCIe
  • Diva PRI v.3
  • Diva 4PRI Rev.2 PCI, Diva 4BRI PCIe, Diva BRI Rev.2 PCI, Diva BRI PCIe
  • Diva Analog PCI and PCIe
This allows to preserve hardware by migration to IP.

The mapping between SIP urls and ISDN numbers is held in one text file (CVS format) which can be created and changed by customer own tools if necessary.

Example Diva 4BRI -8M Rev.2
Using Diva 4BRI Rev.2 this is possible to use one or more interfaces (or all of interfaces) in resource board mode and allow use of DSP resources (two for every interface) by softIP. For example:
softIP license 8 channels
Diva 4BRI Rev. 2 two interfaces in resource board mode
Provides:
4 ISDN channels (2 x S0) with access to DSP resources
G.168 echo cancellation with 256 mSec tail
G.711, G.729, G.726, G.723
Extended tone processing
Suppression of ambient noises
V.34 (33600 Bps) Fax
4 IP channels with access to DSP resources
G.168 echo cancellation with 256 mSec tail
G.711, G.729, G.726, G.723
Extended tone processing
Suppression of ambient noises
V.34 (33600 Bps) clear channel fax
4 IP channels without access to DSP resources
G.711, DTMF processing, Fax calling ton detection
8 T.38 V.34 (33600 Bps) fax channels

Example Diva PRI Rev.3 30M
Using Diva PRI Rev.3 in resource board mode this is possible to use all provided (up to 30) DSP resources for processing of IP connections. For example:
120 softIP channels
2 x Diva PRI v.3 30M in resource board mode
Provides:
60 (2 x 30) IP channels with access to DSP resources
G.168 echo cancellation with 256 mSec tail
G.711, G.729, G.726, G.723
Extended tone processing
Suppression of ambient noises
V.34 (33600 Bps) clear channel fax
60 IP channels without access to DSP resources
G.711, DTMF processing, Fax calling ton detection
120 T.38 V.34 (33600 Bps) fax channels

Example Diva 4PRI PCI
Using Diva 4PRI PCI this is possible to use one or more interfaces (or all of interfaces) in resource board mode and allow use of DSP resources (30 for every interface) by softIP. For example:
120 channels softIP license
Diva 4PRI PCI with two interfaces in resource board mode
Provides:
Up to 60 ISDN channels (2 x E.1/T.1) with access to DSP resources
G.168 echo cancellation with 256 mSec tail
G.711, G.729, G.726, G.723, iLBC
Extended tone processing
Suppression of ambient noises
V.34 (33600 Bps) Fax
60 IP channels with access to DSP resources
G.168 echo cancellation with 256 mSec tail
G.711, G.729, G.726, G.723, iLBC
Extended tone processing
Suppression of ambient noises
V.34 (33600 Bps) clear channel fax
60 IP channels without access to DSP resources
G.711, DTMF processing, Fax calling ton detection
120 T.38 V.34 (33600 Bps) fax channels

Montag, 20. April 2009

Newest chan_capi sources

The SVN ode repository is located at http://www.melware.org/ChanCapi where you can get access to stable and to development versions.

Use of Dialogic® Diva® softIP-SIP with chan_capi

What is Diva softIP

The product Dialogic® Diva® softIP is Diva software which can be used for all Diva applications that have been developed for any of the many interfaces Diva supports. For Linux these interfaces are CAPI, extended CAPI, TTY and the Diva API.

NOTE: The Diva API is offered by the Dialogic® Diva® SDK.

In a pure IP/SIP environment the Diva softIP product replaces the Diva Media Board. In a hybrid environment softIP will be used together with a Diva Media Board.

NOTE: A Diva Media Board can be one of the following: Diva Analog, Diva BRI, Diva PRI or Diva V-xPRI Media Boards.

The beauty of softIP is that there is no need to change the application, except if it is required to access IP/SIP functionality directly from the application. This can be the case if you e.g. want to extract the email address from the SIP message.

Compared to a Diva Media Board, which exposes Analog, ISDN BRI, ISDN PRI or E1/T1 interfaces towards the network and the IDI interface towards the user application, Diva softIP exposes an IP/SIP/RTP/sRTP/T.38 interface towards the network and continues to expose the IDI interface towards the user.

From the point of view of user application this is no difference between one API interface which is connected to a Diva Media Board (hardware) and one which is connected to Diva softIP (software).

From the application point of view adding Diva softIP to the system (application) is the same as to add a Diva Media Board (hardware). For this reason in the remainder of the document Diva softIP is referred to as a “virtual board”.

NOTE: Also the Diva softIP (software) needs hardware in order to access the Ethernet (IP) network. It simply uses the Network Interface Card (NIC) also called Ethernet Card as its way into IP. In terms of application architecture you can see a Diva Media Board being replaced by Diva softIP plus and Ethernet board.

Diva softIP signaling features

  • The available number of channels depends on the quantity of activated softIP licenses.

    • To ensure compatibility with existing application the available channels are presented to the application as a number of “virtual softIP boards”, each one with 30 channels or less.

    • It is possible to join multiple “virtual softIP boards” and Diva media boards to one virtual board with the added number of channels.

  • Signaling features

    • IP/UDP/SIP

      • HOLD/RETRIEVE with REINVITE (mapped to CAPI ETSI HOLD/RETRIEVE)

      • REFER in active state (mapped to CAPI ETSI call deflection)

      • Consultation call transfer with REFER (mapped to CAPI consultation call transfer)

      • Call deflection in non active state (send 302 to network, mapped to CAPI ETSI call deflection)

      • REGISTER as client

      • NOTIFY MWI (Message Waiting Indication) as server

      • Rx REFER and processing

      • Rx INVITE with Replaces header and processing

      • Remote-Party-ID processing

      • P-Asserted-Identity (under development)

      • old diversion-header

softIP media processing features

  • Media processing features

    • RTP G.711 aLaw and uLaw

    • DTMF detection and transmission

    • Fax calling tone detection and transmission

    • Line interconnect and conferencing

      • Conferencing AGC (Active talker evaluation)

      • Between IP peers

      • Between E.1/T.1/S0 and IP peers

        • Line interconnect between Diva Media Boards (hardware) and Diva softIP

          • Uses PCI/PCIe BUS master DMA of the Diva hardware for the transport of data between the Diva hardware and Diva softIP.

    • T.38 up to V.34 (33600 Bps)

      • MR/MMR/T.6

      • Intelligent fax processing

      • Super/Ultra fine and Color fax

      • Polling

      • More documents

Acceleration of softIP by Diva hardware

It is possible to offload media processing tasks from the host to Diva media boards (hardware). In the case that all available Diva softIP channels are offloaded to Diva media boards (hardware) then the Diva softIP media processing part is not used.

To offload softIP media processing to Diva media boards it is necessary to change the configuration of the Diva media board to “Resource Board Mode”. In this case the TDM interface (BRI/PRI/E1/T1) of the Diva media board is deactivated and the Diva board can be used by the softIP signaling and media control part for media processing and streaming.

Using a Diva board for media processing, softIP can use all media processing features provided by the Diva board. This depends on the Diva hardware and the available CODEC licenses of the Diva Media Board (mainly used on Diva V-xPRI media boards):

  • G.168 Echo cancellation with up to 256 ms tail length

  • G.729, G.726 32 kbps, GSM-FR, iLBC

  • Extended tone detection

    • Human talker detection, MF detection, ...

  • Tone generation

  • Suppression of ambient noises

  • DTMF clamping (suppression)

  • Receive AGC (Automatic Gain Control)

  • Transmit AGC

  • Digital gain control

  • Clear channel fax

    • Up to V.34 (33600)

    • MR/MMR/T.6

    • Intelligent fax processing

    • Super/Ultra fine and Color fax

    • Polling

    • More documents

The Structure of Diva softIP

Diva softIP is built using two parts

  • SIP signaling and media control part

  • media processing and streaming part

The SIP signaling and media control part always runs in user mode.

The Media processing and streaming part can run in user mode (default) or in kernel mode.

Due to the “isolation” by the IDI interface Diva softIP uses the same Diva CAPI/TTY drivers as the Diva boards.

The Media processing and streaming part uses, if in kernel mode, the same Diva kernel mode streaming driver as the Diva board.

Diva softIP Licensing

Diva softIP uses licenses that are locked to the specific host (PC hardware). You need to activate the PPC (proof of purchase code) on the Dialogic Activation web page. In order to identify your PC you need to use the provided “softIP System DUID” (see licenses manager of the Diva WEB configuration manager). This then allows you to request the license file (LIC). The file will be sent to the email address you have specified.

Diva softIP Configuration

Once the license is applied “virtual softIP boards” will appear in the “Board configuration”.
After clicking on the softIP symbol you will proceed to the softIP configuration.

You need to edit the mapping table. This table allows to establish a mapping between the Calling and Called party numbers and SIP addresses and to create registrar entries.

Use of a Diva Media Board (HW) in Resourceboard-mode with softIP

Please use the configuration tool of the Diva media board to change the board configuration to “resourceboard”-mode.

After the configuration has been changed to resourceboard mode the ISDN BRI/PRI or E1/T1 interface of the Diva board is deactivated and the board resources are available for softIP (for media processing). The number of available media processing resources is equal to the number of supported channels. As a result of offload to the Diva board the softIP symbols in the board configuration will disappear, if media processing for all available softIP channels are moved to Diva hardware boards.

In case the Diva board (hardware) provides multiple ports (interfaces) you can change the configuration on a per port basis.

The provided Diva board media processing resources depend on the type of Diva board in use and/or on the installed licenses (Fax, Modem, G.729 and other CODECs).

softIP T.38 support

Diva softIP media processing provides support for T.38 in a fully transparent way. The application does not need to be changed. Applications that have been developed for Diva CAPI, Diva API and Diva TTY FAX CLASS 1 or FAX CLASS 2 can be used without any changes.

All Fax T.30 features that have been available on the Diva boards are available if using T.38 (V.34, ECM, MR/MMR/T.6, Ultra and Super fine resolutions, Color fax, non standard paper formats). Global Diva softIP fax T.30 configuration options can be used in the same way as when using Diva media boards (hardware).

Clear channel fax support with Diva softIP

The use of with softIP with a Diva board (hardware) for media processing allows using clear channel fax. The used Diva media board (hardware) needs to offer fax support.

Support for clear channel fax is provided fully transparent to the application. The application does not need to be changed. Applications that have been developed for Diva CAPI, Diva API and Diva TTY FAX CLASS 1 or FAX CLASS 2 can be used without any changes.

All available Diva fax T.30 features are available if using clear channel fax (V.34, ECM, MR/MMR/T.6, Ultra and Super fine resolutions, Color fax, non standard paper formats). Global Diva board fax T.30 configuration options can be used in the same way as if using ISDN BRI/PRI or E1/T1 interfaces.

Use of softIP with Chan_capi

From the point of view of Chan_capi softIP channels are available via one or more CAPI controllers each one with 1 to 30 channels.

No changes in Chan_capi are necessary to support softIP. All Chan_capi media commands can be used for softIP. The “receivefax” and “sendfax” Chan_capi commands can be used to receive and send fax documents using T.38 and/or clear channel fax.

Diva boards (provided by) and softIP can be installed and used by Chan_capi in one system. Chan_capi can use native bridging (line interconnect) and conferencing (chat) commands for interconnecting media streams (phone calls) between softIP and Diva boards (hardware).

The configuration of Chan_capi for softIP is provided in the Diva WEB configuration tool.

Diva softIP configuration and sip.conf

When activating SIP support (sip.conf) please ensure that softIP and sip.conf are using different ports to prevent IP port conflicts between sip.conf softIP SIP. Otherwise sip.conf may activate functionality that is then provided by softIP.

Diva softIP and G.168 echo cancellation

In IP networks it is the standard procedure to cancel echo at the gateway between the PSTN and the IP network. But certain gateways do not support G.168 echo cancellation. In this case it is necessary to cancel the echo in the IP network.

If Diva softIP is used with a Diva board (hardware) in resourceboard mode then it is possible to activate G.168 echo cancellation with a tail length of 256 ms to suppress echo in the IP network. Please use the Diva configuration tool to activate the echo tail length of 256 ms

Use of Diva and CHAN_CAPI for deployment of high quality PBX

Use of Diva and CHAN_CAPI for deployment of high quality PBX

The modern PBX is not only a tool to switch between call parties and to forward the calls. And this is not only the PBX which is enriched by voice mail system. The requirement to modern PBX design are originated by the requirement to improve the user experience in the environments where telephony is used as major tool (support centers, sales, call centers, ...).

Following features are proven to improve the user experience:

  • Echo cancellation with 256 mSec tail length
  • Suppression of in band DTMF tones
  • Voice signal limiter (FCC Part 68)
  • Automatic gain control combined with digital gain control
  • Control of playback and recording speed (pitch control)
  • Suppression of ambient noises
  • Conferencing AGC (Automatic Gain Control)
  • Interactive media control, VC command
  • Use of IP resources for E.1/T.1/S0/PSTN and IP connections
  • Connections between E.1/T.1/S0/PSTN and IP

This document provides the in depth description of the features and the scenarios where (and how) the features can be used while the detailed description of commends can be found in README.media.

Echo cancellation with 256 mSec tail length

The vast majority of the public telephone system local loop wiring is done using two-wire connections whereby the same pair of wires carries voice signals in both directions. In the telephone company's central office or in an office PBX, a two-to-four wire conversion is done using a hybrid circuit. Hybrid circuits do not perform perfect impedance matches. The imperfection results in echo. The echo canceller's goal is to detect and remove echo as quickly and effectively, thereby minimizing any loss in voice quality due to the echo. The echo canceller must perform this function under all conditions including double-talk (when both parties are speaking at the same time) and in the presence of background noise. Furthermore, the echo canceller must not cause detriment to signaling tones (DTMF etc.) or fax and modem transmissions.

Diva supports echo cancellation (in accordance to G.168 with NLP) with tail length up to 256 mSec.

256 mSec tail length is required to ensure the operation in the environments where the signal is carried over the packet network. This is not always the case at customer site and can be done by transit network which does not provides own echo cancellation capabilities.

You can activate (deactivate) echo cancellation per call using “echocancel” command or generally using “echocancel” configuration parameter in capi.conf. “echocancelnlp” configuration parameter (capi.conf) is used to activate (deactivate) NLP (Non Linear Processor which removes the residual echo at the output of the echo cancellation unit). You can use Diva chan_capi configuration to change this capi.conf configuration parameter.

Upon detection of fax or modem transmission Diva echo cancellation is automatically deactivated. Diva echo cancellation is not activated for digital (voice, data, ...) calls.

Suppression of in band DTMF tones

DTMF (dual-tone multi-frequency, http://en.wikipedia.org/wiki/DTMF) tones are used for transmission of dialed digits. In PBX environment DTMF is often used to control the PBX functionality (connect to voice mailbox, redirect calls, initiate and control conference, ...) after the connection was established. Passing DTMF tones can be desirable in certain scenarios (for example pass tones through primary PBX to secondary PBX where users can access certain services).

But passing the DTMF trough can be unpleasant for users or introduce security leaks in PBX environment in other scenarios. For example if one of the conference members will by occasion pressed the key on his phone then the DTMF signal is sent to all other members. DTMF signals are loud (user experience compared to human voice) and will disturb other members. Given one large conference with high amount of members pressing of keys by users can change from occasional to regular event and conference will receive unuseable for members. The same is true for the call agent in the support or in the call center. While receiving the calls over long period of time the person should be protected from loud and unexpected signals, in this case from sent by occasional pressing of the phone keys by users.

The security is affected if the DTMF sequences are passed to location where it should not arrive. For example passing of DTMF through PBX connection gives the user the potential ability to control the equipment behind of PBX. Members of conference can record the DTMF sequences and receive passwords to control the conference, recorded on the voice mail message DTMF tones can be used to trigger certain events in PBX at time message is played back. The list is endless, but in the most of cases the users who are not allowed to access certain services (calls, mailboxes, ...) will receive access to appropriate services.

Diva provides the possibility to suppress the DTMF tones. This feature is available on per call basis and can be activated (deactivated) using “clamping” command. To activate this feature globally please use “Extended Voice Processing/DTMF Clamping” Diva configuration option. Diva will automatically deactivate clamping for digital (data, video, ...) commections.

The feature is always activated for Rx direction only. To activate this feature for both (all in case of conference) directions this is necessary to send this command to both (to every) peer.

The implemented by Diva DTMF suppression (clamping) does not affects the quality of the voice signal and it is even possible to receive overlapped by DTMF tones voice sequence.

Voice signal limiter

Voice signal limiter (FCC Part 68 Limiter, http://www.fcc.gov/wcb/iatd/part_68.html) is used to limit the signal power and to protect the listening on the phone equipment people from unexpected and too loud signals.

You can activate this feature for PBX interconnections and for conferencing. Part 68 limiter is automatically activated by Diva in countries where required by approvals. You can activate it by “Extended Voice Processing/Part 68 Voice Signal Limiter“ Diva configuration option. Diva will automatically deactivate Part 68 limiter for digital (data, video, ...) connections.

Automatic gain control combined with digital gain control

In case of conferences or if dealing with huge amount of callers in support or call center it is beter to equalize the loudness of the speakers. Rx AGC can be used for this purpose. If active it will preserve the level of the received signal at -14 dB. You can adjust the level to the personally best one using the digital gain control commands.

Other use of this feature is to ensure all voice mail messages are recorded with same signal level. This simplify the processing of huge amount of voice messages.

In addition AGC and digital gain control can be activated in transmit direction too. This feature can be used to play back voice messages which are recorded using different levels and to control the level of the signal in case this feature is not supported by peer.

You can control the levels of the Rx and Tx path independent one from the other. Following commands allow to activate (deactivate) AGC and digital gain control on call basis: “rxagc”, “txagc”, “rxdgain”, “txdgain”, “incrxdgain”, “inctxdgain”.

The AGC can be used if signal source is not normalized. Digital gain can be used to change the level of the signal. Both features are independent one from the other but in multiple scenarios used together.

Control of playback and recording speed (pitch control)

Some time user needs to play same voice mail message multiple time. It is often the case if phone numbers or other information of interest is contained in the call. In this case it is desirable to play the voice message slower.

In other case user needs to jump over the part of the long message to the information of interest. In this case it is better to play message faster.

Provided by Diva pitch control feature can be used to provide this functionality. The pitch control is accessed using “pitchcontrol” and “incpitchcontrol” commands. Using pitch control is possible to change the sampling rate of signal and as result play messages faster or slower.

This feature can be used only for playing back and for recording of voice messages. This feature is not available for connections between two or more parties.

Suppression of ambient noises

In the time of phone call or of one conference multiple ambient noises can lead to decrease of the level of understanding. It can be the noises from computer fans, projector fans, air cooling system, ventilation system, street noises trough open window, car noises, ...

Diva provides the possibility to suppress the ambient noises. The suppression of ambient noises can be activated using “noisesuppressor” command on per call basis or generally by “Extended Voice Processing/Noise suppression“ Diva configuration parameter.

Conferencing AGC

Several problems occurs if multiple parties are joined to conference.

First one is the summation (and as result increase of level) of noises if nobody in the conference is speaking. The noise signal will be added even if the phone is muted. In this case this is the own phone and line noise.

The other problem occurs if multiple people are are speaking at same time. In this case it is necessary to identify the real active talkers and protect they signal from received from listeners occasional signals. If not done then occasional signals from multiple conference members will affect the signal from active talkers. As result the listeners will stop to understand the talkers. This problem still can be resolved by deactivation of voice patch from listeners. But it results in need for one conference manager and conference management tools. And in this case listeners are not able to issue question and notes spontaneously. They need to receive the permission from conference manager first.

To resolve all mentioned above problems Diva provides conferencing AGC. Conferencing AGC receives automatically active as soon as more then two members have joined the conference.

Interactive media control, VC command

Multiple media control commands (volume control, playback speed control, ...) are usable only if media change can be applied to media directly without delay and without changes in the position of the media. Unfortunately currently available in Dial Plan set of commands does not provides necessary features.

To overcome this problem “vc” command is add to chan_capi. You can use this command to attach any provided by chan_capi command to sequence of DTMF (MF/Pulse, detection of tones, ...) digits. If active chan_capi will process received events and perform required action upon detection of event of interest. In this way events are processed without entering the Dial Plan. As result required action is processed without affecting the position of the media stream.

With other words “vc” command allows to create menu which binds certain events to certain chan_capi commands and to process this menu in front of Dial Plan while media is active.

The suggestion is to create small menus which do not involve more then one DTMF digit. Most of media commands require very short response time which can not be provided if user need to press multiple keys. The use of preprogrammed keys (single key sending multiple DTMF digits) still can use multiple digit, but the duration of single DTMF digit ~ 100 mSec plus inter digit pause. This again enforces the same limits. The big menus are not used by users too.

Good choices for conferences and for regular calls are: Increase and decrease level of signal, mute/un-mute tx direction, activate/deactivate suppression of ambient noises:

exten => s,n,capicommand(vc|incrxdgain|1|2.5) ; 1 – increase Rx gain
exten => s,n,capicommand(vc|incrxdgain|2|-2.5) ; 2 – decrease Rx gain
exten => s,n,capicommand(vc|txdgain|3|-128) ; 3 – mute Tx
exten=> s,n,capicommand(vc|txdgain|4|0) ; 4 – unmute Tx
exten => s,n,capicommand(vc|noisesuppressor|5|yes) ; 5 – turn suppression of ambient noises on
exten => s,n,capicommand(vc|noisesuppressor|7|yes) ; 7 – turn suppression of ambient noises off

Useful set of commands if processing voice mailbox can be:

exten => s,n,capicommand(vc|incrxdgain|1|2.5) ; 1 – increase Rx gain
exten => s,n,capicommand(vc|incrxdgain|2|-2.5) ; 2 – decrease Rx gain
exten => s,n,capicommand(vc|noisesuppressor|5|yes) ; 5 – turn suppression of ambient noises on
exten => s,n,capicommand(vc|noisesuppressor|7|yes) ; 7 – turn suppression of ambient noises off
exten => s,n,capicommand(vc|incpitchcontrol|8|100) ; 8 – Play faster
exten => s,n,capicommand(vc|incpitchcontrol|9|-100) ; 9 – Play slower

You can see used in previous menu keys “3” and “4” are left empty. The new functionality is assigned to still unused keys “8” and “9”. This is done to prevent the user confusion if switching between different menus.

In one conference can be useful to send one tone to track the attention of the conference members to certain event. This can be done using “sendtone” command:

exten => s,n,capicommand(vc|sendtone|*|0x8b) ; * – send comfort tone
exten => s,n,capicommand(vc|stoptone|0) ; 0 – stop sending tone

chan_capi forum at DEN at www.dialogic.com/den

This is new forum for support of Diva chan_capi users (but everyone wellcome) at DEN (Dialogic Exchange Network) www.dialogic.com/den.

Please follow link and register and finally ask gplcoder for access.

Use of DSP resources for conferences with IP members

The "chat" command allows to create conference with multeple rooms. This allows to create conference between E.1/T.1/S0/Analog and IP members in fully transparent to user way. "chat" command always detects the type of connection and uses appropriate resources.

The implementation of "chat" for IP endpoints uses Diva NULL PLCI. While this resource is available for every Diva hardware and allows to create high amount of IP endpoints running parallel to E.1/T.1/S0/Analog endpoints on the same Diva hardware it does not allows access to DSP resources for IP conference members.

This is the reason why new "resource" command is added to chan_capi. This command allows to assign DSP resource to IP conference member. This is no need fo user to check the type of connection and the type of Diva hardware is using this command. The "resource" command detects automatically the type of connection and type of hardware and perform requested actions only if necessary and possible.

The other more general way to use DSP resources for IP connections is to use Diva softIP. In this case IP traffic is processed by Diva protocol stack and presented as E.1/T.1 interface to chan_capi. This is not IP connection from the point of view of chan_capi and no additional commands are required.

Example (from README.media):

[isdn-in]
exten => _X.,1,Answer ; Answer the line
exten => _X.,n,Goto(s,1)
exten => s,1,capicommand(resource|1-4) ; Create DSP resource on CAPI controllers 1-4 for IP members, ignore command for E.1/T.1/S0/POTS members
exten => s,n,capicommand(clamping|100) ; Activate suppression of DTMF tones
exten => s,n,capicommand(rxagc|yes) ; Activate Rx AGC
exten => s,n,capicommand(noisesuppressor|yes) ; Activate suppression of ambient noises
exten => s,n,capicommand(vc|incrxdgain|0|1.5) ; Install voice command menu for volume control, '0' to increase volume
exten => s,n,capicommand(vc|incrxdgain|1|-1.5) ; Install voice command menu for volume control, '1' to decrease volume
exten => s,n,capicommand(vc|txdgain|2|-128) ; Install voice command menu for volume control, '2' to mute tx path
exten => s,n,capicommand(vc|txdgain|3|0) ; Install voice command menu for volume control, '3' to activate tx path
exten => s,n,capicommand(chat|test1|m|1-4) ; Craete/enter conference toom 'test1', controller field is ignored if media processing resource is assigned by 'resource' command or for E.1/T.1/S0/POTS members

Supported hardware (from README.media):

Supported hardware:
Assign DSP resources to connected by IP network conference member. This feature is available
for equipped with DSP Diva hardware only.

For Diva 2PRI PCI, Diva 4PRI PCI, Diva 1PRI PCIe HS, Diva 2PRI PCIe HS and Diva 4PRI PCIe HS no
restrictions apply for this feature and this is possible to access N x 30 DSP resources
(N - amount of interfaces, 1 - 1PRI, 2 - 2PRI, 4 - 4PRI) in addition to used for E.1/T.1
DSP resources.

For Diva PRI Rev.3 PCI and Diva PRI Rev.3 PCIe this is possible to reserve two DSPs for processing
of E.1/T.1 without media processing features and share remainding DSPs between E.1/T.1 and IP
for connections with media processing features.
Using hardware with 30 DSPs and E.1 this is possible to create:
From: 2 x E.1 without media processing + 28 x E.1 with media processing
To: 30 x E.1 without media processing + 28 x IP with media processing
Using hardware with 30 DSPs and T.1 this is possible to create:
From: 23 x T.1 with media processing + 7 x IP with media processing
To: 23 x T.1 without media processing + 28 x IP with media processing

For Diva BRI-2M Rev.2 PCI, Diva BRI-2M PCIe, Diva 4BRI Rev.2 PCI and for Diva 4BRI PCIe
this is not possible to reserve DSPs for processing of ISDN connections and to share
DSPs between ISDN and IP connection. In case DSP resources are assigned to connected
by IP conference member then appropriate DSP resources receive not available
for processing of ISDN connections. As result ISDN connections can not be processed.
To resolve this problem please use Diva configuration to change the configuration
of Diva board to resourceboardmode. In resourceboard mode ISDN interface is deactivated
and all available DSP resources (two DSPs for Diva BRI-2M and eight DSPs for Diva 4BRI)
can be used for connected by IP conference members (two members for Diva BRI-2M and
eight members for Diva 4BRI).

T.38 and Clear Channel fax support by chan_capi

chan_capi supports both FoIP (Fax over IP) standards: T.38 and Clear Channel fax with V.34, ECM, intelligen fax processing, on demand change between voice and fax. All provided by Diva hardware in TDM (E.1/T.1/S0) environment fax features are available for T.38 and Clear Channel Fax.

In case chan_capi is used to terminate or initiate the fax transmission all necessary features are provided by Diva softIP. softIP exposes one CAPI interface towards
chan_capi and SIP interface towards IP network.
This is no need to change chan_capi configuration. This is only necessary to specify softIP as CAPI controller. All other configuration details are handled by Diva softIP configuration.

Diva softIP allows to preserve all voice features. This is possible to process voice calls over IP and switch between voise and fax media. Diva softIP can be used
in one system with Diva hardware and supports line interconnect (conferencing) between processed by Diva hardware and by softIP voice streams.

In case softIP is used with one or more Diva boards in resource board mode then V.34 Clear Channel Fax and G.729, iLBC, G.726, G.723, GSM and other vocoders receive available for chan_capi.

softIp can be used in virtualized environment (VMWare, XEN, ...)

Dial Plan: Conference with multiple rooms and media control

[isdn-in]
exten => _X.,1,Answer ; Answer the line
exten => _X.,n,Goto(s,1)
exten => s,1,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
exten => s,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
exten => s,n(restart),BackGround(demo-instruct) ; Play some instructions
exten => s,n,WaitExten ; Wait for an extension to be dialed, use to select conference room

; You can create macro to set up vc menu
exten => 1,1,capicommand(clamping|100) ; Activate suppression of DTMF tones
exten => 1,n,capicommand(vc|incrxdgain|0|1.5) ; Install voice command menu for volume control, '0' to increase volume
exten => 1,n,capicommand(vc|incrxdgain|1|-1.5) ; Install voice command menu for volume control, '1' to decrease volume
exten => 1,n,capicommand(vc|txdgain|2|-128) ; Install voice command menu for volume control, '2' to mute tx path
exten => 1,n,capicommand(vc|txdgain|3|0) ; Install voice command menu for volume control, '3' to activate tx path
exten => 1,n,capicommand(chat|test1|m|1-4) ; Create/enter conference room 'test1'

exten => 2,1,capicommand(clamping|100) ; Activate suppression of DTMF tones
exten => 2,1,capicommand(txdgain|-128) ; Deactivate tx path
exten => 2,n,capicommand(vc|incrxdgain|0|1.5) ; Install voice command menu for volume control, '0' to increase volume
exten => 2,n,capicommand(vc|incrxdgain|1|-1.5) ; Install voice command menu for volume control, '1' to decrease volume
exten => 2,n,capicommand(vc|txdgain|2|-128) ; Install voice command menu for volume control, '2' to mute tx path
exten => 2,n,capicommand(vc|txdgain|3|0) ; Install voice command menu for volume control, '3' to activate tx path
exten => 2,n,capicommand(chat|test1|m|1-4) ; Create/enter conference room 'test1
exten => 2,n,capicommand(chat|test2|m|1-4) ; Create/enter conference room 'test2'

exten => i,1,Playback(invalid)
exten => i,n,Goto(s,restart)
exten => h,1,Hangup

New Diva DEMO system online

New Diva DEMO system is online and allows to take a look on the changes in the future version

  • chan_capi configuration
  • New sipControl features
  • SS7 integration

Please use link: Dialogic® Diva® Configuration live demo system