37
User Application AoH API GP API Request s Data & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Embed Size (px)

Citation preview

Page 1: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

User Application

AoH API

GP API

Requests Data & Events

Low Level API Calls

IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Page 2: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Channel

Record

Record

Play

Play

VirtualChannel

Play

Record

Page 3: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Which tone?

Store the detected SIT.

Detected SITs?

Detected SITs

Compare sequence of detected SITs with

defined SIT messages.

SIT messagedetected?

Report detectedSIT message.

PKX_EVENT_CHANNEL_TONE_ON

Not SIT

SIT (one of SIT0 to SIT4)

< 3

= 3

No

Yes

PKX_EVENT_CALL_ANALYSIS_DETECTED_SIT_MESSAGE(p0=channel assigned to the call; p1=SIT message; p2=user-defined message)

Page 4: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

lengthON = measured speechON

segment length

lengthOFF=measured speechOFF

segment length

increment numberOfWords

Live Person

AnsweringMachine

AnsweringMachine

lengthON >livePersonMaxTime

lengthOFF >speechEndTime

numberOfWords >livePersonWords

Yes

Yes

No

No

No

Yes

AnsweringMachine

lengthON + previously accumulated on time >livePersonMaxTotalTime

No

Yes

Page 5: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

SystemMedia

Processing

Group

Channel

Signaling

Conference

Call Call Progress and Analysis

Page 6: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

System

Group

Media Processing

Configuration Files

PKX_SYSTEM_Open

GroupGroupGroup

GroupDefinitions

PKX_ SYSTEM_GetConfig

PKX_ GROUP_GetHandle

Conference

ChannelChannelChannelChannelChannelChannelChannelChannel

ChannelChannelChannelChannelChannelChannelChannelChannel

PKX_ CHANNEL_GetHandle

Call Call Call

Connection

PKX_ CHANNEL_FullDuplexConnect

PKX_ CALL_GetChannel PKX_ CONF_AddMember

Page 7: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

System

Call

Group

Conference

Channel Connection

N

1

N1 2 0/1

0/1 0/1

N

Media Processing

N

N

0/1

Page 8: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Disabled

Open

Close Stop

Start

Enabled Running

Call eventscan occur at any time

Group and channel handles can be retrieved

Page 9: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

pikagp.cfg

AoB=filenameAoH=filename

[groups]group0=group name1group1=group name2

[group name1]type=group typeproduct=aobchannels=type0

[group name2]type=group typeproduct=aohchannels=AoH group name

AoB Configuration file

type0=AoB group name1

[group type]

type1=AoB group name2

[AoB group name1]interface0=board0,port rangeinterface1=board1,port range

[AoB group name2]interface0=board1,port rangeinterface1=board2,port range

board0=board name1

[board]

board1=board name2board2=board name3

[board name3]id=board idserial=board serial number

[board name2]id=board idserial=board serial number

[board name1]id=board idserial=board serial number

AoH Configuration file

product

Page 10: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

pikagp.cfg

[call progress analysis name]faxdetect=nomodemdetect=noansweringmachinedetect=nopattern0=pattern name1pattern1=pattern name2pattern2=pattern name3pattern3=pattern name4

[group name1]type=group typeproduct=aobchannels=type0callpa=call progress analysis name

[ring_pattern]ringpattern0=ring name 1ringpattern1=ring name 2

[ring name2]states=nstate0=durationstate1=duration

staten-1=duration

[ring name1]states=mstate0=durationstate1=duration

statem-1=duration

[pattern name1]type=pattern type [tone_detection]

tone0=291,24,485.1,-32.0tone1=72,24,1300.0,-46.0tone2=72,24,1500.0,-46.0group0=0.88,0.01,80,80,2,1,2group1=0.90,0.01,250,80,1,0

cadences=n states=m state0=2000

statem-1=4000

[tone_generation] tone0=tone name 1tone1=tone name 2tone2=tone name 3

[tone name 1]off=80 frequency1=941 amplitude1=-17.0 frequency2=1633 amplitude2=-15.0

on=80

[tonepatterns] tone_pattern0=tone pattern 1tone_pattern1=tone pattern 2tone_pattern2=tone pattern 3

[tone pattern 1] repeat=r cadences=n cadence0=0 cadence1=1 cadence2=0

cadencen-1=2

Page 11: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

[My group element]product=aohtype=isdnchannels=isdn3

[My other group]product=aobtype=sipchannels=sip0

AoH Product Configuration File

[isdn]isdn0=isdn_interface_3isdn1=isdn_interface_7isdn2=isdn_interface_2isdn3=isdn_interface_1isdn4=isdn_interface_4

[sip]sip0=aoh_sip_group

Root Configuration File

AoB Product Configuration File

[isdn]isdn0=isdn_interface_5isdn1=isdn_interface_6isdn2=isdn_interface_8isdn3=isdn_interface_9isdn4=isdn_interface_0

[sip]sip0=aob_sip_group

Page 12: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Open the system object

PKX_SYSTEM_Open

Start

Retrieve group names

PKX_SYSTEM_GetConfig

Retrieve group handle

Moregroups?

PKX_GROUP_GetHandle

Retrieve group

type and number of channels

Yes

PKX_GROUP_GetConfig

No

Initializeuser

applicationinternal

structures

Start media and call

processing

PKX_SYSTEM_Start

Wait forevent

System shutdown

event?

Timeoutevent?

Processevent

PKX_SYSTEM_WaitOnEvent

Yes

No

EndYesNo

Page 13: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Initiatea call

Wait forevent

Switch oncall event

type

PKX_CALL_Make()

Processcall

answered

Processdialling

CALL_DIALING

Processalerting

CALL_ALERTING

Processcall

proceeding

CALL_PROCEEDING CALL_CONNECTED

Page 14: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Wait forevent

Switch onEvent type

Accept the call

GROUP_INCOMING_CALL

Destinationringing,answer

the original

call

CALL_ALERTING

Call destination

PKX_CALL_Make()

PKX_CALL_Answer()

PKX_CALL_Accept()

PKX_CHANNEL_FullDuplexConnect()

Originalcall

answered,connect

destinationringing to original

caller

CALL_ANSWERED

Connectthe calls

PKX_CHANNEL_HalfDuplexConnect()

CALL_CONNECTED

Page 15: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Wait forevent

Switch onEvent type

GROUP_INCOMING_CALL

Answer the call

PKX_CALL_Answer PKX_CHANNEL_PlayAddData PKX_CHANNEL_PlayPKX_CHANNEL_CollectDigits

Processincoming

call

CALL_ANSWERED

Page 16: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Wait forevent

Switch onevent type

Reject the call

GROUP_INCOMING_CALL

Release thecall

CALL_DISCONNECTED

PKX_CALL_ReleasePKX_CALL_RejectRelease the

call

Disconnectthe call

PKX_CALL_Drop

CALL_DROPPED

PKX_CALL_Release Add channelto list ofavailablechannels

CHANNEL_READY

Page 17: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Enablebypass

Disablebypass

Get bypassresource

information

PKX_[CHANNEL | CONF]_GetBypassInfo()

PKX_[CHANNEL | CONF]_EnableBypass ()

PerformAoH

bypassfunctions

PKX_[CHANNEL | CONF]_DisableBypass ()

PKX_PRODUCT_LIBRARY_AOH

PKH_xxx ()

Page 18: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

GP API function

call

PerformAoH

function

AoH Thread Queue

Main Thread Queue

Retrieveevent from

queue

Processevent

Inject resultevent in

main queue

Retrieveevent from

queue

Processevent

Page 19: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

AoH Thread

Main Thread Queue

Retrieveevent from

queue

Processevent

UserApplication

PKX_SYSTEM_InjectEvent()

PKX_SYSTEM_WaitOnEvent()

Page 20: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Disconnected

Idle

Connected PKX_EVENT_CALL_ANSWERED

PKX_EVENT_CHANNEL_READY

PKX_EVENT_CALL_DROPPED

PKX_CALL_Drop()Remote disconnect indication

Low level or protocolresources released

NULL

Alerting

PKX_EVENT_CHANNEL_READY

PKX_CALL_Drop()Remote disconnectindication

Detected

Offered

Dialinginformationreceived

PKX_EVENT_CALL_DISCONNECTED

PKX_CALL_Release()

PKX_EVENT_CHANNEL_IN_USE

Call detected(CAS, Trunk)

Call detected(SIP, ISDN)

PKX_CALL_Reject()

PKX_CALL_Accept

PKX_CALL_Answer()

PKX_CALL_Answer()

PKX_EVENT_CALL_ACCEPTED

PKX_EVENT_GROUP_INCOMING_CALL

PKX_EVENT_CHANNEL_IN_USE

Page 21: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Disconnected

Idle

Connected

Dialing

NULL

Alerting

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_CONNECTED

PKX_EVENT_CHANNEL_READY

PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_DISCONNECTED

PKX_EVENT_CALL_ALERTING

PKX_CALL_Make()

PKX_CALL_Make()on a channel in use

PKX_CALL_Release()

PKX_CALL_Drop()Remote disconnectindication

PKX_CALL_Drop()Remote disconnect indication

PKX_CALL_Drop()Remote disconnectindication

Remote reject

Low level or protocolresources released

Remote answeredindication

Initiating

Addressing informationbeing sent

Page 22: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Down Ready In use

PKX_CALL_Reject()PKX_CALL_Drop()Remote disconnect indication

PKX_EVENT_CHANNEL_DOWN PKX_EVENT_CHANNEL_READY

Low level detectionof a channel going out of service

Low level detectionof a channel returning to service

PKX_CALL_Make()PKX_EVENT_GROUP_INCOMING_CALL

PKX_EVENT_CHANNEL_IN_USE

Page 23: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

GP Timer Thread

ProductInterface

AoHProductThread

AoH API

User Application Event Processing Thread

GP Main

GrandPrix API

User Application UI Processing Thread

GP Main

GrandPrix API

Page 24: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

GrandPrixSIP Local User Agent

pika.com Proxy Server

pika.com Registrar Server

[email protected](5.6.7.8)

[email protected](1.2.3.4)

[email protected](5.6.7.8)

[email protected](5.6.7.8)

[email protected]?

[email protected]

[email protected](5.6.7.8)

[email protected]

(5.6.7.8)

[email protected](5.6.7.8)

1

2

3

4 5

6

7

PKX_EVENT_GROUP_INCOMING_CALL

8

Page 25: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Play

PKX_ERROR_CHANNEL_AUDIO_DATA_NOT_AVAILABLE

Play

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

Scenario 1 AddBuffer

(Last buffer flag set)

Scenario 2

AddBuffer

AddBuffer

AddBuffer

AddBuffer

(Last buffer flag set) Play

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

Scenario 4 AddBuffer

(Last buffer flag set)

PKX_EVENT_CHANNEL_DATAREADY_PLAYPKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_STOPPED_PLAY

Stop

PlayFile

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

Scenario 3

Scenario 5

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

AddBuffer

AddBuffer

AddBuffer

AddBuffer

(Last buffer flag set) Play

Page 26: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

AddBuffer

(Last buffer flag set)

PKX_EVENT_CHANNEL_DATAREADY_PLAYPKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_TERM_xxx

Terminationcondition

met

Scenario 6

AddBuffer

AddBuffer

AddBuffer

AddBuffer

(Last buffer flag set) Play

AddBuffer

AddBuffer Add

Buffer

AddBuffer

(Last buffer flag set)

Play

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

Scenario 7

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

Page 27: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Scenario 8

AddBuffer

AddBuffer Add

Buffer

AddBuffer

(Last buffer flag set)

Play

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_UNDERFLOW_PLAY

Page 28: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Record

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

PKX_EVENT_CHANNEL_DATAREADY _RECORD

Scenario 2RecordFile

Scenario 1

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_STOPPED_RECORDPKX_EVENT_CHANNEL_TERM_xxx

Terminationcondition

met

RecordGetDataRecordGetData RecordGetData

RecordGetData

StopRecord

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

PKX_EVENT_CHANNEL_DATAREADY _RECORD

Scenario 3

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_STOPPED_RECORD

PKX_EVENT_CHANNEL_RECORD_OVERFLOW

RecordGetData

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

Page 29: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 1

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 2

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 3

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 4

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 5

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 6

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 7

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 8

PK

X_E

VE

NT

_CH

AN

NE

L_D

TM

FD

TM

F 9

InternalDigitBuffer 3 3 3 33 7 7

4 4 4 84 8

667

CollectDigitsmaxDigits = 3

GetDigits(numDigits = 4)

Stop

PK

X_E

VE

NT

_CH

AN

NE

L_S

TO

PPE

D_C

OL

LE

CT

_DIG

ITS

1 1 1 11 1 1 5 52 2 22 2 2 6 6

7

5

6

PK

X_E

VE

NT

_CH

AN

NE

L_T

ER

M_M

AX

_DIG

ITS

5 5 5 9

CollectDigitsmaxDigits = 5

CollectDigitsmaxDigits = 3

PK

X_E

VE

NT

_CH

AN

NE

L_T

ER

M_M

AX

_DIG

ITS

Page 30: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

Speech Speech Speech Speech

PKX_EVENT_CHANNEL_SPEECH_ON

PKX_EVENT_CHANNEL_SPEECH_OFF

PKX_EVENT_CHANNEL_SPEECH_ON

PKX_CHANNEL_EnableSpeechDetection

PKX_CHANNEL_DisableSpeechDetection

Page 31: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

GrandPrix PSTN

Ring NotificationPKX_EVENT_CHANNEL_IN_USEPKX_EVENT_GROUP_INCOMING _CALL

PKX_CALL_Accept()PKX_EVENT_CALL_ACCEPTED Optional

PKX_CALL_Answer()PKX_EVENT_CALL_ANSWERED

Initial Call(Incoming)

Offhook

PKX_CALL_Transfer()PKX_EVENT_CHANNEL_READYPKX_EVENT_CALL_HELDPKX_EVENT_CHANNEL_IN_USE

Hookflash First callnow on hold

PKX_EVENT_CALL_DIALINGStutter Dialtone

Ring notification

FSK Information

Digits

PKX_EVENT_CALL_ALERTINGConnectedPKX_EVENT_CALL_CONNECTED

Optional Call Analysis (fax, modem, SIT message, answering machine or human)

PKX_CALL_Drop(TRANSFER)PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_DISCONNECTED

Onhook First and second call now joined on the switch

PKX_EVENT_CHANNEL_READY

PKX_CALL_Release()PKX_CALL_Release()

TransferCompletion

SupervisedCall

Transfer

First call eventSecond call function

Legend

First call function

Second call event

Page 32: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

GrandPrix PSTN

Ring Notification

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_ALERTING

PKX_CALL_Make()

PKX_EVENT_CALL_CONNECTED

Initial Call(Outgoing) Offhook

PKX_CALL_Transfer()PKX_EVENT_CHANNEL_READYPKX_EVENT_CALL_HELDPKX_EVENT_CHANNEL_IN_USE

Hookflash First callnow on hold

PKX_EVENT_CALL_DIALINGStutter Dialtone

Ring notification

Dialtone

Digits

PKX_EVENT_CALL_ALERTING

PKX_CALL_Drop(TRANSFER)PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_DISCONNECTED

Onhook First and second call now joined on the switch

PKX_EVENT_CHANNEL_READY

PKX_CALL_Release()PKX_CALL_Release()

TransferCompletion

BlindCall

Transfer

Digits

First call eventSecond call function

Legend

First call function

Second call event

Page 33: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

GrandPrix PSTN

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_ALERTING

PKX_CALL_Make(call analysis enabled)

PKX_EVENT_CALL_CONNECTED

Initial Call(Outgoing)

Ring Notification

OffhookDialtoneDigits

UserApplication

PKX_EVENT_CALL_ANALYSIS_DETECTED_MODEM_FAX

Send Fax PKX_CHANNEL_FaxAddDocument

PKX_CHANNEL_FaxGetDefaultConfig

PKX_CHANNEL_FaxSend

PKX_EVENT_CHANNEL_FAX_STARTED

PKX_EVENT_CHANNEL_FAX_TRAINING

PKX_EVENT_CHANNEL_FAX_TRAINING_SUCCESS

PKX_EVENT_CHANNEL_FAX_DOCUMENT_BEGIN

PKX_EVENT_CHANNEL_FAX_PAGE_BEGIN

PKX_EVENT_CHANNEL_FAX_PAGE_END

PKX_EVENT_CHANNEL_FAX_DOCUMENT_END

PKX_EVENT_CHANNEL_FAX_DISCONNECTING

PKX_EVENT_CHANNEL_FAX_DISCONNECED

PKX_EVENT_CHANNEL_DONE_FAX

Page 34: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

GrandPrix PSTN

PKX_CALL_Transfer()PKX_EVENT_CHANNEL_READYPKX_EVENT_CALL_HELDPKX_EVENT_CHANNEL_IN_USE

Hookflash First callnow on hold

PKX_EVENT_CALL_DIALINGStutter Dialtone

Ring notificationDigits

PKX_EVENT_CALL_ALERTINGConnectedPKX_EVENT_CALL_CONNECTED

PKX_CALL_Drop(NORMAL)PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_RESUMED

Hookflash First callnow resumed

PKX_CALL_Release()

ManualResume

Fax tonePKX_EVENT_CALL_ANALYSIS_DETECTED_MODEM_FAX

First call already established

CallTransfer

First call eventSecond call function

LegendFirst call function

Second call event

Page 35: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

GrandPrix PSTN

PKX_CALL_Transfer()PKX_EVENT_CHANNEL_READYPKX_EVENT_CALL_HELDPKX_EVENT_CHANNEL_IN_USE

Hookflash First callnow on hold

PKX_EVENT_CALL_DIALINGStutter Dialtone

Busytone

Digits

PKX_EVENT_CALL_DISCONNECTED

First call already established

PKX_EVENT_CALL_RESUMED Hookflash

First callnow resumed

PKX_CALL_Release()

AutomaticResume

CallTransfer

First call eventSecond call function

LegendFirst call function

Second call event

Page 36: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

UserApplication

UserApplication

UserApplication

First call established

1

2

3

4

Remote Switch

Remote Switch

Remote Switch

Remote Switch

First call held

Second call established

Call transferred

Page 37: User Application AoH API GP API RequestsData & Events Low Level API Calls IP NIC Digital T1/E1 PCI and PCIe Analog Station FXS PCIe Analog Trunk FXO PCIe

UserApplication

GrandPrix PSTN

PKX_EVENT_GROUP_INCOMING_CALL

PKX_CALL_Answer (collect call blocking enabled)

Incoming Call

Answer

Wait 500 ms

Send on hook (analog) or IDLE ABCD bits (CAS/R2)

Wait 1500 ms

Wait 200 ms

Send off hook (analog) or ANSWER ABCD bits (CAS/R2)

PKX_EVENT_CALL_ANSWERED

The C.O will drop collect calls at this point.

Regular calls will continue after the double answer