Koozali.org: home of the SME Server

SAIL .iso & SAIL 700 series state of the Union

Offline SARK devs

  • ****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
SAIL .iso & SAIL 700 series state of the Union
« on: January 16, 2009, 11:31:25 PM »
OK - glad Contribs is all back in one piece.

Re the ,iso and the 700 series releases.  Firstly the .iso which is up there currently is a bit flakey.  On most machines it installs OK.  On some, after the install, during the initial config, it doesn't ask for ROOT password.  We have absolutely no idea why.  We built this .iso exactly the same way we built all of the others.  We have a new .iso which we are testing which seems to do better - only difference is the SAIL release - 708.  Hopefully this will be uploaded at the weekend.  Building redhat .isos is a bit like Alchemy - you do this and that and that and that and...  you may get gold but you are just as likely to get lead - and no one can tell you why. :(

Re 700 series and MTIME etc etc.  700 was/is a BIG release, we did a lot of re-engineering under the covers, mainly for runtime performance.   We recently replaced a biggish (55 phone) Tbox system with SAIL and it seemed like a good opportunity to do a benchmark.  What we found was that SAIL is an order of magnitude faster than Tbox in the time it takes from call arrival at the switch to delivery to its destination.  Not surprising when you recognise that Tbox/FreePBX does everything (or almost everything) in either dog-slow extensions.conf code or in fairly-slow php.  SAIL, on the other hand, does pretty much everything in pure C.  However, one area which we didn't like had to do with time.  For both FreePBX and SAIL, the more time segments you specify in automation, the slower the switching decision gets.  This is because we check every segment every call (i.e. every time we switch) in order to determine whether we are "open" or "closed".  Tbox does much the same.  Unfortunately,  the time processor in Asterisk is DOG slow so, as we add more time segments the relative performance gap between Tbox and SAIL diminishes because both are spending most of their time in the Asterisk time processor. 

700 series doesn't use the asterisk time processor at all and you can add as many segments as you like without any performance degradation (as long as you have the new MTIME feature activated).  Unfortunately, we left a portion of the debugger switched on in 701-707 (we didn't actually get the MTIME code stable until 708).  So that's why you all saw the weird NO MTIME logs.

In 708 you can turn MTIME off and on from globals.  Go ahead and try it.  Create a bunch of time segments on the database and then run some calls with agi debug turned on.  Try it with MTIME on and MTIME off.  You'll see a big difference in the processsing overhead and speed.

While we were at it we shorthened a lot of pathlengths in the AGI so it now runs even faster than it did before.  This also got a bit of weight off the code and it is now just about 70K in size.  Still very small and lightweight.

We mentioned 3 digit extensions in a previous post but I don't think we told you how to do it..  Set it by setting the EXTLEN value in globals...

db selintra setprop global EXTLEN 3
db selintra-work setprop global EXTLEN 3

You can really only do this on new installs (unless you want to delete all of your existing 4 digit extensions). 

Thanks for all of your help and enthusiasm for SARK/SAIL.  We are somewhat biased but, in our view, it is now light years ahead of any of the Asterisk based competitors that we've benchmarked in terms of its ability to run a professional phone system and to do it quietly and without fuss.   ...and a lot of that is down to your support and ideas.  We genuinely don't know how many sail installs there are out there but I can tell you that the .iso has taken over 1000 downloads since we first put it up.  Largest install we know of is 1500 phones.  As to average system size; - we have no idea.  Most interesting is perhaps a SAIL box which front-ends an Avaya Index, two Mitel systems and a Siemens HiPath giving seamless, free, desk-to-desk calls across three different continents.  It's been running for almost 2 years without missing a beat.

Happy new year and thanks



   





   

Offline Teviot

  • *
  • 610
  • +0/-0
Re: SAIL .iso & SAIL 700 series state of the Union
« Reply #1 on: January 17, 2009, 06:09:46 AM »
We mentioned 3 digit extensions in a previous post but I don't think we told you how to do it..  Set it by setting the EXTLEN value in globals...

db selintra setprop global EXTLEN 3
db selintra-work setprop global EXTLEN 3

You can really only do this on new installs (unless you want to delete all of your existing 4 digit extensions).     

Could there be an option put in the globals to do this?

Regards
M0GLJ
......................................................
I am new to SAIL SME Server v8b6 and have been using SME for many years.
I have already done some research and only ask questions if I still can't work it out.

Offline jester

  • *
  • 496
  • +1/-0
Re: SAIL .iso & SAIL 700 series state of the Union
« Reply #2 on: January 17, 2009, 12:05:21 PM »
I wouldn't like to have such an option in Globals where, if someone is not had it's first cup of coffee, one could accidentally wipe out all it's extensions in one go...

i don't know if a Regress will recover from that?!

Offline SARK devs

  • ****
  • 2,806
  • +1/-0
    • http://sarkpbx.com
Re: SAIL .iso & SAIL 700 series state of the Union
« Reply #3 on: January 17, 2009, 03:57:37 PM »
Regress will recover it,  but we thougt it so pivotal and "one shot" that we left it out of globals deliberately so folks would realize it isn't something which can easily be changed "down the line".

Kind Regards