 Now, I want to introduce the CDB group. A very good morning to one and all present here. I am Smriti. This is Anushree. This is Raki. And we are from the CDB group. Our project is interoperability between video conferencing and web conferencing. Now, first question that comes into mind is that what is web conferencing? Web conferencing is when we want to talk to a person, like we are using the browser and we are conferencing with a person. It includes, it is application-based and desktop sharing and texting is also included in web conferencing. In video conferencing, what happens is you have to have some requirements, some hardware equipment, a definite video camera, a definite room so that we can share. And both of their clients should have it. Now, we want to interoperate both of them. They both use different protocols. The web conferencing uses RTMP and the video conferencing uses SIP, that is the session initiation protocol. Now what is SIP? SIP is designed to provide signaling and session management. And it performs basically five tasks. It is user location, availability, capability, setup and management. The basic five functions have been described, like first of all the user client will have to register on the SIP client. Then an invite will be called. After the invite, it would be acknowledged by the server. Then if he wants to cancel the call before it has been fixed, we can cancel it. Options are also provided and by means that the session will be declined. RTMP. RTMP, as I said, it is a proprietary protocol and it has been used in web conferencing. Proprietary protocol because it has been owned by Adobe and it is a TCP-based protocol. It can also work in virtual channels and it is active simultaneously, like we can use different channels. The basic commands of RTMP are net connection and net stream. So net connection, we have to connect it. Like sockets have to be connected, connect, call, close and create stream. And when you want to play, play, delete stream, close stream, receive audio, receive video. So I will pass on the mic to Raki to explain more. Thank you, Smriti. Good morning. One and all present here. So I am here to describe how the SIP and RTMP server actually work and how the translation and transcoding is done by the SIP RTMP server. There is a RTMP that is the web client, there is a SIP client and first of all RTMP client has to register into the RTMP server, SIP client has to register into the SIP server. Then there is a gateway between this, that is the SIP RTMP server, where the translation from RTMP to RTMP is proceed and the transcoding from the RTMP protocols format that is RTMP and SIP protocol that is RTMP is done here. Like there is a transcoding between RTMP to RTMP, RTMP to RTMP, FLV to RTMP, H264 for audio and video like this thing. Then this is the simple flow diagram through which I can tell you this whole story that how the transcoding is and translation is done. Like first of all Alice is a RTMP client and Bob is a SIP client. So first of all he has to register into that SIP RTMP server to on connect command there is a registration of Alice in the gateway. Then after registration there is a OK command from the both the server that you are registered on the both the server. Then after that if RTMP client want to call the SIP client then there is a command that is call invite. So after that inviting the call there is a method invite is going from the gateway to the SIP server and from SIP server it is passes to the SIP client. Then when it reply with the OK then after that the call is accepted by him by the SIP client and then there is a publishing play of that particular packet then the session is created for the streaming of audio and video. Then after that if the SIP client want to disconnect it then there is a command buy from the SIP client and it will be accepted by the RTMP client. So the same process will be done if the SIP client want to invite RTMP client in this next flow. Then this is all about the translation and transcoding through the RTMP SIP server. Then the third party libraries in codec we have used is further explained by my friend Anushree. Good morning all of you. No project is complete without using third party libraries especially when it involves execution of code. So first of all we require audio and video communication. So for audio communication we have used the speaks module. This module we have used because it is more reliable and it can be used by both RTMP and SIP. Speaks is an audio compression format and we have used both narrow band and wide band. The next library that we have used is the RFC 3261. This is request for command. For SIP communication we require the SIP messages to be interpreted and this is done by a library that was developed for the SIP header that involves the decoding of the SIP header and accordingly the messages will be communicated. Then we have restricted ourselves for video communication we have restricted ourselves to the H264 format that is the only codec we are using for video compression. It has a lower bit rate than MPEG 2, MPEG 4 and H263 and it involves also HD communication HD video can be transmitted and it is RTMP is more comfortable with H264 codec. Then we have now we will show the demo that will involve SIP communication to web and web to SIP. We are showing the first from the SIP client. So SIP client is basically a soft phone that we are using that is the Ekiga. So first we have developed the connection. This is the video of the web client that we can see that is Smithies and this my video is I am the SIP client currently. So first we have established the call and this is the audio communication can also be heard. I think video does not allow audio communication but there is audio communication. Now we will show the web client. Web client again uses SWF format we have embedded in this HTML page. What is happening? We will register as RTMP server over there, RTMP and SIP server over there that is an IP that we are using. Then we will call the SIP client like for example her name is Smithies. She is registered in the domain. For example the particular domain is 10.107.91.90. So she will register her address unique address will be Smithie at the rate domain's name. So that is how we will be calling and this is the communication happening. We need a Flash Play plugin for video communication again. So this is her video that is the SIP client now and I am the web client. And now we will have the log like we will explain the log what is happening. So first we will start with the SIP server and then we will start with the SIP RTMP server. SIP server is basically to register the SIP client. So this is showing the registration. Smithie has registered so it will show her name. Smithie has registered the domain name and everything. Then this is how this is the registration going on. Then we start with the SIP RTMP server. This is the SIP RTMP server that is starting. This in turn starts the RTMP server that is the Flash server because we are using Flash Player and this is the socket connection that is established and then the communication will go on. We will see the streaming of audio and video messages once the communication is established. So this is the now again the web client has registered over there. Her name is Anushree. Now we will establish the call. So we started with the call and we will see the streaming. So the streaming has begun. So these are compressed audio and video that is being streamed to the SIP client and to the web client vice versa. So now we come while doing a project we face certain challenges. First of all browser restrictions. We've used Flash Player has restriction like certain browsers do not allow you to access your hardware because we require microphone to be used and video phones to be used of our system. So only STTB through STTB we can do that so therefore that's the reason plugin restriction is like we have used the S264 plugin. So RTMP does not support all the plugins. That's why these are the restrictions that we are facing. Then we have the server restrictions. Again different servers does not allow, they are codec specific, they are hardware specific and then we have the codec restrictions. We have restrict ourselves to certain codecs like speaks, PCMU, PCMA and for video we've used S264. So these are the certain restrictions. What we have learned while doing since it is more of an analysis and implementation project so we have learned about the basic protocols that is the SIP protocol and the RTMP protocols. These are the most known protocols for video and web conferencing. Then we have come across different open source libraries. As we mentioned the Pi Audio for this audio communication, then a request for command that is for SIP communication. Then we have learned about the softwares. We have tried to establish calls using different SIP softwares like Ekiga, Xlite, then Asterisk server over that Zuiper. Analysis like we have analyzed different codes so that we can implement the communication. We can establish the communication both ways like web to SIP, SIP to web and again debugging. There's every project that inverse debugging like if a certain part of the program is not working. So like we debug. So that's all we have learned in the project. Thank you. Ma'am like in business organization, for example like we have a meeting and one of the person is not available, he's outside or she's outside. So like if video conferencing is going on, for video conferencing it's infrastructure based. Like if I have to have a video conference with you, I have to have the same infrastructure as the person. So that imposes the problem. So if it was web conferencing I would have done it from anywhere because it's browser related and it does not require much of hardware. So through the center of probability what we can do, a person sitting remotely can join in the conference and important business matters can be discussed. So that is how it can be used like organization based. First of all this system is a peer to peer based system. We have not implemented this multi-party. Secondly we have restricted ourselves to certain codecs. For example video only H264 communication is there seeing that it is more comfortable with the RTMP side. Then again order codecs are also restricted like we have speaks PCMA PCMU. So these are the restrictions and we like to go ahead with more of the codecs like H263 because they are used by other browsers and other web servers. So we can do that. Thank you.