initial commit
This commit is contained in:
commit
fcb71e44e4
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
*.tar.gz
|
53
Dockerfile
Executable file
53
Dockerfile
Executable file
@ -0,0 +1,53 @@
|
||||
FROM debian:latest
|
||||
|
||||
COPY resources /build
|
||||
|
||||
## Upgrade packages on system
|
||||
RUN apt-get update
|
||||
|
||||
## Install build tools
|
||||
RUN apt-get install -y g++ gcc make patch
|
||||
|
||||
## Install package dependencies
|
||||
RUN apt-get install -y \
|
||||
curl\
|
||||
libc-dev\
|
||||
libcurl4-openssl-dev\
|
||||
libedit-dev\
|
||||
libjansson-dev\
|
||||
libogg-dev\
|
||||
libresample1-dev\
|
||||
libspeex-dev\
|
||||
libsqlite3-dev\
|
||||
libsrtp2-dev\
|
||||
libssl-dev\
|
||||
libvorbis-dev\
|
||||
libxml2-dev\
|
||||
libxslt-dev\
|
||||
ncurses-dev\
|
||||
uuid-dev
|
||||
|
||||
## Install GONK specific dependencies
|
||||
RUN apt-get install -y fail2ban iptables net-tools
|
||||
|
||||
## Move and unpack source to /build
|
||||
RUN mkdir /build/asterisk-current
|
||||
RUN tar -xzf /build/asterisk-current.tar.gz --strip-components 1 -C /build/asterisk-current
|
||||
RUN rm /build/asterisk-current.tar.gz
|
||||
|
||||
## Configure asterisk source for build
|
||||
WORKDIR /build/asterisk-current
|
||||
RUN ./configure
|
||||
RUN mv /build/menuselect.makeopts /build/asterisk-current/
|
||||
RUN make -j$(cat /proc/cpuinfo | grep processor | wc -l)
|
||||
RUN make install
|
||||
|
||||
|
||||
## Cleanup
|
||||
WORKDIR /
|
||||
RUN cp /build/gonk.sh /usr/bin/gonk
|
||||
RUN chmod +x /usr/bin/gonk
|
||||
RUN rm -rf /build
|
||||
RUN apt-get remove -y --purge g++ gcc make patch
|
||||
|
||||
ENTRYPOINT [ "gonk" ]
|
1
prep.ps1
Executable file
1
prep.ps1
Executable file
@ -0,0 +1 @@
|
||||
Invoke-WebRequest https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-19-current.tar.gz -OutFile ./build/asterisk-current.tar.gz
|
37
resources/gonk.sh
Executable file
37
resources/gonk.sh
Executable file
@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "Starting Gonk node..."
|
||||
|
||||
echo " ______
|
||||
/______\\
|
||||
| [==] |
|
||||
|______|
|
||||
\\______/
|
||||
| | |
|
||||
|/\|/\|"
|
||||
|
||||
|
||||
if [ -f /var/gonk ]; then
|
||||
echo "Gonk has already been provisioned"
|
||||
|
||||
else
|
||||
echo "Running first time provisioning..."
|
||||
echo " Adding gonk user..."
|
||||
useradd -d /var/lib/asterisk/ -c "Gonk asterisk user" -r -s /sbin/nologin gonk
|
||||
echo " Setting permissions..."
|
||||
chown -R gonk:gonk /var/lib/asterisk
|
||||
chown -R gonk:gonk /var/log/asterisk
|
||||
chown -R gonk:gonk /var/spool/asterisk
|
||||
|
||||
echo " Pulling config files for the first time..."
|
||||
curl -o /etc/asterisk/asterisk.conf https://api.gonk.nicolor.tech/asterisk/$HOSTNAME/$GONK_KEY
|
||||
curl -o /etc/asterisk/pjsip.conf https://api.gonk.nicolor.tech/pjsip/$HOSTNAME/$GONK_KEY
|
||||
curl -o /etc/asterisk/modules.conf https://api.gonk.nicolor.tech/modules/$HOSTNAME/$GONK_KEY
|
||||
touch /var/gonk
|
||||
fi
|
||||
|
||||
echo "Starting Asterisk..."
|
||||
asterisk -U gonk -G gonk -f
|
||||
|
||||
|
||||
|
150
resources/menuselect.makeopts
Normal file
150
resources/menuselect.makeopts
Normal file
@ -0,0 +1,150 @@
|
||||
MENUSELECT_ADDONS=chan_mobile chan_ooh323 format_mp3 res_config_mysql
|
||||
MENUSELECT_APPS=app_flash app_privacy app_skel app_voicemail_imap app_voicemail_odbc app_alarmreceiver app_amd app_audiosocket app_dictate app_festival app_ivrdemo app_jack app_saycounted app_sms app_statsd app_test app_zapateller app_adsiprog app_getcpeid app_macro app_meetme app_osplookup
|
||||
MENUSELECT_BRIDGES=binaural_rendering_in_bridge_softmix
|
||||
MENUSELECT_CDR=cdr_adaptive_odbc cdr_beanstalkd cdr_odbc cdr_pgsql cdr_radius cdr_tds
|
||||
MENUSELECT_CEL=cel_odbc cel_beanstalkd cel_pgsql cel_radius cel_tds
|
||||
MENUSELECT_CHANNELS=chan_dahdi chan_motif chan_audiosocket chan_console chan_unistim chan_alsa chan_mgcp chan_sip chan_skinny
|
||||
MENUSELECT_CODECS=codec_codec2 codec_dahdi codec_speex codec_opus codec_silk codec_siren7 codec_siren14 codec_g729a
|
||||
MENUSELECT_FORMATS=
|
||||
MENUSELECT_FUNCS=func_odbc func_speex
|
||||
MENUSELECT_PBX=pbx_dundi pbx_lua
|
||||
MENUSELECT_RES=res_ari_mailboxes res_config_odbc res_http_post res_mwi_external res_mwi_external_ami res_odbc res_odbc_transaction res_resolver_unbound res_stasis_mailbox res_stasis_test res_timing_dahdi res_xmpp res_calendar_caldav res_calendar_ews res_calendar_exchange res_calendar_icalendar res_chan_stats res_config_ldap res_config_pgsql res_corosync res_endpoint_stats res_fax_spandsp res_remb_modifier res_snmp res_timing_kqueue res_adsi res_monitor res_pktccops res_digium_phone
|
||||
MENUSELECT_TESTS=test_abstract_jb test_acl test_aeap test_aeap_speech test_aeap_transaction test_aeap_transport test_amihooks test_aoc test_app test_ari test_ari_model test_ast_format_str_reduce test_astobj2 test_astobj2_thrash test_astobj2_weaken test_bridging test_bucket test_callerid test_cdr test_cel test_channel test_channel_feature_hooks test_config test_conversions test_core_codec test_core_format test_data_buffer test_db test_devicestate test_dlinklists test_dns test_dns_naptr test_dns_query_set test_dns_recurring test_dns_srv test_endpoints test_event test_expr test_file test_format_cache test_format_cap test_func_file test_gosub test_hashtab_thrash test_heap test_http_media_cache test_jitterbuf test_json test_linkedlists test_locale test_logger test_media_cache test_message test_mwi test_named_lock test_netsock2 test_optional_api test_pbx test_poll test_res_pjsip_scheduler test_res_pjsip_session_caps test_res_rtp test_res_stasis test_sched test_scope_trace test_scoped_lock test_security_events test_skel test_sorcery test_sorcery_astdb test_sorcery_memory_cache_thrash test_sorcery_realtime test_stasis test_stasis_channels test_stasis_endpoints test_stasis_state test_stream test_stringfields test_strings test_substitution test_taskprocessor test_threadpool test_time test_uri test_utils test_uuid test_vector test_voicemail_api test_websocket_client test_xml_escape test_res_prometheus
|
||||
MENUSELECT_CFLAGS=OPTIONAL_API RADIO_RELAX
|
||||
MENUSELECT_UTILS=astcanary stereorize streamplayer
|
||||
MENUSELECT_AGIS=
|
||||
MENUSELECT_CORE_SOUNDS=CORE-SOUNDS-EN-WAV
|
||||
MENUSELECT_MOH=MOH-OPSOUND-WAV
|
||||
MENUSELECT_EXTRA_SOUNDS=EXTRA-SOUNDS-EN-WAV
|
||||
MENUSELECT_BUILD_DEPS=bridge_holding app_cdr func_periodic_hook app_confbridge res_speech res_agi res_stasis res_smdi res_crypto res_pjsip res_pjsip_pubsub res_pjsip_session res_rtp_multicast res_curl app_chanspy func_cut func_groupcount func_uri res_ael_share res_http_websocket res_ari res_ari_model res_stasis_recording res_stasis_playback res_stasis_answer res_stasis_snoop res_stasis_device_state func_curl res_sorcery_config res_pjproject res_sorcery_memory res_sorcery_astdb res_statsd res_pjsip_outbound_publish res_stir_shaken res_hep res_phoneprov res_pjsip_outbound_registration DONT_OPTIMIZE G711_NEW_ALGORITHM
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_flash
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_APPS=app_jack
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_adaptive_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_beanstalkd
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_pgsql
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_radius
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CDR=cdr_tds
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_beanstalkd
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_pgsql
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_radius
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CEL=cel_tds
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_dahdi
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_motif
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CHANNELS=chan_console
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_codec2
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_dahdi
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_CODECS=codec_speex
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_FUNCS=func_speex
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_PBX=pbx_dundi
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_PBX=pbx_lua
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_http_post
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_odbc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_odbc_transaction
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_resolver_unbound
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_stasis_test
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_dahdi
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_xmpp
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_caldav
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_ews
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_exchange
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_calendar_icalendar
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_ldap
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_config_pgsql
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_fax_spandsp
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_snmp
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_RES=res_timing_kqueue
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_abstract_jb
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_acl
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aeap
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aeap_speech
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aeap_transaction
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aeap_transport
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_amihooks
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_aoc
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_app
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_ari
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_ari_model
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_ast_format_str_reduce
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_astobj2
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_astobj2_thrash
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_astobj2_weaken
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_bridging
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_bucket
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_callerid
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_cdr
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_cel
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_channel
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_channel_feature_hooks
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_config
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_conversions
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_core_codec
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_core_format
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_data_buffer
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_db
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_devicestate
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dlinklists
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dns
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dns_naptr
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dns_query_set
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dns_recurring
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_dns_srv
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_endpoints
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_event
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_expr
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_file
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_format_cache
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_format_cap
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_func_file
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_gosub
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_hashtab_thrash
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_heap
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_http_media_cache
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_jitterbuf
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_json
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_linkedlists
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_locale
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_logger
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_media_cache
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_message
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_mwi
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_named_lock
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_netsock2
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_optional_api
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_pbx
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_poll
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_res_pjsip_scheduler
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_res_pjsip_session_caps
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_res_rtp
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_res_stasis
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sched
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_scope_trace
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_scoped_lock
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_security_events
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_skel
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sorcery
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sorcery_astdb
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sorcery_memory_cache_thrash
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_sorcery_realtime
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stasis
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stasis_channels
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stasis_endpoints
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stasis_state
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stream
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_stringfields
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_strings
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_substitution
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_taskprocessor
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_threadpool
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_time
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_uri
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_utils
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_uuid
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_vector
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_voicemail_api
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_websocket_client
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_xml_escape
|
||||
MENUSELECT_DEPSFAILED=MENUSELECT_TESTS=test_res_prometheus
|
Loading…
Reference in New Issue
Block a user