< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index  

[reSIProcate] Some interesting observations I've made


zedine@xxxxxxx wrote:

hello all :)

I know it is the developper mailing list, but since there is no user mailing
list ...
Whatever happened to the idea of having a user mailing list? I never got any indications it was setup yet, nor have I gotten any messages from it. I remember
reading a lot of messages from people who don't want it (sigh).  has it been
decided not to have it?  I know last week,  due to some problems I've had
with my Mail, I may not have gotten anything. But I think I've recovered most
of my lost mail.

Anyway, my observations are.... from reading the mail and questions people have, it is very clear that a lacking of appropriate docs covering the design concept
is the cause of all these questions, and the DUM/test code in the release is
simply not adequate in giving anyone any ideas on how to use it.  Nobody is
ever going to use the resip code exactly like "BasicRegister" or "BasicCall".
Although adequate to test the library, and perhaps a LITTLE guidance might
be realized, but I think we need to release much better documents explaining how
things are all put together.

Each platform has it's own architecture.... Windows is different then Macs, Etc. I realize this - but to this day, there is NO Open Source SIP phone in existance that's using resip/dum (or JRTPLIB), for ANY platform. I challange anyone to
prove me wrong....

But it wasn't until new WIKI docs were recently released, did I ever "guess"
the right way to construct a SIP phone, and I'm STILL confused...

Being that I never came into this project from the "ground floor" so have no
clue on the design concept used in resip. I've also looked at oSip, and it is
so completely different in design I was totally overwhealmed.  There are
so many approaches to this problem it's mind boggling.

I thought about implementing my OWN sip stack, but not until reading, and
re-reading at least 5 times the RFC,  I came to the realization I couldn't
possibly do it in any reasonable expectation of time,  but I feel I made the
right decision to choose resip.

So, do I have any volunteers from anyone actually coding and writing resip/dum who would want to take about a half hour to review my code (which obvously doesn't yet work - but getting close), just for the purpose of pointing out to me how
stupid my approach is for using resip,  with guidance on how to do it right,
and where I'm supposed to store my "session data" and in what Objects are
responsible for management of such,  with some simple source code examples,
illustrating the proper way to use it.

Let me give you an example of what I'm talking about...    lets
examine this document at:   http://www.sipfoundry.org/reSIProcate/using.txt

One such statement that stands out is...

"Note that a newly created message has neither a request or status line. The
application must add one or the other for the message to be well formed"

Ok,  GREAT - so wouldn't it be appropriate to include some source code
illustrating how to add a request or status line to a message?

I mean - you DO include source code snippits, but just not enough to allow
a naive idiot as myself to get an understanding of how to use it.

So, I can then take my corrected and reviewed and try to get this working, then I can share it with the group from a USER level, and not a developer level. But with me developing this on the Mac, I'll try and generate a document that will be relevant to
ANY platform.  IE:

Instantiating a general "Application" object - Would this be a sub-class of a AppDialog?

  Initializing the SIP stack - tying things together

  Registering with a SIP proxy or server

Inviting a session with a remote user, right up to the creation of an RTP
  "session" using JRTPLIB

  Shutting down the connection

  Quitting the application

As yet another blatant mis-understanding of my concept of resip,  in my
InviteSessionHandler subclass,  I was advized not to put any stateful
information in it,  but to me,  it appeared to be a very obvious place
where I can store things like the IP,port of my remote host I'm
attempting to connect to... but I was really supposed to put these
in AppDialog or AppDialogSet instead....    How was I supposed to
know this?

In a few days, I should be able to supply resip source code for each of these sections, but I really need someone to review it, thus my need to have a resip expert review it.

In my submission of this code (privately) to this volunteer, I will explain my reasoning why I've done what I've done (it's important for those resip developers to know this), because I'm sure most resip developers have a wall full of CS diplomas and have complete knowledge of all the theoritical computer science used in the design of resip. And as one who has not had the opportunity to study in an Ivy League university, I might be able to give you an insight on how us non-CS-educated folks percieve or understand this.... it might be of benefit to all in this list... and hopefully, better documentation and instructions might be generated to allow us less sophisticated
users to use resip/dum.

I remain...
A very frustrated resip user

John