Page 1 of 1

OS X install

PostPosted: Wed Dec 18, 2013 1:38 pm
by mav2287
Has anyone tried installing VICIdial onto a server running apple OS X? If so has anyone had success, issues etc. I have an old Xserve I was contemplating attempting to install VICIdial on but I didn't want to head down that road if it is known to be a dead end. I know that the easiest is to just do a VICIbox install and I in fact already have 3 such servers running I just thought it would be something new, different and possibly interesting.

Re: OS X install

PostPosted: Thu Dec 19, 2013 12:57 pm
by williamconley
If you can successfully get all other requirements installed, I don't see why not.

If you really have the time to play this game, however, I would recommend you approach it one "Role" at a time. Don't try to build the entire Vicidial server in OS X all at once.

Roles to choose from:

MySQL (or MariaDB)
Administration Web
Agent Web
Agent Phones/Meetme room (ie: Dialer)
Carriers/Trunks (Also Dialer, but can be separate)
Archive (ftp/audio web/backups)

Some are easy (mysql requires some configuration changes to my.cnf, but no Vicidial Scripts need to be running on the server, and the admin web only needs mysql access).
Some are hard (Dialer requires asterisk with agi scripts and cpan/perl modules with Hi-Res Timing ....).

If approached one role at a time, you may manage to add OS X servers to a cluster for specific roles only until you get the whole shebang on OS X. I'd love to hear your results.

Re: OS X install

PostPosted: Thu Dec 19, 2013 3:54 pm
by mav2287
That was kinda what I thought my plan was to follow a game plan that looks like this

Apache2 - Running
PHP - Running
Perl - Running
MariaDB - Running
Asterisk 1.8 - Running
->Phones - Running
->Meetme/Conference Rooms - ork around in progress possibly App_conference
->Carriers - Running
->Updating with GUI - In progress
DAHDI - Work around in progress possibly App_conference
VICIdial admin - Running
VICIdial agent - Running
Vtigercrm 5.4 - Running
FTP/BACKUP - inprogress
KeepAlive Scripts - Running

I was looking around for a good from scratch install guide and wasn't sure what looked good. If anyone has any recommendations I would appreciate it. It looks like the hardest part from reading around on the net may be the Asterisk install itself. I have seen a set called MAMP which is supposed to be the equivalent of LAMP but I am thinking I may want to install each piece one at a time on the first run through. I will post back as I make progress and get results.

I think the idea of having a mac mini in a small office running VICIdial would be great for smaller insurance agencies. that don't want a rack mount system. It would also make for a small neat and tidy cluster if you used a stack of them.

Re: OS X install

PostPosted: Thu Dec 19, 2013 4:22 pm
by williamconley
Well, you have enough to get the admin web (and possibly the agent web) on the Mac.

But ... Why? LOL

Re: OS X install

PostPosted: Thu Dec 19, 2013 4:41 pm
by mav2287
I have an Xserve and it's only happy running OS X and it's not doing anything else

Re: OS X install

PostPosted: Sat Dec 21, 2013 10:27 am
by mav2287
well got perl, php, all the cpan modules up and I am now working on asterisk and but dadhi is giving me a "You do not appear to have the sources for the 11.4.2 kernel installed." Anyone has any clue what to do. This happens when I try to make.

bash-3.2# make
make -C linux all
make -C drivers/dahdi/firmware firmware-loaders
You do not appear to have the sources for the 11.4.2 kernel installed.
make[1]: *** [modules] Error 1
make: *** [all] Error 2

Re: OS X install

PostPosted: Sat Dec 21, 2013 3:41 pm
by williamconley
Vicidial requires Meetme (for dialers).

Meetme require Dahdi. (Or Zaptel for very old asterisk if you can find a Zaptel that will install ... and step back to asterisk 1.2)

Dahdi requires kernel sources and headers. if they are not present ...

this is an Asterisk issue. you will have a lot more luck trying to get Asterisk (and modules for it) on your platform by searching the asterisk (or your platform) forums. I've NEVER heard anyone here try to put this on OS X before. LOL (Only a crazy person would do this, you know 8-) )

Re: OS X install

PostPosted: Sat Dec 21, 2013 8:18 pm
by mav2287
I have an xserve and I am fond of the machine. Plus I may just be crazy. Anyway in theory it is possible to do so why not. I have the admin and web side running and connected to mariaDB. I sql dumped all the data from another server into it so we will see what ends up happening. I may have to wipe that database and start from scratch if locations are wrong but it's a start. Plus it gives me data to kick around.

On Dahdi it seems to need the source of the kernel so it can setup the driver. It doesn't seem to come installed so I have found it and am installing it so hopefully that will knock it out. on a mac it doesn't seem as easy as yum install kernel-devel like a linux machine. But I got time and a terminal so we will see what happens.

Re: OS X install

PostPosted: Sat Dec 21, 2013 8:55 pm
by williamconley
remember that if you moved the db from another server, you'll need to run the ip update script. since your server is custom, you should run it with debugX and look for errors (and then run the broken commands manually and create a new IP update script for OS X ...)

Re: OS X install

PostPosted: Sat Dec 21, 2013 9:27 pm
by mav2287
I did run the ip update but not with the debug option. I will run it again later on tonight. The real road block right now really seems to be DAHDI. Apache, php, perl and even MariaDB went in somewhat smoothly. From what I can tell about DAHDI there is no information on how to get it running on a mac. However it looks like I may be the only one actually putting any effort into it. I was thinking about zaptel but I didn't know what other alternatives I have because if I remember right libpri needs DAHDI and it also needs to be installed.

I was thinking about installing asterisk 1.8 and then trying to work on DAHDI and libpri. Any thoughts?

Also as a side note when I updated to the latest version of VICIdial I lost the ability to view my server modify pages. When I pull it up they are blank and if I try to do fill in the information it says that the server already exist.

Re: OS X install

PostPosted: Sat Dec 21, 2013 11:57 pm
by williamconley
zaptel and dahdi are the same package. they had to rename it (that's a funny story by the way).

if you install zaptel, you're installing "old" dahdi and it may be necessary to downgrade libpri as well, but possibly not.

there is no other option except a massive rewrite of Vicidial as it relies heavily on meetme which require dahdi (or zaptel).

Re: OS X install

PostPosted: Sun Dec 22, 2013 10:53 pm
by mav2287
It looks like this may have to be ported over to OS X Dahdi seems to really be the only thing between me and a working vicidial install. I am going to keep hammering on it and see what I can find. I have found information about porting to OS X but I'm not sure how hard it will be or what it will entail. I think at this point it may be time get with someone who has experience in this area. Anyone know any programers who would be suited for this?

Re: OS X install

PostPosted: Mon Dec 23, 2013 12:18 am
by williamconley
Porting dahdi or zaptel to OS X would be best handled on an Asterisk forum.

Not a minor undertaking.

You could of course check out all the digium boards and see if you get lucky. And do remember that if someone ported Zaptel, we still have backwards compatibility with asterisk 1.2 which handles zaptel. And upgrading that port may be much less work than a full port of dahdi (if there is one, of course).

Re: OS X install

PostPosted: Mon Dec 23, 2013 11:21 am
by mav2287
As far as I can tell there isn't a port to dahdi and it seems that the zaptel port has disappeared. It also would have been for an older version of the darwin kernel so it may not even work. I have been surfing through the asterisk forums to see what I can find. The closest I have come is a discussion in a thread about the freebsd port that talked about a OS X port. The response was that the OS X guys should just use confbridge instead of meetme(). I am going to try to get in touch with some of the people who did the freeBSD port as that seems to be the best lead. Although I may just need to find someone with kernel module experience and pay them to port the thing.

Re: OS X install

PostPosted: Wed Dec 25, 2013 11:20 am
by mav2287
How hard would it be to switch vicidial over to confbridge? I know you said it would be a major rewrite, but how major would it be. Also what is needed from Libpri that vicidial needs?

Re: OS X install

PostPosted: Thu Dec 26, 2013 12:35 am
by williamconley
vicididial doesn't use libpri. asterisk does. you'll need to find out what libpri provides and see whether it is required for functions in asterisk that Vicidial uses. start by finding out what features/functions/modules in asterisk rely on libpri. Likely Dahdi.

Next you have confbridge vs meetme. Since all of Vicidial runs on meetme, you would need to rewrite every call to any meetme function (be it a change or merely an information request) to call the equivalent confbridge function instead. And don't forget to load test the confbridge functions to see if they are reliable when the dialer is making these requests at the nanosecond level (Vicidial's perl scripts use hi-res perl timing to keep the system pumping along at a good speed to avoid switching delays that are otherwise unacceptable without the hi-res timing).

that being said, if you skip the "logged in agent" functionality, there are no meetme rooms. remote agent functions can be used ... but nothing that allows real-time agent-viewing-client-data will work without the meetme room. NOY because they are connected directly, but because both are invoked at the same moment in different aspects of Vicidial (web vs dialer). The Agent Web Page (on the Web server, to view the client data) when logged in is activated at the same moment the meetme room is invoked on the Dialer. These functions do not interact directly, and they can happen on different hardware, but they do interact by passing data across the mysql db (rapidly) when they need to ask or tell the other something. Thus you could have a meetme room in a Linux dialer hardware while the agent screen resides in an OS X web server. If you get that stable ... start looking at Meetme vs confbridge. :)

Re: OS X install

PostPosted: Thu Dec 26, 2013 12:18 pm
by mav2287
What I will do is try to get a cluster running with everything but asterisk handled by the OS X server. Once that works we can start to look at confbridge. From what I am reading it is supposed to be an all round better alternative to conferencing. I have also found a couple company that have switched to it. I'll post back with the results of the cluster.

*UPDATE

I setup a vicibox iso preload iso install as virtual machine and clustered it with my scratch install on OS X. I am going to start handing functions off to the OS X server one piece at a time till I get to the point where asterisk is the only part left to be handed off. So far I have the OS X server as the DB machine and will be handing off the web interface next. I have ran though about 100 leads on it so far and it seems to be doing well. I will give updates as they come.

Re: OS X install

PostPosted: Fri Dec 27, 2013 10:49 pm
by mav2287
Did more testing tonight on the OS X server and it seems I have handed off most of the duties to the OS X server. The only real thing that Virtual Server is doing at this point is jus the Asterisk Side. The more I research the more it looks like to makes sense to look at dropping meetme. I found the following on a VOIP site. Haven't done much with it but I downloaded the zip package and had a look. Anyone seen this before or know about it?

Snapshot tested with Asterisk 1.2.8 designed as meetme replacement for VICIDIAL Dialer but should work with most Asterisk installs: http://www.eflo.net/files/VD_app_conference_0.6.zip - see below for more info

Re: OS X install

PostPosted: Fri Dec 27, 2013 11:33 pm
by williamconley
what matters is whether the command sequences are identical. if they are not ... there is a LONG road ahead. and if they are, then you'll just have to see how reliable it is under fire.

kinda like finding a brand new V12 Daimler-Benz engine sitting on the side of the road. Very cool ... unless you are driving a Tesla Model S ... in which case there's going to be a slight challenge putting it under the hood. LOL

Re: OS X install

PostPosted: Sat Dec 28, 2013 12:22 pm
by mav2287
As a car guy you just made my day, but as a car guy I would say rip the bats out of tesla and shove in the V12, LOL. Any how I found this thread viewtopic.php?t=8724 it looks confbridge may be a direct drop in replacement for meetme. I am going to setup a virtual machine start hacking on the code and see what happens. I'll let you know what progress I make. The real test if it works will be to test it under a load.

Re: OS X install

PostPosted: Sat Dec 28, 2013 12:48 pm
by williamconley
your link points to an asterisk 1.8 compatibility bounty post. it does not include any statement regarding conf_bridge being a drop-in replacement. it does, in fact, clearly state that there would be a lot of changes to Vicidial to use conf_bridge instead. I think you may have been reading with your V12 while Matt was writing with a hybrid 4 cylinder.

Re: OS X install

PostPosted: Sat Dec 28, 2013 1:09 pm
by mav2287
I see that now I was just glancing at it, however it does seem like it could be done. Matt has code in the SVN under the docs folder for app_conference. I am going to try to get a virtual machine running with it.

Re: OS X install

PostPosted: Sun Dec 29, 2013 10:24 pm
by williamconley
Sounds good. Love to hear how it goes. :)

Re: OS X install

PostPosted: Wed Jan 01, 2014 11:38 pm
by mav2287
Just wanted to give a quick update on progress with this project. Haven't had a lot of time to work on it but I am tinkering with it here and there. As far as the Conference app it looks like this hasn't been worked on by anyone in a long time. It also looks like it is going to be tough to get it working. I had some issues with the Makefile and I just don't have time right now to work on it and find out what is wrong.

Instead of working on that I started working on some of the cron task. The Kill and PS syntax in the ADMIN_keepalive_ALL.pl script did work in OS X so I tweaked them to make them work with OS X. I am now working on going through the other scripts in debug mode to make sure I don't need to tweak anything else for OS X. I had an issue when I tried to move the keep alive scripts to the OS X server where it said all the mysql ports were taken. I think it had to do with PS not working. If anyone would be interested in any of this I am thinking of re-writing the scratch install with notes on how to at least get as far as I have.

Re: OS X install

PostPosted: Thu Jan 02, 2014 11:34 pm
by williamconley
Do note that Vicidial mysql has a customized "my.cnf" which requires a massive number of connections. You'll want to be sure your mysql is modified accordingly.

Re: OS X install

PostPosted: Sat Jan 04, 2014 3:17 pm
by mav2287
I saw that. I noticed there are large, medium and small. For now I am just running the default vicibox one with a the correct paths to mysql for os X. The install so far has not been too awful and the changes so far haven't been too radical. It still looks like the big final hurdle though will be the meetme huddle. I am getting closer and closer on everything else. I am also putting together a scratch install guide for OS X in case someone else wants to give it a go.

Re: OS X install

PostPosted: Sat Jan 04, 2014 6:43 pm
by williamconley
Maybe you could purchase a digium board (they have some cheap ones) that requires DAHDI and put it in a server with OS X in it. Then they'd have to give you support and/or refund your money. And if they get Dahdi workin' on OS X, you can dupe it. :)

Re: OS X install

PostPosted: Mon Jan 06, 2014 12:30 am
by mav2287
I had some similar thoughts myself but it does't look like they would port it just because I wanna run it on OS X. LOL I had some emails back and forth the gentleman who ported Dahdi to freebsd and he said it was no simple task. It is starting to look like it would be easier to switch meetme to another conference engine that runs on OS X.

I did get a chance to do some more work on it this weekend. I had to make changes to the keep alive scripts because the PS function in OS X is like freebsd and it didn't like the default PS code. I am further along but it is doing some odd stuff. It will only rebuild the conf files for asterisk at a reboot and it keep kicking out a " WARNING[124]: app_voicemail.c:5233 inboxcount2: Failed to obtain database object for 'asterisk'!" error in the cli once a minutes with the sendcron and updatecron messages. The only thing I can come up with is that there must be some keep alive script that just isn't running right. It's a bit late and I don't have time tonight to read though the scripts and figure out which one updates the conf files. I think it will eventually just come down to finding a way to either force meetme to work in OS X or finding a suitable replacement conferencing function.

**UPDATE
I have the files updating fine it seems that asterisk is not re-reading them and updating. I am working right now to figure out why so I can knock it out.