VoIPowering Your Office: Setting up CallWeaver, the 'Better' Asterisk
http://www.enterprisenetworkingplanet.com/unified_communications/VoIPowering-Your-Office-Setting-up-CallWeaver-the-Better-Asterisk-3739606.htm
In our first two installments, we learned that Asterisk is not the only open source iPBX, but rather is the progenitor of a large clan, and that at least one of its descendants, CallWeaver, claims to deliver better performance and reliability than the patriarch. Then we walked through installing CallWeaver, which is a bit of an involved process, but not too bad. Today we'll configure it to start at boot, and run through some basic administration.
Documentation
CallWeaver's documentation is a bit sparse and not obvious to find. There is a doc/ directory in the source tarball chock full of read-mes and helpful notes. There also appears to be an administration manual of some kind, or at least scattered pieces of it, because I found a bunch of XML files and stylesheets and navigation GIFs that belong to an administration manual. But I couldn't find the actual manual anywhere. CallWeaver.org has some useful how-tos, and the CallWeaver on VoIP.org has a lot of good information. CallWeaver.org has a Wiki, so a nice thing to do is contribute your own useful how-tos and tips.Mailing lists and archives are at lists.callweaver.org/mailman/listinfo.
There is a man page for callweaver, but on my PCLinuxOS system it got installed into a non-standard directory, so the man page viewer couldn't find. A permanent fix is to copy it into the correct directory, or just give it the whole filepath:
$ man /usr/local/share/man/man8/callweaver.8
Starting CallWeaver
CallWeaver separates the daemon from the command console, so one way to start it and then enter the console is by using two commands:
# callweaver
# callweaver-cli
CallWeaver svn-1.2 SVN- http://www.callweaver.org - The True Open Source PBX
==================================================
Connected to CallWeaver CallWeaver svn-1.2 SVN- currently running on ripley (pid = 16654)
ripley*CLI>
You may also start both at once with the -c option:
# callweaver -c
CallWeaver svn-1.2 SVN- http://www.callweaver.org - The True Open Source PBX
=====================================================
Booting...Apr 4 12:13:06 NOTICE[3080472256]: cdr.c:1155 do_reload: CDR simple logging enabled.
Apr 4 12:13:06 NOTICE[3080472256]: udptl.c:1029 opbx_udptl_proto_register: Registering UDPTL protocol.
Apr 4 12:13:06 NOTICE[3080472256]: app_nconference.c:78 load_module: Loading NConference module
........]
CallWeaver Ready.
*CLI>
The advantage of starting the daemon separately is you can exit or quit the CallWeaver CLI without stopping the daemon. Add one or more -v to turn on increasing levels of verbosity. Now what? Run it just like Asterisk. You can see a summary of all the available commands:
*CLI> help
! Execute a shell command
abort halt Cancel a running halt
add extension Add new extension into context
add ignorepat Add new ignore pattern
[...]
Or get more information about individual commands:
*CLI> help sip show subscriptions
Usage: sip show subscriptions
Shows active SIP subscriptions for extension states
And it's nice to know what applications are available:
*CLI> show applications
-= Registered CallWeaver Applications =-
ADSIProg (0x1c635953): Load CallWeaver ADSI Scripts into phone
AbsoluteTimeout (0x16d96f4a): Set absolute maximum time of call
AddQueueMember (0x6050578a): Dynamically adds queue members
[...]
Starting at Boot
CallWeaver's installer does not set up any startup files, but there is a batch of example startup files for different Linux distributions in the source tarball. Look in the contrib/init.d/ directory, and you'll find init scripts for Debian, Gentoo, Mandrake, Red Hat, Slackware, and SUSE.You'll have to make a number of changes. For starters, you'll probably want your configuration files to go in /etc/callweaver instead of /usr/local/etc/callweaver/. Then you'll have to modify the init script so that it has the correct file locations; for example, the installer put the callweaver command into /usr/local/sbin/, but the init scripts look for it in /usr/sbin/. This is pretty much what you have to with a source Asterisk installation, so it should be familiar ground for Asterisk users.