Presentation is loading. Please wait.

Presentation is loading. Please wait.

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.

Similar presentations


Presentation on theme: "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."— Presentation transcript:

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 Channel Record Play Virtual Channel Play Record

3 Which tone? Store the detected SIT. Detected SITs? Detected SITs Compare sequence of detected SITs with defined SIT messages. SIT message detected? Report detected SIT 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)

4 lengthON = measured speechON segment length lengthOFF= measured speechOFF segment length increment numberOfWords Live Person Answering Machine Answering Machine lengthON > livePersonMaxTime lengthOFF > speechEndTime numberOfWords > livePersonWords Yes No Yes

5 System Media Processing Group Channel Signaling Conference Call Call Progress and Analysis

6 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

7 System Call Group Conference Channel Connection N 1 N 1 20/1 N Media Processing N N 0/1

8 Disabled Open CloseStop Start EnabledRunning Call events can occur at any time Group and channel handles can be retrieved

9 pikagp.cfg 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 product

10 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

11 [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

12 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

13 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

14 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

15 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

16 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

17 Enable bypass Switch on type Disable bypass Perform AoB bypass functions Get bypass resource information PKX_[CHANNEL | CONF]_GetBypassInfo() PKX_[CHANNEL | CONF]_EnableBypass () PKX_PRODUCT_LIBRARY_AOB Perform AoH bypass functions PKX_[CHANNEL | CONF]_DisableBypass () PKX_PRODUCT_LIBRARY_AOH PK_xxx () PKH_xxx ()

18 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

19 AoB Thread AoH Thread Main Thread Queue Retrieve event from queue Process event User Application PKX_SYSTEM_ InjectEvent() PKX_SYSTEM_ WaitOnEvent()

20 Disconnected Idle Connected PKX_EVENT_ CALL_ANSWERED PKX_EVENT_ CHANNEL_READY PKX_EVENT_ CALL_DROPPED PKX_CALL_Drop() Remote disconnect indication Low level or protocol resources released NULL Alerting PKX_EVENT_ CHANNEL_READY PKX_CALL_Drop() Remote disconnect indication Detected Offered Dialing information received 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_EVENT_ CALL_ACCEPTED PKX_EVENT_GROUP_ INCOMING_CALL PKX_EVENT_ CHANNEL_IN_USE

21 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() on a channel in use PKX_CALL_Release() PKX_CALL_Drop() Remote disconnect indication PKX_CALL_Drop() Remote disconnect indication PKX_CALL_Drop() Remote disconnect indication Remote reject Low level or protocol resources released Remote answered indication Initiating Addressing information being sent

22 Down ReadyIn use PKX_CALL_Reject() PKX_CALL_Drop() Remote disconnect indication PKX_EVENT_CHANNEL_DOWN PKX_EVENT_CHANNEL_READY Low level detection of a channel going out of service Low level detection of a channel returning to service PKX_CALL_Make() PKX_EVENT_GROUP_ INCOMING_CALL PKX_EVENT_CHANNEL_IN_USE

23 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

24 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

25 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

26 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

27 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

28 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

29 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_STOPPED_COLLECT_DIGITS 111111155 22222266 7 5 6 PKX_EVENT_CHANNEL_TERM_MAX_DIGITS 5559 CollectDigits maxDigits = 5 CollectDigits maxDigits = 3 PKX_EVENT_CHANNEL_TERM_MAX_DIGITS

30 Speech PKX_EVENT_CHANNEL_SPEECH_ON PKX_EVENT_CHANNEL_SPEECH_OFF PKX_EVENT_CHANNEL_SPEECH_ON PKX_CHANNEL_EnableSpeechDetection PKX_CHANNEL_DisableSpeechDetection

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, 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() 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(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() 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


Download ppt "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."

Similar presentations


Ads by Google