[Freeswitch-users] How PBXs works on different platforms

Evgeniy Zolotov zolotov at altron.ua
Thu Dec 25 06:49:40 PST 2008


  Hello!

Our experience (over 1 month) of FreeSWITCH testing under SunSolaris 10
shows us such things :


1. FreeSWITCH can be built with gcc compiler, which consists at
SunSolaris 10 by default :


$ /usr/sfw/bin/gcc --version

gcc (GCC) 3.4.3 (csl-sol210-3_4-branch+sol_rpath)

Copyright (C) 2004 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is
NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


With this compiler is possible built FreeSWITCH except mod_openzap (this
module needs ISO C99 compatible compiler), but, it'll be shown below,
there are no any reasons to make mod_openzap under Solaris 10.


2. Newlyversion of gcc can be taken from CSW – repositories, for example
here : 


http://mirrors.usc.edu/pub/csw/unstable/i386/5.10/


There are consists all CSW — packages, which gcc needs for install. Full
list of CSW — packages in a world can be found here :


http://www.opencsw.org/userguide/


So we have :


$ /opt/csw/gcc4/bin/gcc --version

gcc (GCC) 4.0.2

Copyright (C) 2005 Free Software Foundation, Inc.

This is free software; see the source for copying conditions. There is
NO

warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


>From there we take packages aclocal & automake (they are absent into Sun
Solaris 10 distributive ), if we want build FreeSWITCH — trunk starting
from ./bootstrap.sh .


3. One more variant of FreeSWITCH installation, which described in a few
sources in the Internet
(http://www.voiceworks.pl/cypromis/category/solaris-opensolaris/) - is
installation of Sun Studio 12 (package
SunStudio12ml-solaris-x86-200709-pkg.tar.bz2 , from Sun Microsystems
official site):


/opt/SUNWspro/bin/cc


Build can be done in a command mode, redefining parameters CC, CCOPT,
LDOPT, or even in Sun Studio GUI IDE, launching it from remote host :


# ssh -nfX <sun-host> sunstudio


4. We built & installed FreeSWITCH + Zaptel + Wanpipe on 2 64-bit
SunSolaris servers


$ isainfo -k

amd64

$ isainfo -v

64-bit amd64 applications

tscp cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov
amd_sysc

cx8 tsc fpu

32-bit i386 applications

tscp cx16 sse3 sse2 sse fxsr amd_3dnowx amd_3dnow amd_mmx mmx cmov
amd_sysc

cx8 tsc fpu


+ on a 64-bit server SuperMicro — SYS-5025B; proc. Intel Xeon 3210 :


# isainfo -v

64-bit amd64 applications

ssse3 cx16 mon sse3 sse2 sse fxsr mmx cmov amd_sysc cx8 tsc fpu

32-bit i386 applications

ssse3 cx16 mon sse3 sse2 sse fxsr mmx cmov sep cx8 tsc fpu # isainfo -k

amd64


- on a last one we didn't even succeed even to start Zaptel + Wanpipe,
having exactly the same configuration like on previous two.

We didn't succeed to build some of FreeSWITCH libraries with 64-bit
support, but that is a question of time and technology. So we built
32-bit version of FreeSWITCH.


5. This variant was successfully tested for SIP calls and execution of
all extensions, whitch correctly works under Linux.


6. Then we set up support for E1/T1 Sangoma A-104. We found just this :


- ftp://ftp.sangoma.com/Solaris/Beta/SVwanpipe-i386-5.10.pkg

        - ftp://ftp.sangoma.com/Solaris/Packages/SVzaptel-i386-5.10.pkg
        


7. We managed to configure and start that variant (zaptel + TDM Voice
API). Complete equivalent of it successfully worked under Linux CentOS 5
— including configuration FreeSwitch mod_openzap.


# ./wanrouter hwprobe


-------------------------------

| Wanpipe Hardware Probe Info |

-------------------------------

1. AFT-A104-SH : SLOT=2 : BUS=2 : IRQ=5 : CPU=A : PORT=1 : HWEC=0 : V=33

2. AFT-A104-SH : SLOT=2 : BUS=2 : IRQ=5 : CPU=A : PORT=2 : HWEC=0 : V=33

3. AFT-A104-SH : SLOT=2 : BUS=2 : IRQ=5 : CPU=A : PORT=3 : HWEC=0 : V=33

4. AFT-A104-SH : SLOT=2 : BUS=2 : IRQ=5 : CPU=A : PORT=4 : HWEC=0 : V=33


Card Cnt: S508= 0 S514X= 0 S518= 0 A101-2= 0 A104= 1 A300= 0 A200= 0
A108= 0


# ./wanrouter status


Devices currently active:

wanpipe1 wanpipe2 wanpipe3 wanpipe4


Device name | Protocol | Station | Status |

wanpipe4 | AFT TE1 | N/A | Connected |

wanpipe3 | AFT TE1 | N/A | Connected |

wanpipe2 | AFT TE1 | N/A | Connected |

wanpipe1 | AFT TE1 | N/A | Connecting |


I.e. E1 spans 4, 3, 2 connected with cables are perceived by Wanpipe in
a synchronisation mode that is visible also on GREEN LEDs on the card. 


8. But we do not manage to receive any reception PRI events (under
FreeSwitch) that it is possible to receive in precisely same
configuration in Linux.


9.After that we tested just transmition of raw B-channel data with our
own tests, which has been created when we wrote Zaptel drivers for
nonstandart E1 equipment. This tests pass test data sequences into
B-channel and receives them from another B-channel, which connected to
the first B-channel with crosscable; cheks up identity of the received
information and measures delay of data passing on a loop. This tests
works good under Linux (we use them for a year), but under Solaris they
shows us that Zaptel + Wanpipe doesn't receives B-data from B-chans. 

We have source code for SVzaptel-i386-5.10.pkg , developed by SunLabs


https://svn.sunlabs.com/svn/solaris-asterisk/zaptel-solaris/trunk/


Studying of this package and site has shown us such things :

      * SVzaptel-i386-5.10.pkg was developed by little community
        http://www.solarisvoip.com/;
        
      * development of this package moves very slow, last updates — 2006
        year;
        
      * package has limited functionality (unlike original Zaptel );
        
      * SVzaptel-i386-5.10.pkg was tested on a limited amount of E1/t1
        cards (only one !) - Digium Wildcard TE110P T1/PRI).
        


We doesn't have source code for SVwanpipe- i386-5.10.pkg , so we cann't
say anything about it.


Resume:

Declared, for example: http://en.wikipedia.org/wiki/FreeSWITCH and other
URLs, platform support is realy only for SIP-protocol features but :

      * this can be done without using of any PBX, for example with the
        help of SER/OpenSER or sofia library;
        
      * is grounded that into OS is present : a) C — compiler; b) NetBSD
        compatible IP-stack (in this case QNX 6.4 and many others OS
        could be included in the list of supported OS)
        


We suppose same things under OS *BSD family.

For objectivity it is necessary to underline that the same state of
affairs takes place and in all others free PBX, realising support E1
through the Zaptel interface: Asterisk, YATE etc. 

And all declarations about «supported planforms» is only promotional
declarations. 

Though it is tested and affirms at :


http://www.thrallingpenguin.com/articles/asterisk-solaris.htm


- that Solaris releases of PBX should have almost in 2 times the big
productivity, than for Linux — that has it sense only for narrow case
SIP connections that hold back testers and enter the others into error.

   Any info would be appreciated,
   Evgeniy.








More information about the FreeSWITCH-users mailing list