VICIdial without Meetme

Discussions about new features or changes in existing features

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

VICIdial without Meetme

Postby mav2287 » Thu Jan 16, 2014 12:33 pm

I have been working on a little pet project to get VICIdial to run on a Apple OS X server. So far it has actually gone rather well. There are a few bugs to chase out, but it is running smoothly. The only thing this box can't do is be the asterisk server, because dahdi won't install on OS X due to kernel issues. I found some documentation on using the conference app instead of meetme, but it seems outdated. I wanted to see if any work has been done to use a different conferencing app other than Meetme with VICIdial.

OS X install thread
http://www.vicidial.org/VICIDIALforum/v ... =4&t=32317
ViciBox5.x86_64-5.0.3.preload from .iso upgraded to 13.1 | VERSION: 2.10-444c BUILD: 150129-0828 | 1.8.32.2-vici | Dual Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel twin quad core 3Ghz Xeon chips | 32gb of RAM
mav2287
 
Posts: 256
Joined: Thu Oct 03, 2013 6:47 pm

Re: VICIdial without Meetme

Postby mflorell » Thu Jan 16, 2014 2:50 pm

I got app_conference working several years ago, but abandoned it because it had the same problem of all non-hardware-timer conferencing engines, at higher loads the audio went bad and all recordings associated with the conference went bad too. This doesn't happen with meetme, and I haven't found another engine that works at high load as well as meetme does.
mflorell
Site Admin
 
Posts: 18338
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: VICIdial without Meetme

Postby mav2287 » Thu Jan 16, 2014 4:00 pm

Matt you must have know that this thread was aimed at you a bit. I have tried for a few weeks now to find a way to get dahdi to install on OS X, but the issue seems to be that it wants to create a kernel module and can't with the darwin kernel. I was hoping that there would be a way to switch from meetme to something like conf_bridge without a ton of trouble as we aren't using hardware timers. The only other way I can see to complete the install would be to find a way to install dahdi without installing the kernel module, however if my understanding of dahdi is correct then it wouldn't work.
ViciBox5.x86_64-5.0.3.preload from .iso upgraded to 13.1 | VERSION: 2.10-444c BUILD: 150129-0828 | 1.8.32.2-vici | Dual Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel twin quad core 3Ghz Xeon chips | 32gb of RAM
mav2287
 
Posts: 256
Joined: Thu Oct 03, 2013 6:47 pm

Re: VICIdial without Meetme

Postby mflorell » Sat Jan 18, 2014 8:25 am

I really haven't done anything recently on this, nothing even since Dahdi was forked from zaptel. The issue with all software timers becoming unreliable at even moderate loads kind of killed any hope of using them with Vicidial, so I stopped trying and focused on other development.

I will say that app_conference did work, it had all of the functions of a normal Vicidial server and was essentially a drop-in replacement for meetme. Unfortunately, when we got to about 75% of the load that a meetme system could handle we began to have recording problems, then with just a little more load the agents began to report audio problems. That's what killed it.
mflorell
Site Admin
 
Posts: 18338
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: VICIdial without Meetme

Postby mav2287 » Sun Jan 19, 2014 2:19 am

If it will still work with asterisk 1.8 and the current version of VICIdial it will definitely be worth the 25% loss. It would be one of the final pieces of the puzzle to complete the port to OS X. I can then easily get around the 75% issue by just clustering servers. I tried to install App_conference with no luck even after playing with the 64 Makefile. I included the output below, I'm not sure what is causing the issues but it does't seem to like the include files. I tried to run the make file on a regular VICIbox install and it also kicked out lot of errors. Those are included below as well.

Code: Select all
bash-3.2# make
gcc -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations -g  -I/usr/local/include/asterisk/ -D_REENTRANT -D_GNU_SOURCE  -DCRYPTO -DAPP_CONFERENCE_DEBUG -Ilibspeex -DSILDET=2   -c -o app_conference.o app_conference.c
In file included from /usr/include/sys/time.h:198,
                 from /usr/local/include/asterisk/abstract_jb.h:33,
                 from /usr/local/include/asterisk/channel.h:126,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/time.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_sec’
/usr/local/include/asterisk/time.h:45: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_sec’
/usr/local/include/asterisk/time.h:64: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_us’
/usr/local/include/asterisk/time.h:64: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_us’
/usr/local/include/asterisk/time.h:78: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_ms’
/usr/local/include/asterisk/time.h:78: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_tvdiff_ms’
In file included from /usr/local/include/asterisk/abstract_jb.h:35,
                 from /usr/local/include/asterisk/channel.h:126,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/frame_defs.h:32: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘format_t’
In file included from /usr/local/include/asterisk/channel.h:126,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/abstract_jb.h:100: error: expected specifier-qualifier-list before ‘format_t’
In file included from /usr/local/include/asterisk/astobj2.h:20,
                 from /usr/local/include/asterisk/channel.h:127,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/compat.h:97: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘htonll’
/usr/local/include/asterisk/compat.h:105: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ntohll’
/usr/local/include/asterisk/compat.h:129: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘strtoq’
/usr/local/include/asterisk/compat.h:141: error: expected identifier or ‘(’ before ‘do’
/usr/local/include/asterisk/compat.h:141: error: expected identifier or ‘(’ before ‘while’
In file included from /usr/local/include/asterisk/channel.h:129,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/poll-compat.h:99: error: redefinition of ‘struct pollfd’
In file included from /usr/local/include/asterisk/channel.h:141,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/frame.h:39: error: ‘format_t’ undeclared here (not in a function)
/usr/local/include/asterisk/frame.h:137: error: expected specifier-qualifier-list before ‘format_t’
/usr/local/include/asterisk/frame.h:525: error: expected specifier-qualifier-list before ‘format_t’
/usr/local/include/asterisk/frame.h:598: error: expected ‘)’ before ‘format’
/usr/local/include/asterisk/frame.h:608: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:615: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_getformatbyname’
/usr/local/include/asterisk/frame.h:622: error: expected ‘)’ before ‘codec’
/usr/local/include/asterisk/frame.h:698: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_codec_pref_index’
/usr/local/include/asterisk/frame.h:701: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:705: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:709: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:714: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_codec_choose’
/usr/local/include/asterisk/frame.h:718: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:722: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:729: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/frame.h:749: error: expected ‘)’ before ‘format’
/usr/local/include/asterisk/frame.h:756: error: expected ‘)’ before ‘format’
/usr/local/include/asterisk/frame.h:783: error: expected ‘)’ before ‘format’
In file included from /usr/local/include/asterisk/cdr.h:31,
                 from /usr/local/include/asterisk/channel.h:146,
                 from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/data.h:811: error: expected declaration specifiers or ‘...’ before ‘format_t’
In file included from /usr/local/include/asterisk/pbx.h:26,
                 from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/channel.h:511: error: expected specifier-qualifier-list before ‘format_t’
/usr/local/include/asterisk/channel.h:837: error: expected specifier-qualifier-list before ‘format_t’
/usr/local/include/asterisk/channel.h:1326: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:1344: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:1362: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:1375: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:1817: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:1826: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/channel.h:2095: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_best_codec’
In file included from app_conference.h:25,
                 from app_conference.c:19:
/usr/local/include/asterisk/pbx.h:916: error: expected declaration specifiers or ‘...’ before ‘format_t’
/usr/local/include/asterisk/pbx.h:920: error: expected declaration specifiers or ‘...’ before ‘format_t’
In file included from app_conference.h:32,
                 from app_conference.c:19:
/usr/local/include/asterisk/translate.h:73: error: expected specifier-qualifier-list before ‘format_t’
/usr/local/include/asterisk/translate.h:206: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_translator_best_choice’
/usr/local/include/asterisk/translate.h:215: error: expected ‘)’ before ‘dest’
/usr/local/include/asterisk/translate.h:241: error: expected ‘)’ before ‘dest’
/usr/local/include/asterisk/translate.h:255: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ast_translate_available_formats’
In file included from app_conference.h:38,
                 from app_conference.c:19:
/usr/include/stdlib.h:177: error: conflicting types for ‘realloc’
/usr/local/include/asterisk/utils.h:526: error: previous implicit declaration of ‘realloc’ was here
app_conference.c:51: warning: data definition has no type or storage class
app_conference.c:51: warning: type defaults to ‘int’ in declaration of ‘STANDARD_LOCAL_USER’
app_conference.c:52: warning: data definition has no type or storage class
app_conference.c:52: warning: type defaults to ‘int’ in declaration of ‘LOCAL_USER_DECL’
app_conference.c:55: warning: no previous prototype for ‘unload_module’
app_conference.c: In function ‘unload_module’:
app_conference.c:58: error: ‘STANDARD_HANGUP_LOCALUSERS’ undeclared (first use in this function)
app_conference.c:58: error: (Each undeclared identifier is reported only once
app_conference.c:58: error: for each function it appears in.)
app_conference.c: At top level:
app_conference.c:67: warning: no previous prototype for ‘load_module’
app_conference.c: In function ‘load_module’:
app_conference.c:76: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type
app_conference.c: At top level:
app_conference.c:80: warning: no previous prototype for ‘description’
app_conference.c:85: warning: no previous prototype for ‘usecount’
app_conference.c: In function ‘usecount’:
app_conference.c:87: warning: implicit declaration of function ‘STANDARD_USECOUNT’
app_conference.c: At top level:
app_conference.c:92: warning: no previous prototype for ‘key’
app_conference.c: In function ‘app_conference_main’:
app_conference.c:106: warning: implicit declaration of function ‘LOCAL_USER_ADD’
app_conference.c:112: warning: implicit declaration of function ‘LOCAL_USER_REMOVE’
make: *** [app_conference.o] Error 1
ViciBox5.x86_64-5.0.3.preload from .iso upgraded to 13.1 | VERSION: 2.10-444c BUILD: 150129-0828 | 1.8.32.2-vici | Dual Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel twin quad core 3Ghz Xeon chips | 32gb of RAM
mav2287
 
Posts: 256
Joined: Thu Oct 03, 2013 6:47 pm

Re: VICIdial without Meetme

Postby mav2287 » Wed Jan 22, 2014 1:58 pm

I have been beating on this for a little while now and I have made it further than before. I used some information from this site http://edmundlong.com/edsBlog/installing-and-customising-app-conference-vicidial/. It seems that this version of app_conference was preferred by this user and got me a bit further down the road.

The number of errors has dropped and I am trying to figure out how to either get around them or fix them. This is the output now.

Code: Select all
bash-3.2# make clean
rm -f *.so *.o app_conference.o conference.o member.o frame.o cli.o libspeex/preprocess.o libspeex/misc.o libspeex/smallft.o
bash-3.2# make
gcc -pipe -fPIC -Wall -Wmissing-prototypes -Wmissing-declarations -g   -D_REENTRANT -D_GNU_SOURCE  -DCRYPTO -DAPP_CONFERENCE_DEBUG -Ilibspeex -DSILDET=2   -c -o app_conference.o app_conference.c
app_conference.c: In function ‘load_module’:
app_conference.c:77: warning: passing argument 2 of ‘ast_register_application2’ from incompatible pointer type
app_conference.c: In function ‘usecount’:
app_conference.c:87: warning: implicit declaration of function ‘STANDARD_USECOUNT’
app_conference.c: At top level:
app_conference.c:100: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘int’
make: *** [app_conference.o] Error 1
bash-3.2#


I am by no means an asterisk expert so I am trying to patch up and fix it so it will work with 1.8. If anyone has any information that may help me I would really appreciate it.
ViciBox5.x86_64-5.0.3.preload from .iso upgraded to 13.1 | VERSION: 2.10-444c BUILD: 150129-0828 | 1.8.32.2-vici | Dual Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel twin quad core 3Ghz Xeon chips | 32gb of RAM
mav2287
 
Posts: 256
Joined: Thu Oct 03, 2013 6:47 pm

Re: VICIdial without Meetme

Postby williamconley » Fri May 09, 2014 12:46 pm

you should take this to a C forum (not related to asterisk or vicidial, it's purely a compiling issue ...).
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)

Re: VICIdial without Meetme

Postby junglejuniors » Sat May 17, 2014 2:43 am

The only thing this box can't do is be the asterisk server, because dahdi won't install on OS X due to kernel issues. I found some documentation on using the conference app instead of meetme, but it seems outdated.


nanny jobs sydney
junglejuniors
 
Posts: 1
Joined: Sat May 17, 2014 2:41 am

Re: VICIdial without Meetme

Postby mflorell » Sat May 17, 2014 6:03 am

You could always try using Asterisk 1.4.21.2 and the last zaptel version drivers. It will install on several Linux kernels that won't take DAHDI.
mflorell
Site Admin
 
Posts: 18338
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Re: VICIdial without Meetme

Postby mav2287 » Tue May 20, 2014 1:17 pm

I did look at that option I also talked to the guy that ported the zaptel drivers to BSD as it is OS X's closest relative. He thought that they were still too far apart to be able to use it as a starting point. He said that the only way it would work is if the whole DAHDI framework was ported over. I am still using my OS X server right now that does everything except asterisk due to the conferencing issue. My work around was to have a linux server clustered to it that does asterisk.

I think that if conference app was patched up and installed I would be good to go and could finish the port. I will most likely have to come back to it when I have more time. One of the big issues I found is that the conference app was written for a different version of Asterisk so the hooks don't work and things would have to be updated in the code for it to compile. I have thought about funding the project and just paying to have it done, but I don't know who would be able to take something like that on and what the cost would be.
ViciBox5.x86_64-5.0.3.preload from .iso upgraded to 13.1 | VERSION: 2.10-444c BUILD: 150129-0828 | 1.8.32.2-vici | Dual Server | No Digium/Sangoma Hardware | No Extra Software After Installation | Intel twin quad core 3Ghz Xeon chips | 32gb of RAM
mav2287
 
Posts: 256
Joined: Thu Oct 03, 2013 6:47 pm

Re: VICIdial without Meetme

Postby williamconley » Tue Jun 10, 2014 2:31 am

So ... was your final question there related to porting dahdi (so this would be pure vicidial in the end) or the conference app (which would then require re-writing vicidial to also work with the conference app)?

Note that Vicidial still works with asterisk 1.2 (last time I checked), so an older version of zaptel would be viable if it was already ported. Don't know if anyone did. But in the end, for this to be a functional forward port, it really should be dahdi. I wouldn't expect it under 5k unless you go to india and the likely result there would be someone walking away with the money (after a low-ball bid) and never delivering.
Vicidial Installation and Repair, plus Hosting and Colocation
Newest Product: Vicidial Agent Only Beep - Beta
http://www.PoundTeam.com # 352-269-0000 # +44(203) 769-2294
williamconley
 
Posts: 20019
Joined: Wed Oct 31, 2007 4:17 pm
Location: Davenport, FL (By Disney!)


Return to Features

Who is online

Users browsing this forum: No registered users and 26 guests