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
Conf App API Application thread Diagram Main Application Conf App Event Thread PIKA Driver Spawn Thread PKX_SYSTEM_XXX PKX_GROUP_XXX PKX_CHANNEL_XXX PK_CONF_Initialize PK_CONF_Start PK_CONF_Stop PK_CONF_Cleanup PKX_System _WaitOnEvent PK_CONF_CreateConference PK_CONF_MuteMemers PK_CONF_UnmuteMemers PKX_CONF_XXX PKX_CALL_XXX
Group Class Hierarchy and containment Call Conference BaseEntity LogClient Logger (singleton) n n System 1 n Channel n AudioFiles 1
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: Some additional info:./docs/README.rtf