[Freeswitch-users] Documentation requests

Lucia Rotger lrotger at aircomp.aero
Wed Oct 3 03:14:57 PDT 2007


Hi all,

First, I apologize for first asking for documentation and then going  
silent for three weeks. I am very busy but I hope you find the thoughs  
below somewhat useful. I believe I cannot help much with them, because

- let me first try to put my efforts in context: The documentation doesn't  
need to be foolproof or 'for dummies' but it must be accessible for a  
reasonably intelligent person. That person is a newbie in VoIP but is used  
to good software (Linux (don't flame me, BSD techies), postgres, courier,  
postfix, samba, ... all those projects have in common that they have  
fantastic, throughout documentation). They also have a responsive  
community which I think FS has, or is in the way of having if you like.

That said I think we need, in the wiki, with high visibility (= main page):
- what is voip. I think we all have this one down but still.

- putting voip concepts in context (codecs, applications, servers.  
frameworks). Here is where you put some order in the concepts surrounding  
the technology, and define FS more in depth. They may have a different  
meaning in another context. For example: things like 'what do you mean by  
'application' in freeswitch: is it a regular executable run by linux  
itself, or is it a script run inside freeswitch?' Maybe both ways are  
supported? Or is this an entirely different thing? That may seem a tiny  
detail but it helps me put things in context (why I think this is  
important: if the model leans toward 'execute everything inside FS' it  
means, at least, danger of contention. If then FS talks to databases or  
whatnot, it may extend further and you better be ready to identify where  
will the bottlenecks be coming from under stress; if, on the other hand,  
you lean towards launching processes in the underlying OS and letting them  
run, it means a very different model, IPC (Inter-process communication),  
overhead of launching/tearing down external processes and you get into OS  
issues like file permissions, etc. This is why I like to know). Example:  
Zope, a web framework, is written in Python and can execute Python scripts  
but inside Zope only a subset of Python is available (for security) and  
exception handling and other details are confusing, in fact they aren't  
explained anywhere. Zope is great software and has terrific potential but  
only those very close to its development can use it effectively. Back to  
freeswitch, in regard to script execution, I believe anything that  
deviates from running a regular, unrestricted javascript script (is  
javascript the preferred scripting language for freeswitch? I'm not sure)  
must be noted down for anyone to know. Feel free to tell me whether I'm  
making any sense here.

Also: What languages are available for scripts? Bindings?

- best practices: (We are in beta. Maybe it's too early to define best  
practices?) in a framework you are free to choose how you do things. The  
devil's in the details and you are left wondering if you are stressing it  
and not benefitting from the 'true' way. I'm out of examples here. Let me  
digress for a moment (again) to Python. In Python you can do things like  
you did in other languages but there's usually a 'Pythonic' way. Usually  
it's more elegant and easier than the old mindset. For example, the usual  
'iterate over a list and delete items from it' can be done elegantly on in  
a clumsy way because the for clause will skip items if you delete in place  
off the list it's iterating over. Why I'm bringing this over: To a newbie  
(to me at least) best practices are gold because it means I have something  
down and can move over to the next thing. If the developers think anything  
must be done a particular way, please say so, specially if there is more  
than one way to do it and the other ways are bad or inefficient in any  
respect.

- When a page in the wiki is outdated, please make a note saying so and  
explain in what way it's outdated. So someone new to the wiki can at least  
know if the entry is totally outdated or if it only needs small updates  
like listing a new codec. I've seen remarks on the list about a wiki page  
being 'outdated'. It's very easy to go to the wiki and put 'oct 07: <your  
name>: outdated, need to document new behavior in xzzyzzy option'. Maybe  
I'm asking for too much but hey, you wanted feedback. As ESR puts it,  
asking questions the intelligent way gets them answered half-way, so maybe  
someone seeing that entry can try it and add 'oct 07: <name>: didn't work  
for me, filed bug report number this-and-that'. So now you can go to the  
bug tracker and see the state, without cluttering up the wiki too much?

- What hardware works with freeswitch. Do you plan to support  
BRI/PRI/T1/E1 etc cards? Which ones? If so, when? This information whould  
be prominent in the wiki, in the 'what does freeswitch do?' It positions  
FS, and someone evaluating VoIP solutions and skimming through the wiki  
would like to know where FS stands: You are much better suited than me for  
capturing this in a few phrases. Also: Roadmap?

- And last but not least, anyone who gets interested (like me) and wants  
more detail must have accessible another crucial thing: the reference.  
Getting past the generalities and marketing speak (scalable, blah blah) we  
must get down and dirty fast. Make a good reference of every command (I  
know 'command' is probably inadequate because there is more than  
'commands' in freeswitch but you get the idea), order it as you like, as  
long as everything is in there. With 'last updated' tags so we know if  
something has not been touched from 2003, or is recent.

As another post said, probably the wiki holds a lot of this already but  
it's sparse and examples don't abound.

I'm afraid I just came up with a lot of 'someone should...' items but I  
think those a newbie cannot find out for himself and that's why I'm asking  
for someone else to do them. Also, I tried to reason them a bit. Let me  
know your thoughts?
Regards
Lucia

On Fri, 21 Sep 2007 23:31:09 +0200, Michael Jerris <mike at jerris.com> wrote:

> As Anthony had mentioned in another thread, we have heard your ongoing
> complaints that there is not enough documentation, but we don't know what
> kind of documentation you really want.  Please respond to this thread  
> with
> what information that you were not able to find on the wiki, that would  
> help
> you in using freeswitch.  If no one responds, GREAT!  Were done and don't
> need to document anymore.  Otherwise, this is your opportunity to speak  
> up
> and say what is missing.
>
> Mike






More information about the FreeSWITCH-users mailing list