Download presentation
Presentation is loading. Please wait.
Published byJonas Sparks Modified over 8 years ago
1
User Application AoH APIAoB APIGP API RequestsData & Events Daytona MM PCI Inline MM PCI PrimeNet MM PCI cPCI PrimeNet MM Digital Gateway Low Level API Calls IP NIC
2
System Media Processing Group Channel Signaling Conference Call Call Progress and Analysis
3
System Group Media Processing Configuration Files PKX_SYSTEM_Open Group Definitions PKX_ SYSTEM_GetConfig PKX_ GROUP_GetHandle Conference Channel PKX_ CHANNEL_GetHandle Call Connection PKX_ CHANNEL_FullDuplexConnect PKX_ CALL_GetChannel PKX_ CONF_AddMember
4
System Call Group Conference Channel Connection N 1 N 1 20/1 N Media Processing N N 1
5
Disabled Open CloseStop Start EnabledRunning Call events can occur at any time Group and channel handles can be retrieved
6
Root Configuration File Included Configuration File Included Configuration File Included Configuration File Included Configuration File AoB Configuration File AoH Configuration File
7
pikagp.cfg [product] AoB=filename AoH=filename [groups] group0=group name1 group1=group name2 [group name1] type=group type product=aob channels=type0 [group name2] type=group type product=aoh channels=AoH group name AoB Configuration file type0=AoB group name1 [group type] type1=AoB group name2 [AoB group name1] interface0=board0,port range interface1=board1,port range [AoB group name2] interface0=board1,port range interface1=board2,port range board0=board name1 [board] board1=board name2 board2=board name3 [board name3] id=board id serial=board serial number [board name2] id=board id serial=board serial number [board name1] id=board id serial=board serial number AoH Configuration file
8
pikagp.cfg [call progress analysis name] faxdetect=no modemdetect=no answeringmachinedetect=no pattern0=pattern name1 pattern1=pattern name2 pattern2=pattern name3 pattern3=pattern name4 [group name1] type=group type product=aob channels=type0 callpa=call progress analysis name [ring_pattern] ringpattern0=ring name 1 ringpattern1=ring name 2 [ring name2] states=n state0=duration state1=duration staten-1=duration [ring name1] states=m state0=duration state1=duration statem-1=duration [pattern name1] type=pattern type [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 cadences=n states=m state0=2000 statem-1=4000 [tone_generation] tone0=tone name 1 tone1=tone name 2 tone2=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 1 tone_pattern1=tone pattern 2 tone_pattern2=tone pattern 3 [tone pattern 1] repeat=r cadences=n cadence0=0 cadence1=1 cadence2=0 cadencen-1=2
9
[My group element] product=aoh type=isdn channels=isdn3 [My other group] product=aob type=sip channels=sip0 AoH Product Configuration File [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 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
10
Open the system object PKX_SYSTEM_Open Start Retrieve group names PKX_SYSTEM_GetConfig Retrieve group handle More groups? PKX_GROUP_GetHandle Retrieve group type and number of channels Yes PKX_GROUP_GetConfig No Initialize user application internal structures Start media and call processing PKX_SYSTEM_Start Wait for event System shutdown event? Timeout event? Process event PKX_SYSTEM_WaitOnEvent Yes No End YesNo
11
Initiate a call Wait for event Switch on call event type PKX_CALL_Make() Process call answered Process dialling CALL_DIALING Process alerting CALL_ALERTING Process call proceeding CALL_PROCEEDING CALL_CONNECTED
12
Wait for event Switch on Event type Accept the call GROUP_INCOMING_CALL Destination ringing, answer the original call CALL_ALERTING Call destination PKX_CALL_ Make() PKX_CALL_ Answer() PKX_CALL_ Accept() PKX_CHANNEL_ FullDuplexConnect() Original call answered, connect destination ringing to original caller CALL_ANSWERED Connect the calls PKX_CHANNEL_ HalfDuplexConnect() CALL_CONNECTED
13
Wait for event Switch on Event type GROUP_INCOMING_CALL Answer the call PKX_CALL_AnswerPKX_CHANNEL_PlayAddData PKX_CHANNEL_Play PKX_CHANNEL_CollectDigits Process incoming call CALL_ANSWERED
14
Wait for event Switch on event type Reject the call GROUP_INCOMING_CALL Release the call CALL_DISCONNECTED PKX_CALL_ReleasePKX_CALL_Reject Release the call Disconnect the call PKX_CALL_Drop CALL_DROPPED PKX_CALL_Release Add channel to list of available channels CHANNEL_READY
15
Enable bypass Switch on type Disable bypass Perform AoB bypass functions Get bypass resource information PKX_[CHANNEL | CONFERENCE]_GetBypassInfo() PKX_[CHANNEL | CONFERENCE]_EnableBypass () PKX_PRODUCT_LIBRARY_AOB Perform AoH bypass functions PKX_[CHANNEL | CONFERENCE]_DisableBypass () PKX_PRODUCT_LIBRARY_AOH PK_xxx ()PKH_xxx ()
16
Switch on product type Retrieve event from queue Perform AoB function GP API function call Perform AoH function AoB Thread Queue Process event Inject result event in main queue AoH Thread Queue Main Thread Queue Retrieve event from queue Process event Inject result event in main queue Retrieve event from queue Process event
17
AoB Thread AoH Thread Main Thread Queue Retrieve event from queue Process event User Application PKX_SYSTEM_ InjectEvent() PKX_SYSTEM_ WaitOnEvent()
18
NULL Alerting Connected Disconnected Detected Offered PKX_EVENT_CALL_ ACCEPTED PKX_CALL_Answer() PKX_EVENT_GROUP_ INCOMING_CALL PKX_EVENT_CALL_ DISCONNECTED PKX_EVENT_CALL_ DROPPED PKX_CALL_Release() PKX_EVENT_ CALL_ANSWERED PKX_CALL_Answer() PKX_CALL_Reject() Call detected (CAS, Trunks) Dialing information received PKX_EVENT_ CHANNEL_ IN_USE Idle Call detected (SIP, ISDN) PKX_CALL_Accept() PKX_EVENT_ CHANNEL_READY Low level or protocol resources released PKX_CALL_Drop() Remote disconnect PKX_CALL_Drop() Remote disconnect PKX_EVENT_ CHANNEL_READY PKX_EVENT_ CHANNEL_ IN_USE
19
NULL Alerting Connected Disconnected Remote answered indication PKX_EVENT_CALL_ DISCONNECTED PKX_EVENT_CALL_ DROPPED PKX_CALL_Release() PKX_EVENT_ CALL_CONNECTED Idle PKX_CALL_Drop() Remote disconnect indication PKX_EVENT_ CHANNEL_READY Low level or protocol resources released Dialing PKX_CALL_Make() PKX_EVENT_CALL_ ALERTING Remote reject PKX_CALL_Drop() Remote disconnect indication Remote alerting indication PKX_CALL_Drop() Remote disconnect indication PKX_EVENT_ CHANNEL_ IN_USE PKX_CALL_Make() on a channel that is in use
20
DownReadyIn use PKX_CALL_Make() PKX_EVENT_GROUP_INCOMING_CALL PKX_CALL_Reject() PKX_CALL_Drop() Remote disconnect indication PKX_EVENT_CHANNEL_DOWNPKX_EVENT_CHANNEL_READY PKX_EVENT_CHANNEL_IN_USE Low level detection of a channel going out of service Low level detection of a channel returning to service
21
GP Timer Thread Product Interface AoH Product Thread AoB Product Thread AoB APIAoH API User Application Event Processing Thread GP Main GrandPrix API User Application GUI Processing Thread GP Main GrandPrix API
22
GrandPrix SIP Local User Agent pika.com Proxy Server pika.com Registrar Server John@pika.com (5.6.7.8) Mary@yahoo.com (1.2.3.4) John@pika.com (5.6.7.8) John@pika.com (5.6.7.8) John@pika.com ? (5.6.7.8) Register John@pika.com (5.6.7.8) John@pika.com (5.6.7.8) 1 2 3 45 6 7 PKX_EVENT_GROUP_ INCOMING_CALL 8
23
Play PKX_ERROR_CHANNEL_AUDIO_DATA_NOT_AVAILABLE Play PKX_EVENT_CHANNEL_DATAREADY_PLAY PKX_EVENT_CHANNEL_DONE_PLAY Scenario 1 Add Buffer (Last buffer flag set) Scenario 2 Add Buffer Add Buffer Add Buffer Add Buffer (Last buffer flag set) Play PKX_EVENT_CHANNEL_DATAREADY_PLAY Scenario 4 Add Buffer (Last buffer flag set) PKX_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 Add Buffer Add Buffer Add Buffer Add Buffer (Last buffer flag set) Play
24
Add Buffer (Last buffer flag set) PKX_EVENT_CHANNEL_DATAREADY_PLAY PKX_EVENT_CHANNEL_TERM_xxx Termination condition met Scenario 6 Add Buffer Add Buffer Add Buffer Add Buffer (Last buffer flag set) Play Add Buffer Add Buffer Add Buffer Add Buffer (Last buffer flag set) Play PKX_EVENT_CHANNEL_DATAREADY_PLAY Scenario 7 PKX_EVENT_CHANNEL_DATAREADY_PLAY PKX_EVENT_CHANNEL_DONE_PLAY
25
Scenario 8 Add Buffer Add Buffer Add Buffer Add Buffer (Last buffer flag set) Play PKX_EVENT_CHANNEL_DATAREADY_PLAY PKX_EVENT_CHANNEL_DONE_PLAY PKX_EVENT_CHANNEL_UNDERFLOW_PLAY
26
Record PKX_EVENT_CHANNEL_DATAREADY_ RECORD Scenario 2 RecordFile Scenario 1 PKX_EVENT_CHANNEL_DATAREADY _RECORD PKX_EVENT_CHANNEL_STOPPED_RECORD PKX_EVENT_CHANNEL_TERM_xxx Termination condition met RecordGetData Stop 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
27
PKX_EVENT_CHANNEL_DTMF DTMF 1 PKX_EVENT_CHANNEL_DTMF DTMF 2 PKX_EVENT_CHANNEL_DTMF DTMF 3 PKX_EVENT_CHANNEL_DTMF DTMF 4 PKX_EVENT_CHANNEL_DTMF DTMF 5 PKX_EVENT_CHANNEL_DTMF DTMF 6 PKX_EVENT_CHANNEL_DTMF DTMF 7 PKX_EVENT_CHANNEL_DTMF DTMF 8 PKX_EVENT_CHANNEL_DTMF DTMF 9 Internal Digit Buffer 3333377 444848 66 7 CollectDigits maxDigits = 3 GetDigits (numDigits = 4) Stop PKX_EVENT_CHANNEL_STOPPEN_COLLECTDIGITS 111111155 22222266 7 5 6 PKX_EVENT_CHANNEL_TERM_MAX_DIGITS 5559 CollectDigits maxDigits = 5 CollectDigits maxDigits = 3 PKX_EVENT_CHANNEL_TERM_MAX_DIGITS
28
Call Progress Analysis Starts State Ignored First State Timing Starts Second State Timing Starts First Cadence Second Cadence Call Progress Analysis Matches Pattern Ring Patterns Call Progress Analysis User App PSTN
29
Speech PKX_EVENT_CHANNEL_SPEECH_ON PKX_EVENT_CHANNEL_SPEECH_OFF PKX_EVENT_CHANNEL_SPEECH_ON PKX_CHANNEL_EnableSpeechDetection PKX_CHANNEL_DisableSpeechDetection
30
Energy Level dB Frequency Filter Bandwidth Nominal Frequency Detector Level Threshold A B C D Tone Detected Debounce Period Tone Detected Debounce Period PKX_EVENT_CHANNEL_TONE_OFF Tone Absent Debounce Period PKX_EVENT_CHANNEL_TONE_ON
31
User Application GrandPrixPSTN Ring Notification PKX_EVENT_CHANNEL_IN_USE PKX_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_READY PKX_EVENT_CALL_HELD PKX_EVENT_CHANNEL_IN_USE Hookflash First call now on hold PKX_EVENT_CALL_DIALING Stutter Dialtone Ring notification FSK Information Digits PKX_EVENT_CALL_ALERTING Connected PKX_EVENT_CALL_CONNECTED Optional Call Analysis (fax, modem, answering machine or human) PKX_CALL_Drop(FROWARD) 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() Transfer Completion Supervised Call Transfer First call event Second call function Legend First call function Second call event
32
User Application GrandPrixPSTN 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_READY PKX_EVENT_CALL_HELD PKX_EVENT_CHANNEL_IN_USE Hookflash First call now on hold PKX_EVENT_CALL_DIALING Stutter Dialtone Ring notification Dialtone Digits PKX_EVENT_CALL_ALERTING PKX_CALL_Drop(FROWARD) 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() Transfer Completion Blind Call Transfer Digits First call event Second call function Legend First call function Second call event
33
User Application GrandPrixPSTN PKX_CALL_Transfer() PKX_EVENT_CHANNEL_READY PKX_EVENT_CALL_HELD PKX_EVENT_CHANNEL_IN_USE Hookflash First call now on hold PKX_EVENT_CALL_DIALING Stutter Dialtone Ring notification Digits PKX_EVENT_CALL_ALERTING Connected PKX_EVENT_CALL_CONNECTED PKX_CALL_Drop(NORMAL) PKX_EVENT_CALL_DROPPED PKX_EVENT_CALL_RESUMED Hookflash First call now resumed PKX_CALL_Release() Manual Resume Fax tone PKX_EVENT_CALL_ANALYSIS_ DETECTED_MODEM_FAX First call already established Call Transfer First call event Second call function Legend First call function Second call event
34
User Application GrandPrixPSTN PKX_CALL_Transfer() PKX_EVENT_CHANNEL_READY PKX_EVENT_CALL_HELD PKX_EVENT_CHANNEL_IN_USE Hookflash First call now on hold PKX_EVENT_CALL_DIALING Stutter Dialtone Busytone Digits PKX_EVENT_CALL_DISCONNECTED First call already established PKX_EVENT_CALL_RESUMED Hookflash First call now resumed PKX_CALL_Release() Automatic Resume Call Transfer First call event Second call function Legend First call function Second call event
35
User Application User Application User Application User Application First call established 1 2 3 4 Remote Switch First call held Second call established Call transferred
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.