Why Migrating?
People on italian forum say i’m crazy moving from asterisk to callweaver right now that asterisk is having a lot of cool features. Well i need a PBX not a funny deamon that interface with everything except doing a PBX job.
I migrate because:- need STUN support;
- need T38 working;
- need a reliable way to send/receive faxes;
- need MOH not chopping when someone calls me via SIP provider;
- need someone to listen to my needs and watch my tickets (Digium is just good to close the tickets 30 seconds after you opened it);
- need my patches to be integrated;
- don’t like Digium licensing stuffs;
- need my SIP clients do not freeze when DSL is down due to DNS blocking stuffs;
Migration steps
I wrote this document while i’m migrating all my dialpan, AGI, scripts and GUI for a PBX from Asterisk to Callweaver.
You got your callweaver daemon up and running, isn’t it quite exiciting yeah? Now i’m sure you want to have your old Asterisk things, macro and stuffs up and running again, right? Well, i’ll try to tell you here wich are the steps you have to perform to do this.
1. Directory structure
The directory names has just changed in a way that every occurrence of the word “asterisk” has been renamed in “callweaver”, then just copy all your old config files from /etc/asterisk/ to /etc/callweaver/
If you want to reuse your old sound files just hack callweaver.conf for their path or symlink the whole old asterisk directory to the new one. At this moment, sound files seems pretty compatible between the two softwares.
2. The dialplan
Callweaver is a fork from Asterisk 1.2 so it is enough easy to migrate from this version of Asterisk since there are only a small set of changes you have to perform to have your system back to work:
- AGI: rename the AGI command as OGI and you’re done;
- Macro: in the same way Macro has been renamed Proc;
- Macro Names: be sure to rename all your [macro-whatever] to [proc-whatever] in your dialplan so the Proc application can find them.
- Macro Variables: all of the special MACRO_WHATEVER variables available in macros have been renamed to PROC_WHATEVER. These include MACRO_EXTEN, MACRO_CONTEXT, MACRO_OFFSET, and MACRO_PRIORITY. Rename these as well.
- application names are now case sensitives, so change PlaYBaCK with PlayBack or it will not work;
- parameters are now comma separate instead of separated with pipes, check all you’re old Macro and AGI calls;
- Newman Technology’s apps for fax/voice detection has been ported and now are native callweave’s application, they have been named: FaxDetect and BackgroundDetect
- if you had in the past some exotic use for SendURL or SendImage they are not inside current CallWeaver release;
- CAREFULLY check the options of your Dial command, for example “R” works really different in CallWeaver, please check output of show application Dial of Asterisk and CallWeaver and compare them, then change your Dialplan to migrate it;
- when you use the Dial command make sure you don’t have a trailing “&” when you concatenate multiple devices, in asterisk this will work in CallWeaver can cause problems; check your dialplan for trailing characters;
- the command System should be used with this syntax:
System("sudo -u root /usr/local/bin/myscript '${VAR1}' '${VAR2}'")please not the use of doublequotes at the begin of the command and singlequotes to separate each arg that can become an empty string;
To automatically check for those topics you can use the script ./contrib/scripts/chkDialplan.pl from the callweaver source directory
2.1 Tips
- If you are using PlayTones in asterisk 1.2 as workaround against buggy Congestion() and Busy() behaviour, then notice that this has been fixed in CallWeaver, so replace:
exten => s,n,PlayTones(congestion)
exten => s,n,Congestion(7)
or
exten => s,n,PlayTones(busy)
exten => s,n,Busy(7)
simply removing (or commenting out) the PlayTones command
3. from Asterisk.pm to Callweaver.pm
If you’re using asterisk-perl for writing AGI in Perl there is a slight little incompatiblity: inside callweaver source direcectory check for “contrib” and “ogi-perl”. Just install this perl modules and port your old AGI to OGI.- rename the use Asterisk.pm; as use Callweaver.pm; ;
4. The other config files
- sip.conf include STUN support, don’t forget to set the new parameter for the stun server, it rocks!
5. Sound Files
Position of sound file has changed for digits, letters and other stuffs that can be used for example from the voicemail:- in asterisk you have
sounds/digits/en, move them likesounds/en/digitsand it will works;
Incompatibilities
Installation from source code
- in asterisk you have to use
make samplesto install config files; with CallWeaver those are installed, if not already presents, usingmake install; remember to cleanup them under/etc/callweaverif you don’t want them.
Behaviours
- SNOM BFL stop to working if using
reloadfrom CLI, to have them working you need to resync/restart the phone or userestartfrom CLI and of course set your phone timeouts; other option is to upgrade the firmware to beta 6.5.12 but this is not available for Snom300;
- SNOM pickup pushing a BFL is not supported, you have to upgrade to beta 6.5.12 but this is not available for Snom300;
mISDN
mISDN is a pain under CallWeaver since the core has changed and the chan_misdn suffer from this; also there are too few developer inside CW project to support this in a decent (for production use) way.
You can find a working mISDN here: svn co http://svn.callweaver.org/callweaver/branches/agx/
Or you have to find a way to use mISDN in some other way (Bristuff, VISDN, piped to asterisk, Patton BRI GW, etc.)
![Home wiki [home]](../../images/logo__q__1180520111.png)
RSS Feeds