Download presentation
Presentation is loading. Please wait.
Published byElisabeth Cummings Modified over 8 years ago
1
H.323, IP Multicast Conferencing, And TAPI 3.0 Don Ryan Development Lead Windows Networking And Communications Microsoft Corporation
2
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 2 Agenda TAPI 3.0 key features TAPI 3.0 key features TAPI 3.0 architecture TAPI 3.0 architecture H.323 TSP H.323 TSP IP multicast conferencing TSP IP multicast conferencing TSP Rendezvous control Rendezvous control Call to action Call to action
3
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 3 TAPI 3.0 Key Features Unified call control and media streaming for PSTN and IP Unified call control and media streaming for PSTN and IP Integration with Windows NT ® Active Directory Integration with Windows NT ® Active Directory Object-oriented, language-neutral COM API Object-oriented, language-neutral COM API Enables scalable telephony server applications Enables scalable telephony server applications WDM streaming architecture Integrated with DirectShow ™ for clients Essential component of networking infrastructure Essential component of networking infrastructure
4
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 4 TCP/IP Modem IP-MCMSPH.323MSPUnimodemMSP Voice Card TSP Winsock 2.0 ATM/ISDN NIC Codec Audio TAPI 2.0 (C-API) TAPI 3.0 (COM API) TAPI server Call control Media control Directory control NT DS DirectX streaming filter graph Unimodem Modem driver NDIS 5 Miniport Call control LDAP H.323 IP multicast Terminal control RTP TAPI 3.0 Architecture
5
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 5 What Is The H.323 TSP? TAPI Service Provider which enables TAPI 3.0 applications to communicate with H.323 compliant software TAPI Service Provider which enables TAPI 3.0 applications to communicate with H.323 compliant software Maps Q.931 call control to enhanced TAPI Service Provider Interface (TSPI) Maps H.245 multimedia control to new Media Service Provider Interface (MSPI) Stores and retrieves user addresses from Windows NT directory
6
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 6 H.323 TSP Key Features Each IP address considered line Each IP address considered line Media modes default to G.711 and H.261 Media modes default to G.711 and H.261 Media streaming done via DirectShow Media streaming done via DirectShow Multiple address formats supported Multiple address formats supported User name Machine name IP address
7
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 7 H.323 Architecture Audio I/O equipment H.323 TSP Audio codec G.711, G.723, G.729 RTP/RTCP Local area network interface Gatekeeper control (RAS) Video codec H.261, H.263 Call control (Q.931) Multimedia control (H.245) Video I/O equipment H.323 MSP
8
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 8 H.323 Call Setup (Using Windows NT directory) Windows NT DS Endpoint 1 endpoint 2 7 3 4 1 H.245 control channel messages Call signalling channel messages LDAP messages 1 - LDAP add 2 - LDAP add response 3 - LDAP search 4 - LDAP search response 5 - Q.931 Setup 6 - Q.931 Connect 7 - H.245 Control Channel 2 6 5
9
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 9 H.323 Call Setup Notes (1 of 2) Call changes to connected state after H.245 logical channels negotiated Call changes to connected state after H.245 logical channels negotiated TAPI then calls TSPI_lineGetID with device class “MediaProviderInfo” so TSP can pass command block to MSP TAPI then calls TSPI_lineGetID with device class “MediaProviderInfo” so TSP can pass command block to MSP H.323 MSP interprets command block and constructs DirectShow filter graph H.323 MSP interprets command block and constructs DirectShow filter graph
10
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 10 H.323 Call Setup Notes (2 of 2) H.323 MSP invokes callback which passes status block back to TSP via TSPI_providerMSPData entry point H.323 MSP invokes callback which passes status block back to TSP via TSPI_providerMSPData entry point TAPI automatically shuts down media stream when call changes to idle state via CloseMediaStream entry point TAPI automatically shuts down media stream when call changes to idle state via CloseMediaStream entry point TSP signals TAPI of logical channel modifications that occur after call is connected via LINE_MEDIAMODE TSP signals TAPI of logical channel modifications that occur after call is connected via LINE_MEDIAMODE
11
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 11 H.323 TSP Details TSPI_lineMakeCall LDAP search LDAP add Q.931 setup Offering TSPI_lineAnswer TSPI_lineOpen Q.931 connect H.245 control messages ConnectedConnected Endpoint 1 (TAPI) (H.323 TSP) Endpoint 2 (H.323 TSP) Endpoint 2 (TAPI) Windows NT DS
12
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 12 H.323 MSP Details TSPI_lineGetID UpdateMediaStream RTP/RTCP CreateMediaStream Endpoint 1 (H.323 MSP) Endpoint 1 (TAPI) (H.323 TSP) Endpoint 2 LINE_MEDIAMODE TSPI_lineGetID UpdateMediaStream TSPI_providerMSPData MSP Callback DirectShow filter graph started
13
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 13 Using H.323 TSP Create and initialize TAPI object Create and initialize TAPI object Enumerate addresses via TAPI object Enumerate addresses via TAPI object Enumerate supported address types and save address objects which support user names Enumerate supported address types and save address objects which support user names Create call object via address Create call object via address Create terminals and pass to call object Create terminals and pass to call object Connect call with user as destination Connect call with user as destination
14
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 14 Example Filtering address objects // retrieve address type enumerator from address object pAddress->_EnumerateAddressType(&pEnumAddressTypes ); // retrieve next address type from enumerator object while (pEnumAddressTypes->Next(1, &dwType, NULL) == S_OK) { // is the type we are looking for? // is the type we are looking for? if (dwType == T3_ADDRESSTYPE_EMAILNAME) if (dwType == T3_ADDRESSTYPE_EMAILNAME){ // save address object }} // release enumerator object pEnumAddressTypes->Release();
15
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 15 Example Making a call // create call using user name as destination pAddress->CreateCall(bstrUserName,&pCall); // set up the media terminals pCall->SelectMediaTerminals(varMTArray); // connect call pCall->Connect(TRUE); // call is now in connected state // disconnect call and release object pCall->Disconnect(DisconnectCode);pCall->Release();
16
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 16 What Is The IP-MC TSP? TAPI Service Provider which enables TAPI 3.0 applications to participate in SDP-based IP multicast conferences TAPI Service Provider which enables TAPI 3.0 applications to participate in SDP-based IP multicast conferences Maps minimalistic call control to TSPI Maps SDP session descriptions to MSPI Retrieves conferences from Windows NT directory IP-MC TSP will be enhanced to support Session Initiation Protocol (SIP) IP-MC TSP will be enhanced to support Session Initiation Protocol (SIP)
17
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 17 IP-MC TSP Key Features Each IP address considered line Each IP address considered line Address format is conference name Address format is conference name Media streaming done via DirectShow Media streaming done via DirectShow Multiple media formats supported Multiple media formats supported G.711, H.261, H.263 Enables efficient group communication Enables efficient group communication Data hits network only once Adding more users does not increase bandwidth consumption
18
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 18 What Is SDP? Session Description Protocol used to describe multicast sessions Session Description Protocol used to describe multicast sessions Title Originator Description Time and date Media formats available Text-based and stored in Windows NT directory via rendezvous control Text-based and stored in Windows NT directory via rendezvous control
19
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 19 IP-MC TSP Notes Conferences stored in Windows NT directory in text-based SDP format Conferences stored in Windows NT directory in text-based SDP format TSP resolves conference names into SDP information which it then parses for media stream information TSP resolves conference names into SDP information which it then parses for media stream information TSP changes to connected state upon successful parsing of SDP TSP changes to connected state upon successful parsing of SDP MSP constructs DirectShow filter graph using same method described above MSP constructs DirectShow filter graph using same method described above
20
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 20 Endpoint 1 Endpoint 2 Windows NT DS Endpoint N... Endpoint 1 Endpoint 2 Windows NT DS Endpoint N... Joining Conference LDAP search Endpoint 1 Endpoint 2 Windows NT DS Endpoint N... LDAP Add IP multicast
21
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 21 Using IP-MC TSP Create and initialize TAPI object Create and initialize TAPI object Enumerate addresses via TAPI object Enumerate addresses via TAPI object Enumerate supported address types and save address objects which support conference names Enumerate supported address types and save address objects which support conference names Create call object via address Create call object via address Create terminals and pass to call object Create terminals and pass to call object Connect call with conference name as destination Connect call with conference name as destination
22
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 22 Example Joining a conference // create call using conference as destination pAddress->CreateCall(bstrConferenceName,&pCall); // set up the media terminals pCall->SelectMediaTerminals(varMTArray); // connect call pCall->Connect(TRUE); // call is now in connected state // disconnect call and release object pCall->Disconnect(DisconnectCode);pCall->Release();
23
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 23 What Is Rendezvous Control? COM object used to add, delete, and enumerate IP multicast conferences COM object used to add, delete, and enumerate IP multicast conferences
24
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 24 Example Initializing rendezvous control #include #include // query for conference directory interface HRESULT hr = ::CoCreateInstance( CLSID_ConferenceDirectory, NULL, NULL, CLSCTX_INPROC_SERVER, CLSCTX_INPROC_SERVER, IID_ITConferenceDirectory, IID_ITConferenceDirectory, (void **)&pITDir (void **)&pITDir ); ); // initialize conference directory // initialize conference directory hr = pITDir->Init(bstrServerName, bstrDirPath);
25
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 25 Example Creating conference // allocate bstr representation of conference name bstrConfName = ::SysAllocString(“My Conference”); // create conference on specified server and retrieve object hr = pITDir->CreateConference(bstrConfName, &pITConf ); // // use conference object to override default conference // parameters stored in registry // // release object // release object pITConf->Release(); pITConf->Release();
26
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 26 Example Enumerating conferences // retrieve conference enumerator from rendezvous control hr = pITDir->get__NewEnum( (IUnknown **) &pIEnumConf ); // retrieve next conference from the server while (pIEnumConf->Next(1, &varITConf, &cConferencesGet) == S_OK) { // cast variant into dispatch pointer pITConference = (ITConference *) V_DISPATCH(&varITConf); // manipulate conference object // release conference object pITConference->Release();} // release enumerator pIEnumConf->Release();
27
H.323, IP Multicast Conferencing, and TAPI 3.0 Slide 27 Call To Action Write telephony applications to the TAPI 3.0 interfaces Write telephony applications to the TAPI 3.0 interfaces Combine traditional and Internet telephony Rich and flexible media control Accessible from Visual Basic ® and Java ™ Continue writing TAPI Service Providers Continue writing TAPI Service Providers Write codecs and payload handlers for the TAPI 3.0 distributed media model Write codecs and payload handlers for the TAPI 3.0 distributed media model
28
™ http://www.microsoft.com/msdn/pdc
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.