A

abort mask 61, 63, 69
addaemon 134- 136, 155
ADI_ENCODE_ 56
ADI_EVENT 13
ADI_RECORD_BUFFER_REQ 72, 74
adiAnswerCall 18, 21, 24, 148, 160
adiAssertSignal 101
adiBlockCalls 18, 43
ADICALLCTL_PARMS 111
ADICALLPROG_PARMS 35, 95- 97
ADICLEARDOWN_PARMS 111
adiCloseDriver 105
adiClosePort 107- 108, 115
adiCollectDigits 78- 81, 133, 148, 150, 153
adiConfigParm 132, 134- 136
ADIDIAL_PARMS 111
ADIDID_PARMS 53
ADIDTMF_PARMS 84
ADIDTMFDETECT_PARMS 86, 111
ADIECHOCANCEL_PARMS 111
ADIENERGYDETECT_PARMS 92
ADIERR_ 16
ADIEVN_ 19
adiFetchAndProcess 12, 105- 106,
117,
120- 122
adiFlushDigitQueue 78, 80, 82
ADIFSKRECEIVE_PARMS 100
ADIFSKSEND_PARMS 99
adiGetBoardInfo 105- 106, 143, 152
adiGetBoardSlots 105- 106, 143, 152
adiGetCallStatus 18, 148
adiGetDigit 78, 80, 82
adiGetEncodingInfo 58, 146
adiGetErrorText 131
adiGetEventText 131
adiGetParmByName 132
adiGetParmInfo 132
adiGetParms 132- 133
adiGetPlayStatus 58, 62
adiGetPortInfo 107
adiGetRecordStatus 58, 68
adiGetTimeStamp 13
ADILPS_PARMS 52
adiModifyPlayGain 62, 67
adiModifyPlaySpeed 62, 67
adiOpenDriver 105, 107- 108, 117, 121
adiOpenPort 9, 13, 105, 107- 108,
115,
153- 154
adiparm utility 156
adiPeekDigit 78, 80
adiPlaceCall 18, 25- 26, 28- 29, 36,
47-
48, 150
ADIPLACECALL_PARMS 25, 29, 31, 33
adiPlaceSecondCall 18, 44- 45, 47, 49, 158
ADIPLAY_PARMS 62
adiPlayAsync 59- 60, 62- 63, 65- 66,
143,
146, 153
adiPlayFromMemory 59, 62- 63
adiQuerySignalState 101
ADIRECORD_PARMS 68
adiRecordAsync 59- 60, 68- 69, 72, 74,
143,
146, 153
adiRecordToMemory 59, 68- 69
adiRejectCall 19, 21, 24, 44, 48, 52, 150
adiReleaseCall 19, 25, 29, 33, 43, 48, 148, 150, 160
adiReleaseSecondCall 19, 46, 49, 158
adiSetErrorHandler 131
ADISTART_PARMS 89, 111
adiStartCallProgress 95
adiStartDial 101
adiStartDTMF 84
adiStartEnergyDetector 91
adiStartMFDetector 101
adiStartPlaying 59, 62- 64, 122, 146,
148,
150, 160
adiStartProtocol 18, 25, 85, 87, 107,
110-
112, 115
adiStartPulse 101
adiStartReceivingFSK 100
adiStartRecording 59, 68- 69, 71, 122,
146,
148, 150
adiStartSendingFSK 99
adiStartSignalDetector 101
adiStartTimer 102
adiStartToneDetector 93- 94
adiStartTones 84
adistate demo 153
adiStopCallProgress 95
adiStopCollection 78, 81- 82
adiStopDial 101
adiStopDTMFDetector 85
adiStopEnergyDetector 91- 92
adiStopMFDetector 101
adiStopPlaying 62- 63, 67
adiStopProtocol 107, 113, 115
adiStopReceivingFSK 100
adiStopRecording 68- 69, 74
adiStopSendingFSK 99
adiStopSignalDetector 101
adiStopTimer 102
adiStopToneDetector 93- 94
adiStopTones 84- 85
adiSubmitPlayBuffer 60, 62, 65, 67,
146,
153
adiSubmitRecordBuffer 60, 68, 72, 74,
146,
153
aditest utility and demo 143
ADITONE_PARMS 84
ADITONEDETECT_PARMS 94
adiTransferCall 19, 44- 47, 49
adiUnBlockCalls 19, 44
ADIWNK_PARMS 53
ADPCM 57, 67- 68
ADSI (Analog Display Services Interface) 99
AG Access architecture 5
AG board configuration 8
application development functions 7
asynchronous programming 12
design objectives 6
errors 16
introduction 6
MVIP streams 11
network protocols 11
parameters 14
ports 9
telephony capabilities 7
AG board
buffer size 58
configuration demonstration program 152
configuration file 8
configuration overview 8
identified with Board directive 8
initializing 8
AG driver 145, 152
closing 105
opening 105, 107- 108, 117, 121
AGC (Automatic Gain Control) 15, 75
agmon 8, 11, 108, 110- 111, 136, 152, 154, 157- 158
A-law 57
alerting 32, 34, 158
Analog Display Services Interface (ADSI) 99
answering a call 18, 21, 24, 148, 160
application development 104
command and event processing 116
development environment 136
error codes and handling 131
execution environment 122
functions 7
initialization sequence 105
opening a port 106
opening the AG driver 105
parameter management 132
port multiplexing 121
principles 104
programming models 123
architecture 5
ASCII 78, 80
asynchronous interface 143, 146, 153
asynchronous mode 72, 143
asynchronous programming 6, 12, 108
asynchronous transfer 60, 65
Automatic Gain Control (AGC) 15, 75

B

bandwidth 93
beep 14- 15, 71, 76, 85, 132, 147
Bellcore 99
blind transfer 46
blocking incoming calls 18, 43
Board directive 8
board information 143, 152
configuration 105- 106, 143, 152
MVIP slots 105- 106
board type 105- 106, 143, 152
brdinfo utility 152
broadband tone 38
busy 32, 36- 37, 97, 148

C

cadence 38, 40
call analysis 7, 35
call answered 35
call blocking 43
call control 7, 11, 17, 78, 101
answering a call 18, 21, 24, 148, 160
call blocking 43
call transfer 44
events as applied to AG Access call control 33
functions 18
inbound demonstration program 148
inbound trunks 21
informational events 19
low-level 101
mask parameters 29
NOCC 12
outbound demonstration program 150
outbound trunks 25
placing a call 18, 29, 150
placing a second call 18, 44- 45, 47, 49, 158
progress events 32
rejecting a call 19, 21, 24, 44, 48, 52, 150
releasing 19, 25, 29, 33, 43, 46, 48- 49, 148, 150, 158, 160
service interruption 44
start net protocol before call control functions 110
system restrictions 53
transferring 19, 44- 47, 49
transitional events 20
call proceeding 33
call progress 7, 84, 95, 132
events 25, 32
starting 59, 62- 64, 95, 122, 146, 148, 150, 160
stopping 95
system restrictions 98
terminating 97
tone events 95
voice events 96
call progress events
alerting 34
call answered 35
call proceeding 33
glare 33
network connected 34
network rejected call 33
no answer 34
ring quit 34
timeout 36
voice detection 35
call states 18, 148
call status 18, 148
call transfer 44, 158
blind transfer 46
events 47
supervised transfer 45
callback 122, 145- 148, 150
callback transfer 59- 60, 64
called party 151
CAS (Channel Associated Signaling) 11,
18,
101
CED 28
cleardown 87, 92
closing a port 107- 108, 115
closing the driver 105
collecting digits (DTMFs) 82
asynchronous 80
background 79
browsing first digit 78, 80
flushing the queue 78, 80, 82
introduction 78
parameters 81
reading one digit 78, 80
start 78- 81, 133, 148, 150, 153
stopping 78, 81- 82
synchronous 80- 81
command processing 116
sequence 117
Unix signals 119
compression (speech) 56
configuration file 8
connectmask parameter 28- 31, 33, 35- 36
control processor program
in AG board config file 8
converting timestamps to 'C' time events 13
CPE (Customer Premises Equipment) 99

D

data rate of speech 146
data transfer methods 58
asynchronous mode 71
asynchronous transfer 60
callback transfer 60, 64, 71
single memory transaction 59
demonstration programs
adistate 153
aditest 143
board configuration 152
call control (inbound) 148
call control (outbound) 150
call transfer 158
inadi 148
interactive test program 143
multi-threaded demo 160
outadi 150
play and record 146
playing WAVE files 157
playrec 146
playwave 157
state-machine 153
summary of 142
threads 160
xferpbx 158
detecting DTMFs 85
using alternate DTMF detector 90
detecting energy 91
detecting MFs 101
detecting tones 92
developer support 3
developing an application 7, 104
command and event processing 116
development environment 136
error codes and handling 131
execution environment 122
initialization sequence 105
opening ports 106
opening the AG driver 105
parameter management 132
port multiplexing 121
principles 104
programming models 123
development environment 136
dial tone 96
dialing
with NOCC 101
with protocol-independent call control 18, 25- 26, 28- 29, 36, 48, 150
DID 11, 111, 144, 147, 149
digit collection
asynchronous 80
background 79
browsing first digit 78, 80
flushing the queue 78, 80, 82
introduction 78
parameters 81
reading one digit 78, 80, 82
start 78- 81, 133, 148, 150, 153
stopping 78, 81- 82
synchronous 80- 81
disconnectmask parameter 28- 31, 35- 36
document conventions 3
done events 13
driver handle 105, 107, 117, 121
DTMFs
collecting 78- 81, 133, 148, 150, 153
detection 85, 90
generating 84- 85
terminating play or record when detected 61

E

echo cancellation 7, 84
enabling 89
encodings 58, 146
format 56
energy detection 91, 93
starting 91
stopping 91
environment
development 136
execution 122
errors 16
handling 131
textual representation 131
eventmask parameter 19, 34
events 12
and AG Access architecture 6
as applied to AG Access call control 33
associated with port 9
call control informational 19
call control transitional 20
call proceeding 33
call progress 25, 32- 36
call transfer 47
done 13
inbound trunks 23- 24
network 32
outbound trunks 27
out-of-service 44
processing 116
processing sequence 117
receiving 12, 105- 106, 117, 120- 122
remote party 32
represented as ADI_EVENT structure 13
textual representation 131
voice 42
execution environment 122

F

fast busy 36- 37
fax/modem answer tone 96
flushing the digit collection queue 78, 80, 82
frames 57
frequency 14- 15, 92- 93, 132
Frequency Shift Key (FSK) data 99
receiving 100
sending 99
function status 58

G

gain 67
Generalized Trunk Protocol (GTP) engine 11
generating DTMFs 84- 85
system restrictions 85
glare 28, 33, 52, 150
Ground start 167
GTP engine 11

H

handling errors 131
hanging up the line 19, 25, 29, 33, 43, 48, 148, 150, 160

I

I/O address
in AG board config file 8
ID
AG board 8
inadi demo 148
inbound calls
blocking 18, 43
inbound trunks 21
events 23- 24
procedure 21
informational events 19
inter-pulse delay 36

L

Loop start 168
loop-start 11, 28, 52, 160

M

making a call 18, 25- 26, 28- 29, 36, 48, 150
maximum buffer size for speech 146
MF detector 101
MFC-R2 11
mu-law 57
multiplexing ports 121
mux handle 106
usage 117
muxid 106
MVIP 76, 142
config parms in AG board config file 8
getting board's configuration 105
getting board's status info 105
slots 143, 152
streams 9- 11
switching 9
timeslot specified when opening a port 107

N

network connected 34
network events 32
network protocols 11
specified in AG board config file 8
network rejected call 33
no answer 34, 97
NOCC 12, 85, 98, 101, 109, 111, 143
null protocol 12

O

off-hook 148
opening a port 9, 13, 105, 107- 108, 115, 153- 154
example configurations 111
introduction 106
mandatory specifications 107
port life cycle 112
starting a protocol 110
three-step process 107
opening the driver 105, 107- 108, 117, 121
outadi demo 150
outbound trunks 25
establishing outbound connection 26
events 27
out-of-band signaling
asserting a pattern 101
detection change 101
generating a pulse 101
read incoming pattern 101
out-of-service event 44
overlays
specified in AG board config file 8

P

parameters 14
call control mask 29
connectmask parameter 25, 29- 31,
35-
36
disconnectmask parameter 25, 29- 31, 35- 36
displaying with adiparm 156
fetching default structure 132- 133
fetching default value 132
glare detection 52
loop-start 52
management 132
network tone parameters 36
null 15
precqualtime parameter 37
protocol-specific 52
retrieving structure definition 132
setting defaults 132, 134- 136
structures 14
voice 41
wink-start 53
PBX 142
PBX transfer 19, 44- 47, 49
placing a call 18, 25- 26, 28- 29, 36, 48, 150
placing a second call with a PBX 18, 44- 45, 47, 49, 158
playing speech 58, 143, 146, 153
adjusting the speed 62, 67
adjusting the volume 62, 67
asynchronous interface 59- 60, 62- 63, 65- 66
asynchronous mode 65
buffer sizes 58
callback transfer 64
data transfer methods 58
demonstration program 146
encoding formats 56
frames 57
from process memory 59, 62- 63
function status 62
functions 62
gain 67
initiating 63
introduction 56
procedure 62
speed control 67
stopping 62- 63, 67
submitting buffers for asynchronous play 60, 62, 65, 67, 146, 153
system restrictions 76
terminating 63
terminating with DTMF key 61
underruns 56, 58
playrec demo 146
playwave demo 157
poll 106, 117, 145
port handle 9, 107- 108, 112, 115, 117
ports 9- 10, 63, 69, 76, 78, 87, 92, 98,
102,
142
configuration 107
example configurations 111
handling multiple 160
multiplexing 121
opening 106- 107
resources managed by AG Access 9
state information 107
precise tone detection 37
starting 93- 94
proceeding 158
processing commands
introduction 116
sequence 117
Unix signals 119
processing events
introduction 116
sequence 117
programming models 123
protocol-independent 11
protocols 18, 25, 85, 87, 106- 107, 109- 110, 113, 143
CAS 11
GTP 11
not specified in config file 8
null 12
parameters 52
selecting and starting 85, 87, 107,
110-
112, 115
stopping and unloading 107, 113, 115
pulse generation 101
pulsewidth 36, 38- 39

R

reading a digit (DTMF) 78, 80, 82
recording speech
AG Access requests another buffer 72, 74
asynchronous interface 59- 60, 68- 69, 72, 74, 143, 146, 153
asynchronous mode transfer 71
Automatic Gain Control (AGC) 75
callback transfer 71
data transfer methods 58
demonstration programs 146
encoding formats 56
frames 57
function status 58, 68
functions 68
initiating recording 69
introduction 56
procedure 72
stopping 68- 69, 74
submitting buffers for asynchronous record 60, 68, 72, 74, 146, 153
system restrictions 76
terminating recording 69, 74
terminating with DTMF key 61
to process memory 59, 68- 69
underruns 56, 58
with callbacks 59, 68- 69, 71, 122, 146, 148, 150
rejecting an incoming call 19, 21, 24, 44, 48, 52, 150
related documents 4
releasing a call 19, 25, 29, 33, 43, 48, 148, 150, 160
application-initiated 43
network-initiated 42
releasing a second call 19, 46, 49, 158
remote party events 32
reorder 32, 36- 37, 96- 97, 148- 149
reorder tone 96
ring quit 32, 34, 96
ring tone 36, 41, 96- 97

S

seizure 99- 100, 148
service interruption 44
signal detection 101
SIGPOLL 119
single memory transaction 59
SIT (Special Information Tone) 25, 36- 37, 96- 97
special information tone 96
speech encodings 58, 146
format 56
speech frame size 146
speech frames 58
speed of speech playback 62, 67
starting a protocol 18, 25, 85, 87, 107, 110- 112, 115
state diagrams 48
state information
playing speech 58
ports 107
streams 9
input port 87
MVIP 9- 11, 76, 143
submitting play buffers 60, 62, 65, 67, 146, 153
submitting record buffers 60, 68, 72, 74, 146, 153
supervised transfer 45
support 3
SwitchPath 9
system restrictions 53, 76, 85, 98

T

talk-off
improving 90
TCP (Trunk Control Program) 11, 18, 25, 85, 87, 107, 110- 112, 115, 148
technical support 3
telephony capabilities 7
threads demo 160
time field 13
timeout 36
timers 102
timestamps 13
tone cycle 36
tone detection 92- 94
tone generation 84- 85
starting 84
system restrictions 85
transferring a call 19, 44- 47, 49
transitional events 20
trapping errors 131
Trunk 170
Trunk Control Program (TCP) 11, 18, 25, 85, 87, 107, 110- 112, 115, 148
trunk programs 25, 85, 87, 107, 110- 112, 115
trunks
inbound 21
outbound 25

U

unblocking incoming calls 19, 44
underruns 56, 58
Unix signals 119
utilities
adiparm 156
AG Access daemon (addaemon) 155
AG Access parameter display (adiparm) 156
brdinfo 152
introduction 155

V

value field 13, 16, 63, 69, 72, 74, 78, 81, 96
voice detection 35
voice encoding formats 56
voice events 42
voice frames 57
voice parameters 41
volume of speech playback 62

W

WaitForMultipleObjects 106
WaitForSingleObject 106
Wave 57, 157
wink-start 11, 28, 148- 150
parameters 53

X

xferpbx demo 158



Copyright 1996 Natural MicroSystems, Inc. All Rights Reserved.