Dies ist eine alte Version des Dokuments!
Einrichten von Asterisk 14.x unter CentOS7
Asterisk ist eine OpenSource Telekommunkationssystem, entwickelt von Marc Spencer / Digium für Linux Systeme.
Dokumentation
Hinweise zum Release 14 finden sich auf der Dokumentationsseite von Asterisk. Alle Neuerungen des aktuellen Release finden sich auf der Seite New in 14. Die Seite Asterisk 14 Command Reference beinhaltet weitere Unterseiten zu den Kommandos und APIs.
Installation
Die Installation von Asterisk unetr CentOS 7 könnte man an Hand der Programm-Sourcen vornehmen. Dazu müsste auf dem VoIP-Server aber unter anderem Entwicklungstools wie „gcc & Co“ installiert werden; was natürlich auf einem Produktivsystem mehr als zweifelhaft ist und aus Sicherheitsüberlegungen heraus tunlichst vermieden werden sollte.
Repository ast.tucny.com
Als Alternative bedienen wir uns daher eines aktuell gepfegten Repositories, welches uns für CentOS 7 aktuelle und gepatchte RPM-Pakete zur Verfügung stellen kann. Eines dieser Repository ist von Tucny.
Priorities installieren
Als erstes installieren wird das Paket priorities.
# yum install yum-priorities -y
Anschließend prüfen wir, ob in der Konfigurationsdatei /etc/yum/pluginconf.d/priorities.conf folgende Zeilen eingetragen sind:
[main] enabled = 1
Dazu benutzen wir z.B. den Editor vim:
# vim /etc/yum/pluginconf.d/priorities.conf
Anschliessend tragen wir die differenzierten Prioritäten in der Konfig-Datei /etc/yum.repos.d/CentOS-Base.repo nach:
vim /etc/yum.repos.d/CentOS-Base.repo
Interessant ist für uns hier jeweils die Zeile:
priority=n
n ist hierbei eine Zahl zwischen 1 und 99.
Den Quellen [base], [updates], [extras] geben wir die priority=1.
[centosplus], [contrib] erhält die priority=2.
Den 3rd party repositories, wie z.B. epel oder mailserver.guru geben wir nun eine Priorität größer-gleich „10“, also z.B. priority=10.
ast.tucny.com
Nun holen wir uns die Repo-Datei auf unseren Server; zuvor wechseln wir aber noch in das Verzeichnis /etc/yum.repos.d/.
# cd /etc/yum.repos.d/
# wget https://ast.tucny.com/repo/tucny-asterisk.repo
Nun könnnen wir noch die Priorität unserer neuen Programmpeketquelle ast.tucny.com anpassen:
# vim /etc/yum.repos.d/tucny-asterisk.repo
- /etc/yum.repos.d/tucny-asterisk.repo
# tucny-asterisk.repo # # This repo file contains 4 repositories, all disabled by default. # If you want to use any of the Asterisk release, you should enable # the repository for that version and the asterisk-common repository # by setting enabled=1. # # All packages are signed, so it is recommended to manually import # the key prior to enabling the repositorys, this can by done by # running: # rpm --import https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny # [asterisk-common] name=Asterisk Common Requirement Packages @ tucny.com baseurl=https://ast.tucny.com/repo/asterisk-common/el$releasever/$basearch/ #mirrorlist=https://ast.tucny.com/mirrorlist.php?release=$releasever&arch=$basearch&repo=asterisk-common enabled=1 gpgcheck=1 gpgkey=https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny priority=5 [asterisk-1.8] name=Asterisk 1.8 Packages @ tucny.com #baseurl=https://ast.tucny.com/repo/asterisk-1.8/el$releasever/$basearch/ mirrorlist=https://ast.tucny.com/mirrorlist.php?release=$releasever&arch=$basearch&repo=asterisk-1.8 enabled=0 gpgcheck=1 gpgkey=https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny priority=5 [asterisk-11] name=Asterisk 11 Packages @ tucny.com #baseurl=https://ast.tucny.com/repo/asterisk-11/el$releasever/$basearch/ mirrorlist=https://ast.tucny.com/mirrorlist.php?release=$releasever&arch=$basearch&repo=asterisk-11 enabled=0 gpgcheck=1 gpgkey=https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny priority=5 [asterisk-13] name=Asterisk 13 Packages @ tucny.com #baseurl=https://ast.tucny.com/repo/asterisk-13/el$releasever/$basearch/ mirrorlist=https://ast.tucny.com/mirrorlist.php?release=$releasever&arch=$basearch&repo=asterisk-13 enabled=0 gpgcheck=1 gpgkey=https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny priority=5 [asterisk-14] name=Asterisk 14 Packages @ tucny.com baseurl=https://ast.tucny.com/repo/asterisk-14/el$releasever/$basearch/ #mirrorlist=https://ast.tucny.com/mirrorlist.php?release=$releasever&arch=$basearch&repo=asterisk-14 enabled=1 gpgcheck=1 gpgkey=https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny priority=5
Hier passen wir nun die Eingangs erwähnte Priorität an, z.B. priority=5 und im Falle von Asterisk 14 die zugehörigen Zeilen nach.
Abschliessend installieren wir den GPG Schlüssel des tucny-asterisk-repos:
# rpm --import https://ast.tucny.com/repo/RPM-GPG-KEY-dtucny
Nun können wir testen, ob die Konfigurationsanpassung den gewünschten Erfolg bringt. Dazu fragen wir ab, ob es ein Paket asterisk gibt und was dies ggf. mitbringt.
# yum info asterisk
Loaded plugins: changelog, priorities 323 packages excluded due to repository priority protections Available Packages Name : asterisk Arch : x86_64 Version : 14.2.1 Release : 1.el7.centos Size : 3.8 M Repo : asterisk-14/7/x86_64 Summary : The Open Source PBX URL : http://www.asterisk.org/ License : GPLv2 Description : Asterisk is a complete PBX in software. It runs on Linux and provides : all of the features you would expect from a PBX and more. Asterisk : does voice over IP in three protocols, and can interoperate with : almost all standards-based telephony equipment using relatively : inexpensive hardware.
RPM-Grundinstallation
asterisk
Nachdem unsere Vorbereitungen erst einmal abgeschlossen sind, können wir uns nun daran machen, das Grundpaket Asterisk zu installieren.
# yum install asterisk -y
Den recht umfangreichen Inhalt des RPM-Paketes können wir uns mit Hilfe des folgenden Aufrufs bei Interesse anzeigen lassen.
# rpm -qil asterisk
Name : asterisk Version : 14.2.1 Release : 1.el7.centos Architecture: x86_64 Install Date: Wed 18 Jan 2017 03:08:52 PM CET Group : Applications/Internet Size : 14393335 License : GPLv2 Signature : RSA/SHA1, Thu 08 Dec 2016 11:58:05 PM CET, Key ID ccf40e16b9a46fa9 Source RPM : asterisk-14.2.1-1.el7.centos.src.rpm Build Date : Thu 08 Dec 2016 11:57:54 PM CET Build Host : olive.ph.tucny.com Relocations : (not relocatable) URL : http://www.asterisk.org/ Summary : The Open Source PBX Description : Asterisk is a complete PBX in software. It runs on Linux and provides all of the features you would expect from a PBX and more. Asterisk does voice over IP in three protocols, and can interoperate with almost all standards-based telephony equipment using relatively inexpensive hardware. /etc/asterisk /etc/asterisk/acl.conf /etc/asterisk/adsi.conf /etc/asterisk/agents.conf /etc/asterisk/alarmreceiver.conf /etc/asterisk/amd.conf /etc/asterisk/ari.conf /etc/asterisk/asterisk.adsi /etc/asterisk/asterisk.conf /etc/asterisk/ccss.conf /etc/asterisk/cdr.conf /etc/asterisk/cdr_custom.conf /etc/asterisk/cdr_manager.conf /etc/asterisk/cdr_syslog.conf /etc/asterisk/cel.conf /etc/asterisk/cel_custom.conf /etc/asterisk/cli.conf /etc/asterisk/cli_aliases.conf /etc/asterisk/cli_permissions.conf /etc/asterisk/codecs.conf /etc/asterisk/confbridge.conf /etc/asterisk/dnsmgr.conf /etc/asterisk/dsp.conf /etc/asterisk/dundi.conf /etc/asterisk/enum.conf /etc/asterisk/extconfig.conf /etc/asterisk/extensions.conf /etc/asterisk/features.conf /etc/asterisk/followme.conf /etc/asterisk/http.conf /etc/asterisk/indications.conf /etc/asterisk/logger.conf /etc/asterisk/manager.conf /etc/asterisk/modules.conf /etc/asterisk/musiconhold.conf /etc/asterisk/muted.conf /etc/asterisk/osp.conf /etc/asterisk/phoneprov.conf /etc/asterisk/queuerules.conf /etc/asterisk/queues.conf /etc/asterisk/res_parking.conf /etc/asterisk/res_stun_monitor.conf /etc/asterisk/resolver_unbound.conf /etc/asterisk/rtp.conf /etc/asterisk/say.conf /etc/asterisk/sla.conf /etc/asterisk/smdi.conf /etc/asterisk/sorcery.conf /etc/asterisk/stasis.conf /etc/asterisk/statsd.conf /etc/asterisk/telcordia-1.adsi /etc/asterisk/udptl.conf /etc/asterisk/users.conf /etc/asterisk/vpb.conf /etc/logrotate.d/asterisk /run/asterisk /usr/lib/systemd/system/asterisk.service /usr/lib/tmpfiles.d/asterisk.conf /usr/lib64/asterisk /usr/lib64/asterisk/modules /usr/lib64/asterisk/modules/app_adsiprog.so /usr/lib64/asterisk/modules/app_agent_pool.so /usr/lib64/asterisk/modules/app_alarmreceiver.so /usr/lib64/asterisk/modules/app_amd.so /usr/lib64/asterisk/modules/app_authenticate.so /usr/lib64/asterisk/modules/app_bridgeaddchan.so /usr/lib64/asterisk/modules/app_bridgewait.so /usr/lib64/asterisk/modules/app_cdr.so /usr/lib64/asterisk/modules/app_celgenuserevent.so /usr/lib64/asterisk/modules/app_chanisavail.so /usr/lib64/asterisk/modules/app_channelredirect.so /usr/lib64/asterisk/modules/app_chanspy.so /usr/lib64/asterisk/modules/app_confbridge.so /usr/lib64/asterisk/modules/app_controlplayback.so /usr/lib64/asterisk/modules/app_db.so /usr/lib64/asterisk/modules/app_dial.so /usr/lib64/asterisk/modules/app_dictate.so /usr/lib64/asterisk/modules/app_directed_pickup.so /usr/lib64/asterisk/modules/app_disa.so /usr/lib64/asterisk/modules/app_dumpchan.so /usr/lib64/asterisk/modules/app_echo.so /usr/lib64/asterisk/modules/app_exec.so /usr/lib64/asterisk/modules/app_externalivr.so /usr/lib64/asterisk/modules/app_followme.so /usr/lib64/asterisk/modules/app_forkcdr.so /usr/lib64/asterisk/modules/app_getcpeid.so /usr/lib64/asterisk/modules/app_image.so /usr/lib64/asterisk/modules/app_macro.so /usr/lib64/asterisk/modules/app_milliwatt.so /usr/lib64/asterisk/modules/app_mixmonitor.so /usr/lib64/asterisk/modules/app_morsecode.so /usr/lib64/asterisk/modules/app_nbscat.so /usr/lib64/asterisk/modules/app_originate.so /usr/lib64/asterisk/modules/app_playback.so /usr/lib64/asterisk/modules/app_playtones.so /usr/lib64/asterisk/modules/app_privacy.so /usr/lib64/asterisk/modules/app_queue.so /usr/lib64/asterisk/modules/app_read.so /usr/lib64/asterisk/modules/app_readexten.so /usr/lib64/asterisk/modules/app_record.so /usr/lib64/asterisk/modules/app_saycounted.so /usr/lib64/asterisk/modules/app_sayunixtime.so /usr/lib64/asterisk/modules/app_senddtmf.so /usr/lib64/asterisk/modules/app_sendtext.so /usr/lib64/asterisk/modules/app_setcallerid.so /usr/lib64/asterisk/modules/app_sms.so /usr/lib64/asterisk/modules/app_softhangup.so /usr/lib64/asterisk/modules/app_speech_utils.so /usr/lib64/asterisk/modules/app_stack.so /usr/lib64/asterisk/modules/app_stasis.so /usr/lib64/asterisk/modules/app_statsd.so /usr/lib64/asterisk/modules/app_system.so /usr/lib64/asterisk/modules/app_talkdetect.so /usr/lib64/asterisk/modules/app_test.so /usr/lib64/asterisk/modules/app_transfer.so /usr/lib64/asterisk/modules/app_url.so /usr/lib64/asterisk/modules/app_userevent.so /usr/lib64/asterisk/modules/app_verbose.so /usr/lib64/asterisk/modules/app_waitforring.so /usr/lib64/asterisk/modules/app_waitforsilence.so /usr/lib64/asterisk/modules/app_waituntil.so /usr/lib64/asterisk/modules/app_while.so /usr/lib64/asterisk/modules/app_zapateller.so /usr/lib64/asterisk/modules/bridge_builtin_features.so /usr/lib64/asterisk/modules/bridge_builtin_interval_features.so /usr/lib64/asterisk/modules/bridge_holding.so /usr/lib64/asterisk/modules/bridge_native_rtp.so /usr/lib64/asterisk/modules/bridge_simple.so /usr/lib64/asterisk/modules/bridge_softmix.so /usr/lib64/asterisk/modules/cdr_csv.so /usr/lib64/asterisk/modules/cdr_custom.so /usr/lib64/asterisk/modules/cdr_manager.so /usr/lib64/asterisk/modules/cdr_syslog.so /usr/lib64/asterisk/modules/cel_custom.so /usr/lib64/asterisk/modules/cel_manager.so /usr/lib64/asterisk/modules/chan_bridge_media.so /usr/lib64/asterisk/modules/chan_rtp.so /usr/lib64/asterisk/modules/codec_a_mu.so /usr/lib64/asterisk/modules/codec_adpcm.so /usr/lib64/asterisk/modules/codec_alaw.so /usr/lib64/asterisk/modules/codec_g722.so /usr/lib64/asterisk/modules/codec_g726.so /usr/lib64/asterisk/modules/codec_gsm.so /usr/lib64/asterisk/modules/codec_ilbc.so /usr/lib64/asterisk/modules/codec_lpc10.so /usr/lib64/asterisk/modules/codec_resample.so /usr/lib64/asterisk/modules/codec_speex.so /usr/lib64/asterisk/modules/codec_ulaw.so /usr/lib64/asterisk/modules/format_g719.so /usr/lib64/asterisk/modules/format_g723.so /usr/lib64/asterisk/modules/format_g726.so /usr/lib64/asterisk/modules/format_g729.so /usr/lib64/asterisk/modules/format_gsm.so /usr/lib64/asterisk/modules/format_h263.so /usr/lib64/asterisk/modules/format_h264.so /usr/lib64/asterisk/modules/format_ilbc.so /usr/lib64/asterisk/modules/format_jpeg.so /usr/lib64/asterisk/modules/format_ogg_speex.so /usr/lib64/asterisk/modules/format_ogg_vorbis.so /usr/lib64/asterisk/modules/format_pcm.so /usr/lib64/asterisk/modules/format_siren14.so /usr/lib64/asterisk/modules/format_siren7.so /usr/lib64/asterisk/modules/format_sln.so /usr/lib64/asterisk/modules/format_vox.so /usr/lib64/asterisk/modules/format_wav.so /usr/lib64/asterisk/modules/format_wav_gsm.so /usr/lib64/asterisk/modules/func_aes.so /usr/lib64/asterisk/modules/func_audiohookinherit.so /usr/lib64/asterisk/modules/func_base64.so /usr/lib64/asterisk/modules/func_blacklist.so /usr/lib64/asterisk/modules/func_callcompletion.so /usr/lib64/asterisk/modules/func_callerid.so /usr/lib64/asterisk/modules/func_cdr.so /usr/lib64/asterisk/modules/func_channel.so /usr/lib64/asterisk/modules/func_config.so /usr/lib64/asterisk/modules/func_cut.so /usr/lib64/asterisk/modules/func_db.so /usr/lib64/asterisk/modules/func_devstate.so /usr/lib64/asterisk/modules/func_dialgroup.so /usr/lib64/asterisk/modules/func_dialplan.so /usr/lib64/asterisk/modules/func_enum.so /usr/lib64/asterisk/modules/func_env.so /usr/lib64/asterisk/modules/func_extstate.so /usr/lib64/asterisk/modules/func_frame_trace.so /usr/lib64/asterisk/modules/func_global.so /usr/lib64/asterisk/modules/func_groupcount.so /usr/lib64/asterisk/modules/func_hangupcause.so /usr/lib64/asterisk/modules/func_holdintercept.so /usr/lib64/asterisk/modules/func_iconv.so /usr/lib64/asterisk/modules/func_jitterbuffer.so /usr/lib64/asterisk/modules/func_lock.so /usr/lib64/asterisk/modules/func_logic.so /usr/lib64/asterisk/modules/func_math.so /usr/lib64/asterisk/modules/func_md5.so /usr/lib64/asterisk/modules/func_module.so /usr/lib64/asterisk/modules/func_periodic_hook.so /usr/lib64/asterisk/modules/func_pitchshift.so /usr/lib64/asterisk/modules/func_presencestate.so /usr/lib64/asterisk/modules/func_rand.so /usr/lib64/asterisk/modules/func_realtime.so /usr/lib64/asterisk/modules/func_sha1.so /usr/lib64/asterisk/modules/func_shell.so /usr/lib64/asterisk/modules/func_sorcery.so /usr/lib64/asterisk/modules/func_speex.so /usr/lib64/asterisk/modules/func_sprintf.so /usr/lib64/asterisk/modules/func_srv.so /usr/lib64/asterisk/modules/func_strings.so /usr/lib64/asterisk/modules/func_sysinfo.so /usr/lib64/asterisk/modules/func_talkdetect.so /usr/lib64/asterisk/modules/func_timeout.so /usr/lib64/asterisk/modules/func_uri.so /usr/lib64/asterisk/modules/func_version.so /usr/lib64/asterisk/modules/func_volume.so /usr/lib64/asterisk/modules/pbx_config.so /usr/lib64/asterisk/modules/pbx_dundi.so /usr/lib64/asterisk/modules/pbx_loopback.so /usr/lib64/asterisk/modules/pbx_realtime.so /usr/lib64/asterisk/modules/pbx_spool.so /usr/lib64/asterisk/modules/res_adsi.so /usr/lib64/asterisk/modules/res_agi.so /usr/lib64/asterisk/modules/res_ari.so /usr/lib64/asterisk/modules/res_ari_applications.so /usr/lib64/asterisk/modules/res_ari_asterisk.so /usr/lib64/asterisk/modules/res_ari_bridges.so /usr/lib64/asterisk/modules/res_ari_channels.so /usr/lib64/asterisk/modules/res_ari_device_states.so /usr/lib64/asterisk/modules/res_ari_endpoints.so /usr/lib64/asterisk/modules/res_ari_events.so /usr/lib64/asterisk/modules/res_ari_model.so /usr/lib64/asterisk/modules/res_ari_playbacks.so /usr/lib64/asterisk/modules/res_ari_recordings.so /usr/lib64/asterisk/modules/res_ari_sounds.so /usr/lib64/asterisk/modules/res_chan_stats.so /usr/lib64/asterisk/modules/res_clialiases.so /usr/lib64/asterisk/modules/res_clioriginate.so /usr/lib64/asterisk/modules/res_convert.so /usr/lib64/asterisk/modules/res_crypto.so /usr/lib64/asterisk/modules/res_endpoint_stats.so /usr/lib64/asterisk/modules/res_format_attr_celt.so /usr/lib64/asterisk/modules/res_format_attr_g729.so /usr/lib64/asterisk/modules/res_format_attr_h263.so /usr/lib64/asterisk/modules/res_format_attr_h264.so /usr/lib64/asterisk/modules/res_format_attr_ilbc.so /usr/lib64/asterisk/modules/res_format_attr_opus.so /usr/lib64/asterisk/modules/res_format_attr_silk.so /usr/lib64/asterisk/modules/res_format_attr_siren14.so /usr/lib64/asterisk/modules/res_format_attr_siren7.so /usr/lib64/asterisk/modules/res_format_attr_vp8.so /usr/lib64/asterisk/modules/res_http_media_cache.so /usr/lib64/asterisk/modules/res_http_post.so /usr/lib64/asterisk/modules/res_http_websocket.so /usr/lib64/asterisk/modules/res_limit.so /usr/lib64/asterisk/modules/res_manager_devicestate.so /usr/lib64/asterisk/modules/res_manager_presencestate.so /usr/lib64/asterisk/modules/res_monitor.so /usr/lib64/asterisk/modules/res_musiconhold.so /usr/lib64/asterisk/modules/res_mutestream.so /usr/lib64/asterisk/modules/res_parking.so /usr/lib64/asterisk/modules/res_phoneprov.so /usr/lib64/asterisk/modules/res_realtime.so /usr/lib64/asterisk/modules/res_rtp_asterisk.so /usr/lib64/asterisk/modules/res_rtp_multicast.so /usr/lib64/asterisk/modules/res_security_log.so /usr/lib64/asterisk/modules/res_smdi.so /usr/lib64/asterisk/modules/res_sorcery_astdb.so /usr/lib64/asterisk/modules/res_sorcery_config.so /usr/lib64/asterisk/modules/res_sorcery_memory.so /usr/lib64/asterisk/modules/res_sorcery_memory_cache.so /usr/lib64/asterisk/modules/res_sorcery_realtime.so /usr/lib64/asterisk/modules/res_speech.so /usr/lib64/asterisk/modules/res_srtp.so /usr/lib64/asterisk/modules/res_stasis.so /usr/lib64/asterisk/modules/res_stasis_answer.so /usr/lib64/asterisk/modules/res_stasis_device_state.so /usr/lib64/asterisk/modules/res_stasis_playback.so /usr/lib64/asterisk/modules/res_stasis_recording.so /usr/lib64/asterisk/modules/res_stasis_snoop.so /usr/lib64/asterisk/modules/res_statsd.so /usr/lib64/asterisk/modules/res_stun_monitor.so /usr/lib64/asterisk/modules/res_timing_pthread.so /usr/lib64/asterisk/modules/res_timing_timerfd.so /usr/lib64/libasteriskssl.so /usr/lib64/libasteriskssl.so.1 /usr/sbin/astcanary /usr/sbin/astdb2sqlite3 /usr/sbin/asterisk /usr/sbin/astgenkey /usr/sbin/astman /usr/sbin/astversion /usr/sbin/autosupport /usr/sbin/check_expr /usr/sbin/check_expr2 /usr/sbin/muted /usr/sbin/rasterisk /usr/sbin/smsq /usr/sbin/stereorize /usr/sbin/streamplayer /usr/share/asterisk /usr/share/asterisk/agi-bin /usr/share/asterisk/documentation /usr/share/asterisk/documentation/appdocsxml.dtd /usr/share/asterisk/documentation/appdocsxml.xslt /usr/share/asterisk/documentation/core-en_US.xml /usr/share/asterisk/documentation/thirdparty /usr/share/asterisk/images /usr/share/asterisk/images/asterisk-intro.jpg /usr/share/asterisk/images/kpad2.jpg /usr/share/asterisk/keys /usr/share/asterisk/moh /usr/share/asterisk/phoneprov /usr/share/asterisk/rest-api /usr/share/asterisk/rest-api/applications.json /usr/share/asterisk/rest-api/asterisk.json /usr/share/asterisk/rest-api/bridges.json /usr/share/asterisk/rest-api/channels.json /usr/share/asterisk/rest-api/deviceStates.json /usr/share/asterisk/rest-api/endpoints.json /usr/share/asterisk/rest-api/events.json /usr/share/asterisk/rest-api/mailboxes.json /usr/share/asterisk/rest-api/playbacks.json /usr/share/asterisk/rest-api/recordings.json /usr/share/asterisk/rest-api/resources.json /usr/share/asterisk/rest-api/sounds.json /usr/share/asterisk/sounds /usr/share/asterisk/static-http /usr/share/asterisk/static-http/ajamdemo.html /usr/share/asterisk/static-http/appdocsxml.xslt /usr/share/asterisk/static-http/astman.css /usr/share/asterisk/static-http/astman.js /usr/share/asterisk/static-http/core-en_US.xml /usr/share/asterisk/static-http/mantest.html /usr/share/asterisk/static-http/prototype.js /usr/share/doc/asterisk-14.2.1 /usr/share/doc/asterisk-14.2.1/BUGS /usr/share/doc/asterisk-14.2.1/CREDITS /usr/share/doc/asterisk-14.2.1/ChangeLog /usr/share/doc/asterisk-14.2.1/README /usr/share/doc/asterisk-14.2.1/README-SERIOUSLY.bestpractices.txt /usr/share/doc/asterisk-14.2.1/README-addons.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-1.2.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-1.4.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-1.6.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-1.8.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-10.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-11.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-12.txt /usr/share/doc/asterisk-14.2.1/UPGRADE-13.txt /usr/share/doc/asterisk-14.2.1/UPGRADE.txt /usr/share/doc/asterisk-14.2.1/Zaptel-to-DAHDI.txt /usr/share/doc/asterisk-14.2.1/asterisk-14.2.1-summary.txt /usr/share/doc/asterisk-14.2.1/asterisk.sgml /usr/share/doc/asterisk-14.2.1/configs /usr/share/doc/asterisk-14.2.1/configs/basic-pbx /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/README /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/asterisk.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/cdr.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/cdr_custom.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/confbridge.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/extensions.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/indications.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/logger.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/modules.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/musiconhold.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/pjsip.conf /usr/share/doc/asterisk-14.2.1/configs/basic-pbx/voicemail.conf /usr/share/doc/asterisk-14.2.1/configs/samples /usr/share/doc/asterisk-14.2.1/configs/samples/acl.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/adsi.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/agents.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/alarmreceiver.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/alsa.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/amd.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/app_mysql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/app_skel.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/ari.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/asterisk.adsi /usr/share/doc/asterisk-14.2.1/configs/samples/asterisk.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/calendar.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/ccss.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_adaptive_odbc.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_custom.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_manager.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_mysql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_odbc.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_pgsql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_sqlite3_custom.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_syslog.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cdr_tds.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel_custom.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel_odbc.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel_pgsql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel_sqlite3_custom.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cel_tds.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/chan_dahdi.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/chan_mobile.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cli.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cli_aliases.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/cli_permissions.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/codecs.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/confbridge.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/config_test.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/console.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/dbsep.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/dnsmgr.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/dsp.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/dundi.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/enum.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/extconfig.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/extensions.ael.sample /usr/share/doc/asterisk-14.2.1/configs/samples/extensions.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/extensions.lua.sample /usr/share/doc/asterisk-14.2.1/configs/samples/extensions_minivm.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/features.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/festival.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/followme.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/func_odbc.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/hep.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/http.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/iax.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/iaxprov.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/indications.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/logger.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/manager.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/meetme.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/mgcp.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/minivm.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/misdn.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/modules.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/motif.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/musiconhold.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/muted.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/ooh323.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/osp.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/oss.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/phone.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/phoneprov.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/pjproject.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/pjsip.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/pjsip_notify.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/pjsip_wizard.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/queuerules.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/queues.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_config_mysql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_config_sqlite.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_config_sqlite3.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_corosync.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_curl.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_fax.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_ldap.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_odbc.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_parking.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_pgsql.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_pktccops.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_snmp.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/res_stun_monitor.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/resolver_unbound.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/rtp.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/say.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/sip.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/sip_notify.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/skinny.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/sla.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/smdi.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/sorcery.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/ss7.timers.sample /usr/share/doc/asterisk-14.2.1/configs/samples/stasis.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/statsd.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/telcordia-1.adsi /usr/share/doc/asterisk-14.2.1/configs/samples/test_sorcery.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/udptl.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/unistim.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/users.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/voicemail.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/vpb.conf.sample /usr/share/doc/asterisk-14.2.1/configs/samples/xmpp.conf.sample /usr/share/man/man8/astdb2bdb.8.gz /usr/share/man/man8/astdb2sqlite3.8.gz /usr/share/man/man8/asterisk.8.gz /usr/share/man/man8/astgenkey.8.gz /usr/share/man/man8/autosupport.8.gz /usr/share/man/man8/safe_asterisk.8.gz /var/lib/asterisk /var/log/asterisk /var/log/asterisk/cdr-csv /var/log/asterisk/cdr-custom /var/spool/asterisk /var/spool/asterisk/monitor /var/spool/asterisk/outgoing /var/spool/asterisk/tmp /var/spool/asterisk/uploads /var/spool/asterisk/voicemail
asterisk-iax2
Da wir später z.B. für die Clients auf das InterAsterisk eXchange Protokoll oder kurz IAX2 zurückgreifen wollen, installieren wir hierzu das zugehörige RPM.
# yum install asterisk-iax2
Was genau diese RPM-Paket in unserern Server mitgebracht hat zeigt uns wie immer der Aufruf des Befehls rpm mit der Option -qil.
# rpm -qil asterisk-iax2
Name : asterisk-iax2 Version : 14.2.1 Release : 1.el7.centos Architecture: x86_64 Install Date: Wed 18 Jan 2017 07:08:23 PM CET Group : Applications/Internet Size : 389194 License : GPLv2 Signature : RSA/SHA1, Thu 08 Dec 2016 11:58:07 PM CET, Key ID ccf40e16b9a46fa9 Source RPM : asterisk-14.2.1-1.el7.centos.src.rpm Build Date : Thu 08 Dec 2016 11:57:54 PM CET Build Host : olive.ph.tucny.com Relocations : (not relocatable) URL : http://www.asterisk.org/ Summary : IAX2 channel driver for Asterisk Description : IAX2 channel driver for Asterisk /etc/asterisk/iax.conf /etc/asterisk/iaxprov.conf /usr/lib64/asterisk/modules/chan_iax2.so /usr/share/asterisk/firmware /usr/share/asterisk/firmware/iax
asterisk-sip
Für die Anbindung unseres Asterisk-Servers an den Provider nutzen wir das Session Initiation Protocol - SIP. Wie installieren also auch hier das passende RPM.
# yum install asterisk-sip
Was genau diese RPM-Paket in unserern Server mitgebracht hat zeigt uns wie immer der Aufruf des Befehls rpm mit der Option -qil.
# rpm -qil asterisk-sip
Name : asterisk-sip Version : 14.2.1 Release : 1.el7.centos Architecture: x86_64 Install Date: Wed 18 Jan 2017 07:15:08 PM CET Group : Applications/Internet Size : 871899 License : GPLv2 Signature : RSA/SHA1, Thu 08 Dec 2016 11:58:06 PM CET, Key ID ccf40e16b9a46fa9 Source RPM : asterisk-14.2.1-1.el7.centos.src.rpm Build Date : Thu 08 Dec 2016 11:57:54 PM CET Build Host : olive.ph.tucny.com Relocations : (not relocatable) URL : http://www.asterisk.org/ Summary : Legacy SIP channel driver for Asterisk Description : Legacy SIP channel driver for Asterisk /etc/asterisk/sip.conf /etc/asterisk/sip_notify.conf /usr/lib64/asterisk/modules/chan_sip.so
Programmstart
Abwohl wie noch keine individuellen Konfigurationsänderungen vorgenommen haben, können wir den Asterisk-Daemon schon starten. Hierzu nutzen wir das systemd Startscript.
# systemctl start asterisk.service
Den erfolgreichen Start des Daemon können wir nun abfragen.
# systemctl status asterisk.service -l
● asterisk.service - Asterisk PBX and telephony daemon. Loaded: loaded (/usr/lib/systemd/system/asterisk.service; disabled; vendor preset: disabled) Active: active (running) since Wed 2017-01-18 19:27:13 CET; 29s ago Main PID: 12988 (asterisk) CGroup: /system.slice/asterisk.service └─12988 /usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] WARNING[12988]: res_phoneprov.c:1231 get_defaults: Unable to find a valid server address or name. Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] ERROR[12988]: ari/config.c:314 process_config: No configured users for ARI Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: 19:27:14.532 os_core_unix.c !pjlib 2.3 for POSIX initialized Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] WARNING[12988]: res_musiconhold.c:1767 load_moh_classes: A directory must be specified for class 'general'! Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] WARNING[12988]: res_musiconhold.c:1945 load_module: No music on hold classes configured, disabling music on hold. Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: 19:27:14.539 pjlib !select() I/O Queue created (0x7f33ac000948) Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: SIP channel loading... Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] NOTICE[12988]: confbridge/conf_config_parser.c:2126 verify_default_profiles: Adding default_menu menu to app_confbridge Jan 18 19:27:14 vml000177.dmz.nausch.org asterisk[12988]: [Jan 18 19:27:14] NOTICE[12988]: cel_custom.c:97 load_config: No mappings found in cel_custom.conf. Not logging CEL to custom CSVs. Jan 18 19:27:15 vml000177.dmz.nausch.org asterisk[12988]: Asterisk Ready.
Im Verzeichnis /var/log/asterisk beschreibt der Daemon auch ein eigene Logdatei
# less /var/log/asterisk/messages
[Jan 18 19:27:13] Asterisk 14.2.1 built by mockbuild @ olive.ph.tucny.com on a x86_64 running Linux on 2016-12-08 22:53:51 UTC [Jan 18 19:27:14] NOTICE[12988] cdr.c: CDR simple logging enabled. [Jan 18 19:27:14] NOTICE[12988] loader.c: 223 modules will be loaded. [Jan 18 19:27:14] WARNING[12988] res_phoneprov.c: Unable to find a valid server address or name. [Jan 18 19:27:14] ERROR[12988] ari/config.c: No configured users for ARI [Jan 18 19:27:14] WARNING[12988] res_musiconhold.c: A directory must be specified for class 'general'! [Jan 18 19:27:14] WARNING[12988] res_musiconhold.c: No music on hold classes configured, disabling music on hold. [Jan 18 19:27:14] NOTICE[12988] confbridge/conf_config_parser.c: Adding default_menu menu to app_confbridge [Jan 18 19:27:14] NOTICE[12988] cel_custom.c: No mappings found in cel_custom.conf. Not logging CEL to custom CSVs.
Damit der Daemon später beim Hochfahren des Asterisk-Servers automatisch gestartet wird, aktivieren wir den Autostart des Daemon.
# systemctl enable asterisk.service
Created symlink from /etc/systemd/system/multi-user.target.wants/asterisk.service to /usr/lib/systemd/system/asterisk.service.
Wollen wir prüfen ob der Autostart des Daemon richtig gesetzt wurde, fragen wir den Status entsprechend wie folgt ab.
# systemctl is-enabled asterisk.service
enabled