Application of Windows Real-Time Communication Technology: Tom Fout Translation: Meng
Original source: MSDN Library January 15, 2002
Abstract The client API of Windows XP RTC enables developers to implement real-time communication in their own applications. This article describes the components necessary for RTC technology and application technology.
Directory Readers have an RTC feature application RTC program application, RTC client application interface RTC object profile and setup client event RTC interface more information
Introduction Today, we can take many ways to communicate with our partners, customers, supporters, families and friends. E-mail has become a general in-depth communication, but its real-time is not strong. Telephone proves to be a good communication method and have real-time, but it also has limitations, such as only sound communication, and it lacks a mechanism to make us know if we exchange the other party is ready to answer our phone. . Entering Real-Time Communications (RTC) provides a rich communication and collaborative features combined with live information so that you can know where to find your contact. Many of RTCs are embodied in additional forms or in other applications, but these features have never been combined into a separate implementation. For example, Instant Messaging (IM) instant messages are one of the fastest developments of Internet communication mechanisms because it achieves simple and efficient. IM has real-time, and has on-site ability, so that you can find your contacts. However, it does not have some other features, such as audio and video conferencing, and online cooperation. Microsoft Windows XP contains all real-time communication features in Microsoft Windows Messenger. Windows Messenger allows you to communicate with your customers and colleagues by using your customers and colleagues (voice calls can be established between PCs to PC, PC to calls, telephone calls), video, shared whiteboards, and applications. You can create a contact list, you can know when your contacts can be contacted through the on-site information. Also, these capabilities are not limited to Windows Messenger, which can be used to enrich other applications by using the RTC client API. Applications with RTC Functions Windows Messenger client utilizes Windows XP RTC client components. This client embodies all RTC capabilities in a separate application. However, in many cases, there is a need for auxiliary procedures to communicate. RTC is based on Internet technology and protocol standards, which allows other devices and applications to communicate with Windows Messenger using this technology. The Windows XP RTC client implementation also provides an open application interface, so the Windows platform-based application can increase these RTC functions. For example, a web-based purchase program can include an instant help buttons. After clicking this button, the application opens an IM session established between the customer and technical support staff. The application of the RTC program Windows Messenger contains many of the functions of RTC in a separate application. This solution has many uses and may be the best solution in many occasions. In many cases, it contains these features in your application to make things easier, more perfect, and better. Here are some examples of using the RTC function to enter the application. There are still many other examples of this technology. Customer Relationship Management - Desktop Remote Help Jim wants to buy a book through online bookstore, but his credit card seems to be a bit problem. By clicking a button on the web page, he immediately established an IM session with the sales representative of Amazon (the name of the bookstore). Share shared by IM and application, the sales representative discovered and solved the problem. This book is also ordered. If there is no such real-time help, JIM is likely to give up this purchase, and this business is lost. Knowledge Management - Team and project communication site product R & D team sites have several responsible ribilities (for example, clients and server teams). By navigate to the relevant responsible area, users can find a panel that lists all team members and their presentation or not. You can communicate with the member of the team by clicking on the contact information of the relevant member.
This instant attendance has reduced potential E-mail and the number of phones, and it also reduced the failure. E-commerce - Partner / supplier communication A large manufacturer has a lot of suppliers, which are connected to different external networks. The order is not used to discuss the order, and they can develop an application using the RTC client API to communicate specific information with this program. For example, manufacturers can send a 1000 component order using IM and use IM to confirm that the order has passed to the supplier party and enters the supplier's system. During the process of the order, status information can be automatically acquired as needed. System Warning - Send to a user desktop PC or mobile device a company has developed an E-mail server. In order to make technical support phone can be reduced, they have developed a small application that can notify all users of a particular e-mail server (using IM) The server will be paused for routine maintenance. Even if the E-mail server is already not online, the user can also receive the message so that the technical support personnel are quiet. Most multiplayer games include the mechanisms of opponents and companion chats. But can you imagine how you see his face when you want to end your friends? Other features of RTC in the application are still available in many other potential uses. Instant communication and collaboration can be realized by integrating RTC into existing commercial software, which will increase productivity. Many industry and departments, including finance, manufacturing, healthcare, and human resources, etc. The RTC client application interface is to open the RTC via the RTC client API to get the same RTC client functionality implemented in Windows Messenger. These APIs enable the application to create a call from PC-PC, PC-Phone or Phone-Phone. The application can add the function of creating an IM session on the Internet or intranet. Between PC users, voice and video calls can be created. Applications can get and display on-site information of a series of contacts. By increasing the functions of applications and whiteboards, they can strengthen cooperation between both parties. Who can use these interfaces? The internal development group can use these API to increase the functionality of the internal tool. Software companies can use RTC API to integrate RTC functions into their own applications, or establish specialized software for sale, or to meet customer needs. Telephone service providers can establish an app for residential or company users. Telecom users who want to sell RTC services can create client applications for their customers by using these APIs. Applications can be created using C and Microsoft Visual Basic. The basic encoding model of the RTC object RTC is COM. Objects used for communication in RTC are client, session objects, and Participant objects. Figure 1 RTC client COM object
Client object: Client object implements an IRTCCLIENT interface, and the type and parameters allowed for sessions, such as preferred devices, media types, and bit rates, and other media properties, such as volume and echo cancellation. This interface is also used to create a session object. SESSION object: The session object is created by IRTCCLIENT :: CreateSession method, which is used to manage a session. This object implements an IRTCSession interface, which is used to initialize, reply, or terminate a meeting, add participants and other conference management. This object supports IM and other session types. Session objects can be used, for example, create an IM meeting with your friends, or starting a audio call represented with a Web site. Participant object: Participant object is created by the IRTCSession :: AddPArticipant method, which contains all methods related to meeting participants. It includes participants' names and current status. The IRTCPArticipant interface is implemented by this object. The information is managed by Buddy and Watcher objects. These objects provide interfaces for managing information related to contacts and attendes members.
Buddy object: The Buddy object is used to manage, set up, and get information related to the contact. When a contact is added via the IRTCCLIENTPRESENCE :: AddBuddy method (IRTCCLIentPresence is implemented by the Client object), the Buddy object is created. Information such as contact names and status can be obtained by an IRTCBUDDY interface. Watcher object: Watcher is used to get the status (Watcher) information related to a certainist, the guard is adding you to someone who contacts the contact. This object can also be added via the IRTCCLIENTPRESENCE interface using the AddWatcher method. Watcher's status and its information is obtained using the method implemented in the IRTCWATCHER interface.
Profiles and settings profile objects are used to maintain the settings of the client. A profile object includes a client's display, user name, supported meeting type, and information about the client RTC provider. By this information, network resources can be obtained, and can be used to set up calls or process information. The profile object is created by the IRTCCLIentProvisioning interface (implemented in the Client object). The client creates a configuration file to store information for customers to enter the network. A client application must create an XML document to save the client's configuration. The configuration file can be used to set different service types from different providers, proxy servers, or gateways to clients. After initializing the RTC, the client application creates and activates a configuration file. Client event RTC client API allows applications to be notified through different client events, including message events, session status changes, participant changes, attend state changes, variations, and network quality changes. In the specific implementation, the application establishes an event filter (in shielded code form) through the IRTCCLIEN interface, and register an IRTCEventNotification event interface in the application event reception object. When the event of interest occurs, the event type and object will be processed to the client's EVENT method. The RTC interface discusses several interfaces implemented by the RTC object. Use these interfaces to add desired RTC functions into an application. These RTC interfaces and their related methods have a detailed documentation in the SDK. More information