CTI Integration
Ericsson MD110
Voicemail Signaling Interface over V.24 (serial line)
When VoiceGuide is attached to
extensions on an Ericsson PBX then the Ericsson's Voicemail
Signaling Interface can provide detailed information about the
call. This information will indicate whether the call is internal
or external, whether it is a direct call into the IVR system or
whether it was redirected from another extension or 'directory
number'. It will also include information on what
extension/directory number the call was arriving or redirected from
and whether the redirection was due to busy, no answer, or a
permanent redirection setting . If the call is an external call
then the CallerID information can also be provided.
To establish the signaling link an
connection to the PBX is made by using a serial cable between the
machine running VoiceGuide and the PBX. The PBX must be configured
to send the Voicemail Signaling information over that link.
A set of analog extensions on the
PBX need to be setup to function as voicemail system links and
these lines are then attached to the telephony card controlled by
VoiceGuide. Information about calls arriving on these extensions
will then be sent over the Voicemail Signaling serial link.
Support for this interface
available in VoiceGuide v6.0.2200 and later.
V.24 Interface
Configuration
To configure VoiceGuide to use
information from Ericsson’s Voicemail Signaling Interface via V.24
serial cable the following [PBXCTI] section
entries in VG.INI need to be set:
[PBXCTI]
Link1_Type=EricssonVoicemailSerial
Link1_Message_VmPortNbrLen=4
Link1_Message_DirectoryNbrLen=4
Link1_Message_PublicNetworkNbrLen=20
Link1_Serial_CommPort=1
Link1_Serial_Handshaking=0
Link1_Serial_InputMode=2
Link1_Serial_Settings=9600,N,8,1
The Link1_
prefix is used to group entries are
related to the same CTI integration link The first CTI link defined
on the system should use the prefix Link1_, with the
following CTI interfaces using Link2_ then Link3_
etc.
The entries used by this interface are:
[PBXCTI] Entry
|
Description
|
|
Type
|
Must be set
to EricssonVoicemailSerial |
|
Message_VmPortNbrLen
|
Number of
digits PBX uses to reference the voicemail port number (2 to 5
digits)
|
|
Message_DirectoryNbrLen
|
Number of
digits PBX uses to reference the directory number (2 to 10
digits)
|
|
Message_PublicNetworkNbrLen
|
Number of
digits PBX uses to reference a number from an outside network
(usually 20 digits)
|
|
Serial_CommPort
|
Which serial
(COM) port VoiceGuide should use to communicate with the
Ericsson
|
|
Serial_Handshaking
|
Flow control
used. Set to 0 for None. (0 - None, 1-XonXoff, 2-RTS,
3-RTSXonXoff)
|
|
Serial_InputMode
|
Set to 2
(1=Binary, 2=Text)
|
|
Serial_Settings
|
Serial
port's speed, parity, bits and stop bits setting. Set to match the
PBX's serial port settings. Most systems tend to use
"9600,N,8,1".
Allowed parity values: Parity: E=Even
M=Mark N(Default)=None O=Odd S=Space. Stop Bit values. 1(Default),
1.5, 2. |
Using CTI supplied
information in VoiceGuide Scripts
Information
relating to the call can be retrieved using the following Result
Variables, where xxxx is replaced by
the ID of the voicemail line on which the PBX is sending the
call
Result Variable
|
Description
|
|
$RV_CTI_V_xxxx_MSG
|
The PBX ID
of the last CTI message relating to this voicemail line.
|
|
$RV_CTI_V_xxxx_INF
|
Description
of the last CTI message relating to this voicemail line.
|
|
$RV_CTI_V_xxxx_EXT
|
Extension
number from which the call was diverted.
|
|
$RV_CTI_V_xxxx_DIR
|
Extension
number from which the internal call originated.
|
|
$RV_CTI_V_xxxx_CLI
|
The CallerID
number of the caller.
|
|
$RV_CTI_V_xxxx_Timestamp
|
Time when
the CTI message arrived. In format HHNNSS.SS
|
Usually each
telephone line attached to the VoiceGuide system would be setup as
a voicemail type extension and hence each line would have a
different corresponding PBX related voicemail ID. To retrieve the
associated CLI information the line's associated voicemail line ID
must be known.
Specifying which
telephone line has what Voicemail ID associated with it can be done
by either:
1. Using
a lookup table (database based or otherwise) and have the script
retrieve the Voicemail line ID based on the Line ID
($RV_LINEID).
or
2.
Setting line based Result Variables. Using this approach the
Voicemail line ID value would be set as a Result Variable specified
as part of lines configuration in the Config.xml file. This is done
using the RV tag within the <Channel> section of the
Config.xml file. Eg:
<Channel>
<Name>dxxxB1C1</Name>
<Protocol>pdk_na_an_io</Protocol>
<RingsBeforeAnswer>0</RingsBeforeAnswer>
<Script>C:\VgScripts\SupportVm.vgs</Script>
<AllowDialOut>1</AllowDialOut>
<RV>[PbxVoicemailLineId]{0004}</RV>
</Channel>
$RV_CTI_V_xxxx_MSG and $RV_CTI_V_xxxx_INF
values
This is a
summary of the possible messages sent from the Ericsson PBX, their
_MSG values, corresponding _INF descriptions, along with
supplementary information:
_MSG
|
_INF
|
Function Level
|
Parameters Available
|
| 80
|
diverted
|
Standard
|
_EXT
|
| 81
|
direct internal
|
Standard
|
_DIR
|
| 82
|
direct internal ext
|
Extended
|
_DIR
|
| 83
|
diverted internal
|
Extended
|
_EXT, _DIR
|
| 84
|
direct external
|
Extended
|
none
|
| 85
|
diverted external
|
Extended
|
_EXT
|
| 86
|
diverted through operator
|
Extended
|
_EXT
|
| 87
|
direct external with calling number
|
Extended 3
|
_CLI
|
| 88
|
diverted external with calling number
|
Extended 3
|
_EXT, _CLI
|
| 91
|
diverted internal (no answer)
|
Extended 2
|
_EXT, _DIR
|
| 92
|
diverted internal (busy)
|
Extended 2
|
_EXT, _DIR
|
| 94
|
diverted external (no answer)
|
Extended 2
|
_EXT
|
| 95
|
diverted external (busy)
|
Extended 2
|
_EXT
|
| 96
|
diverted external (no answer) with calling
number |
Extended 3
|
_EXT, _CLI
|
| 97
|
diverted external (busy) with calling number
|
Extended 3
|
_EXT, _CLI
|
Which CTI
messages are sent by the PBX depends on which 'Function Level' has
been enabled within the PBX. For most informative messages the
'Extended level 3' should be enabled within the ePBX.
Examples:
Example
1:
How to determine
if a call was a direct call or a diverted call?
A: If the
call is a direct call then the _EXT variable will not be set. All
diverted calls have the _EXT variable set, with the _EXT variable
indication from which extension the call was diverted. If the
Voicemail Line ID has been set using [PbxVoicemailLineId] in Config.xml then the following expression
should be used in an Evaluate Expression module:
"$RV_CTI_V_$RV[PbxVoicemailLineId]_EXT"
with the
"Success" path from the Evaluate Expression module leading to
modules handling the diverted call situation, and the "Fail" path
from the Evaluate Expression module leading to modules
handling the direct call situation:
on {Success}
goto [DivertedCall]
on {Fail} goto [DirectCall]
Example
2:
How to determine
if the diverted call was an immediate divert, or a divert due to
busy or no answer?
A: An
'Immediate Divert' will have _MSG variable set to one of these
values: 80, 83, 85 or 88. A 'Divert on Busy' will have _MSG
variable set to one of these values: 92, 95 or 97. A 'Divert on No
Answer' will have _MSG variable set to one of these values: 91, 94
or 96. Hence, if the Voicemail Line ID has been set using
[PbxVoicemailLineId]
in Config.xml then the following
expression should be used in an Evaluate Expression
module:
"$RV_CTI_V_$RV[PbxVoicemailLineId]_EXT"
with the
following paths used:
on {80} goto
[DivertedImmediatley]
on {83} goto [DivertedImmediatley]
on {85} goto [DivertedImmediatley]
on {88} goto [DivertedImmediatley]
on {92} goto [DivertedOnBusy]
on {95} goto [DivertedOnBusy]
on {97} goto [DivertedOnBusy]
on {91} goto [DivertedOnNoAnswer]
on {94} goto [DivertedOnNoAnswer]
on {96} goto [DivertedOnNoAnswer]
on {Success} goto [DivertedReasonNotAvailable]
on {Fail} goto [DirectCall]
|