Hey Fellows, I am still at the evaluating stages of the SIP protocol.
I am trying to understand how will it support for Conferences. I am at the early stages of decision-making and am figuring out how will it supports something like Virtual Meetings & Conferences. I was reading this paper [http://www.ikn.tuwien.ac.at/ftw-a1/02_04_24_PAPER_INC_2002.pdf] on how does SIP let me do conferences. Yes, they could be both open and closed conferences. Also, I am also faced with the age old problem of unicast v/s multicast. See, the previous application I had made was a typical client server application. e.g. ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ---------------------------------------------------------------------- SERVER BLOCK ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ---------------------------------------------------------------------- ---------------------------------------- ---------------------------------------- Video Broadcast Server Session Manager Server ---------------------------------------- ---------------------------------------- ------------------------ ------------------------ Session 1 Session 2 ------------------------ ------------------------ ---------------------------------------------------------------------------- ---------------------------------------------------------------------------- ---------------------------------------------------------------------- Client1 Client2 Client3 Client1 Client2 Client3 Client4 This is the video conferencing model I had used. . The Session manager server maintained a list of sessions. Clients connected to their respective sessions on the Session Manager Server. Lets say that Client1 of Session1 wanted to broadcast a video, so it did to the Video Broadcast server with its session id and the Video Broadcast Server sent the same data [yes thru unicast] to Client2 and Client3. As it appears this is a lousy solution as it cannot scale. I cant keep on increasing bandwidth on my server. Not to mention the linearly declining Server resources. The answer to all this shitty problem was obviously Peer to Peer architecture. SIP looks perfect solution to the problem as the servers are only used for signaling. I know that even though SIP supports conferences, the problem again comes that lets say that now my Client1 has to send the Video. With Unicast, my Client 1 needs to have enough bandwidth to support sending 2 streams of video to Client2 and Client3. phew.. Again, this is sick, as its crazy. I cant assume that my client has the resources to do such kind of thing. Specially when number of users in a session increasing to more that 50. So I come to multicasting. I am trying to figure out how SIP would let me do multicasting. Has anyone seen an application or read anything that has resolved this problem. Looks to me like this should be a fairly common problem. And what's the big deal about multicasting. Why the heck am I reading everywhere that not all routers support multicasting. They do update their routing tables using multicasting then why not let us transfer data through. __________________________ Regards Umesh Balani -----Original Message----- From: SiM [mailto:[EMAIL PROTECTED] Sent: Friday, November 07, 2003 3:19 AM To: Umesh Balani Subject: RE: [Sip-implementors] Need help hey man, i was a bit busy - and the image u sent didnt show up well :-) - it wasnt clear - design it on the lines of the rfc - and think of something on ur own also - since this is a prototype - so that u converge on the rt thing when u build the rt one ! thats iut - btw where have u reached ? Cheers, Simith Umesh Balani <[EMAIL PROTECTED]> wrote: Hi Smith, Got it. Even I am beginning to see the importance of using a tried and tested library. I believe the the oSIP Library is under the LGPL License. How does that affect my life. Can I create an application for commercial use with it. __________________________ Regards Umesh Balani -----Original Message----- From: SiM [mailto:[EMAIL PROTECTED] Sent: Friday, October 31, 2003 3:42 PM To: Umesh Balani Subject: RE: [Sip-implementors] Need help hi Umesh, I dont know of any tool - i guess we used bison in one of our projects - dont remember exactly - but i wasnt a part of that module, anyways there is a parser written in C in the Osip Library - i wud suggest u use that and concentrate on the most important parts of ur project - I saw a reply from Paul as well, he was very much rt :-), its better u have a look at an already implemented parser rather than try to do it urself as it takes a lot of time , --simith Umesh Balani <[EMAIL PROTECTED]> wrote: Hi Smith, Thanx for the prompt reply. Have you got your hands dirty on ANTLR or for that matter any other parser generator. I've heard it's the best parser/lexer generator. These days I am goung through the examples on ANTLR.org into creating parsers. Please tell me, do you think there is any better tool to do this ?? __________________________ Regards Umesh Balani -----Original Message----- From: SiM [mailto:[EMAIL PROTECTED] Sent: Thursday, October 30, 2003 6:30 PM To: Umesh Balani Subject: RE: [Sip-implementors] Need help hi Umesh, to be frank - it is going to take a lot of time ! if u have time u can go on with it , about writing parsers -ok or just use a parser available freely like the one with the Open Source SIP stack - Osip - its free! So are u planning to do the FSM's on ur own ? if yes --> u can have a look at osip also - i feel it is neat :-) and i dont have a huge experience in SIP, just had worked on a small video- conferencing application (only 2 party ) (No RTP :-( ) on UDP itself so thats it ! ur approach seems to be good - i appreciate that , but it involves a lot of time - Dont lose intrest :- ) . and about parsers to use - i dont have much idea on them , and the ones available - i used the parser that came with the stack - if ur implementing one on ur own - plz let me know - even iam intrested :-) hope to hear from u soon Cheers, simith Umesh Balani wrote: Hi Smith, Thanx for the prompt reply. Yes, I do need to build a complete UAC UAS Registrar server. Initially I will add SIMPLE support to it as to start with I have to demonstrate that SIP is the right way to go for most conferencing solutions including Instant Messages. You are right. I will need to know the complete state machine for the implementing the UAC and UAS. Also, to begin with, I felt I had to start with the lowest layer i.e. creating SIP parser from ABNF rules, and then build other layers over it. I don't have the complete understanding of the entire protocol, but I felt starting from the lowest and going steadily over it by implementing the transport and transaction layers over it sounded a nice approach. Do you think, I should take another approach. Also, need your suggestion onto which Parser generator to use. Have you worked on creating an SIP parser. How did you guys create the SIP Parser. __________________________ Regards Umesh Balani -----Original Message----- From: SiM [mailto:[EMAIL PROTECTED] Sent: Thursday, October 30, 2003 4:59 PM To: Umesh Balani Subject: Re: [Sip-implementors] Need help hi Umesh, are u looking only for a parser ? and if ur implementing uac and uas --> dont u need the Finite state machines as well, with the Parser, Message generator etc. cheers, simith Umesh Balani wrote: Hi , Need help from all you champs in SIP here. See, I have till date created just a few IOCP Servers on Windows. They were all text based and in all the servers I had created my own headers, which held the offsets in the stream where what information was present. I have been asked to create a prototype using the SIP protocol. On a very abstract level, here's what I figured out how to go about doing it. 1. Create a SIP Message Parser 2. Create a SIP Message Generator 3. Create an User Agent and Registrar Server (as it's a prototype, might not require proxy) using the 1 and 2 modules. Can someone comment/suggest, did I miss out on something. ? What I feel is toughest is to create a parser. When it comes to creating a parser, there are so many of them available. i.e. Yuck, Lex, Bison, ANTLR. My Parser will have to be ported to *nix Variants so I decided it has to be in C#. It is my understanding that with Rotor, MS Implementation on FreeBSD and Mono on the way to completion, I will be able to port it to Free OS's without much effort. So should be the Registrar Server that use the parsers. Any Comments / Suggestions on this one ? Now, I am really lost on which Tool should I use to create my parser. Can someone who's created a parser from the ABNF notation in the RFC guide me to the right direction. I am going ahead with ANTLR as it provides me the C# support. But I am not confident about it. There's are others like CoCo R, from the SSCLI - Share Source Common Language Implementation. How shud I go about creating the parser (don't have the time to write it by hand) ? __________________________ Regards Umesh Balani ----------------------------------------------------------- NOTICE ------------------------------------------------------------ This email and any files transmitted with it are confidential and are solely for the use of the individual or entity to which it is addressed. Any use, distribution, copying or disclosure by any other person is strictly prohibited. If you receive this transmission in error, please notify the sender by reply email and then destroy the message. Opinions, conclusions and other information in this message that do not relate to official business of NIIT shall be understood to be neither given nor endorsed by NIIT. Any information contained in this email, when addressed to NIIT Clients is subject to the terms and conditions in governing client contract. _______________________________________________ Sip-implementors mailing list [EMAIL PROTECTED] http://lists.cs.columbia.edu/mailman/listinfo/sip-implementors
