login | register
Sun 07 of Sep, 2008 [07:01 UTC]

voip-info.org

Asterisk Solaris Support

Created by: benjk,Last modification on Wed 09 of Aug, 2006 [19:38 UTC] by subcom

Yes, it runs on Solaris, too!

Since 15/Dec/2004, the CVS HEAD version of asterisk has included support for Solaris. Solaris support is not yet included in the stable releases. Whilst it works fine on Solaris 9 and 10 on Sparc, some additional patches are required to make it work on Solaris x86. These should be incorporated into CVS HEAD soon.

Installation


Installing pre-built packages from Solarisvoip.com


09/Aug/2006

Test System- Sun Blade 1000 with 2 x UltraSparc 900 Mhz Procs. Solaris 10


Results

With about 50-55 SIP calls up between another Asterisk box running in a continuous loop CPU usage is aproximately 3%.

Install Notes


Packages installed fine on standard Solaris 10 Install (Developer install) using pkgadd -d command.
For the uninitiated in Solaris the file structure placement is different from Linux. Here are my notes;

  • Asterisk Config Files; /etc/opt/asterisk
  • Asterisk executable; /opt/asterisk/usr/sbin/asterisk
  • Start-Up script; /opt/asterisk/method/asterisk (Usage: /etc/init.d/asterisk { start | stop | restart }
  • Asterisk Modules; /opt/asterisk/lib/modules
  • Asterisk astdb firmware keys mohmp3 sounds; /var/opt/asterisk/lib/
  • Logs /var/opt/asterisk/log/
  • PIDs /var/opt/asterisk/run/
  • Spool directory /var/opt/asterisk/spool/

Zaptel Tools


  • /usr/sbin/timertest
  • /usr/sbin/ztcfg
  • /usr/sbin/ztdiag
  • /usr/sbin/ztmonitor
  • /usr/sbin/zttest
  • /usr/sbin/zttool

Building Asterisk from source

  • export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot
  • cvs login (password is anoncvs)
  • cvs co asterisk
  • cd asterisk
  • make
  • make install
(Yes, that's the same as building it on Linux - aren't we clever (:biggrin:) )

Limitations

  • PCI based telephony interface cards, such as Digium's wildcard series, require drivers which are currently only available for GNU/Linux operating systems. Simon Lockhart is currently in the process of porting the zaptel tree to Solaris. You can follow progress on the zaptel-solaris page
  • Update- Aug. 2006. The folks at Solarisvoip.com are gradually porting zaptel drivers over to Solaris. At this time the base zaptel library, ztdummy and wctdm are ported and included in the packages available on the web site.

How you can contribute

  • Please add your comments on how you were able to get Asterisk installed, stating the versions for both Asterisk and Solaris.
  • If you are a Solaris developer and want to participate in the work required to get the latest Asterisk releases ready to build on Solaris but you have no access to any Solaris system, please post to the Asterisk Developers' mailing list.

Credits

  • Logan made the initial port to Solaris. You can still read his build notes.
  • Simon Lockhart (slimey) produced the patches which were incorporated into CVS HEAD, based on Logan's work.

Solaris specific Asterisk utilities and add-ons

  • no utilities and add-ons yet

Solaris Softphones

Softphones which can be used with Asterisk
  • sipc: SIP softphone from Columbia University
  • Instant xpressa: a Java softphone from Pingtel which should work on Solaris
  • tkphone, which is now part of the iaxclient library (as of 9/9/04)
  • please add more entries

Softphones which cannot be used with Asterisk
  • no entries yet

Asterisk Solaris Performance

An article detailing Asterisk Performance on Solaris



Comments

Comments Filter
222

333Solaris 10 Sparc Asterisk 1.4.18 compiling Howto

by afler, Friday 28 of March, 2008 [15:12:05 UTC]
Hello guys, I hope it will save you some time.
1. Fresh install of Solaris 10 sparc no additional pkgs.
2. Install Companion CD
3. Set you environment
export PATH=$PATH:/opt/sfw/bin:/opt/sfw/sbin:/usr/ccs/bin:/usr/sfw/bin:/usr/sfw/sbin

PKG_CONFIG='/usr/bin/pkg-config'
CC='/usr/sfw/bin/gcc'
CXX='/usr/sfw/bin/g++'
export CC CXX PKG_CONFIG

4. get 2 patches

Index: main/stdtime/localtime.c
===================================================================

+++ main/stdtime/localtime.c (working copy) @@ -1133,7 +1133,9 @@
       */
       result = timesub(&t, ttisp->tt_gmtoff, sp, tmp);
       tmp->tm_isdst = ttisp->tt_isdst;
+#ifndef SOLARIS /* Solaris doesn't have this element */        tmp->tm_gmtoff = ttisp->tt_gmtoff;
+#endif #ifdef TM_ZONE
       tmp->TM_ZONE = &sp->charsttisp->tt_abbrind;
#endif /* defined TM_ZONE */

and


Index: main/editline/np/vis.h
===================================================================

+++ main/editline/np/vis.h (working copy) @@ -69,6 +69,10 @@
#define        UNVIS_SYNBAD    -1      /* unrecognized escape sequence */
#define        UNVIS_ERROR     -2      /* decoder in unknown state (unrecoverable) */

+#ifndef u_int32_t +#define u_int32_t uint32_t +#endif + /*
 * unvis flags
 */

untar asterisk 1.4.18 somewere
patch it

and as always
./configure && gmake && gmake install

Regards
Alex Fler
alexfler@yahoo.com

222

333ztdummy

by JBenden, Monday 03 of July, 2006 [04:07:42 UTC]
Yeah, only using 20% of the cpu - the system doesn't hang.

Visit: www.solarisvoip.com for more information.
222

333wicked cool!

by TommyTheKid, Tuesday 27 of June, 2006 [23:53:04 UTC]
Firstly, I assume by "hangs around 20% CPU usage" you mean it is only using 20% of the CPU and not that the system hangs (stops working)? Are you able to share your contributions (or have you already)? Can you update the zaptel-solaris page?

Thanks,
~tommy

222

333Zaptel Driver Update

by JBenden, Wednesday 21 of June, 2006 [04:16:05 UTC]
I now have the ztdummy driver working.

On a Sun Fire 280R with 100 users in a MeetMe conference, the system hangs around 20% CPU usage.
222

333Solaris 10 - x64 and sparcv9

by JBenden, Friday 09 of June, 2006 [05:04:41 UTC]
I have prebuilt binary PKGs available at:

http://www.agilevoice.com/RPMS/SOLARIS/

In addition, here is a performance report about Asterisk on Solaris verses Linux:

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


222

333Asterisk on Solaris SPARC

by gdenton, Wednesday 27 of July, 2005 [13:56:19 UTC]
Has anyone had success building * on a Sparc solaris box?

Any help or suggestions would be appreciated.

Current build error on a Solaris 9 *and* Solaris 10 box (errors on the exact same section)

gcc -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g -Iinclude -I../include -Iinclude/solaris-compat -I/usr/local/ssl/include -D_REENTRANT -D_GNU_SOURCE -O6 -Wcast-align -DSOLARIS -fomit-frame-pointer -c -o term.o term.c
In file included from include/asterisk/utils.h:26,
                from term.c:32:
include/asterisk/strings.h:232: error: parse error before "va_list"
include/asterisk/strings.h:232: warning: function declaration isn't a prototype
make: *** term.o Error 1


Thoughts?
222

333Re: Required Packages

by bcarpio, Wednesday 13 of April, 2005 [04:06:17 UTC]
Incase anyone had the same issue as me, the following package was missing from my install:

coreutils-4.5.4.tar.gz

222

333Required Packages

by bcarpio, Sunday 10 of April, 2005 [20:46:07 UTC]
Can someone give more specific documentation on what packages are exactly required to get the latest CVS version to compile?

I download the CVS version as stated on this Solaris page.. I try and compile it and get the following error:

if -d CVS && ! -f .version ; then echo CVS-HEAD-04/10/05-14:31:26 > .version; fi
gcc -pipe -Wall -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -g -Iinclude -I../include -Iinclude/solaris-compat -I/usr/local/ssl/include -D_REENTRANT -D_GNU_SOURCE -O6 -Wcast-align -DSOLARIS -DASTERISK_VERSION=\"CVS-HEAD-04/10/05-14:31:26\" -DASTERISK_VERSION_NUM=999999 -DINSTALL_PREFIX=\"\" -DASTETCDIR=\"/etc/asterisk\" -DASTLIBDIR=\"/usr/lib/asterisk\" -DASTVARLIBDIR=\"/var/lib/asterisk\" -DASTVARRUNDIR=\"/var/run\" -DASTSPOOLDIR=\"/var/spool/asterisk\" -DASTLOGDIR=\"/var/log/asterisk\" -DASTCONFPATH=\"/etc/asterisk/asterisk.conf\" -DASTMODDIR=\"/usr/lib/asterisk/modules\" -DASTAGIDIR=\"/var/lib/asterisk/agi-bin\" -DBUSYDETECT_MARTIN -fomit-frame-pointer -c -o dnsmgr.o dnsmgr.c
dnsmgr.c: In function `refresh_list':
dnsmgr.c:160: error: structure has no member named `used'
dnsmgr.c: In function `handle_cli_refresh':
dnsmgr.c:207: error: structure has no member named `used'
make: *** dnsmgr.o Error 1


I'm sure it's because I'm missing a package but not sure which.

SUN45:/usr/src/asterisk# uname -a
SunOS sun45 5.9 Generic_117171-12 sun4u sparc SUNW,Ultra-Enterprise


SUN45:/usr/src/asterisk# gcc -v
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.4.2



222

333Solaris x86!

by TommyTheKid, Friday 01 of April, 2005 [00:08:29 UTC]
I have a "patch" against CVSHEAD (as of today) that makes asterisk compile cleanly on Solaris 10 x86 with a few pkgs from /opt/sfw (companion CD)

I cant figure out where to attach just yet, once I do, I will ;)

Tommy
222

333prebuilt Asterisk on Solaris 10

by , Saturday 29 of January, 2005 [17:58:49 UTC]
I would like to see a prebuilt version of Asterisk on Solaris.
b30097