VoIP Manager Initialization (Windows CE 5.0)

Send Feedback

The process the TUI uses to initialize the VoIP manager is a good example of the process that any application can use to initialize the VoIP manager.

Windows CE 5.0 includes the source code for the VAIL and for the TUI, so you can see how to initialize the VoIP manager by examining the TUI and VAIL code executed when the TUI initializes the VoIP manager.

A TUI-based IP phone is functional for peer-to-peer calls (calls where signaling information goes to another IP phone without an intermediary, such as a SIP server). For more information about initializing the VoIP manager so the phone can make calls using a SIP server, see VoIP Manager SIP Server Registration.

The TUI application entry point is the WinMain function in the Main.cpp file in %_WINCEROOT%\Public\VoIP\OAK\Phone\TUI. This function ultimately drives the creation of the VoIP manager.

The following list explains how the TUI initializes the VoIP manager.

  1. WinMain does a variety of initialization tasks, creates the CVoIPApp instance, and calls CVoIPApp::Run.

    The CVoIPApp::Run method is implemented in the VoIPApp.cpp file in %_WINCEROOT%\Public\VoIP\OAK\Phone\TUI.

  2. CVoIPApp::Run calls the internal TUI InitializeComponents function, which ultimately calls CVoIPApp::InitializeVoIPMgr.

  3. The TUI CVoIPApp::InitializeVoIPMgr method completes these steps:

    1. Creates the VoIP manager object using the ATL CoCreateInstance helper method.
    2. Retrieves an IVoIPMgr2 interface using IUnknown::QueryInterface.
    3. Calls IVoIPMgr2::InitializeEx, passing a reference to the CVoIPApp object, which itself implements IVoIPUI.
  4. IVoIPMgr2::InitializeEx is implemented in the VoIPMgr_InitRegister.cpp file in %_WINCEROOT%\Public\VoIP\OAK\Phone\VAIL\VoIPManager\Core.

    At a high level, this function:

    1. Initializes the media manager object used for media transport.

      For more information about the media manager, see VoIP Media Manager.

    2. Creates an instance of an RTC client object, which the VAIL uses for call control.

      This object implements IRTCClient. You can change the VAIL to use a different call control stack than the SIP stack provided by the RTC Client catalog item.

    3. Creates a call list to manage currently active calls.

    4. Sets up the TUI to receive RTC events.

For more information about TUI startup, see TUI Startup and Initialization.

To place calls using a SIP server, the VoIP manager must register with a SIP server. For more information about this step, see VoIP Manager SIP Server Registration.

See Also

VoIP Manager Setup

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.