90 likes | 252 Views
PIKA Technologies Inc. HMP Conference Application Sample May 2010. What is it?. Sample Application developed in C++ Demonstrates Basic Conferencing features using Grand Prix Works on HMP 2.8+ platforms (Windows, Linux). Getting Started.
E N D
PIKA Technologies Inc.HMP Conference Application Sample May 2010
What is it? Sample Application developed in C++ Demonstrates Basic Conferencing features using Grand Prix Works on HMP 2.8+ platforms (Windows, Linux)
Getting Started • Install the PIKA Low Level HMP API on a PC ( 2.8.x or newer ) as described in the Getting Started Guide • Install the board in the PC • Run GP config • Download, Compile, and run the HMP Conference application
Sample Code - Highlights Uses GrandPrix functions Conferences can be added dynamically Prompts the caller with conference number and pin number Entry/Exit prompts or tones DTMF detection during conferencing muting example
Application thread Diagram PKX_SYSTEM_XXX PK_CONF_Initialize PIKA Driver Conf App API Main Application PKX_GROUP_XXX PK_CONF_CreateConference PKX_CHANNEL_XXX PK_CONF_Start PKX_CONF_XXX PK_CONF_Stop PK_CONF_Cleanup PKX_CALL_XXX PK_CONF_MuteMemers PK_CONF_UnmuteMemers Spawn Thread PKX_System_WaitOnEvent Conf App Event Thread
Class Hierarchy and containment LogClient Logger (singleton) BaseEntity AudioFiles System 1 1 Group n Channel n Call n Conference n
API Conference Call Scenario • Main Application thread • PK_CONF_Initialize(tApplicationConfiguration config) // Initialize system • PK_CONF_Start() // Start the system • PK_CONF_CreateConference //Create a conference • A Call is triggered from the CO • App Conf Event Thread • PKX_SYSTEM_WaitOnEvent is triggered and BaseEntity::HandleQueueEvents determines a new call member needs to be created and handled • Call::handleIncomingCall • Call::answerCall -> Channel::handleConferenceCall->playRequestForConfNumber • This will prompt the caller for the Conference member. • The state machine Channel::m_channelConfState is used to track the different states to validate the call • Play Conference Prompt • Gather conference digits • Play PIN Prompt • Gather PIN digits • Play Name Prompt • Record Name • Play Entry Tone or Greeting • Once in the conference, the caller can press the digit “5” to toggle between mute/unmute. • After the second participant enters the conference will start being recorded. • Once the conference reaches 1 member, the recording will stop.
API Conference Call Scenario (...) • Main Application thread • PKZ_CONF_MuteMembers // Mute all members in a particular conference • PKZ_CONF_UnmuteMembers // Unmute all members in a particular conference • PKZ_CONF_Stop() // Stop the system • PKZ_CONF_Cleanup // Cleanup the system
Where can I find it? • The Source code is located under: • http://svn.pikatech.com/customercare/trunk/samples/HmpConf/ • Some additional info: • ./docs/README.rtf