1206 lines
48 KiB
Plaintext
1206 lines
48 KiB
Plaintext
+===================================================================+
|
|
| Media control commands |
|
|
+===================================================================+
|
|
|
|
+-------------------------------------------------------------------+
|
|
| noisesuppressor |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Noise Suppressor is used to activate or to deactivate suppression of ambient noise,
|
|
which can be used to remove noise from speech caused by fans, air cooling systems,
|
|
cars, trains and other sources of ambient noises from speech.
|
|
|
|
Direction:
|
|
Applies to Rx path only.
|
|
In case of line interconnect, it can be activated for multiple parties.
|
|
|
|
Supported hardware:
|
|
Dialogic(R) Diva(R) 4PRI PCI, 2PRI PCI, 4PRI PCIe HS Media Board
|
|
Other Dialogic(R) Diva(R) Media Boards equipped with DSP Diva hardware can use this
|
|
feature only together with RTP.
|
|
|
|
Syntax:
|
|
noisesuppressor|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(noisesuppressor|yes)
|
|
s,n,capicommand(noisesuppressor|no)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(noisesuppressor|yes)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(noisesuppressor|no)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
PBX Example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[macro-capinoisesuppressor]
|
|
exten => s,1,capicommand(noisesuppressor|yes)
|
|
|
|
[isdn-in]
|
|
exten => 12345,1,Progress()
|
|
exten => 12345,n,Set(TIMEOUT(digit)=1) ; Set Digit Timeout to 5 seconds
|
|
exten => 12345,n,Set(TIMEOUT(response)=5) ; Set Response Timeout to 10 seconds
|
|
exten => 12345,n,Playback(demo-enterkeywords,noanswer,us)
|
|
exten => 12345,n,Answer
|
|
exten => 12345,n,Wait(2)
|
|
exten => 12345,n,capicommand(noisesuppressor|yes)
|
|
exten => 12345,n,Dial(DIALOGICDIVA/ISDN1/100,10,M(capinoisesuppressor))
|
|
exten => 12345,n,Hangup()
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| clamping |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Clamping is used to activate or to deactivate suppression
|
|
(removal from voice stream) of DTMF tones.
|
|
|
|
Direction:
|
|
Applies to Rx path only.
|
|
In case of line interconnect, it can be activated for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Dialogic(R) Diva(R) Media Board equipped with DSPs
|
|
|
|
Syntax:
|
|
clamping|N
|
|
N - estimated duration of DTMF tones to be suppressed in mSec
|
|
0 - deactivate clamping
|
|
1 ... 250 - activate clamping
|
|
|
|
Syntax example:
|
|
s,n,capicommand(clamping|100)
|
|
s,n,capicommand(clamping|0)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(clamping|100)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(clamping|0)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
PBX Example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[macro-capiclamping]
|
|
exten => s,1,capicommand(clamping|100)
|
|
|
|
[isdn-in]
|
|
exten => 12345,1,Progress()
|
|
exten => 12345,n,Set(TIMEOUT(digit)=1) ; Set Digit Timeout to 5 seconds
|
|
exten => 12345,n,Set(TIMEOUT(response)=5) ; Set Response Timeout to 10 seconds
|
|
exten => 12345,n,Playback(demo-enterkeywords,noanswer,us)
|
|
exten => 12345,n,Answer
|
|
exten => 12345,n,Wait(2)
|
|
exten => 12345,n,capicommand(clamping|100)
|
|
exten => 12345,n,Dial(DIALOGICDIVA/ISDN1/100,10,M(capiclamping))
|
|
exten => 12345,n,Hangup()
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| rxagc |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to activate or to deactivate Automatic Gain Control (AGC)
|
|
for Rx direction. AGC level is -6dBm.
|
|
|
|
Direction:
|
|
Applies to Rx path only.
|
|
In case of line interconnect can be activated for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one equipped with DSP Diva hardware.
|
|
|
|
Syntax:
|
|
rxagc|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(rxagc|yes)
|
|
s,n,capicommand(rxagc|no)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(rxagc|yes)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(rxagc|no)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
PBX Example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[macro-capirxagc]
|
|
exten => s,1,capicommand(rxagc|yes)
|
|
|
|
[isdn-in]
|
|
exten => 12345,1,Progress()
|
|
exten => 12345,n,Set(TIMEOUT(digit)=1) ; Set Digit Timeout to 5 seconds
|
|
exten => 12345,n,Set(TIMEOUT(response)=5) ; Set Response Timeout to 10 seconds
|
|
exten => 12345,n,Playback(demo-enterkeywords,noanswer,us)
|
|
exten => 12345,n,Answer
|
|
exten => 12345,n,Wait(2)
|
|
exten => 12345,n,capicommand(rxagc|yes)
|
|
exten => 12345,n,Dial(DIALOGICDIVA/ISDN1/100,10,M(capirxagc))
|
|
exten => 12345,n,Hangup()
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| txagc |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to activate or to deactivate Automatic Gain Control (AGC)
|
|
for Tx direction. AGC level is -6 dBm.
|
|
|
|
Path:
|
|
Applies to Tx path only. In case of line interconnect can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one equipped with DSP Diva hardware
|
|
|
|
Syntax:
|
|
txagc|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(txagc|yes)
|
|
s,n,capicommand(txagc|no)
|
|
|
|
IVR example:
|
|
See rxagc
|
|
|
|
PBX Example:
|
|
See rxagc
|
|
|
|
+-------------------------------------------------------------------+
|
|
| rxdgain |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to access Digital Gain Control for Rx direction.
|
|
Allows to set gain in the range from -127 dBm to +6 dBm.
|
|
|
|
Diection:
|
|
Applies to Rx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
rxdgain|N
|
|
N - gain in dBm, float
|
|
-127 ... +6 - gain
|
|
-128 or less - infinite attenuation
|
|
|
|
Syntax example:
|
|
s,n,capicommand(rxdgain|5.5)
|
|
s,n,capicommand(rxdgain|-14.2)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(rxdgain|5.5)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(rxdgain|-70)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| incrxdgain |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to access Digital Gain Control for Rx direction.
|
|
Allows to change gain in the range from -127 dBm to +6 dBm
|
|
|
|
Diection:
|
|
Applies to Rx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
incSyntax:
|
|
rxdgain|N
|
|
N - gain increment in dBm, float
|
|
|
|
Syntax example:
|
|
s,n,capicommand(incrxdgain|2.5) // add 2.5 dBm to actiall gain
|
|
s,n,capicommand(incrxdgain|-2.5) // substract 2.5 dBm from actual gain
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(incrxdgain|2.5)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(incrxdgain|-2.5)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| txdgain |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to access Digital Gain Control for Tx direction.
|
|
Allows to set gain control in the range from -127 dBm to +6 dBm.
|
|
|
|
Diection:
|
|
Applies to Tx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
txdgain|N
|
|
N - gain in dBm, float
|
|
-127 ... +6 - gain
|
|
-128 or less - infinite attenuation
|
|
|
|
Syntax example:
|
|
s,n,capicommand(txdgain|5.5)
|
|
s,n,capicommand(txdgain|-14.2)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(txdgain|5.5)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(txdgain|-70)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| inctxdgain |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to access Digital Gain Control for Tx direction.
|
|
Allows to change gain in the range from -127 dBm to +6 dBm
|
|
|
|
Diection:
|
|
Applies to Tx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
incSyntax:
|
|
rxtgain|N
|
|
N - gain increment in dBm, float
|
|
|
|
Syntax example:
|
|
s,n,capicommand(inctxdgain|2.5) // add 2.5 dBm to actiall gain
|
|
s,n,capicommand(inctxdgain|-2.5) // substract 2.5 dBm from actual gain
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(inctxdgain|2.5)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(inctxdgain|-2.5)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| pitchcontrol |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to set recording (Rx direction) and playback (Tx direction)
|
|
rate in the range between 1250 ... 51200 Hz.
|
|
|
|
Using pitch control, it is possible to play (record) voice message faster
|
|
(rate > 8000 Hz) or slower (rate < 8000 Hz).
|
|
This is useful if the playback speed of voice mail messages needs to be decreased
|
|
to achieve better understanding or to increase playback speed to
|
|
rewind over a certain part of the voice mail message.
|
|
|
|
Diection:
|
|
Applies to Rx and to Tx path. Can be used only for playback and for
|
|
recoring of voice data. Not available with line interconnect and RTP.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
pitchcontrol|RxN|TxN - set Rx and Tx rate to different values
|
|
pitchcontrol|N - set Rx and Tx rate to same value
|
|
pitchcontrol - deactivate rate control
|
|
|
|
RxN, TxN, N - rate in the range 1250 ... 51200 Hz.
|
|
|
|
Syntax example:
|
|
s,n,capicommand(pitchcontrol|8200,8100) ; Set Rx rate to 8200 Hz and Tx rate to 8100 Hz
|
|
s,n,capicommand(pitchcontrol|8400) ; Set Rx and Tx rate to 8400 Hz
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(pitchcontrol|8200)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(pitchcontrol|8000)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| incpitchcontrol |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to change the recording (Rx direction) and playback (Tx direction)
|
|
rate in the range from 1250 ... 51200 Hz.
|
|
|
|
With pitch control it is possible to play (record) voice message faster
|
|
(rate > 8000 Hz) or slower (rate < 8000 Hz).
|
|
This is useful if the playback speed of voice mail messages needs to be decreased
|
|
to achieve better understanding or to increase playback speed to
|
|
rewind over a certain part of the voice mail message.
|
|
|
|
Diection:
|
|
Applies to Rx and to Tx path. Can be used only for playback and for
|
|
recoring of voice data. Not available with line interconnect and RTP.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
incpitchcontrol|RxN|TxN - change Rx and Tx rate using different values
|
|
incpitchcontrol|N - change Rx and Tx rate using same value
|
|
|
|
RxN, TxN, N - rate change in Hz
|
|
|
|
Syntax example:
|
|
s,n,capicommand(incpitchcontrol|100) // Increase Rx and Tx rate by 100 Hz
|
|
s,n,capicommand(incpitchcontrol|-100) // Decrease Rx and Tx rate by 100 Hz
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(incpitchcontrol|100)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(incpitchcontrol|100)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| mftonedetection |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to activate or to deactivate MF listen on B-channel data.
|
|
Detected MF tones are mapped to appropriate DTMF digits.
|
|
MF digits K1, K2, KP, S1, and ST are mapped to DTMF digits
|
|
A, B, C, D, and * respectively.
|
|
|
|
Direction:
|
|
Applies to Rx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
mftonedetection|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(mftonedetection|yes)
|
|
s,n,capicommand(mftonedetection|no)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(mftonedetection|yes)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(mftonedetection|no)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| pulsedetection |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to activate or to deactivate dial pulse detector.
|
|
Detected dialing pulses are mapped to appropriate DTMF digits.
|
|
|
|
Direction:
|
|
Applies to Rx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
pulsedetection|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(pulsedetection|yes)
|
|
s,n,capicommand(pulsedetection|no)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(pulsedetection|yes)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(pulsedetection|no)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| sendtone and stoptone |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Send tone (sendtone) sending of the next tone while one tone is already
|
|
active will automatically replace the tone to be transmitted with the
|
|
new one. Sending of the DTMF digits will automatically stop tone transmission.
|
|
Stop transmission of the tone (stoptone).
|
|
|
|
Path:
|
|
Applies to Tx path only.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
|
|
Syntax:
|
|
sendtone|N
|
|
stoptone
|
|
|
|
N - tone to be sent
|
|
0x82 - Dial tone
|
|
0x83 - PABX internal dial tone
|
|
0x84 - Special dial tone (stutter dial tone
|
|
0x85 - Second dial tone
|
|
0x86 - Ringing tone
|
|
0x87 - Special ringing tone
|
|
0x88 - Busy tone
|
|
0x89 - Congestion tone (reorder tone
|
|
0x8A - Special information tone
|
|
0x8B - Comfort tone
|
|
0x8C - Hold tone
|
|
0x8D - Record tone
|
|
0x8E - Caller waiting tone
|
|
0x8F - Call waiting tone
|
|
0x90 - Pay tone
|
|
0x91 - Positive indication tone
|
|
0x92 - Negative indication tone
|
|
0x93 - Warning tone
|
|
0x94 - Intrusion tone
|
|
0x95 - Calling card service tone
|
|
0x96 - Payphone recognition tone
|
|
0x97 - CPE alerting signal
|
|
0x98 - Off hook warning tone
|
|
0xA0 - Special information tone 0
|
|
0xA1 - Special information tone 1
|
|
0xA2 - Special information tone 2
|
|
0xA3 - Special information tone 3
|
|
0xA4 - Special information tone (operator intercept)
|
|
0xA5 - Special information tone (vacant circuit)
|
|
0xA6 - Special information tone (reorder)
|
|
0xA7 - Special information tone (no circuit found)
|
|
0xBF - Intercept tone
|
|
0xC0 - Modem calling tone
|
|
0xC1 - FAX calling tone
|
|
0xC2 - Answer tone
|
|
0xC3 - Answer tone with phase reversals
|
|
0xC4 - ANSam
|
|
0xC5 - ANSam with phase reversals
|
|
0xC6 - 2225 Hz (Bell 103 answer mode)
|
|
0xC7 - FAX flags
|
|
0xC8 - G2 FAX group ID
|
|
0xCA - Answering Machine Tone (390 Hz)
|
|
0xCB - Tone Alerting Signal (for Caller ID in PSTN)
|
|
|
|
Syntax example:
|
|
s,n,capicommand(sendtone|0x83) ; Send PABX internal dial tone
|
|
s,n,capicommand(stoptone) ; stop tone transmission
|
|
|
|
IVR example
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(sendtone|0x83)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(stoptone)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
+-------------------------------------------------------------------+
|
|
| starttonedetection and stoptonedetection |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Start tone detection (starttonedetection)
|
|
Stop tone detection (stoptonedetection)
|
|
|
|
Direction:
|
|
Applies to Rx path only. In case of line interconnect, it can be activated
|
|
for multiple parties.
|
|
|
|
Supported hardware:
|
|
Requires one Diva Media Board equipped with DSPs.
|
|
Not available if RTP is active.
|
|
|
|
Syntax:
|
|
starttonedetection|N
|
|
stoptonedetection
|
|
|
|
N - Extension number to be used in case a tone is detected.
|
|
The reception of appropriate DTMF digits will be simulated after the
|
|
detection of the tone. At same time, the variable CAPIDETECTEDTONE will be set
|
|
to identify the detected tone in decimal format and the variable
|
|
CAPIDETECTEDTONEVISUAL will be set to a user friendly name of the detected tone.
|
|
|
|
Tone identifier:
|
|
0x82 - Dial tone detected
|
|
0x83 - PABX internal dial tone detected
|
|
0x84 - Special dial tone (stutter dial tone) detected
|
|
0x85 - Second dial tone detected
|
|
0x86 - Ringing tone detected
|
|
0x87 - Special ringing tone detected
|
|
0x88 - Busy tone detected
|
|
0x89 - Congestion tone (reorder tone) detected
|
|
0x8A - Special information tone detected
|
|
0x8B - Comfort tone detected
|
|
0x8C - Hold tone detected
|
|
0x8D - Record tone detected
|
|
0x8E - Caller waiting tone detected
|
|
0x8F - Call waiting tone detected
|
|
0x90 - Pay tone detected
|
|
0x91 - Positive indication tone detected
|
|
0x92 - Negative indication tone detected
|
|
0x93 - Warning tone detected
|
|
0x94 - Intrusion tone detected
|
|
0x95 - Calling card service tone detected
|
|
0x96 - Payphone recognition tone detected
|
|
0x97 - CPE alerting signal detected
|
|
0x98 - Off hook warning tone detected
|
|
0xA0 - Special information tone 0
|
|
0xA1 - Special information tone 1
|
|
0xA2 - Special information tone 2
|
|
0xA3 - Special information tone 3
|
|
0xA4 - Special information tone (operator intercept)
|
|
0xA5 - Special information tone (vacant circuit)
|
|
0xA6 - Special information tone (reorder)
|
|
0xA7 - Special information tone (no circuit found)
|
|
0xBF - Intercept tone detected
|
|
0xC0 - Modem calling tone detected
|
|
0xC1 - FAX calling tone detected
|
|
0xC2 - Answer tone detected
|
|
0xC3 - Answer tone with phase reversals detected
|
|
0xC4 - ANSam detected
|
|
0xC5 - ANSam with phase reversals detected
|
|
0xC6 - 2225 Hz (Bell 103 answer mode) detected
|
|
0xC7 - FAX flags detected
|
|
0xC8 - G2 FAX group ID detected
|
|
0xC9 - Human speech detected
|
|
0xCA - Answering Machine Tone (390 Hz) detected
|
|
0xCB - Tone Alerting Signal detected (for Caller ID in PSTN)
|
|
|
|
Syntax example:
|
|
s,n,capicommand(starttonedetection|98) ; Change to extension 98 after the detection of the tone
|
|
s,n,capicommand(stoptonedetection) ; Disable detection of the tones
|
|
|
|
IVR example:
|
|
|
|
In this example extension 98 is used to process detected tones.
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
|
|
exten => 1,1,Set(TIMEOUT(digit)=1)
|
|
exten => 1,n,Set(TIMEOUT(response)=5)
|
|
exten => 1,n,capicommand(starttonedetection|98) ; Change to 98 once tone is detected
|
|
exten => 1,n,Goto(s,restart)
|
|
|
|
; Continue after detection of the tone
|
|
exten => 98,1,capicommand(stoptonedetection) ; Stop tone detection
|
|
exten => 98,n,Set(TESTTONE=${CAPIDETECTEDTONE}) ; Tone identifier
|
|
exten => 98,n,Set(TESTTONEVISUAL=${CAPIDETECTEDTONEVISUAL}) ; User friendly name
|
|
exten => 98,n,Set(TIMEOUT(digit)=5) ; Set Digit Timeout to 5 seconds
|
|
exten => 98,n,Set(TIMEOUT(response)=10) ; Set Response Timeout to 10 seconds
|
|
exten => 98,n,Playback(demo-echodone) ; Let them know it's over
|
|
exten => 98,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| vc |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
While a voice message is played back it is useful to be able to apply
|
|
media control commands to voice stream without interrupting the playback
|
|
of the voice stream.
|
|
The same is true for the conference and for connection between two parties.
|
|
|
|
The "vc" command allows to provide this functionality. With this command
|
|
it is possible to bind arbitrary chan_capi commands to sequences of
|
|
events (DTMF digits, ...). Once the events are detected, the appropriate command
|
|
is executed without interruption of the voice stream.
|
|
"vc" allows to create a menu that is executed in the background and allows to
|
|
control voice stream by activation or deactivation of AGC, noise suppression,
|
|
control the level of the signal, and playback speed.
|
|
"vc" allows to use any supported by channel driver command, but please note
|
|
that commands are not executed in the context of the dial plan. The commands
|
|
are executed using the context of the detected events parallel to the dialplan and
|
|
independent from the dialplan.
|
|
|
|
Syntax:
|
|
vc|command|key|param|param1|...|paranN
|
|
Add to menu: on detection of key Execute command using parameters param1|...|paramN
|
|
|
|
vc|command|key
|
|
Add to menu: on detection of key execute command without parameters
|
|
|
|
vc|command
|
|
Remove all instances of command from menu
|
|
|
|
vc
|
|
Cleanup menu
|
|
|
|
In case one command will use a key that is already in use then a new command will overwrite
|
|
the existing command:
|
|
exten => s,n,capicommand(vc|txagc|3|yes)
|
|
exten => s,n,capicommand(vc|inctxdgain|3|1.5)
|
|
|
|
is equivalent to:
|
|
|
|
exten => s,n,capicommand(vc|inctxdgain|3|1.5)
|
|
|
|
It is better to use only one digit as key for commands in menu if using the menu for IVR and
|
|
voice mailbox. This provides short response time.
|
|
|
|
In case, the menu is used for conference or for connection between two parties it may be useful to use
|
|
two or three digits for the key. This will prevent an activation by accidentally pressing of keys.
|
|
|
|
Syntax example:
|
|
exten => s,n,capicommand(vc|inctxdgain|5|1.5) ; Execute inctxdgain|1.5 if received DTMF digit 5
|
|
exten => s,n,capicommand(vc|txagc|3|yes) ; Execute txagc|yes if received DTMF digit 3
|
|
|
|
IVR Example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[isdn-in]
|
|
exten => _X.,1,Answer
|
|
exten => _X.,n,Goto(s,1)
|
|
exten => s,1,Wait(1)
|
|
exten => s,n,capicommand(vc|sendtone|1|0x82)
|
|
exten => s,n,capicommand(vc|stoptone|2)
|
|
exten => s,n,capicommand(vc|txagc|3|yes)
|
|
exten => s,n,capicommand(vc|txagc|4|no)
|
|
exten => s,n,capicommand(vc|inctxdgain|5|1.5)
|
|
exten => s,n,capicommand(vc|inctxdgain|7|-2.5)
|
|
exten => s,n,capicommand(vc|incpitchcontrol|8|0|100)
|
|
exten => s,n,capicommand(vc|incpitchcontrol|9|0|-400)
|
|
exten => s,n(restart),Playback(demo-instruct)
|
|
exten => s,n,Goto(s,restart)
|
|
exten => s,n,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| chat (MeetMe/Conference) |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to enter (create) chat (conference room). New conference room is created
|
|
if necessary.
|
|
|
|
This is three types of conference members:
|
|
Regular users
|
|
Operators
|
|
Listeners
|
|
|
|
Regular users can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from regular users can be muted (deactivated)
|
|
and unmuted (activated) if necessary by 'chat_mute' command.
|
|
|
|
Operators can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from operators can not be muted (deactivated)
|
|
by 'chat_mute' command.
|
|
|
|
Listeners can only receive voice stream from conference.
|
|
Outgoing (from user to conference) voice stream is muted (decativated) and can not be unmuted (activated)
|
|
by 'chat_mute' command.
|
|
|
|
|
|
Direction:
|
|
Creates one Any-to-Any conference room. Conference AGC (evaluation of active talker) receives active as
|
|
soon as more then two members are added to conference.
|
|
|
|
Supported hardware:
|
|
Diva
|
|
|
|
Syntax:
|
|
capicommand(chat|<roomname>|<options>|controller)
|
|
roomname - conference room name
|
|
options
|
|
m - The first caller will get music-on-hold until second caller arrives
|
|
l - The caller is listener (passive) conference member, can not be unmuted by 'chat_mute' command
|
|
o - The caller is conference operator, can not be muted by 'chat_mute' command
|
|
controller - CAPI controller
|
|
|
|
Syntax example:
|
|
exten => s,n,capicommand(chat|test|m|1)
|
|
exten => s,n,capicommand(chat|test|m|1,3)
|
|
exten => s,n,capicommand(chat|test|m|1-4)
|
|
exten => s,n,capicommand(chat|test|m|1-4,7)
|
|
exten => s,n,capicommand(chat|test|m|1-4,7-10)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| IP clear channel fax and chat (MeetMe/Conference) |
|
|
| with access to DSP resources |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to assign DSP resources to connected by IP user.
|
|
Assigned DSP resources can be used for:
|
|
Transmission of clear channel fax with up to 33600Bps (V.34), please read 'sendfax' in README.Diva.fax for details
|
|
Reception of clear channel fax with up to 33600Bps (V.34), please read 'receivefax' in README.Diva.fax for details
|
|
Create conference member with media processing capabilities
|
|
|
|
If conference member is connected by IP network using 'chat' chan_capi command
|
|
then this peer can not allocate and use required for media processing DSP resources.
|
|
This results in processing of IP partipiants as simple conferencing member without
|
|
any media processing capabilities except line interconnect (conferencing) and
|
|
conferencing AGC (active talker evaluation).
|
|
Using 'resource' chan_capi command this is possible to assign DSP resources to
|
|
by IP network connection before proceeding with 'chat' chan_capi command. This
|
|
allows use of provided by DSP resources media processing for connected by IP
|
|
network conference members.
|
|
|
|
This is three types of conference members:
|
|
Regular users
|
|
Operators
|
|
Listeners
|
|
|
|
Regular users can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from regular users can be muted (deactivated)
|
|
and unmuted (activated) if necessary by 'chat_mute' command.
|
|
|
|
Operators can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from operators can not be muted (deactivated)
|
|
by 'chat_mute' command.
|
|
|
|
Listeners can only receive voice stream from conference.
|
|
Outgoing (from user to conference) voice stream is muted (decativated) and can not be unmuted (activated)
|
|
by 'chat_mute' command.
|
|
|
|
|
|
Note:
|
|
Certain problems arrive if processing send in band DTMF events for
|
|
IP connections.
|
|
chan_diva can use sent in band DTMF events to control media
|
|
processing (chan_capi 'vc' command). This works without problems for
|
|
E.1/T.1/S0/Analog connections. But in case of IP connections media
|
|
stream is processed by gateway or is originated by IP device.
|
|
Most of gateways will remove in band DTMF events from media stream and
|
|
forward detected DTMF events as RTP payloads. IP devices will not use
|
|
in band DTMF signaling and send DTMF events as RTP payloads.
|
|
In both cases DTMF events are not sent in band and processed by signaling
|
|
before reaching the chan_capi.
|
|
The solution is to configure gateways and IP devices to send DTMF events
|
|
in band in addition to sending as RTP payloads or use in band MF signaling.
|
|
|
|
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).
|
|
|
|
|
|
Syntax:
|
|
capicommand(ressource|controller)
|
|
controller - CAPI controller
|
|
|
|
|
|
Syntax example:
|
|
exten => s,n,capicommand(resource|1)
|
|
exten => s,n,capicommand(resource|1,3)
|
|
exten => s,n,capicommand(resource|1-4)
|
|
exten => s,n,capicommand(resource|1-4,7)
|
|
exten => s,n,capicommand(resource|1-4,7-10)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| chat_mute (Manage conference) |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to manage chat (conference room). This is three types of conference members:
|
|
Regular users
|
|
Operators
|
|
Listeners
|
|
|
|
Regular users can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from regular users can be muted (deactivated)
|
|
and unmuted (activated) if necessary by 'chat_mute' command.
|
|
|
|
Operators can receive voice stream from conference and send voice stream to conference.
|
|
Outgoing (from user to conference) voice stream from operators can not be muted (deactivated)
|
|
by 'chat_mute' command.
|
|
|
|
Listeners can only receive voice stream from conference.
|
|
Outgoing (from user to conference) voice stream is muted (decativated) and can not be unmuted (activated)
|
|
by 'chat_mute' command.
|
|
|
|
'chat_mute' command allows to manage conference switching regular users between active (voice stream from
|
|
user to conference is active and used in conference) and passive (voice stream from user to conference
|
|
is deactivated and not used in conference) mode. 'chat_mute' command apply to regular users only.
|
|
The state of operators and listeners is not changed by this commmand. Independent from changed by this
|
|
command state of conference operators will remain active members and listeners will remain passive members
|
|
of conference.
|
|
|
|
Direction:
|
|
Used to control (deactivate and activate) voice stream from regular users to conference.
|
|
|
|
Note:
|
|
Voice stream of regular users is active by default. If conference mode was changed to half duplex
|
|
('chat_mute|yes') then new regular users are created with voice stream deactivated until conference
|
|
mode is not changed back to full duplex ('chat_mute|no')
|
|
|
|
Supported hardware:
|
|
Diva
|
|
|
|
Syntax:
|
|
capicommand(chat_mute|<action>[|<roomname>])
|
|
action - mandatory
|
|
yes - change conference mode to half duplex, deactivate voice stream from regular
|
|
users to conference
|
|
no - change conference mode back to full duplex, activate voice stream from regular
|
|
users to conference
|
|
roomname - conference room name. This parameter is necessary if caller is not a member of conference.
|
|
It allows the control of conference by one user which not member of conference. Using
|
|
this parameter one user can control multiple conferences. This allows to implement
|
|
functionality of common conference operator.
|
|
|
|
Syntax example:
|
|
exten => s,n,capicommand(chat_mute|yes)
|
|
exten => s,n,capicommand(char_mute|no)
|
|
exten => s,n,capicommand(chat_mute|yes|test_room)
|
|
exten => s,n,capicommand(char_mute|no|test_room)
|
|
|
|
Conference example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[isdn-in]
|
|
exten => 1291,1,Answer ; Accept call
|
|
exten => 1291,n,capicommand(resource|1-4) ; assign resource PLCI if call from IP
|
|
exten => 1291,n,capicommand(clamping|200) ; Activate DTMF suppression
|
|
exten => 1291,n,capicommand(vc|chat_mute|0|yes) ; Voice command, key 0 - change to half duplex mode
|
|
exten => 1291,n,capicommand(vc|chat_mute|1|no) ; Voice command, key 0 - change to full duplex mode
|
|
exten => 1291,n,capicommand(chat|test_chat|mo|1-4) ; Add to conference as operator
|
|
exten => 1291,n,Hangup()
|
|
|
|
exten => 1292,1,Answer ; Accept call
|
|
exten => 1292,n,capicommand(resource|1-4) ; Assign resource PLCI if call from IP
|
|
exten => 1292,n,capicommand(clamping|200) ; Activate DTMF suppression
|
|
exten => 1292,n,capicommand(chat|test_chat|m|1-4) ; Add to conference as regular user
|
|
exten => 1292,n,Hangup()
|
|
|
|
exten => 1293,1,Answer ; Accept call
|
|
exten => 1293,n,capicommand(resource|1-4) ; Assign resource PLCI if call from IP
|
|
exten => 1293,n,capicommand(clamping|200) ; Activate DTMF suppression
|
|
exten => 1293,n,capicommand(chat|test_chat|ml|1-4) ; Add to conference as listener
|
|
exten => 1293,n,Hangup()
|
|
|
|
exten => _X.,1,Answer
|
|
exten => _X.,n,Goto(s,1)
|
|
exten => s,1,Wait(1)
|
|
exten => s,n(restart),Playback(demo-instruct)
|
|
exten => s,n,Goto(s,restart)
|
|
exten => s,n,Hangup
|
|
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
+-------------------------------------------------------------------+
|
|
| echocancel |
|
|
+-------------------------------------------------------------------+
|
|
|
|
Description:
|
|
Used to activate or to deactivate echo cancellation in accordance with G.168
|
|
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 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.
|
|
|
|
'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.
|
|
|
|
Diva automatically deactivates echo cancellation upon detection of fax ro modem transmission.
|
|
|
|
Direction:
|
|
Aplies on TDM interface (E.1/T.1/S0) only
|
|
|
|
Supported hardware:
|
|
Equipped with DSP Diva hardware
|
|
|
|
Syntax:
|
|
echocancel|yes,no
|
|
|
|
Syntax example:
|
|
s,n,capicommand(echocancel|yes)
|
|
s,n,capicommand(echocancel|no)
|
|
|
|
IVR example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[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.
|
|
exten => 1,1,capicommand(echocancel|yes)
|
|
exten => 1,n,Goto(s,restart)
|
|
exten => 2,1,capicommand(echocancel|no)
|
|
exten => 2,n,Goto(s,restart)
|
|
exten => 99,1,Echo
|
|
exten => i,1,Playback(invalid)
|
|
exten => i,n,Goto(s,restart)
|
|
exten => h,1,Hangup
|
|
/////////////////////////////////////////////////////////////////////
|
|
|
|
PBX Example:
|
|
/////////////////////////////////////////////////////////////////////
|
|
[macro-capiechocancel]
|
|
exten => s,1,capicommand(echocancel|yes)
|
|
|
|
[isdn-in]
|
|
exten => 12345,1,Progress()
|
|
exten => 12345,n,Set(TIMEOUT(digit)=1) ; Set Digit Timeout to 5 seconds
|
|
exten => 12345,n,Set(TIMEOUT(response)=5) ; Set Response Timeout to 10 seconds
|
|
exten => 12345,n,capicommand(echocancel|yes)
|
|
exten => 12345,n,Playback(demo-enterkeywords,noanswer,us)
|
|
exten => 12345,n,Answer
|
|
exten => 12345,n,Wait(2)
|
|
exten => 12345,n,Dial(DIALOGICDIVA/ISDN1/100,10,M(capiechocancel))
|
|
exten => 12345,n,Hangup()
|
|
/////////////////////////////////////////////////////////////////////
|
|
|