slide1
Download
Skip this Video
Download Presentation
User Application

Loading in 2 Seconds...

play fullscreen
1 / 35

User Application - PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on

User Application. AoH API. GP API. AoB API. cPCI PrimeNet MM. IP NIC. Inline MM PCI. Digital Gateway. Daytona MM PCI. PrimeNet MM PCI. Requests. Data & Events. Low Level API Calls. Low Level API Calls. Channel. Record. Play. Play. Record. Record. Play. Virtual Channel.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' User Application' - merrill-donaldson


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

User Application

AoH API

GP API

AoB API

cPCI PrimeNet MM

IP NIC

Inline MM PCI

Digital Gateway

Daytona MM PCI

PrimeNet MM PCI

Requests

Data & Events

Low Level API Calls

Low Level API Calls

slide2

Channel

Record

Play

Play

Record

Record

Play

Virtual

Channel

slide3

PKX_EVENT_CHANNEL_TONE_ON

Which tone?

Not SIT

SIT (one of SIT0 to SIT4)

Store the detected SIT.

Detected SITs

Detected SITs?

< 3

= 3

Compare sequence of detected SITs with defined SIT messages.

SIT message

detected?

No

Yes

Report detected

SIT message.

PKX_EVENT_CALL_ANALYSIS_DETECTED_SIT_MESSAGE

(p0=channel assigned to the call; p1=SIT message;

p2=user-defined message)

slide4

lengthON =

measured speechON

segment length

lengthOFF=

measured speechOFF

segment length

lengthOFF >

speechEndTime

lengthON >

livePersonMaxTime

Yes

Yes

Live Person

Answering

Machine

No

No

increment

numberOfWords

numberOfWords >

livePersonWords

No

Yes

Answering

Machine

slide5

Group

Signaling

Channel

Media

Processing

System

Conference

Call Progress

and Analysis

Call

slide6

Configuration Files

PKX_SYSTEM_Open

Group

Definitions

System

PKX_ SYSTEM_GetConfig

PKX_ GROUP_GetHandle

Group

Group

Group

Group

PKX_ CHANNEL_GetHandle

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

Channel

PKX_ CHANNEL_FullDuplexConnect

Connection

PKX_ CALL_GetChannel

PKX_ CONF_AddMember

Conference

Media Processing

Call

Call

Call

slide7

Media Processing

System

1

N

N

N

Connection

2

0/1

1

N

Group

Channel

0/1

N

0/1

0/1

Conference

Call

slide8

Open

Start

Disabled

Enabled

Running

Close

Stop

Group and

channel handles

can be retrieved

Call events

can occur at

any time

slide9

[groups]

group0=group name1

group1=group name2

[group name2]

type=group type

product=aoh

channels=AoH group name

[group name1]

type=group type

product=aob

channels=type0

pikagp.cfg

AoB Configuration file

product

[group type]

[board]

AoB=filename

type0=AoB group name1

board0=board name1

AoH=filename

board1=board name2

type1=AoB group name2

board2=board name3

[AoB group name1]

interface0=board0,port range

interface1=board1,port range

[board name3]

id=board id

serial=board serial number

[board name2]

id=board id

[AoB group name2]

serial=board serial number

interface0=board1,port range

[board name1]

interface1=board2,port range

id=board id

serial=board serial number

AoH Configuration file

slide10

[ring_pattern]

ringpattern0=ring name 1

ringpattern1=ring name 2

[ring name2]

[call progress analysis name]

states=n

state0=duration

faxdetect=no

state1=duration

modemdetect=no

answeringmachinedetect=no

staten-1=duration

[ring name1]

pattern0=pattern name1

states=m

pattern1=pattern name2

state0=duration

pattern2=pattern name3

state1=duration

pattern3=pattern name4

statem-1=duration

[tone_detection]

tone0=291,24,485.1,-32.0

tone1=72,24,1300.0,-46.0

tone2=72,24,1500.0,-46.0

group0=0.88,0.01,80,80,2,1,2

group1=0.90,0.01,250,80,1,0

pikagp.cfg

[group name1]

[tonepatterns]

tone_pattern0=tone pattern 1

type=group type

tone_pattern1=tone pattern 2

product=aob

tone_pattern2=tone pattern 3

channels=type0

callpa=call progress analysis name

[tone pattern 1]

repeat=r

cadences=n

cadence0=0

cadence1=1

cadence2=0

cadencen-1=2

[tone_generation]

tone0=tone name 1

tone1=tone name 2

tone2=tone name 3

[pattern name1]

type=pattern type

[tone name 1]

cadences=n

on=80

states=m

off=80

state0=2000

frequency1=941

statem-1=4000

amplitude1=-17.0

frequency2=1633

amplitude2=-15.0

slide11

[My group element]

product=aoh

type=isdn

channels=isdn3

[My other group]

product=aob

type=sip

channels=sip0

[isdn]

isdn0=isdn_interface_3

isdn1=isdn_interface_7

isdn2=isdn_interface_2

isdn3=isdn_interface_1

isdn4=isdn_interface_4

[sip]

sip0=aoh_sip_group

AoH Product Configuration File

Root Configuration File

AoB Product Configuration File

[isdn]

isdn0=isdn_interface_5

isdn1=isdn_interface_6

isdn2=isdn_interface_8

isdn3=isdn_interface_9

isdn4=isdn_interface_0

[sip]

sip0=aob_sip_group

slide12

Start

PKX_SYSTEM_Start

Start media

and call

processing

PKX_SYSTEM_Open

Open the

system

object

Wait for

event

PKX_SYSTEM_WaitOnEvent

PKX_SYSTEM_GetConfig

Retrieve

group

names

Initialize

user

application

internal

structures

System

shutdown

event?

More

groups?

End

No

Yes

Yes

No

PKX_GROUP_GetHandle

Retrieve

group

handle

Timeout

event?

Yes

No

Process

event

PKX_GROUP_GetConfig

Retrieve

group

type and

number of

channels

slide13

PKX_CALL_Make()

Initiate

a call

Wait for

event

Switch on

call event

type

CALL_DIALING

CALL_PROCEEDING

CALL_ALERTING

CALL_CONNECTED

Process

dialling

Process

call

proceeding

Process

alerting

Process

call

answered

slide14

Wait for

event

Switch on

Event type

GROUP_INCOMING_CALL

CALL_ALERTING

CALL_ANSWERED

CALL_CONNECTED

PKX_CALL_

Answer()

PKX_CHANNEL_

HalfDuplexConnect()

Accept

the call

Destination

ringing,

answer

the

original

call

Original

call

answered,

connect

destination

ringing to

original

caller

PKX_CHANNEL_

FullDuplexConnect()

Connect

the calls

PKX_CALL_

Accept()

PKX_CALL_

Make()

Call

destination

slide15

Wait for

event

Switch on

Event type

GROUP_INCOMING_CALL

CALL_ANSWERED

Process

incoming

call

Answer

the call

PKX_CALL_Answer

PKX_CHANNEL_PlayAddData

PKX_CHANNEL_Play

PKX_CHANNEL_CollectDigits

slide16

Disconnect

the call

PKX_CALL_Drop

Wait for

event

Switch on

event type

GROUP_INCOMING_CALL

CALL_DISCONNECTED

CALL_DROPPED

CHANNEL_READY

Reject

the call

Release the

call

Release the

call

Add channel

to list of

available

channels

PKX_CALL_Reject

PKX_CALL_Release

PKX_CALL_Release

slide17

Get bypass

resource

information

PKX_[CHANNEL | CONF]_GetBypassInfo()

Enable

bypass

PKX_[CHANNEL | CONF]_EnableBypass ()

Switch on

type

PKX_PRODUCT_LIBRARY_AOB

PKX_PRODUCT_LIBRARY_AOH

Perform

AoB

bypass

functions

Perform

AoH

bypass

functions

PK_xxx ()

PKH_xxx ()

PKX_[CHANNEL | CONF]_DisableBypass ()

Disable

bypass

slide18

GP API

function

call

Switch

on product

type

Perform

AoH

function

Perform

AoB

function

AoH Thread Queue

AoB Thread Queue

Retrieve

event from

queue

Process

event

Inject result

event in

main queue

Retrieve

event from

queue

Process

event

Inject result

event in

main queue

Main Thread Queue

Retrieve

event from

queue

Process

event

slide19

AoH Thread

Main Thread Queue

PKX_SYSTEM_

WaitOnEvent()

Process

event

Retrieve

event from

queue

PKX_SYSTEM_

InjectEvent()

User

Application

AoB Thread

slide20

PKX_EVENT_

CHANNEL_IN_USE

PKX_EVENT_

CALL_DISCONNECTED

PKX_EVENT_

CALL_DROPPED

Idle

NULL

Detected

Call detected

(CAS, Trunk)

PKX_CALL_Release()

PKX_EVENT_

CHANNEL_READY

PKX_EVENT_

CHANNEL_READY

Call detected

(SIP, ISDN)

Dialing

information

received

Low level or protocol

resources released

PKX_CALL_Reject()

PKX_EVENT_GROUP_

INCOMING_CALL

PKX_CALL_Drop()

Remote disconnect

indication

Disconnected

Alerting

Offered

PKX_EVENT_

CALL_ACCEPTED

PKX_CALL_Accept

PKX_EVENT_

CHANNEL_IN_USE

PKX_CALL_Drop()

Remote disconnect indication

PKX_CALL_Answer()

Connected

PKX_CALL_Answer()

PKX_EVENT_

CALL_ANSWERED

slide21

PKX_EVENT_

CALL_DISCONNECTED

PKX_EVENT_

CALL_DROPPED

NULL

Idle

PKX_CALL_Release()

PKX_EVENT_

CHANNEL_READY

PKX_CALL_Make()

on a channel in use

PKX_CALL_Make()

Low level or protocol

resources released

Remote reject

Dialing

Disconnected

PKX_EVENT_

CHANNEL_IN_USE

PKX_CALL_Drop()

Remote disconnect

indication

PKX_CALL_Drop()

Remote disconnect indication

PKX_CALL_Drop()

Remote disconnect

indication

Alerting

Connected

PKX_EVENT_

CALL_CONNECTED

PKX_EVENT_

CALL_ALERTING

Remote answered

indication

slide22

PKX_EVENT_CHANNEL_DOWN

PKX_EVENT_CHANNEL_READY

PKX_EVENT_CHANNEL_IN_USE

PKX_CALL_Make()

PKX_EVENT_GROUP_

INCOMING_CALL

Low level detection

of a channel returning to service

Ready

In use

Down

PKX_CALL_Reject()

PKX_CALL_Drop()

Remote disconnect

indication

Low level detection

of a channel going

out of service

slide23

User Application GUI Processing Thread

User Application Event Processing Thread

GrandPrix API

GrandPrix API

GP Main

GP Main

AoB API

AoH API

GP Timer Thread

Product

Interface

AoH

Product

Thread

AoB

Product

Thread

slide24

pika.com

Registrar Server

[email protected]

?

Register

[email protected]

(5.6.7.8)

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

[email protected]

(5.6.7.8)

(5.6.7.8)

(5.6.7.8)

(5.6.7.8)

(5.6.7.8)

[email protected]

(1.2.3.4)

2

4

5

1

PKX_EVENT_GROUP_

INCOMING_CALL

6

8

GrandPrix

SIP Local

User Agent

pika.com

Proxy Server

3

7

slide25

Add

Buffer

(Last buffer

flag set)

Scenario 3

Scenario 2

Scenario 1

PlayFile

Play

Play

PKX_ERROR_CHANNEL_AUDIO_DATA_NOT_AVAILABLE

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

Add

Buffer

(Last buffer

flag set)

Add

Buffer

(Last buffer

flag set)

Add

Buffer

(Last buffer

flag set)

Scenario 5

Scenario 4

Add

Buffer

Add

Buffer

Stop

Play

Play

Add

Buffer

Add

Buffer

Add

Buffer

Add

Buffer

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_STOPPED_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

slide26

Add

Buffer

(Last buffer

flag set)

Scenario 7

Add

Buffer

Play

Add

Buffer

Add

Buffer

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

Add

Buffer

(Last buffer

flag set)

Add

Buffer

(Last buffer

flag set)

Scenario 6

Add

Buffer

Termination

condition

met

Play

Add

Buffer

Add

Buffer

PKX_EVENT_CHANNEL_TERM_xxx

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

slide27

Add

Buffer

(Last buffer

flag set)

Add

Buffer

Play

Add

Buffer

Add

Buffer

PKX_EVENT_CHANNEL_DONE_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_UNDERFLOW_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

PKX_EVENT_CHANNEL_DATAREADY_PLAY

Scenario 8

slide28

Scenario 1

Scenario 2

RecordFile

Record

RecordGetData

Termination

condition

met

RecordGetData

RecordGetData

RecordGetData

PKX_EVENT_CHANNEL_STOPPED_RECORD

PKX_EVENT_CHANNEL_TERM_xxx

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

Scenario 3

Record

Stop

RecordGetData

PKX_EVENT_CHANNEL_STOPPED_RECORD

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_RECORD_OVERFLOW

PKX_EVENT_CHANNEL_DATAREADY _RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

PKX_EVENT_CHANNEL_DATAREADY_RECORD

PKX_EVENT_CHANNEL_DATAREADY_ RECORD

slide29

DTMF 1

DTMF 9

DTMF 2

DTMF 3

DTMF 6

DTMF 4

DTMF 8

DTMF 5

DTMF 7

3

4

4

3

4

3

3

4

6

6

3

8

8

7

7

1

2

1

2

1

2

1

1

2

5

1

2

5

2

5

1

6

5

5

9

6

5

6

PKX_EVENT_CHANNEL_DTMF

7

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

PKX_EVENT_CHANNEL_DTMF

CollectDigits

maxDigits = 5

GetDigits

(numDigits = 4)

CollectDigits

maxDigits = 3

CollectDigits

maxDigits = 3

Stop

PKX_EVENT_CHANNEL_TERM_MAX_DIGITS

PKX_EVENT_CHANNEL_TERM_MAX_DIGITS

PKX_EVENT_CHANNEL_STOPPED_COLLECT_DIGITS

Internal

Digit

Buffer

7

slide30

PKX_CHANNEL_EnableSpeechDetection

PKX_CHANNEL_DisableSpeechDetection

Speech

Speech

Speech

Speech

PKX_EVENT_CHANNEL_SPEECH_ON

PKX_EVENT_CHANNEL_SPEECH_OFF

PKX_EVENT_CHANNEL_SPEECH_ON

slide31

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CHANNEL_READY

PKX_EVENT_GROUP_INCOMING _CALL

PKX_EVENT_CALL_DISCONNECTED

PKX_EVENT_CALL_ACCEPTED

PKX_EVENT_CALL_HELD

PKX_EVENT_CALL_ANSWERED

PKX_EVENT_CALL_CONNECTED

PKX_EVENT_CALL_ALERTING

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_DIALING

Legend

First call function

First call event

Second call function

Second call event

User

Application

GrandPrix

PSTN

Ring Notification

Initial Call

(Incoming)

FSK Information

PKX_CALL_Accept()

Optional

PKX_CALL_Answer()

Offhook

PKX_CALL_Transfer()

Supervised

Call

Transfer

First call

now on

hold

Hookflash

Stutter Dialtone

Digits

Ring notification

Connected

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

Transfer

Completion

PKX_CALL_Drop(TRANSFER)

Onhook

First and second

call now joined

on the switch

PKX_EVENT_CHANNEL_READY

PKX_CALL_Release()

PKX_CALL_Release()

slide32

User

Application

Ring Notification

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_DISCONNECTED

PKX_EVENT_CALL_HELD

PKX_EVENT_CALL_ALERTING

PKX_EVENT_CALL_CONNECTED

PKX_EVENT_CHANNEL_READY

PKX_CALL_Make()

Offhook

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_DIALING

PKX_EVENT_CALL_ALERTING

Digits

Digits

Legend

First call function

First call event

Second call function

Second call event

GrandPrix

PSTN

Initial Call

(Outgoing)

Dialtone

PKX_CALL_Transfer()

Blind

Call

Transfer

First call

now on

hold

Hookflash

Stutter Dialtone

Ring notification

Transfer

Completion

PKX_CALL_Drop(TRANSFER)

Onhook

First and second

call now joined

on the switch

PKX_EVENT_CHANNEL_READY

PKX_CALL_Release()

PKX_CALL_Release()

slide33

PKX_EVENT_CHANNEL_READY

PKX_EVENT_CALL_HELD

PKX_EVENT_CALL_RESUMED

PKX_EVENT_CALL_CONNECTED

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_DIALING

PKX_EVENT_CALL_DROPPED

PKX_EVENT_CALL_ALERTING

PKX_CALL_Release()

Legend

First call function

First call event

Second call function

Second call event

User

Application

GrandPrix

PSTN

First call already established

PKX_CALL_Transfer()

Call

Transfer

First call

now on

hold

Hookflash

Stutter Dialtone

Digits

Ring notification

Connected

Fax tone

PKX_EVENT_CALL_ANALYSIS_DETECTED_MODEM_FAX

Manual

Resume

PKX_CALL_Drop(NORMAL)

Hookflash

First call

now resumed

slide34

PKX_EVENT_CHANNEL_READY

PKX_EVENT_CALL_HELD

PKX_EVENT_CALL_RESUMED

Busytone

PKX_EVENT_CHANNEL_IN_USE

PKX_EVENT_CALL_DIALING

PKX_EVENT_CALL_DISCONNECTED

Hookflash

PKX_CALL_Release()

Legend

First call function

First call event

Second call function

Second call event

User

Application

GrandPrix

PSTN

First call already established

PKX_CALL_Transfer()

Call

Transfer

First call

now on

hold

Hookflash

Stutter Dialtone

Digits

Automatic

Resume

First call

now resumed

slide35

1

2

3

4

Remote Switch

User

Application

First call established

Remote Switch

User

Application

First call held

Remote Switch

User

Application

Second call established

Remote Switch

User

Application

Call transferred

ad