Thirdlane PBX is a professional GUI management tool for Asterisk. There is a multi-tenant version available.
Searching with google may be preferable to the built-in forum search. Preface a google search with:
site:http://www.thirdlane.com/forum
Licenses are keyed to a hardware MAC address.
If you install the PBX from the .iso, a 30-day license is created.
If you create a backup, then delete these files from the .tar.gz, the temporary license will not be overwritten:
/etc/webmin/asterisk/license-data /etc/webmin/asterisk/pbxmanager.license
You can spoof the hardware MAC address after a hardware change.
vim /etc/rc.local ifconfig eth0 down hw ether 00:07:E9:DA:56:01 #specify desired MAC address ifconfig eth0 up
From 'Home' page, click the 'check for updates link.
There is always a chance that something will break.
Don't forget to reload.
Be very careful about upgrading the host OS or Asterisk. Avoid doing so if possible.
This probably doesn't apply if you used the Thirdlane ISO to install the PBX.
For asterisk and asterisk-addons you should:
make distclean ./configure make menuselect make make install
Enter 'pbx-help' at the command line for a list of some tools.
Thirdlane can be installed via an ISO (CD) that packages CentOS, Asterisk and various goodies such as vTiger CRM and the Thirdlane web management interface. Or, you can install any Linux, Asterisk, Webmin plus the Thirdlane Webmin GUI module.
Thirdlane maintains a CentOS 5 repository so updates are easier than before (untested).
Configure a static IP address and default route.
Setup DNS to resolve host 'pbx' to the internal IP address.
yum update -y
If you install via the Thirdlane ISO, the default MySQL password is “passw0rd”.
Root password is empty unless you set it:
mysqladmin -u root password 'mypassword'
Reset lost mysql root password:
service mysqld stop mysqld_safe --skip-grant-tables & mysql -u root use mysql; update user set password=PASSWORD("new-password-here") where User='root'; flush privileges; quit service mysqld restart
No installation required when using the ISO install as the ISO uses RPM-based packages and Thirdlane repo.
See DAHDI
Make PBX ntp server for phone network:
vim /etc/ntp.conf # Hosts on local network are less restricted. restrict 192.168.30.0 mask 255.255.255.0 nomodify notrap broadcast 192.168.30.255 service ntpd restart netstat -uapn|grep 123
See Music on Hold
Branding Upload Logo (150x60 px) Logo URL Network eth0 (LAN) Addressing 192.168.1.30 Hostname FQDN DNS Domain Postfix SMTP address rewriting iPBX@sonoracomm.com domain name of owner important for mail relaying Provisioning TFTP, HTTP and FTP all enabled by default This server's address - enter server IP address external server IP if it has one Preferences Color - Lilac License Upload the license file sent by Thirdlane
Default Values Caller ID Default Script Distinctive Ring yes Internal (Polycom) Voicemail Template Probably OK as-is Phone Template Global Variables OPERATOR RECORDING_FORMAT (wav for non-MS) Schedules tl-off-hours Office Closed Hours 00:00-07:59 17:00-23:59 holidays
Music on Hold Use 'default' or create a new playlist Default MoH is not random Delete songs you don't like Delete all but 'morning coffee' and/or 'simplicity' Add songs you do like to a new playlist
Create a trunk Name your first trunk 'G0' (case sensitive)
http://www.sonoracomm.com/support/20-voice-support/154-mediatrix-1204
http://lists.digium.com/pipermail/asterisk-users/2004-February/028568.html
Create a trunk Mediatrix gateway is SIP trunk Name, Description, Host, Codecs No authentication Routes -> Inbound Routes Create a new inbound route Choose a DID number to use (such as 999)
Also, you can create a new Feature extension and use that. Security implications?
On the Mediatrix 1204 gateway No authentication Point ports to extension 999 on server for inbound calls See setup info on web site for SAIL Logging Device Info -> Monitoring Enable syslog to PBX IP On PBX, enable remote logging vi /etc/sysconfig/syslog add '-r' to SYSLOGD_OPTIONS service syslog restart
You can use Vitelity either as a registered or an IP-routed trunk. Vitelity recommends using the more efficient IP-routed method to connect PBXs with static IPs.
IP-routed method shown here with separate trunks for inbound and outbound.
Note that you can only manipulate outbound caller ID if using IP routing. If using registration, specify the desired CLID in the Vitelity Portal Subaccount.
Create SIP Trunk Name: vitel-inbound Description: Vitelity Inbound SIP Trunk Host: inbound23.vitelity.net Direction: Inbound Context: from-outside Caller ID: Company Name <NXXNXXXXXX> Codecs: G.711u, G.729, GSM # order by preference DTMF mode: Auto Other options: insecure=very Provider's web site https://portal.vitelity.net
Clone the inbound trunk to create the outbound trunk:
Name: vitel-outbound Host: <outbound_ip_address> Description: Vitelity Outbound SIP Trunk Direction: Outbound Context: from-inside Codecs: G.711u, G.729, GSM DTMF mode: Auto Provider's web site https://portal.vitelity.net
You can create a new inbound route for an extension, but it is easier to just add the DID number in the User Extension instead of doing this.
http://www.thirdlane.com/forum/selective-call-recording-by-pressing-9
Feature Codes _8NXXX tl-transfer-to-voicemail, enter '1' and 'u', Forward to VM *96 Close Office During Normally Open Hours (operator), closeoffice *97 Reopens Office During Normally Open Hours (operator), openoffice
Auto-Provisioning Configure or fine-tune phones and MAC addresses Hit 'Provision Selected' to actually create config files and reboot phones
Tools -> Backup Create user on SME Server Enable FTP on SME Server Schedule backup Simple -> Daily FTP Server -> <ftp_server_name> File on FTP Server -> /path/to/your/backup.thirdlane.tar.gz
I also had to edit root's crontab to suppress useless e-mail messages sent nightly:
crontab -e @daily /etc/webmin/asterisk/backup.pl >/dev/null 2>&1
Asterisk CLI problem after restore:
Edit the path in asterisk.conf to say /var/run/asterisk and restart:
vim /etc/asterisk/asterisk.conf pbxportal kill pbxportal start rm /var/run/asterisk.* asterisk -vvvvvvvr
Fail2Ban is installed by default using TL ISO 2.0+.
Fail2ban can complicate troubleshooting, so check it!
vim /etc/arno-iptables-firewall/firewall.conf OPEN_TCP="2222" OPEN_UDP="4569,5060-5061,10000-20000" HOST_OPEN_TCP="209.193.93.158~80,443,10000 209.193.64.254~80,443,10000 70.162.22.135~80,443,10000 209.193.64.2~80,443,10000" iptables -nL |grep ACCEPT ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:2222 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:4569 ACCEPT tcp -- 209.193.93.158 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 209.193.93.158 0.0.0.0/0 tcp dpt:443 ACCEPT tcp -- 209.193.93.158 0.0.0.0/0 tcp dpt:10000 ACCEPT tcp -- 209.193.64.254 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 209.193.64.254 0.0.0.0/0 tcp dpt:443 ACCEPT tcp -- 209.193.64.254 0.0.0.0/0 tcp dpt:10000 ACCEPT tcp -- 70.162.22.135 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 70.162.22.135 0.0.0.0/0 tcp dpt:443 ACCEPT tcp -- 70.162.22.135 0.0.0.0/0 tcp dpt:10000 ACCEPT tcp -- 209.193.64.2 0.0.0.0/0 tcp dpt:80 ACCEPT tcp -- 209.193.64.2 0.0.0.0/0 tcp dpt:443 ACCEPT tcp -- 209.193.64.2 0.0.0.0/0 tcp dpt:10000
http://wiki.centos.org/HowTos/Network/IPTables
Run iptables commands, then issue:
service iptables save
or
iptables-save > /etc/sysconfig/iptables
Restore saved rules like this:
iptables-restore
Voice Recordings Upload two .gsm files to /var/lib/asterisk/sounds/ogm/ offices-open.gsm offices-closed.gsm
http://www.asterisk.org/docs/asterisk/trunk/applications/directory
If you want to announce the extension number to the callers, and dial by first name, clone the script tl-directory into tl-directory-first-ext.
To clone a script on Web Interface menu go to PBX Settings > Script Library > choose script to clone and use button at the bottom of the page.
Add '|ef' to the options:
exten => s,2,Directory(default${TL_DASH}${tenant},local-extensions${TL_DASH}${tenant}|ef)
Once the script is created, add a feature code that uses the new script. Then you can use it in IVRs.
To forward administrative mail to a real user, edit /etc/aliases
:
vi /etc/aliases
Edit the bottom of the file:
# Person who should get root's mail root: you@your.domain
Then run the newaliases
command to activate the changes:
newaliases
See also Postfix Authenticated Smarthost
http://www.cyberciti.biz/faq/postfix-smtp-authentication-for-mail-servers/
http://www.dnsexit.com/support/mailrelay/postfix.html
ISO 2.0 install includes the Postfix MTA, so we tweak it to forward mail to a smarthost rather than configure everything necessary for a full-blown mail server.
Set the From Address for messages from the PBX:
System Settings → Network Settings → Postfix SMTP rewriting → iPBX@sonoracomm.com
Edit voicemail.conf
. Set format for e-mail attachments to 'wav'.
volgain=6.0 # TDM400P card serveremail=SonoraPBX minsecs=5 # was 'minmessage' - adjust to get rid of hangups fromstring=The Sonora iPBX emailbody= (change 'Thirdlane' to 'SonoraPBX') tz=arizona [zonemessages] arizona=America/Phoenix|'vm-received' Q 'digits/at' IMp
TDM (FXO) cards don't like to share a hardware interrupt.
Check for shared IRQ:
lspci -vb
Run fxotune
to tune the TDM card to the actual phone lines connected.
fxotune
to modify the config fileShut down Asterisk, then:
fxotune -i 4 cat /etc/fxotune.conf
Run this to set the running configuration to the settings in /etc/fxotune.conf
(created by fxotune -i 4):
fxotune -s
Normally, fxotune -s is run by Zapata startup.
Restart Asterisk.
http://www.thirdlane.com/forum/ftp
cd /home/PlcmSpIp/ # For older Polycoms such as 301, 501 and 4000 wget http://downloads.polycom.com/voice/voip/sp_ss_sip/spip_ssip_3_1_7_legacy_release_sig_combined.zip wget http://downloads.polycom.com/voice/voip/sp_ss_bootrom/spip_ssip_vvx_BootROM_4_1_4_release_sig.zip unzip spip_ssip_3_1_7_legacy_release_sig_combined.zip unzip spip_ssip_vvx_BootROM_4_1_4_release_sig.zip # For newer phones - don't use the latest as it doesn't work with TL provisioning yet wget http://downloads.polycom.com/voice/voip/sp_ss_sip/spip_ssip_vvx_3_2_5_release_sig_split.zip wget http://downloads.polycom.com/voice/voip/sp_ss_bootrom/spip_ssip_BootROM_4_3_0_release_sig.zip chown -R PlcmSpIp.PlcmSpIp *
Polycom Inter-Digit Timeout
Use 'Split' firmware as long as BootRom is v 4.0 or above.
cd /home/PlcmSpIp/ wget http://downloads.polycom.com/voice/voip/sp_ss_bootrom/spip_ssip_BootROM_4_3_0_release_sig.zip wget http://downloads.polycom.com/voice/voip/sp_ss_sip/spip_ssip_vvx_3_2_5_release_sig_split.zip unzip spip_ssip_BootROM_4_3_0_release_sig.zip unzip spip_ssip_vvx_3_2_5_release_sig_split.zip
Thirdlane generates these config files based on templates in /etc/asterisk/provisioning
${mac} (lists config files to be read - static) ${mac}-registration.cfg (per-phone (line) settings) local-settings.cfg (per-installation site-wide settings) sip.cfg (static)
Each phone generates this override config file for user-changed settings in /tftpboot:
OVERRIDES/${mac}-phone.cfg
Copy /etc/asterisk/provisioning/models.txt to /etc/asterisk/user_provisioning/ and delete all models not being modified. 'user_provisioning' folder will not be overwritten upon TL upgrades and will override 'provisioning' templates.
cp -a /etc/asterisk/provisioning/models.txt /etc/asterisk/user_provisioning/ vim /etc/asterisk/user_provisioning/models.txt cp -a /etc/asterisk/provisioning/models.txt /etc/asterisk/user_provisioning/ cp -a /etc/asterisk/provisioning/polycom_* /etc/asterisk/user_provisioning/
To program the second and third line keys for other functions, specify the number of line keys as 1.
http://www.thirdlane.com/forum/custom-polycom-soft-key-programming
Edit /etc/asterisk/user_provisioning/polycom_mac.cfg:
Modify for current version of firmware (change 313 to 317) to fix error 0x20.
Edit /etc/asterisk/user_provisioning/polycom_local.cfg:
Verify that the phone will dial *97 to check voicemail:
msg.mwi.1.callBack="*97"
feature.1.enabled="1" softkey.feature.mystatus="1"
Use these settings to override DHCP for NTP:
<TCP_IP> <SNTP tcpIpApp.sntp.resyncPeriod="14400" tcpIpApp.sntp.address="192.168.1.30" tcpIpApp.sntp.address.overrideDHCP="1" tcpIpApp.sntp.gmtOffset="-25200" tcpIpApp.sntp.gmtOffset.overrideDHCP="1" tcpIpApp.sntp.daylightSavings.enable="0"/> </TCP_IP>
Adjust the phone's digitmap as needed. These settings require hitting 'send' for all calls:
dialplan.digitmap="" dialplan.impossibleMatchHandling="2"
Format Filesystem on phone to test configuration file changes.
Check Voicemail
*97 - feature code - check your own mailbox _*85NNNN - Check mailbox NNNN ????
Assign fewer lines to phones in order to leave buttons free for programming.
cp -a /tftpboot/000000000000-directory~.xml /tftpboot/000000000000-directory.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <directory> <item_list> <item> <fn>Park</fn> <ct>700</ct> <sd>1</sd> <rt>1</rt> </item> <item> <fn>Page</fn> <ctfn>*98</ct> <sd>2</sd> <rt>1</rt> </item> </item_list> </directory>
http://www.thirdlane.com/forum/shared-line-appearances
Assign fewer lines (1) to leave buttons free for programming in Tools → Auto-Provisioning.
Polycom - Not yet working for line buttons, only expansion? May work soon…
Unused line keys are automatically populated with speed-dial contacts based on their speed dial index number. It is the same way you populate the expansion module.
These settings are needed and are default in /etc/asterisk/user_provisioning/polycom_local.cfg:
feature.1.name="presence" feature.1.enabled="1"
Also:
Works as a standalone application or as an Outlook toolbar.
http://www.thirdlane.com/downloads/DialerSetup20.exe
http://www.thirdlane.com/products/thirdlane-dialer/configuration
yum install vtigercrm-ast-en
yum install openfire