--- /dev/null
+[Unit]
+Description=FreeSWITCH
+After=syslog.target network.target
+After=postgresql.service postgresql-9.3.service postgresql-9.4.service mysqld.service httpd.service
+
+[Service]
+User=freeswitch
+EnvironmentFile=-/etc/sysconfig/freeswitch
+# RuntimeDirectory is not yet supported in CentOS 7. A workaround is to use /etc/tmpfiles.d/freeswitch.conf
+#RuntimeDirectory=/run/freeswitch
+#RuntimeDirectoryMode=0750
+WorkingDirectory=/run/freeswitch
+ExecStart=/usr/bin/freeswitch -nc -nf $FREESWITCH_PARAMS
+ExecReload=/usr/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
%if 0%{?suse_version} > 100
%{__install} -D -m 744 build/freeswitch.init.suse %{buildroot}/etc/rc.d/init.d/freeswitch
%else
+%if "%{?_unitdir}" == ""
# On RedHat like
%{__install} -D -m 0755 build/freeswitch.init.redhat %{buildroot}/etc/rc.d/init.d/freeswitch
+%else
+# systemd
+%{__install} -Dpm 0644 build/freeswitch.service %{buildroot}%{_unitdir}/freeswitch.service
+%{__install} -Dpm 0644 build/freeswitch-tmpfiles.conf %{buildroot}%{_tmpfilesdir}/freeswitch.conf
+%endif
%endif
# On SuSE make /usr/sbin/rcfreeswitch a link to /etc/rc.d/init.d/freeswitch
%if 0%{?suse_version} > 100
chown freeswitch:daemon /var/log/freeswitch /var/run/freeswitch
+%if "%{?_unitdir}" == ""
chkconfig --add freeswitch
+%else
+%tmpfiles_create freeswitch
+/usr/bin/systemctl -q enable freeswitch.service
+%endif
+
+%preun
+%{?systemd_preun freeswitch.service}
%postun
+%{?systemd_postun freeswitch.service}
######################################################################################################################
#
# On uninstallation get rid of the freeswitch user
######################################################################################################################
%config(noreplace) %attr(0644,-,-) %{HTDOCSDIR}/*
%ifos linux
+%if "%{?_unitdir}" == ""
/etc/rc.d/init.d/freeswitch
+%else
+%{_unitdir}/freeswitch.service
+%{_tmpfilesdir}/freeswitch.conf
+%endif
%config(noreplace) /etc/sysconfig/freeswitch
%if 0%{?suse_version} > 100
/usr/sbin/rcfreeswitch
#
######################################################################################################################
%changelog
+* Tue Jul 09 2015 - Artur Zaprzała
+- add systemd service file for CentOS 7
* Thu Jun 25 2015 - s.safarov@gmail.com
- Dependencies of mod_shout were declared
* Mon Jun 22 2015 - krice@freeswitch.org