Mail Server Appliance
This draft of project description!
Firstly on synchro ethernet 100/100 mbit on IBM Netfinity 7100 on 6 SCSI Raid disks on bare metal, next in virtualized appliance using VMware Server, then few different Polish hosting providers like nh.idn.net.pl?? lh.pl kei.pl hosteam.pl biznes-host.pl VPS hetzner dedicated server
- SMTP side was always based on Postfix
- IMAP side was firstly on Courier-IMAP and later Dovecot 2.0
- Antivirus - ClamAV
- Antispam - Spamassassin + Amavis + plugins (block list SPF DKIM)
- Greylist - dropped because of delays and dropped incoming mails, replaced with other restrictive rules
- Webmail - Roundcube Webmail
- Db backend - mysql later MariaDB
- Mailbox Admin - at first raw DB edit then replaced with VimBadmin
- Mtpolicyd
- OpenDKIM
- OpenDMARC
Mail server was maintained for me, my family and my fellow friend Bakus. At most we hosted there two dozen of domains with about ten mailbox each and lots of aliases.
Mail server also provided support for distribution of mailing list from iff.pl (between 5k and 10k mails for every issue)
After closing many side projects I decided to move few domains that’s lasted to vps with. managed mail server and stop maintaining this setup.
If you want to learn more about this project read articles which I wrote about its latest version here …
PHP Programming
Biggest project done: Cuculo ERP
Order Management Web App written using Symfony framework and PHP and PostgreSQL database.
- ERP Application for Call Center to take orders after phone calls, order workflow, agents database, order statuses, filtering
- based on Symfony 2 Framework
- Doctrine ORM as bridge between application and database
- PostgreSQL database
- written mostly in PHP 5, minor addons of JS
- implemented ACL’s
- orders taken since deployment - almost 4000
This app was build to manage orders gained by team of telemarketers using my other project described on this page (Micro GPS connected Call Center)
All functionality was done to make clear workflow from prospect client then lead, sale, document signing and order completion. App had also built in importer for external data about orders.
Project started in early 2014 and was in use till 1Q2016. During this time it helped processing more than 5000 orders.
+ many other minor scripts, addons, shell scripts
GSM connected mini Call Center
Goals
I had started GSM connected mini Call Center project in ~1Q 2015 and with minor modifications
it was live and in use until end of 1Q 2016. During this time it handled more than 70 000 calls.
My main goal was to allow making voice calls in location where internet was to slow
to use VoIP and there was no possibility to attach more analog phone lines.
Setup
I have found open source sofware for managing Call Center calls, phone databases
and call results - Vicidial. As a communication backend
was used Asterisk.
Whole appliance was served from OpenSuse Linux distribution on two physical servers.
GSM layer of appliance was done on dozen of GPRS Modems (Huawei E156G with unlocked
voice capabilities ). As a connector between asterisk and modems I have used
chan_dongle asterisk module.
As I was unable to configure asterisk as VoIP server for Vicidial and the same
time route connections to GSM modems I needed to setup second physical server as
GSM gateway. It was bridged to main asterisk server via IPX protocol.
Telemarketers were making calls using Zoiper VoIP client app on their PC’s.
Call graph:
Telemarketer (Zoiper) > via SIP > Main Asterisk > Vicidial > via SIP (join background call
with free telemarketer) > Main Asterisk > via IPX > Asterisk (at GSM gateway) > via chan_dongle > GSM Modem
Results
This setup allowed to make [n-1] simultaneous calls with one background call
dialing to lower next call wait time for next free telemarketer after he ended his previous call.
Before introduction of this project this Call Center used orinary mobile phones.
While appliance was enabled in the Call Center it helped to better maintain employee
time and gave a lot higher connection / call time ratio than manual calling via
mobile phone. With use of my other project - CuculoERP
it allowed generating better global revenue and control over employee time. It also allowed creation
of call campaigns and more targeted calls.
Linux Server administration
14 years of linux server administration knowledge on SOHO market (mostly Ubuntu Server Edition LTS)
- mail server deployment & administration (based on Dovecot, Postfix, Sieve Filters, Amavis, Spamassassin, Roundcube) - about 25 domains and 100 active mail accounts
- relational database administration (MySQL, MariaDB, PostgreSQL)
- web server administration (nginx, apache, php)
- automated backup deployment (bacula)
- data migrations (databases, mail accounts) between servers
- mail server security improvements (DKIM, OpenDMARC, SPF, TLS)
- SSL certificates implementation for mail and web services
- basic automations with Ansible (DNS management, web server configuration)
Web Applications Administration
- IP.Board
- Wordpress / Woocommerce
- phpBB
- Roundcube
- Web Database Administration Panels
Call Center Administration (OpenSuse)
- deployment and daily administration of dialer application “Vicidial” for 6 seat mini Call Center
- two server setup (1st dialer, 2nd GSM gateway)
- invented by myself solution to use GSM USB dongles as calling gateways
- more than 70 000 connections made since deployment
PLC Programming
I have made few programs for Delta PLC DVP Series Units using ladder logic with usage of digital and analog IO’s and Modbus links to external systems.
Rain Water Filtering Station
My program had to manage collecting and filtering of rain water for reuse in toilets in office building in Warsaw, Poland.
Building has two underground floors and eight office floors with overall floor area of 26 850 m2 and height of 30 m.
Filtering Station consisted of two tanks:
- Main tank
- filled with water collected from the roof - about 100 m3 of capacity,
- Buffer tank
- filled with water from main tank after refining in filtering system - about 1,5 m3 of capacity.
Main functionality was to manage collected water, refine it through filters and prepare for usage in buffer tank. When there was no rain buffer tank was filled with water from city water supplies. When there was to much of rain water it was drained to sewage system. For continuous work system had pump set which pumped filtered water to the toilets in the whole building.
My program needed to collect data from numerous sensors, manage valves, filtration system and pumps. It also had timers in between for proper pump set maintenance.
System was connected to building BMS via MODBUS RTU.
Cooling system management
Where: Radiotherapy section of Hospital, Warsaw
What: Cooling system and ventilation automation
This program managed timed work of two independent 2 pump sets for continuous work.
It also had to manage freon leak from cooling system. When freon sensor alarmed about leak
program had to open fire dumper, air throttle and turn ventilators on.
Program managed also visual and sound alarm to notify people nearby about leak.
After freon sensor informed that leak is gone, system kept ventilation on for few minutes more.
Alarm could be reset only by responsible technical person after confirmation that leak is gone.