pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/comms/asterisk19
Module Name: pkgsrc
Committed By: jnemeth
Date: Sun Nov 14 02:30:21 UTC 2021
Added Files:
pkgsrc/comms/asterisk19: DESCR Makefile PLIST distinfo options.mk
pkgsrc/comms/asterisk19/files: asterisk.sh
pkgsrc/comms/asterisk19/files/smf: manifest.xml
pkgsrc/comms/asterisk19/patches: patch-Makefile
patch-addons_chan__ooh323.c patch-apps_app__adsiprog.c
patch-apps_app__chanspy.c patch-apps_app__directory.c
patch-apps_app__dumpchan.c patch-apps_app__followme.c
patch-apps_app__minivm.c patch-apps_app__queue.c
patch-apps_app__sms.c patch-apps_app__voicemail.c
patch-build__tools_mkpkgconfig patch-cdr_cdr__pgsql.c
patch-cel_cel__pgsql.c patch-channels_chan__pjsip.c
patch-channels_chan__sip.c patch-channels_pjsip_cli__commands.c
patch-channels_pjsip_dialplan__functions.c patch-configure
patch-configure.ac patch-contrib_scripts_vmail.cgi
patch-funcs_func__cdr.c patch-funcs_func__channel.c
patch-funcs_func__env.c patch-funcs_func__pjsip__aor.c
patch-funcs_func__pjsip__contact.c
patch-funcs_func__pjsip__endpoint.c patch-funcs_func__strings.c
patch-include_asterisk_autoconfig.h.in
patch-include_asterisk_lock.h patch-include_asterisk_sha1.h
patch-include_asterisk_strings.h patch-main_Makefile
patch-main_acl.c patch-main_app.c patch-main_ast__expr2.c
patch-main_ast__expr2.y patch-main_asterisk.c patch-main_astmm.c
patch-main_bridge__basic.c patch-main_bridge__channel.c
patch-main_callerid.c patch-main_cdr.c patch-main_cel.c
patch-main_cli.c patch-main_conversions.c patch-main_dns__naptr.c
patch-main_enum.c patch-main_features.c patch-main_http.c
patch-main_indications.c patch-main_logger.c patch-main_manager.c
patch-main_pbx.c patch-main_pbx__builtins.c
patch-main_pbx__timing.c patch-main_sched.c
patch-main_stdtime_localtime.c patch-main_taskprocessor.c
patch-main_tdd.c patch-main_test.c patch-main_utils.c
patch-menuselect_menuselect.c patch-pbx_pbx__config.c
patch-pbx_pbx__dundi.c patch-res_ael_pval.c
patch-res_res__calendar.c patch-res_res__calendar__caldav.c
patch-res_res__calendar__icalendar.c patch-res_res__hep__pjsip.c
patch-res_res__limit.c patch-res_res__musiconhold.c
patch-res_res__pjproject.c patch-res_res__xmpp.c
patch-sounds_Makefile patch-tests_test__locale.c
patch-tests_test__voicemail__api.c patch-utils_Makefile
patch-utils_db1-ast_include_db.h patch-utils_extconf.c
patch-utils_smsq.c
Log Message:
comms/asterisk19: import asterisk-19.0.0
This is a standard release. As such, it only gets updates
for one year and security fixes for two years.
A variety of items have been deprecated. Some have been
removed in this release, and some are scheduled to be removed in
the next couple of releases. Please take note of those items in
the list below. Out of the box, several of the deprecated items
have been turned off by default (i.e. chan_sip), but I have turned
on everything that was turned on by default in previous versions.
If you are using any of the deprecated items, you should work on
moving away from them as soon as possible.
In ${PREFIX}/share/doc/asterisk, you will find UPGRAGE.txt
and asterisk-19.0.0-summary.txt. Be sure to read them for more
information on updating.
The Asterisk Development Team would like to announce the release
of Asterisk 19.0.0.
The release of Asterisk 19.0.0 resolves several issues reported by
the community and would have not been possible without your
participation.
Thank you!
The following issues are resolved in this release:
Deprecations made in this release:
-----------------------------------
* ASTERISK-29601 - moduleinfo: Add replacement module information
(Reported by N A)
* ASTERISK-29602 - res_monitor: Disable building by default.
(Reported by Joshua C. Colp)
* ASTERISK-29600 - muted: Remove deprecated application
(Reported by Joshua C. Colp)
* ASTERISK-29599 - conf2ael: Remove deprecated application
(Reported by Joshua C. Colp)
* ASTERISK-29598 - res_config_sqlite: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29597 - chan_vpb: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29596 - chan_misdn: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29595 - chan_nbs: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29594 - chan_phone: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29593 - chan_oss: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29592 - cdr_syslog: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29591 - app_dahdiras: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29590 - app_nbscat: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29589 - app_image: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29588 - app_url: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29587 - app_fax: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29586 - app_ices: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29585 - app_mysql: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29584 - cdr_mysql: Remove deprecated module
(Reported by Joshua C. Colp)
* ASTERISK-29548 - app_meetme: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29549 - app_osploop: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29550 - chan_alsa: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29551 - chan_mgcp: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29552 - chan_skinny: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29553 - res_pktccops: Deprecated in 19, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29558 - app_macro: Deprecated in 16, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29567 - chan_sip: Deprecated in 17, to be removed in 21
(Reported by Joshua C. Colp)
* ASTERISK-29572 - res_monitor: Deprecated in 16, to be removed in 21
(Reported by Joshua C. Colp)
Security bugs fixed in this release:
-----------------------------------
* ASTERISK-29381 - chan_pjsip: Remote denial of service by an
authenticated user
(Reported by Ivan Poddubny)
* ASTERISK-29415 - Crash in PJSIP TLS transport
(Reported by Andrew Yager)
* ASTERISK-29305 - ASTERISK-29203 / AST-2021-002 -- Another
scenario is causing a crash
(Reported by Gregory Massel)
* ASTERISK-29260 - sRTP Replay Protection ignored; even tears
down long calls
(Reported by Alexander Traud)
* ASTERISK-29227 - res_pjsip_diversion: sending multiple 181
responses causes memory corruption and crash
(Reported by Ivan Poddubny)
* ASTERISK-29219 - res_pjsip_diversion: Crash if Tel URI
contains History-Info
(Reported by Torrey Searle)
* ASTERISK-29057 - pjsip: Crash on call rejection during high load
(Reported by Sandro Gauci)
New Features made in this release:
-----------------------------------
* ASTERISK-29656 - Add CHANNEL_EXISTS function
(Reported by N A)
* ASTERISK-29496 - Add SendMF application
(Reported by N A)
* ASTERISK-29627 - Add STRBETWEEN function
(Reported by N A)
* ASTERISK-29628 - Add file and directory functions
(Reported by N A)
* ASTERISK-29531 - Add SAYFILES function
(Reported by N A)
* ASTERISK-29546 - Add tone detection module
(Reported by N A)
* ASTERISK-18454 - Option for Read to be able to accept #
(Reported by Sta Retji)
* ASTERISK-29542 - Add audio scrambler
(Reported by N A)
* ASTERISK-29478 - Function to drop frames in the TX or RX
directions
(Reported by N A)
* ASTERISK-29389 - Add PJSIP_HEADERS() and ability to read
header by pattern
(Reported by Igor Goncharovsky)
* ASTERISK-11 - AGI channel_status failure
(Reported by bbawkon)
* ASTERISK-29477 - Function to asynchronously store digits dialed
(Reported by N A)
* ASTERISK-29454 - New application to reload modules
(Reported by N A)
* ASTERISK-29444 - Add application to wait for condition
(Reported by N A)
* ASTERISK-29442 - app_dial: Expand A option to allow
announcement playback to caller
(Reported by N A)
* ASTERISK-29446 - app_confbridge: New ConfKick application
(Reported by N A)
* ASTERISK-29440 - app_confbridge: Allow ConfBridge answer to
be suppressed
(Reported by N A)
* ASTERISK-29431 - Minimum and maximum dialplan functions
(Reported by N A)
* ASTERISK-29439 - func_volume: Volume function can't be read
(Reported by N A)
* ASTERISK-27477 - Chan_pjsip does not support unauthenticated
OPTIONS ping
(Reported by Ross Beer)
* ASTERISK-29027 - Implement support for History-Info
(Reported by Torrey Searle)
Bugs fixed in this release:
-----------------------------------
* ASTERISK-20219 - [patch] - IAX2 Call Encryption Fails with
RSA authentication
(Reported by Michael Munger)
* ASTERISK-29402 - res_pjsip_t38: Socket is bound to IPv4/IPv6
but platform does not support it
(Reported by Matthew Kern)
* ASTERISK-29673 - app_read: Fix null pointer crash regression
(Reported by N A)
* ASTERISK-29671 - res_rtp_asterisk: memory leak
(Reported by Jean Aunis - Prescom)
* ASTERISK-29668 - ari: Listing bridges fails when dialing
bridge exists
(Reported by Joshua C. Colp)
* ASTERISK-29663 - messaging: AMI MessageSend does not support
same parameters as dialplan application
(Reported by Brian J. Murrell)
* ASTERISK-29578 - app_queue: Custom device state using
included hints do not update
(Reported by N A)
* ASTERISK-29660 - Build failure when disabling PJSIP support
(Reported by Guido Falsi)
* ASTERISK-29654 - pjproject includes trailing whitespace in
sdp format attributes
(Reported by George Joseph)
* ASTERISK-29635 - MP3Player don' t work with actual mpg123 versions
(Reported by Carlos Oliva)
* ASTERISK-29629 - ARI external media channel creation doesn't
set option data
(Reported by sungtae kim)
* ASTERISK-27176 - test_abstract_jb: frames leak
(Reported by Corey Farrell)
* ASTERISK-29634 - res_snmp: gcc 11 needs -fPIC to compile correctly
(Reported by George Joseph)
* ASTERISK-29630 - Asterisk is unable to read extended number
format terminfo files
(Reported by Sean Bright)
* ASTERISK-28004 - dns: Core ast_dns_get_nameservers does not
support configured IPv6 servers
(Reported by Isaac McDonald)
* ASTERISK-29618 - ConfBridge errors on creation conference room
(Reported by Alexander Zharov)
* ASTERISK-29622 - ARI: external media create doesn't use body parameter
(Reported by sungtae kim)
* ASTERISK-29614 - app_agent_pool: XML Doc: unterminated entity reference
(Reported by Alexander Traud)
* ASTERISK-29609 - Subsequent 'ael reload' will cause a lock up
(Reported by Mark Murawski)
* ASTERISK-28701 - app_queue: Core reload resets queue stats,
even when keepstats=yes
(Reported by Luke Escude)
* ASTERISK-29616 - res_rtp_asterisk: sqrt(.) requires the
header math.h.
(Reported by Alexander Traud)
* ASTERISK-29518 - sig_analog: FCG_CAMA fails to signal ANI
spill when using MF signaling
(Reported by Sarah Autumn)
* ASTERISK-29582 - res_pjproject: Can't map pjproject log
messages to Asterisk TRACE
(Reported by George Joseph)
* ASTERISK-29575 - app_milliwatt: Milliwatt application doesn't
use the proper timings
(Reported by N A)
* ASTERISK-20339 - chan_mgcp, resp_pktccops ast_debug support
(Reported by Tomas Maldonado)
* ASTERISK-29540 - aelparse: include of context with timings fails
(Reported by Alexander Traud)
* ASTERISK-29539 - Segmentation fault at ast_writestream() when
write handler not defined (happens with OGG/Speex)
(Reported by Ernani José Camargo Azevedo)
* ASTERISK-29494 - cdr_adaptive_odbc: Prevent throwing warnings
if CDR filtering is used
(Reported by N A)
* ASTERISK-29513 - statsd: Remove non-standard metric type Meter
(Reported by Rijnhard Hessel)
* ASTERISK-12 - app_voicemail2 became a bit silent, lately
(Reported by siggi)
* ASTERISK-29526 - G729 audio gets corrupted by Asterisk due to smoother
(Reported by under)
* ASTERISK-29392 - chan_iax2: Asterisk crashes when queueing
video with format
(Reported by Michael Welk)
* ASTERISK-27871 - Remote URL in playback must end with file extension
(Reported by Caesar)
* ASTERISK-29507 - STUN timeout is silently delaying calls
(Reported by Sébastien Duthil)
* ASTERISK-29514 - ari: Audiosocket segfault when no data specified
(Reported by Igor Goncharovsky)
* ASTERISK-29503 - Updated identify/match syntax not supported
by config wizard
(Reported by Sean Bright)
* ASTERISK-29480 - fixedjitterbuffer contains an un-wrappered
assert that triggers on a negative time slew
(Reported by Dan Cropp)
* ASTERISK-29485 - core: Inband generation of tones for Busy()
and Congestion() may not occur
(Reported by Joshua C. Colp)
* ASTERISK-29479 - [patch] Channels are not put on hold for
Session Progress with inactive audio
(Reported by Bernd Zobl)
* ASTERISK-29475 - SayNumber triggers WARNING if caller hangs
up during application execution
(Reported by N A)
* ASTERISK-29404 - Consolidate res_pjsip_messaging fixes for
domain name
(Reported by George Joseph)
* ASTERISK-29441 - Core reload making TCP endpoints go offline
(Reported by Luke Escude)
* ASTERISK-28237 - "FRACK!, Failed assertion bad magic number"
happens when unsubscribe an application from an event source
(Reported by Lucas Tardioli Silveira)
* ASTERISK-28393 - Multidomain support issue
(Reported by Andrea Sannucci)
* ASTERISK-29433 - res_rtp_asterisk: Server reflexive
candidates use incorrect raddr for RTCP
(Reported by Chris)
* ASTERISK-29397 - pjsip: Asterisk isn't tolerant of RFC8760 UASs
(Reported by George Joseph)
* ASTERISK-24601 - [patch]Missing RFC4235 tags and attributes
in PJSIP NOTIFY event: dialog XML body
(Reported by Marco Paland)
* ASTERISK-29372 - file.c switch does not account for flash events
(Reported by N A)
* ASTERISK-29370 - chan_sip does not recognize
application/hook-flash
(Reported by N A)
* ASTERISK-29377 - cpool_release_pool "double free or
corruption (out)"
(Reported by Robert Sutton)
* ASTERISK-29358 - chan_pjsip: Trace message for progress is
output even if frame is not queued
(Reported by Michael Maier)
* ASTERISK-29030 - res_rtp_asterisk: Additional RTP-frame (with
wrong SSRC) gets inserted when switching from progress to established
(Reported by Matthias Hensler)
* ASTERISK-29407 - chan_local: Filtering audio formats should
not occur on removed streams
(Reported by Joshua C. Colp)
* ASTERISK-29328 - translate.c: possible buffer overflow when upsampling
(Reported by Jean Aunis - Prescom)
* ASTERISK-29379 - Segfault - ast_channel_is_multistream
(chan=0x0) at channel_internal_api.c:1590
(Reported by Ross Beer)
* ASTERISK-29130 - prometheus: Crash when scraping bridge
(Reported by Francisco Correia)
* ASTERISK-29364 - res_rtp_asterisk: standard deviation
miscalculation
(Reported by Kevin Harwell)
* ASTERISK-29373 - res_rtp_asterisk: Flash events are duplicated
(Reported by N A)
* ASTERISK-28356 - app_queue: CLI set ringinuse for realtime
member not working
(Reported by Michael)
* ASTERISK-24434 - Fix differing usage of assignment operators
in modules.conf
(Reported by Rusty Newton)
* ASTERISK-26614 - app_queue: updatecdr option in queues.conf
does effectively nothing
(Reported by Alexander Gonchiy)
* ASTERISK-24631 - Incorrect description of option "context" in
queues.conf.sample
(Reported by Etienne Lessard)
* ASTERISK-25358 - dateformat not read from logger.conf by
remote console
(Reported by Igor Liferenko)
* ASTERISK-27542 - app_queue: When "queue show" CLI command is
executed a crash occurs
(Reported by Miguel Sanz)
* ASTERISK-29215 - res_pjsip_session: NULL active_media_state
topology caused asterisk crash
(Reported by sungtae kim)
* ASTERISK-29355 - app_queue: Queue member status message sent
even if status doesn't change
(Reported by Roman Pertsev)
* ASTERISK-29035 - chan_local: Multistream support breaks T.38 faxing
(Reported by Matthias Hensler)
* ASTERISK-29354 - res_pjsip: Allow partial reloading of transports
(Reported by Joshua C. Colp)
* ASTERISK-29348 - menuselect doesn't return errors in many cases
(Reported by George Joseph)
* ASTERISK-29352 - res_rtp_asterisk: Fix frame delivery time
when SSRC changes
(Reported by Joshua C. Colp)
* ASTERISK-29071 - app_confbridge: Memory rises when
jitterbuffer enabled and muting over AMI occurs
(Reported by Stefan Ruf)
* ASTERISK-29329 - app_dial: DTMF to 'D' option gets duplicated
if there are multiple progress events
(Reported by N A)
* ASTERISK-29306 - strings: Incorrect use of
__attribute__((pure)) in ast_str_to_lower definition
(Reported by Vitezslav Novy)
* ASTERISK-29300 - res_rtp_asterisk: When native local bridging
the remote SSRC becomes permanent
(Reported by Sebastian Damm)
* ASTERISK-29235 - res_pjsip_nat: Contact is rewritten on
REGISTER responses with external_signaling_address
(Reported by Brian Paboojian)
* ASTERISK-29266 - ICE Role conflict with an unauthorized session
(Reported by Salah Ahmed)
* ASTERISK-29105 - chan_pjsip: 180 Ringing with SDP not changed
into progress
(Reported by Sebastian Damm)
* ASTERISK-29297 - say: Y2021 problem �<80><93> Asterisk cannot say
year 2021 in Dutch
(Reported by Jacek Konieczny)
* ASTERISK-29315 - res_pjsip: re-registration gets stuck if
setting initial auth credentials fails
(Reported by Nick French)
* ASTERISK-29312 - res_fax: asterisk fails to publish the
Stasis and ReceiveFax status messages if the remote Station ID
contains invalid UTF-8 characters
(Reported by Alexei Gradinari)
* ASTERISK-16799 - Callee declined when 'beep' audio file does
not exist
(Reported by IAMJames_)
* ASTERISK-29313 - res_pjsip_refer: Segfault in progress notify
(Reported by George Joseph)
* ASTERISK-28452 - pjsip: <sess-version> of SDP is not
incremented though SDP may be changed on reinvite without SDP offer
(Reported by Michael Maier)
* ASTERISK-29311 - res_odbc_transaction sets forcecommit
default value based on isolation level instead of forcecommit
(Reported by Jaco Kroon)
* ASTERISK-29303 - pjsip: Re-invite occurs when it shouldn't
(Reported by Benjamin Keith Ford)
* ASTERISK-29293 - res_config_pgsql: Limit realtime_pgsql() to
return one (no more) record
(Reported by Boris P. Korzun)
* ASTERISK-28369 - app_queue: Member device state "invalid"
when second call is ringing and hint is used
(Reported by Boolah)
* ASTERISK-29287 - app.h: C++ compatibility broken
(Reported by Jean Aunis - Prescom)
* ASTERISK-29203 - res_pjsip_t38: Crash when changing state
(Reported by Gregory Massel)
* ASTERISK-29205 - res_rtp_asterisk: Asterisk crashes when
making hold/unhold from webrtc client
(Reported by Edvin Vidmar)
* ASTERISK-29196 - res_pjsip: Segmentation fault
(Reported by Mauri de Souza Meneguzzo (3CPlus))
* ASTERISK-29280 - chan_sip: Allow peers without audio (text+video).
(Reported by Alexander Traud)
* ASTERISK-29265 - chan_sip: Allow text+video media streams, again.
(Reported by Alexander Traud)
* ASTERISK-29259 - channel: Allow text+video media streams, again.
(Reported by Alexander Traud)
* ASTERISK-29261 - res_pjsip: user=phone validation fail for
isup numbers containing *#
(Reported by Mark Petersen)
* ASTERISK-29258 - chan_sip: Audio stream rejected, Other
stream present: Invalid SDP.
(Reported by Alexander Traud)
* ASTERISK-29248 - res_pjsip_session: res sometimes
uninitialized reported by compiler Clang.
(Reported by Alexander Traud)
* ASTERISK-29220 - After T38 reinvite response of 488 a
subsequent G711 reinvite is not processed correctly. Instead the
previous T38 session media is used
(Reported by Robert Cripps)
* ASTERISK-29229 - Stasis/messaging: text messages not
dispatched to all subscribers when using generic subscription
(Reported by Jean Aunis - Prescom)
* ASTERISK-29238 - chan_sip: SDP: Offers without any enabled
stream are accepted.
(Reported by Alexander Traud)
* ASTERISK-29237 - chan_sip: SDP: m=video is parsed even when disabled.
(Reported by Alexander Traud)
* ASTERISK-29222 - chan_sip: Hold/Resume an sRTP call on a
video enabled user-agent.
(Reported by Alexander Traud)
* ASTERISK-29240 - chan_pjsip: Incoming PJSIP calls set global
SIPDOMAIN instead of a channel variable
(Reported by Ivan Poddubny)
* ASTERISK-27902 - chan_pjsip isn't updating hangupcause on 4XX responses
(Reported by George Joseph)
* ASTERISK-28016 - PJSIP sends duplicate 183 Progress responses
(Reported by Alex Hermann)
* ASTERISK-28185 - chan_pjsip: Subsequent same responses are not stopped
(Reported by Julien)
* ASTERISK-29230 - pjsip: Asterisk goes crazy and massively
spams logfile if registration can't be send
(Reported by Michael Maier)
* ASTERISK-29231 - pjsip: SIGSEGV in CLI if no trunk is registered
(Reported by Michael Maier)
* ASTERISK-29217 - LOCK() can grant the same lock to multiple
channels spuriously
(Reported by Jaco Kroon)
* ASTERISK-28947 - Segmentation fault in mixmonitor_ds_destroy
(Reported by Robert Sutton)
* ASTERISK-29201 - Crash occurs when Transfer and execute
Hangup before the Transfer result
(Reported by Dan Cropp)
* ASTERISK-29168 - Asterisk crashes during call transfer
(Reported by Dalius Mockevicius)
* ASTERISK-29210 - res_pjsip: Crash when examining transport
(Reported by N GM )
* ASTERISK-29191 - tel: URI in Diversion header causes crash
(Reported by Mikhail Ivanov)
* ASTERISK-28883 - Spyee information ist missing in ChanSpyStop
AMI Event
(Reported by Hendrik Wedhorn)
* ASTERISK-29188 - null media causing the Asterisk crash
(Reported by sungtae kim)
* ASTERISK-29209 - Debug messages printed by scope trace might
be missing newlines
(Reported by Alexander Traud)
* ASTERISK-29024 - pjsip: Route Header in Cancel request
incorrectly set
(Reported by Flole Systems)
* ASTERISK-29211 - res_musiconhold: Segfault on realtime music
on hold without entries
(Reported by Nathan Bruning)
* ASTERISK-29022 - Crash when manipulating PJSIP invite dlg ref counts
(Reported by Sean Bright)
* ASTERISK-29173 - Media cache URL requests allow infinite redirects
(Reported by Sean Bright)
* ASTERISK-29175 - res_pjsip_stir_shaken: Fix module description
(Reported by Stanislav Abramenkov)
* ASTERISK-29148 - AST_MODULE_INFO no, MODULEINFO depend
(Reported by Alexander Traud)
* ASTERISK-29165 - res_pjsip: malformed header Accept-Encoding
in OPTIONS response
(Reported by Alexander Greiner-Baer)
* ASTERISK-28798 - [patch] chan_sip: TCP/TLS client without server.
(Reported by Alexander Traud)
* ASTERISK-29161 - Incorrect setup of recall channels
(Reported by Boris P. Korzun)
* ASTERISK-29155 - app_queue: Deadlock between queues container
and individual queues
(Reported by George Joseph)
* ASTERISK-28933 - res_pjsip.so fails to load when bundled
pjproject is compiled without libssl
(Reported by Walter Doekes)
* ASTERISK-28825 - Any curl response checks out as valid even
if 404 is returned.
(Reported by dovid)
* ASTERISK-29013 - res_pjsip: Asterisk doesn't stop sending
invites (with auth) on 407 replies
(Reported by Sebastian Damm)
* ASTERISK-29142 - sip_to_pjsip.py: doesn't read globbed includes
(Reported by Michael Newton)
* ASTERISK-29144 - GCC Warnings with OPTIMIZE=-Og make
(Reported by Alexander Traud)
* ASTERISK-29146 - GCC Warnings: %s> directive argument is null.
(Reported by Alexander Traud)
* ASTERISK-29145 - GCC Warnings with OPTIMIZE=-Os make
(Reported by Alexander Traud)
* ASTERISK-29124 - res_pjsip: flow transport broken for
outbound requests
(Reported by Nick French)
* ASTERISK-29136 - config: Sample features.conf incorrectly
includes " around sound files
(Reported by Benjamin M.)
* ASTERISK-29123 - logger.conf.sample missing comment mark on line 115
(Reported by Andrew Siplas)
* ASTERISK-29109 - res_pjsip_session: Asterisk 18 does not
progress calls due to codec negotiation after upgrading from
Asterisk 16
(Reported by Ross Beer)
* ASTERISK-28430 - res_rtp_asterisk.c: FRACK!, Failed assertion
errno != EBADF
(Reported by under)
* ASTERISK-29108 - resource_endpoints.c : Memory leak if
endpoint not found
(Reported by Jean Aunis - Prescom)
* ASTERISK-29097 - res_pjsip_config_wizard: Crash when freeing
string when failing to add extension
(Reported by Vieri)
* ASTERISK-26424 - app_voicemail: Undocumented behavior from VMSayName
(Reported by Eric Smith)
* ASTERISK-29051 - res_pjsip_sdp_rtp: Does not set correct
values on RTP instance when "auto" DTMF is used
(Reported by Sebastian Damm)
* ASTERISK-29099 - res_musiconhold: Realtime MOH only loads a
single entry
(Reported by laszlovl)
* ASTERISK-29091 - Crash when ast_translator_build_path fails
(Reported by Jasper van der Neut)
* ASTERISK-28311 - dsp: ast_dsp_silence_noise_with_energy wrong
judgment of frame format
(Reported by �<91>�家建)
* ASTERISK-29085 - func_curl: Segmentation fault when using
CURL after setting httpheader CURLOPT
(Reported by Péter
Juhász)
* ASTERISK-24329 - Music On Hold announcement cuts intro of
music the first time it is played
(Reported by Thomas Frederiksen)
* ASTERISK-29089 - RTP Ports not cleared after hangup
(Reported by Ross Beer)
* ASTERISK-29081 - res_stasis: Add compare function for bridges
moh container
(Reported by Hajek Michal)
* ASTERISK-28416 - Unable to get rtp codec payload code for slin
(Reported by Brian J. Murrell)
* ASTERISK-29014 - res_pjsip_session: Re-INVITE collisions
aren't handled correctly
(Reported by George Joseph)
* ASTERISK-25665 - Duplicate logging in queue log for EXITEMPTY events
(Reported by Ove Aursand)
* ASTERISK-29043 - app_queue: Leave empty sometimes not
recorded as abandoned
(Reported by Kfir Itzhak)
* ASTERISK-29042 - res_parking: Parker UUID is no longer copied
(Reported by Misha Vodsedalek)
* ASTERISK-28878 - chan_pjsip: PJSIP_MEDIA_OFFER Broken asterisk 16
(Reported by Joseph Ades)
* ASTERISK-29046 - pbx: Deadlock when doing a reload, while
simultaneously doing an ExtensionState on a pattern match hint
that ends up adding an extension
(Reported by Ramarajan)
* ASTERISK-29040 - res_speech: Assertion on format
(Reported by Nickolay V. Shmyrev)
* ASTERISK-29001 - chan_pjsip does not process or forward 181 responses
(Reported by Torrey Searle)
* ASTERISK-27273 - app_voicemail: When a voicemail is marked as
"Urgent", it is not sent by email/processed by the mailcmd command
(Reported by Leandro Dardini)
* ASTERISK-29034 - Lastpause of realtime members is reseting
(Reported by Evandro César Arruda)
* ASTERISK-29033 - res_pjsip_session: Aggressively terminates
session on failed re-INVITE
(Reported by Joshua C. Colp)
* ASTERISK-28974 - res_rtp_asterisk: T.140 messages have
appended RTP string to each message block. (Reported by
Thomas Johnson)
* ASTERISK-29011 - chan_sip: ToHost property not cleared on reload
(Reported by Dennis)
* ASTERISK-29021 - [patch] Fix VERSION(ASTERISK_VERSION_NUM) on
certified versions
(Reported by cmaj)
* ASTERISK-28927 - Asterisk crash in music on hold
(Reported by David Cunningham)
* ASTERISK-28973 - Malformed IP address in SDP of 2nd SIP timer
triggered INVITE when NAT is active (UDP transport with
external_media_address)
(Reported by Michael Neuhauser)
* ASTERISK-28995 - res_pjsip_registrar: Expires on statically
configured contacts is not correct
(Reported by tootai)
* ASTERISK-28987 - BridgeCreated ARI event shows wrong video_mode info
(Reported by sungtae kim)
* ASTERISK-28978 - acl: named_acl rule misconfiguration results
in segfault on reading rule from realtime
(Reported by Andrew Yager)
Improvements made in this release:
-----------------------------------
* ASTERISK-29637 - Add support for future dates in Say.c
(Reported by Shloime Rosenblum)
* ASTERISK-29525 - PJSIP remove_existing unavailable contacts
(Reported by Joseph Nadiv)
* ASTERISK-29661 - func_vmcount: Add support for multiple mailboxes
(Reported by N A)
* ASTERISK-29275 - Support of MIME-type for wav16
(Reported by Boris P. Korzun)
* ASTERISK-29529 - Add custom logging level
(Reported by N A)
* ASTERISK-29472 - res_pjsip: OLI/ANI2 support missing
(Reported by N A)
* ASTERISK-29626 - app_stack: Include calling location if
attempting to branch to nonexistent location
(Reported by N A)
* ASTERISK-29632 - Add option to Application_VoiceMail to
suppress instructions only when a custom greeting is present
(Reported by Charlie Smurthwaite)
* ASTERISK-29605 - chan_iax2: Add ANI2
(Reported by N A)
* ASTERISK-29508 - STUN server address refresh
(Reported by Sébastien Duthil)
* ASTERISK-29612 - bridge_basic: Don't throw warning if
attended transfer is cancelled
(Reported by N A)
* ASTERISK-29544 - Media Cache - Delayed remote sound file
retrieve delays all playbacks
(Reported by Andre Barbosa)
* ASTERISK-29495 - Return integer instead of float if response
is a whole number
(Reported by N A)
* ASTERISK-29541 - app_morsecode: Add American Morse code
(Reported by N A)
* ASTERISK-29543 - app_originate: Allow specifying codec(s) to use
(Reported by N A)
* ASTERISK-29528 - Add support for multiple files for agent announcements
(Reported by N A)
* ASTERISK-29527 - res_http_media_cache: Cleanup audio format
lookup in HTTP requests
(Reported by Sean Bright)
* ASTERISK-29501 - ARI - Stasis Playback doesn't hangup call
when processing a list of invalid files
(Reported by Andre Barbosa)
* ASTERISK-29464 - ARI - PlaybackFinish skip error events
(Reported by Andre Barbosa)
* ASTERISK-29450 - Allow setting channel variables using
Originate application
(Reported by N A)
* ASTERISK-29460 - Recognize application/hook-flash in PJSIP
(Reported by N A)
* ASTERISK-29459 - Missing configuration from PJSIP to SIP
conversion script
(Reported by N A)
* ASTERISK-29434 - Asterisk reveals pjproject version in STUN packets
(Reported by Jeremy Lainé)
* ASTERISK-29380 - Add Flash AMI event to handle flash events
(Reported by N A)
* ASTERISK-29349 - Silent voicemail option is not completely silent
(Reported by N A)
* ASTERISK-29339 - loader: Let's output warnings for deprecated modules!
(Reported by Joshua C. Colp)
* ASTERISK-29337 - menuselect: Add ability to set deprecated in
and removed in versions for modules
(Reported by Joshua C. Colp)
* ASTERISK-29335 - xml: Embed module information into core XML documentation.
(Reported by Joshua C. Colp)
* ASTERISK-29336 - documentation: Fix inconsistent support levels
(Reported by Joshua C. Colp)
* ASTERISK-29321 - sorcery: Add support for more intelligent reloading.
(Reported by Joshua C. Colp)
* ASTERISK-29325 - res_pjsip_registrar: Include source IP
address and port in log messages
(Reported by Joshua C. Colp)
* ASTERISK-29326 - asterisk: Update copyright/company
(Reported by Joshua C. Colp)
* ASTERISK-29244 - Add MixMonitorStart / Stop / Mute AMI events
(Reported by Sébastien Duthil)
* ASTERISK-29252 - TRANSFERSTATUSPROTOCOL variable to report
Transfer (REFER) failure SIP code
(Reported by Dan Cropp)
* ASTERISK-29262 - Support of various URL-schemes by MoH
(Reported by Boris P. Korzun)
* ASTERISK-28549 - Two repeated 183
(Reported by Gant Liu)
* ASTERISK-29216 - contrib: systemd asterisk service for
centos8 or other newer linux versions
(Reported by Mark Petersen)
* ASTERISK-29143 - res_http_media_cache: HTTP media cache
stored hardcoded in /tmp
(Reported by laszlovl)
* ASTERISK-29118 - VoiceMail() should have an option to play
greetings as Early Media
(Reported by Juan Carlos Castro y Castro)
* ASTERISK-29054 - Logger: Add debug logging categories
(Reported by Kevin Harwell)
* ASTERISK-29083 - Do not build chan_sip by default as it is
now deprecated
(Reported by Sean Bright)
* ASTERISK-29056 - Increase reg_server column size for
ps_contacts table realtime
(Reported by sungtae kim)
* ASTERISK-29055 - Create a Bridge with video_single mode
(Reported by sungtae kim)
For a full list of changes in this release, please see the ChangeLog:
https://downloads.asterisk.org/pub/telephony/asterisk/ChangeLog-19.0.0
Thank you for your continued support of Asterisk!
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 pkgsrc/comms/asterisk19/DESCR \
pkgsrc/comms/asterisk19/Makefile pkgsrc/comms/asterisk19/PLIST \
pkgsrc/comms/asterisk19/distinfo pkgsrc/comms/asterisk19/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/comms/asterisk19/files/asterisk.sh
cvs rdiff -u -r0 -r1.1 pkgsrc/comms/asterisk19/files/smf/manifest.xml
cvs rdiff -u -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-Makefile \
pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c \
pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c \
pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig \
pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c \
pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c \
pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c \
pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c \
pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c \
pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c \
pkgsrc/comms/asterisk19/patches/patch-configure \
pkgsrc/comms/asterisk19/patches/patch-configure.ac \
pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c \
pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c \
pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in \
pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h \
pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h \
pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h \
pkgsrc/comms/asterisk19/patches/patch-main_Makefile \
pkgsrc/comms/asterisk19/patches/patch-main_acl.c \
pkgsrc/comms/asterisk19/patches/patch-main_app.c \
pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c \
pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y \
pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c \
pkgsrc/comms/asterisk19/patches/patch-main_astmm.c \
pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c \
pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c \
pkgsrc/comms/asterisk19/patches/patch-main_callerid.c \
pkgsrc/comms/asterisk19/patches/patch-main_cdr.c \
pkgsrc/comms/asterisk19/patches/patch-main_cel.c \
pkgsrc/comms/asterisk19/patches/patch-main_cli.c \
pkgsrc/comms/asterisk19/patches/patch-main_conversions.c \
pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c \
pkgsrc/comms/asterisk19/patches/patch-main_enum.c \
pkgsrc/comms/asterisk19/patches/patch-main_features.c \
pkgsrc/comms/asterisk19/patches/patch-main_http.c \
pkgsrc/comms/asterisk19/patches/patch-main_indications.c \
pkgsrc/comms/asterisk19/patches/patch-main_logger.c \
pkgsrc/comms/asterisk19/patches/patch-main_manager.c \
pkgsrc/comms/asterisk19/patches/patch-main_pbx.c \
pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c \
pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c \
pkgsrc/comms/asterisk19/patches/patch-main_sched.c \
pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c \
pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c \
pkgsrc/comms/asterisk19/patches/patch-main_tdd.c \
pkgsrc/comms/asterisk19/patches/patch-main_test.c \
pkgsrc/comms/asterisk19/patches/patch-main_utils.c \
pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c \
pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c \
pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c \
pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c \
pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c \
pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile \
pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c \
pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c \
pkgsrc/comms/asterisk19/patches/patch-utils_Makefile \
pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h \
pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c \
pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Added files:
Index: pkgsrc/comms/asterisk19/DESCR
diff -u /dev/null pkgsrc/comms/asterisk19/DESCR:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/DESCR Sun Nov 14 02:30:21 2021
@@ -0,0 +1,15 @@
+Asterisk is a complete PBX in software. It 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.
+
+Asterisk provides Voicemail services with Directory, Call Conferencing,
+Interactive Voice Response, Call Queuing. It has support for
+three-way calling, caller ID services, ADSI, SIP and H.323 (as both
+client and gateway).
+
+This is a standard version. It is scheduled to go to security
+fixes only on November 2nd, 2022, and EOL on November 2nd, 2023.
+See here for more information about Asterisk versions:
+https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions
Index: pkgsrc/comms/asterisk19/Makefile
diff -u /dev/null pkgsrc/comms/asterisk19/Makefile:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/Makefile Sun Nov 14 02:30:21 2021
@@ -0,0 +1,311 @@
+# $NetBSD: Makefile,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+#
+# NOTE: when updating this package, there are two places that sound
+# tarballs need to be checked; look in ${WRKSRC}/sounds/Makefile
+# to find out the current sound file versions
+# Also look in ${WRKSRC}/third-party/versions.mak for pjproject
+
+DISTNAME= asterisk-19.0.0
+#PKGREVISION= 24
+CATEGORIES= comms net audio
+MASTER_SITES= http://downloads.asterisk.org/pub/telephony/asterisk/
+MASTER_SITES+= http://downloads.asterisk.org/pub/telephony/asterisk/old-releases/
+MASTER_SITES+= http://downloads.asterisk.org/pub/telephony/sounds/releases/
+DIST_SUBDIR= ${PKGNAME_NOREV}
+DISTFILES= ${DEFAULT_DISTFILES}
+
+COMMENT= The Asterisk Software PBX
+LICENSE= gnu-gpl-v2
+
+EXTRACT_ONLY= ${DISTNAME}.tar.gz
+OWNER= jnemeth%NetBSD.org@localhost
+HOMEPAGE= https://www.asterisk.org/
+
+MAKE_JOBS_SAFE= NO
+
+# known to have issues on i386, block the package until the bug is fixed
+BROKEN_ON_PLATFORM= NetBSD-*-i386
+
+CONFLICTS+= asterisk-sounds-extra-[0-9]*
+
+.include "../../mk/bsd.prefs.mk"
+
+USE_TOOLS+= bison gmake perl:run pkg-config tar bash:run
+USE_LANGUAGES= c c++
+REPLACE_BASH+= contrib/scripts/astversion
+REPLACE_BASH+= contrib/scripts/ast_coredumper
+REPLACE_BASH+= contrib/scripts/ast_logescalator
+REPLACE_BASH+= contrib/scripts/ast_loggrabber
+REPLACE_PERL+= agi/DialAnMp3.agi agi/agi-test.agi
+REPLACE_PERL+= agi/fastagi-test agi/jukebox.agi agi/numeralize
+REPLACE_PERL+= contrib/scripts/vmail.cgi
+REPLACE_PYTHON+= contrib/scripts/reflocks.py contrib/scripts/refstats.py
+
+CHECK_INTERPRETER_SKIP+= libdata/asterisk/scripts/refcounter.py
+
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --datarootdir=${PREFIX}/libdata
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+CONFIGURE_ARGS+= --without-gtk2
+# XXX remove when lang/lua gets builtin.mk
+CONFIGURE_ARGS+= --without-lua
+
+.if (${OPSYS} == "NetBSD" && \
+ (empty(OS_VERSION:M6.99.[4-9]?) && empty(OS_VERSION:M[7-9].*)))
+CONFIGURE_ARGS+= --without-srtp
+.else
+CONFIGURE_ARGS+= --with-srtp
+PLIST.srtp= YES
+.include "../../comms/srtp/buildlink3.mk"
+.endif
+
+INSTALL_TARGET= install samples
+INSTALLATION_DIRS+= lib/pkgconfig share/doc/${PKGBASE}
+INSTALLATION_DIRS+= share/examples/asterisk share/examples/rc.d
+INSTALLATION_DIRS+= ${ASTDATADIR}/sounds/en ${ASTDATADIR}/moh
+
+BUILD_DEFS+= VARBASE
+
+ASTERISK_USER?= asterisk
+ASTERISK_GROUP?= asterisk
+PKG_GROUPS= ${ASTERISK_GROUP}
+PKG_USERS= ${ASTERISK_USER}:${ASTERISK_GROUP}
+PKG_GECOS.${ASTERISK_USER}= Asterisk PBX
+PKG_GROUPS_VARS= ASTERISK_GROUP
+PKG_USERS_VARS= ASTERISK_USER
+FILES_SUBST+= ASTERISK_USER=${ASTERISK_USER}
+FILES_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP}
+MESSAGE_SUBST+= ASTERISK_USER=${ASTERISK_USER}
+MESSAGE_SUBST+= ASTERISK_GROUP=${ASTERISK_GROUP}
+
+# Various path settings for Asterisk
+PKG_SYSCONFSUBDIR= asterisk
+PKG_SYSCONFDIR_PERMS= ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+ASTETCDIR= ${PKG_SYSCONFDIR}
+ASTEXAMPLEDIR= ${PREFIX}/share/examples/asterisk
+ASTDBDIR= ${VARBASE}/db/asterisk
+ASTSPOOLDIR= ${VARBASE}/spool/asterisk
+ASTLOGDIR= ${VARBASE}/log/asterisk
+MESSAGE_SUBST+= ASTDBDIR=${ASTDBDIR}
+MESSAGE_SUBST+= ASTSPOOLDIR=${ASTSPOOLDIR}
+MESSAGE_SUBST+= ASTLOGDIR=${ASTLOGDIR}
+ASTVARRUNDIR= ${VARBASE}/run/asterisk
+FILES_SUBST+= ASTVARRUNDIR=${ASTVARRUNDIR}
+ASTDATADIR= ${PREFIX}/libdata/asterisk
+MAKE_FLAGS+= ASTLIBDIR=${PREFIX}/lib/asterisk
+MAKE_FLAGS+= ASTVARLIBDIR=${ASTDATADIR}
+MAKE_FLAGS+= ASTKEYDIR=${ASTDATADIR}
+MAKE_FLAGS+= ASTDATADIR=${ASTDATADIR}
+MAKE_FLAGS+= ASTSPOOLDIR=${ASTSPOOLDIR}
+MAKE_FLAGS+= ASTLOGDIR=${ASTLOGDIR}
+MAKE_FLAGS+= ASTHEADERDIR=${PREFIX}/include/asterisk
+MAKE_FLAGS+= ASTCONFPATH=${ASTETCDIR}/asterisk.conf
+MAKE_FLAGS+= ASTBINDIR=${PREFIX}/bin
+MAKE_FLAGS+= ASTSBINDIR=${PREFIX}/sbin
+MAKE_FLAGS+= ASTVARRUNDIR=${ASTVARRUNDIR}
+MAKE_FLAGS+= ASTMANDIR=${PREFIX}/${PKGMANDIR}
+MAKE_FLAGS+= ASTETCDIR=${ASTETCDIR}
+MAKE_FLAGS+= ASTDBDIR=${ASTDBDIR}
+MAKE_FLAGS+= AGI_DIR=${PREFIX}/libexec/agi-bin
+MAKE_FLAGS+= ASTEXAMPLEDIR=${ASTEXAMPLEDIR}
+MAKE_FLAGS+= WRKSRC=${WRKSRC}
+MAKE_FLAGS+= LDOPTS=${LDFLAGS:M*:Q}
+MAKE_FLAGS+= HTTP_DOCSDIR=${PREFIX}/share/httpd/htdocs
+MAKE_FLAGS+= HTTP_CGIDIR=${PREFIX}/libexec/cgi-bin
+MAKE_FLAGS+= OPTIMIZE=-O3
+
+.if !empty(MACHINE_PLATFORM:MSunOS-*-i386)
+BUILDLINK_TRANSFORM+= rm:-march=i386
+.endif
+
+PLIST_VARS+= kqueue
+.if exists(/usr/include/sys/event.h)
+PLIST.kqueue= yes
+.endif
+
+PLIST_VARS+= mgcp
+# NOSIGPIPE is a temp variable, since PLIST.mgcp MUST remain undefined
+# if the grep fails
+.for dir in ${COMPILER_INCLUDE_DIRS}
+. if (exists(${dir}/sys/socket.h))
+NOSIGPIPE!= ${GREP} SO_NOSIGPIPE ${dir}/sys/socket.h || echo ""
+. if ${NOSIGPIPE} != ""
+PLIST.mgcp= yes
+. endif
+. endif
+.endfor
+
+.if ${OPSYS} == "SunOS"
+PLIST.mgcp= yes
+.endif
+
+PLIST_VARS+= timerfd
+.if ${OPSYS} == "Linux"
+PLIST.timerfd= yes
+.endif
+
+PLIST_VARS+= unbound
+# unbound 1.5 or later is required.`
+.if exists(/usr/include/unbound.h) && !empty(OS_VERSION:M8.*)
+CONFIGURE_ARGS+= --without-unbound
+.else
+PLIST.unbound= yes
+.endif
+
+.include "options.mk"
+
+# check sounds/Makefile for current version when upgrading package
+DISTFILES+= asterisk-extra-sounds-en-gsm-1.5.2.tar.gz
+
+# pjproject
+PJPROJ_VERSION= 2.10
+SITES.pjproject-${PJPROJ_VERSION}.tar.bz2= \
+ -https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/${PJPROJ_VERSION}/pjproject-${PJPROJ_VERSION}.tar.bz2
+SITES.pjproject-${PJPROJ_VERSION}.md5= \
+ -https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/${PJPROJ_VERSION}/MD5SUM.TXT
+DISTFILES+= pjproject-${PJPROJ_VERSION}.tar.bz2 pjproject-${PJPROJ_VERSION}.md5
+ALL_ENV+= EXTERNALS_CACHE_DIR=${DISTDIR}/${DIST_SUBDIR}
+
+# Override default paths in config files
+SUBST_CLASSES+= configs
+SUBST_STAGE.configs= pre-configure
+SUBST_FILES.configs= configs/samples/cli_aliases.conf.sample
+SUBST_FILES.configs+= configs/samples/festival.conf.sample
+SUBST_FILES.configs+= configs/samples/http.conf.sample
+SUBST_FILES.configs+= configs/samples/iax.conf.sample
+SUBST_FILES.configs+= configs/samples/musiconhold.conf.sample
+SUBST_FILES.configs+= configs/samples/osp.conf.sample
+SUBST_FILES.configs+= configs/samples/phoneprov.conf.sample
+SUBST_FILES.configs+= configs/samples/sla.conf.sample
+SUBST_SED.configs+= -e 's|doc/|${PREFIX}/share/doc/${PKGBASE}/|'
+SUBST_SED.configs+= -e 's|/etc/asterisk|${ASTETCDIR}|'
+SUBST_SED.configs+= -e 's|/var/lib/asterisk|${ASTVARLIBDIR}|'
+SUBST_SED.configs+= -e "s|/usr/local/man|${ASTMANDIR}|"
+SUBST_SED.configs+= -e "s|/usr/local|${PREFIX}|"
+SUBST_SED.configs+= -e "s|/var|${VARBASE}|"
+
+# XXX gross hack, remove when item is fixed
+SUBST_CLASSES.NetBSD+= autoconfig
+SUBST_STAGE.autoconfig= post-configure
+SUBST_FILES.autoconfig= include/asterisk/autoconfig.h
+SUBST_SED.autoconfig= -e "s|^\#define HAVE_GCC_ATOMICS 1|\#undef HAVE_GCC_ATOMICS|"
+SUBST_SED.autoconfig+= -e "s|^\#define HAVE_GETHOSTBYNAME_R_6 1|\#undef HAVE_GETHOSTBYNAME_R_6|"
+
+# XXX gross hack, IP_PKTINFO in NetBSD isn't compatible with anything else
+SUBST_CLASSES.NetBSD+= pktinfo
+SUBST_STAGE.pktinfo= post-configure
+SUBST_FILES.pktinfo= include/asterisk/autoconfig.h
+SUBST_SED.pktinfo= -e "s|^\#define HAVE_PKTINFO 1|\#undef HAVE_PKTINFO|"
+
+# XXX gross hack, gethostbyname_r on NETBSD is for internal use only
+SUBST_CLASSES.NetBSD+= gethostbyname_r
+SUBST_STAGE.gethostbyname_r= post-configure
+SUBST_FILES.gethostbyname_r= include/asterisk/autoconfig.h
+SUBST_SED.gethostbyname_r= -e "s|^\#define HAVE_GETHOSTBYNAME_R_5 1|\#undef HAVE_GETHOSTBYNAME_R_5|"
+SUBST_SED.gethostbyname_r+= -e "s|^\#define HAVE_GETHOSTBYNAME_R_6 1|\#undef HAVE_GETHOSTBYNAME_R_6|"
+
+RCD_SCRIPTS= asterisk
+OWN_DIRS_PERMS+= ${ASTDBDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/dictate ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/meetme ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/monitor ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/outgoing ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/system ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/tmp ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234 ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/busy.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
+SPECIAL_PERMS+= ${ASTSPOOLDIR}/voicemail/default/1234/en/unavail.gsm ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/INBOX ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTSPOOLDIR}/voicemail/default/en ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTLOGDIR} ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-csv ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+OWN_DIRS_PERMS+= ${ASTLOGDIR}/cdr-custom ${ASTERISK_USER} ${ASTERISK_GROUP} 0755
+
+CONF_FILES_PERMS= # empty
+.for f in asterisk.conf extensions.conf
+CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
+.endfor
+
+.if !empty(PKG_OPTIONS:Masterisk-config)
+# if we put all the files in $CONF_FILES, the message is _way_ too long.
+. for f in acl.conf adsi.conf aeap.conf agents.conf alarmreceiver.conf \
+ alsa.conf amd.conf app_mysql.conf app_skel.conf ari.conf \
+ ast_debug_tools.conf asterisk.adsi calendar.conf ccss.conf \
+ cdr.conf cdr_adaptive_odbc.conf cdr_custom.conf \
+ cdr_manager.conf cdr_odbc.conf cdr_pgsql.conf \
+ cdr_sqlite3_custom.conf cdr_tds.conf cel.conf \
+ cel_beanstalkd.conf cel_custom.conf cel_odbc.conf \
+ cel_pgsql.conf cel_sqlite3_custom.conf cel_tds.conf \
+ chan_dahdi.conf chan_mobile.conf cli.conf cli_aliases.conf \
+ cli_permissions.conf codecs.conf confbridge.conf \
+ config_test.conf console.conf dbsep.conf dnsmgr.conf dsp.conf \
+ dundi.conf enum.conf extconfig.conf extensions.ael \
+ extensions.conf extensions.lua extensions_minivm.conf \
+ features.conf festival.conf followme.conf func_odbc.conf \
+ hep.conf http.conf iax.conf iaxprov.conf indications.conf \
+ logger.conf manager.conf meetme.conf mgcp.conf minivm.conf \
+ modules.conf motif.conf musiconhold.conf muted.conf ooh323.conf \
+ osp.conf phoneprov.conf pjproject.conf pjsip.conf \
+ pjsip_notify.conf pjsip_wizard.conf prometheus.conf \
+ queuerules.conf queues.conf res_config_mysql.conf \
+ res_config_sqlite3.conf res_corosync.conf res_curl.conf \
+ res_fax.conf res_ldap.conf res_odbc.conf res_parking.conf \
+ res_pgsql.conf res_pktccops.conf res_snmp.conf \
+ res_stun_monitor.conf resolver_unbound.conf rtp.conf say.conf \
+ sip.conf sip_notify.conf skinny.conf sla.conf smdi.conf \
+ sorcery.conf ss7.timers stasis.conf statsd.conf \
+ stir_shaken.conf telcordia-1.adsi test_sorcery.conf udptl.conf \
+ unistim.conf users.conf voicemail.conf xmpp.conf
+CONF_FILES_PERMS+= ${ASTEXAMPLEDIR}/${f:Q} ${PKG_SYSCONFDIR}/${f:Q} ${ASTERISK_USER} ${ASTERISK_GROUP} 0644
+. endfor
+.endif
+
+PTHREAD_OPTS+= require native
+
+.if (${OPSYS} == "Darwin" && exists(/usr/include/sys/poll.h))
+post-patch:
+ ${ECHO} "#include <sys/poll.h>" > ${WRKSRC}/include/asterisk/poll-compat.h
+.endif
+
+post-install:
+# check sounds directory for current versions when upgrading package
+ ${TAR} xzf ${WRKSRC}/sounds/asterisk-core-sounds-en-gsm-1.6.1.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
+ ${TAR} xzf ${WRKSRC}/sounds/asterisk-moh-opsound-wav-2.03.tar.gz -C ${DESTDIR}${ASTDATADIR}/moh
+ ${TAR} xzf ${DISTDIR}/${DIST_SUBDIR}/asterisk-extra-sounds-en-gsm-1.5.2.tar.gz -C ${DESTDIR}${ASTDATADIR}/sounds/en
+ ${INSTALL_DATA} ${WRKSRC}/BUGS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/CHANGES ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/COPYING ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/CREDITS ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/ChangeLog ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/LICENSE ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/README-SERIOUSLY.bestpractices.md ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/README.md ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/UPGRADE.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/Zaptel-to-DAHDI.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/asterisk-19.0.0-summary.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.pdf ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/doc/IAX2-security.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+ ${INSTALL_DATA} ${WRKSRC}/doc/README.txt ${DESTDIR}${PREFIX}/share/doc/${PKGBASE}
+
+.if ${OPSYS} != "Darwin" && ${PKGSRC_COMPILER:Mclang}
+.include "../../lang/libBlocksRuntime/buildlink3.mk"
+LDFLAGS+= -L${PREFIX}/lib
+.endif
+
+.include "../../databases/sqlite3/buildlink3.mk"
+.include "../../devel/libuuid/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../lang/python/application.mk"
+.include "../../textproc/jansson/buildlink3.mk"
+.include "../../security/openssl/buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+.include "../../www/curl/buildlink3.mk"
+.include "../../mk/curses.buildlink3.mk"
+.include "../../mk/pthread.buildlink3.mk"
+.include "../../mk/termcap.buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
Index: pkgsrc/comms/asterisk19/PLIST
diff -u /dev/null pkgsrc/comms/asterisk19/PLIST:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/PLIST Sun Nov 14 02:30:21 2021
@@ -0,0 +1,2440 @@
+@comment $NetBSD: PLIST,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+lib/asterisk/libasteriskpj.so
+lib/asterisk/libasteriskpj.so.2
+lib/asterisk/modules/app_adsiprog.so
+lib/asterisk/modules/app_agent_pool.so
+lib/asterisk/modules/app_alarmreceiver.so
+lib/asterisk/modules/app_amd.so
+lib/asterisk/modules/app_attended_transfer.so
+lib/asterisk/modules/app_audiosocket.so
+lib/asterisk/modules/app_authenticate.so
+lib/asterisk/modules/app_blind_transfer.so
+lib/asterisk/modules/app_bridgeaddchan.so
+lib/asterisk/modules/app_bridgewait.so
+lib/asterisk/modules/app_cdr.so
+lib/asterisk/modules/app_celgenuserevent.so
+lib/asterisk/modules/app_chanisavail.so
+lib/asterisk/modules/app_channelredirect.so
+lib/asterisk/modules/app_chanspy.so
+lib/asterisk/modules/app_confbridge.so
+lib/asterisk/modules/app_controlplayback.so
+lib/asterisk/modules/app_db.so
+lib/asterisk/modules/app_dial.so
+lib/asterisk/modules/app_dictate.so
+lib/asterisk/modules/app_directed_pickup.so
+lib/asterisk/modules/app_directory.so
+lib/asterisk/modules/app_disa.so
+lib/asterisk/modules/app_dtmfstore.so
+lib/asterisk/modules/app_dumpchan.so
+lib/asterisk/modules/app_echo.so
+lib/asterisk/modules/app_exec.so
+lib/asterisk/modules/app_externalivr.so
+lib/asterisk/modules/app_festival.so
+lib/asterisk/modules/app_followme.so
+lib/asterisk/modules/app_forkcdr.so
+lib/asterisk/modules/app_getcpeid.so
+lib/asterisk/modules/app_macro.so
+lib/asterisk/modules/app_mf.so
+lib/asterisk/modules/app_milliwatt.so
+lib/asterisk/modules/app_minivm.so
+lib/asterisk/modules/app_mixmonitor.so
+lib/asterisk/modules/app_morsecode.so
+lib/asterisk/modules/app_mp3.so
+lib/asterisk/modules/app_originate.so
+lib/asterisk/modules/app_page.so
+lib/asterisk/modules/app_playback.so
+lib/asterisk/modules/app_playtones.so
+lib/asterisk/modules/app_privacy.so
+lib/asterisk/modules/app_queue.so
+lib/asterisk/modules/app_read.so
+lib/asterisk/modules/app_readexten.so
+lib/asterisk/modules/app_record.so
+lib/asterisk/modules/app_reload.so
+lib/asterisk/modules/app_sayunixtime.so
+lib/asterisk/modules/app_senddtmf.so
+lib/asterisk/modules/app_sendtext.so
+lib/asterisk/modules/app_sms.so
+lib/asterisk/modules/app_softhangup.so
+lib/asterisk/modules/app_speech_utils.so
+lib/asterisk/modules/app_stack.so
+lib/asterisk/modules/app_stasis.so
+lib/asterisk/modules/app_stream_echo.so
+lib/asterisk/modules/app_system.so
+lib/asterisk/modules/app_talkdetect.so
+lib/asterisk/modules/app_test.so
+lib/asterisk/modules/app_transfer.so
+lib/asterisk/modules/app_userevent.so
+lib/asterisk/modules/app_verbose.so
+lib/asterisk/modules/app_voicemail.so
+lib/asterisk/modules/app_waitforcond.so
+lib/asterisk/modules/app_waitforring.so
+lib/asterisk/modules/app_waitforsilence.so
+lib/asterisk/modules/app_waituntil.so
+lib/asterisk/modules/app_while.so
+lib/asterisk/modules/app_zapateller.so
+lib/asterisk/modules/bridge_builtin_features.so
+lib/asterisk/modules/bridge_builtin_interval_features.so
+lib/asterisk/modules/bridge_holding.so
+lib/asterisk/modules/bridge_native_rtp.so
+lib/asterisk/modules/bridge_simple.so
+lib/asterisk/modules/bridge_softmix.so
+${PLIST.unixodbc}lib/asterisk/modules/cdr_adaptive_odbc.so
+lib/asterisk/modules/cdr_csv.so
+lib/asterisk/modules/cdr_custom.so
+lib/asterisk/modules/cdr_manager.so
+${PLIST.unixodbc}lib/asterisk/modules/cdr_odbc.so
+${PLIST.pgsql}lib/asterisk/modules/cdr_pgsql.so
+lib/asterisk/modules/cdr_sqlite3_custom.so
+lib/asterisk/modules/cel_custom.so
+lib/asterisk/modules/cel_manager.so
+${PLIST.unixodbc}lib/asterisk/modules/cel_odbc.so
+${PLIST.pgsql}lib/asterisk/modules/cel_pgsql.so
+lib/asterisk/modules/cel_sqlite3_custom.so
+lib/asterisk/modules/chan_audiosocket.so
+lib/asterisk/modules/chan_bridge_media.so
+lib/asterisk/modules/chan_iax2.so
+${PLIST.mgcp}lib/asterisk/modules/chan_mgcp.so
+${PLIST.jabber}lib/asterisk/modules/chan_motif.so
+lib/asterisk/modules/chan_pjsip.so
+lib/asterisk/modules/chan_rtp.so
+lib/asterisk/modules/chan_sip.so
+lib/asterisk/modules/chan_skinny.so
+lib/asterisk/modules/chan_unistim.so
+lib/asterisk/modules/codec_a_mu.so
+lib/asterisk/modules/codec_adpcm.so
+lib/asterisk/modules/codec_alaw.so
+lib/asterisk/modules/codec_g722.so
+lib/asterisk/modules/codec_g726.so
+lib/asterisk/modules/codec_gsm.so
+lib/asterisk/modules/codec_ilbc.so
+lib/asterisk/modules/codec_lpc10.so
+lib/asterisk/modules/codec_resample.so
+${PLIST.speex}lib/asterisk/modules/codec_speex.so
+lib/asterisk/modules/codec_ulaw.so
+lib/asterisk/modules/format_g719.so
+lib/asterisk/modules/format_g723.so
+lib/asterisk/modules/format_g726.so
+lib/asterisk/modules/format_g729.so
+lib/asterisk/modules/format_gsm.so
+lib/asterisk/modules/format_h263.so
+lib/asterisk/modules/format_h264.so
+lib/asterisk/modules/format_ilbc.so
+${PLIST.speex}lib/asterisk/modules/format_ogg_speex.so
+lib/asterisk/modules/format_pcm.so
+lib/asterisk/modules/format_siren14.so
+lib/asterisk/modules/format_siren7.so
+lib/asterisk/modules/format_sln.so
+lib/asterisk/modules/format_vox.so
+lib/asterisk/modules/format_wav.so
+lib/asterisk/modules/format_wav_gsm.so
+lib/asterisk/modules/func_aes.so
+lib/asterisk/modules/func_base64.so
+lib/asterisk/modules/func_blacklist.so
+lib/asterisk/modules/func_callcompletion.so
+lib/asterisk/modules/func_callerid.so
+lib/asterisk/modules/func_cdr.so
+lib/asterisk/modules/func_channel.so
+lib/asterisk/modules/func_config.so
+lib/asterisk/modules/func_curl.so
+lib/asterisk/modules/func_cut.so
+lib/asterisk/modules/func_db.so
+lib/asterisk/modules/func_devstate.so
+lib/asterisk/modules/func_dialgroup.so
+lib/asterisk/modules/func_dialplan.so
+lib/asterisk/modules/func_enum.so
+lib/asterisk/modules/func_env.so
+lib/asterisk/modules/func_extstate.so
+lib/asterisk/modules/func_frame_drop.so
+lib/asterisk/modules/func_frame_trace.so
+lib/asterisk/modules/func_global.so
+lib/asterisk/modules/func_groupcount.so
+lib/asterisk/modules/func_hangupcause.so
+lib/asterisk/modules/func_holdintercept.so
+lib/asterisk/modules/func_iconv.so
+lib/asterisk/modules/func_jitterbuffer.so
+lib/asterisk/modules/func_lock.so
+lib/asterisk/modules/func_logic.so
+lib/asterisk/modules/func_math.so
+lib/asterisk/modules/func_md5.so
+lib/asterisk/modules/func_module.so
+${PLIST.unixodbc}lib/asterisk/modules/func_odbc.so
+lib/asterisk/modules/func_periodic_hook.so
+lib/asterisk/modules/func_pitchshift.so
+lib/asterisk/modules/func_pjsip_aor.so
+lib/asterisk/modules/func_pjsip_contact.so
+lib/asterisk/modules/func_pjsip_endpoint.so
+lib/asterisk/modules/func_presencestate.so
+lib/asterisk/modules/func_rand.so
+lib/asterisk/modules/func_realtime.so
+lib/asterisk/modules/func_sayfiles.so
+lib/asterisk/modules/func_scramble.so
+lib/asterisk/modules/func_sha1.so
+lib/asterisk/modules/func_shell.so
+lib/asterisk/modules/func_sorcery.so
+${PLIST.speex}lib/asterisk/modules/func_speex.so
+lib/asterisk/modules/func_sprintf.so
+lib/asterisk/modules/func_srv.so
+lib/asterisk/modules/func_strings.so
+lib/asterisk/modules/func_sysinfo.so
+lib/asterisk/modules/func_talkdetect.so
+lib/asterisk/modules/func_timeout.so
+lib/asterisk/modules/func_uri.so
+lib/asterisk/modules/func_version.so
+lib/asterisk/modules/func_vmcount.so
+lib/asterisk/modules/func_volume.so
+lib/asterisk/modules/pbx_ael.so
+lib/asterisk/modules/pbx_config.so
+lib/asterisk/modules/pbx_dundi.so
+lib/asterisk/modules/pbx_loopback.so
+lib/asterisk/modules/pbx_realtime.so
+lib/asterisk/modules/pbx_spool.so
+lib/asterisk/modules/res_adsi.so
+lib/asterisk/modules/res_aeap.so
+lib/asterisk/modules/res_ael_share.so
+lib/asterisk/modules/res_agi.so
+lib/asterisk/modules/res_ari.so
+lib/asterisk/modules/res_ari_applications.so
+lib/asterisk/modules/res_ari_asterisk.so
+lib/asterisk/modules/res_ari_bridges.so
+lib/asterisk/modules/res_ari_channels.so
+lib/asterisk/modules/res_ari_device_states.so
+lib/asterisk/modules/res_ari_endpoints.so
+lib/asterisk/modules/res_ari_events.so
+lib/asterisk/modules/res_ari_model.so
+lib/asterisk/modules/res_ari_playbacks.so
+lib/asterisk/modules/res_ari_recordings.so
+lib/asterisk/modules/res_ari_sounds.so
+lib/asterisk/modules/res_audiosocket.so
+lib/asterisk/modules/res_calendar.so
+lib/asterisk/modules/res_clialiases.so
+lib/asterisk/modules/res_clioriginate.so
+lib/asterisk/modules/res_config_curl.so
+${PLIST.ldap}lib/asterisk/modules/res_config_ldap.so
+${PLIST.unixodbc}lib/asterisk/modules/res_config_odbc.so
+${PLIST.pgsql}lib/asterisk/modules/res_config_pgsql.so
+lib/asterisk/modules/res_config_sqlite3.so
+lib/asterisk/modules/res_convert.so
+lib/asterisk/modules/res_crypto.so
+lib/asterisk/modules/res_curl.so
+lib/asterisk/modules/res_fax.so
+${PLIST.spandsp}lib/asterisk/modules/res_fax_spandsp.so
+lib/asterisk/modules/res_format_attr_celt.so
+lib/asterisk/modules/res_format_attr_g729.so
+lib/asterisk/modules/res_format_attr_h263.so
+lib/asterisk/modules/res_format_attr_h264.so
+lib/asterisk/modules/res_format_attr_ilbc.so
+lib/asterisk/modules/res_format_attr_opus.so
+lib/asterisk/modules/res_format_attr_silk.so
+lib/asterisk/modules/res_format_attr_siren14.so
+lib/asterisk/modules/res_format_attr_siren7.so
+lib/asterisk/modules/res_format_attr_vp8.so
+lib/asterisk/modules/res_hep.so
+lib/asterisk/modules/res_hep_pjsip.so
+lib/asterisk/modules/res_hep_rtcp.so
+lib/asterisk/modules/res_http_media_cache.so
+lib/asterisk/modules/res_http_websocket.so
+lib/asterisk/modules/res_limit.so
+lib/asterisk/modules/res_manager_devicestate.so
+lib/asterisk/modules/res_manager_presencestate.so
+lib/asterisk/modules/res_monitor.so
+lib/asterisk/modules/res_musiconhold.so
+lib/asterisk/modules/res_mutestream.so
+lib/asterisk/modules/res_mwi_devstate.so
+${PLIST.unixodbc}lib/asterisk/modules/res_odbc.so
+${PLIST.unixodbc}lib/asterisk/modules/res_odbc_transaction.so
+lib/asterisk/modules/res_parking.so
+lib/asterisk/modules/res_phoneprov.so
+lib/asterisk/modules/res_pjproject.so
+lib/asterisk/modules/res_pjsip.so
+lib/asterisk/modules/res_pjsip_acl.so
+lib/asterisk/modules/res_pjsip_authenticator_digest.so
+lib/asterisk/modules/res_pjsip_caller_id.so
+lib/asterisk/modules/res_pjsip_config_wizard.so
+lib/asterisk/modules/res_pjsip_dialog_info_body_generator.so
+lib/asterisk/modules/res_pjsip_diversion.so
+lib/asterisk/modules/res_pjsip_dlg_options.so
+lib/asterisk/modules/res_pjsip_dtmf_info.so
+lib/asterisk/modules/res_pjsip_empty_info.so
+lib/asterisk/modules/res_pjsip_endpoint_identifier_anonymous.so
+lib/asterisk/modules/res_pjsip_endpoint_identifier_ip.so
+lib/asterisk/modules/res_pjsip_endpoint_identifier_user.so
+lib/asterisk/modules/res_pjsip_exten_state.so
+lib/asterisk/modules/res_pjsip_header_funcs.so
+lib/asterisk/modules/res_pjsip_history.so
+lib/asterisk/modules/res_pjsip_logger.so
+lib/asterisk/modules/res_pjsip_messaging.so
+lib/asterisk/modules/res_pjsip_mwi.so
+lib/asterisk/modules/res_pjsip_mwi_body_generator.so
+lib/asterisk/modules/res_pjsip_nat.so
+lib/asterisk/modules/res_pjsip_notify.so
+lib/asterisk/modules/res_pjsip_one_touch_record_info.so
+lib/asterisk/modules/res_pjsip_outbound_authenticator_digest.so
+lib/asterisk/modules/res_pjsip_outbound_publish.so
+lib/asterisk/modules/res_pjsip_outbound_registration.so
+lib/asterisk/modules/res_pjsip_path.so
+lib/asterisk/modules/res_pjsip_phoneprov_provider.so
+lib/asterisk/modules/res_pjsip_pidf_body_generator.so
+lib/asterisk/modules/res_pjsip_pidf_digium_body_supplement.so
+lib/asterisk/modules/res_pjsip_pidf_eyebeam_body_supplement.so
+lib/asterisk/modules/res_pjsip_publish_asterisk.so
+lib/asterisk/modules/res_pjsip_pubsub.so
+lib/asterisk/modules/res_pjsip_refer.so
+lib/asterisk/modules/res_pjsip_registrar.so
+lib/asterisk/modules/res_pjsip_rfc3326.so
+lib/asterisk/modules/res_pjsip_sdp_rtp.so
+lib/asterisk/modules/res_pjsip_send_to_voicemail.so
+lib/asterisk/modules/res_pjsip_session.so
+lib/asterisk/modules/res_pjsip_sips_contact.so
+lib/asterisk/modules/res_pjsip_stir_shaken.so
+lib/asterisk/modules/res_pjsip_t38.so
+lib/asterisk/modules/res_pjsip_transport_websocket.so
+lib/asterisk/modules/res_pjsip_xpidf_body_generator.so
+${PLIST.mgcp}lib/asterisk/modules/res_pktccops.so
+lib/asterisk/modules/res_prometheus.so
+lib/asterisk/modules/res_realtime.so
+${PLIST.unbound}lib/asterisk/modules/res_resolver_unbound.so
+lib/asterisk/modules/res_rtp_asterisk.so
+lib/asterisk/modules/res_rtp_multicast.so
+lib/asterisk/modules/res_security_log.so
+lib/asterisk/modules/res_smdi.so
+${PLIST.snmp}lib/asterisk/modules/res_snmp.so
+lib/asterisk/modules/res_sorcery_astdb.so
+lib/asterisk/modules/res_sorcery_config.so
+lib/asterisk/modules/res_sorcery_memory.so
+lib/asterisk/modules/res_sorcery_memory_cache.so
+lib/asterisk/modules/res_sorcery_realtime.so
+lib/asterisk/modules/res_speech.so
+${PLIST.srtp}lib/asterisk/modules/res_srtp.so
+lib/asterisk/modules/res_stasis.so
+lib/asterisk/modules/res_stasis_answer.so
+lib/asterisk/modules/res_stasis_device_state.so
+lib/asterisk/modules/res_stasis_playback.so
+lib/asterisk/modules/res_stasis_recording.so
+lib/asterisk/modules/res_stasis_snoop.so
+lib/asterisk/modules/res_statsd.so
+lib/asterisk/modules/res_stir_shaken.so
+lib/asterisk/modules/res_stun_monitor.so
+${PLIST.kqueue}lib/asterisk/modules/res_timing_kqueue.so
+lib/asterisk/modules/res_timing_pthread.so
+${PLIST.timerfd}lib/asterisk/modules/res_timing_timerfd.so
+lib/asterisk/modules/res_tonedetect.so
+${PLIST.jabber}lib/asterisk/modules/res_xmpp.so
+lib/libasteriskssl.so
+lib/libasteriskssl.so.1
+lib/pkgconfig/asterisk.pc
+libdata/asterisk/documentation/appdocsxml.dtd
+libdata/asterisk/documentation/appdocsxml.xslt
+libdata/asterisk/documentation/core-en_US.xml
+libdata/asterisk/images/asterisk-intro.jpg
+libdata/asterisk/images/kpad2.jpg
+libdata/asterisk/moh/.asterisk-moh-opsound-wav-2.03
+libdata/asterisk/moh/CHANGES-asterisk-moh-opsound-wav
+libdata/asterisk/moh/CREDITS-asterisk-moh-opsound-wav
+libdata/asterisk/moh/LICENSE-asterisk-moh-opsound-wav
+libdata/asterisk/moh/macroform-cold_day.wav
+libdata/asterisk/moh/macroform-robot_dity.wav
+libdata/asterisk/moh/macroform-the_simplicity.wav
+libdata/asterisk/moh/manolo_camp-morning_coffee.wav
+libdata/asterisk/moh/reno_project-system.wav
+libdata/asterisk/phoneprov/000000000000-directory.xml
+libdata/asterisk/phoneprov/000000000000-phone.cfg
+libdata/asterisk/phoneprov/000000000000.cfg
+libdata/asterisk/phoneprov/polycom.xml
+libdata/asterisk/phoneprov/polycom_line.xml
+libdata/asterisk/phoneprov/snom-mac.xml
+libdata/asterisk/rest-api/applications.json
+libdata/asterisk/rest-api/asterisk.json
+libdata/asterisk/rest-api/bridges.json
+libdata/asterisk/rest-api/channels.json
+libdata/asterisk/rest-api/deviceStates.json
+libdata/asterisk/rest-api/endpoints.json
+libdata/asterisk/rest-api/events.json
+libdata/asterisk/rest-api/mailboxes.json
+libdata/asterisk/rest-api/playbacks.json
+libdata/asterisk/rest-api/recordings.json
+libdata/asterisk/rest-api/resources.json
+libdata/asterisk/rest-api/sounds.json
+libdata/asterisk/scripts/ast_coredumper
+libdata/asterisk/scripts/ast_logescalator
+libdata/asterisk/scripts/ast_loggrabber
+libdata/asterisk/scripts/refcounter.py
+libdata/asterisk/scripts/reflocks.py
+libdata/asterisk/scripts/refstats.py
+libdata/asterisk/sounds/en/.asterisk-core-sounds-en-gsm-1.6.1
+libdata/asterisk/sounds/en/1-for-am-2-for-pm.gsm
+libdata/asterisk/sounds/en/1-yes-2-no.gsm
+libdata/asterisk/sounds/en/CHANGES-asterisk-core-en-1.6.1
+libdata/asterisk/sounds/en/CHANGES-asterisk-extra-en-1.5.2
+libdata/asterisk/sounds/en/CREDITS-asterisk-core-en-1.6.1
+libdata/asterisk/sounds/en/CREDITS-asterisk-extra-en-1.5.2
+libdata/asterisk/sounds/en/LICENSE-asterisk-core-en-1.6.1
+libdata/asterisk/sounds/en/LICENSE-asterisk-extra-en-1.5.2
+libdata/asterisk/sounds/en/OfficeSpace.gsm
+libdata/asterisk/sounds/en/Randulo-allison.gsm
+libdata/asterisk/sounds/en/SIP_Test_Failure.gsm
+libdata/asterisk/sounds/en/SIP_Test_Success.gsm
+libdata/asterisk/sounds/en/T-changed-to.gsm
+libdata/asterisk/sounds/en/T-is-not-available.gsm
+libdata/asterisk/sounds/en/T-to-disable-ancmnt.gsm
+libdata/asterisk/sounds/en/T-to-enable-ancmnt.gsm
+libdata/asterisk/sounds/en/T-to-hear-cur-ancmnt.gsm
+libdata/asterisk/sounds/en/T-to-leave-msg.gsm
+libdata/asterisk/sounds/en/T-to-reach-main-office.gsm
+libdata/asterisk/sounds/en/T-to-rec-ancmnt.gsm
+libdata/asterisk/sounds/en/T-to-rtrn-to-main-menu.gsm
+libdata/asterisk/sounds/en/a-charge-for-this-svc.gsm
+libdata/asterisk/sounds/en/a-collect-charge-of.gsm
+libdata/asterisk/sounds/en/a-collect-charge.gsm
+libdata/asterisk/sounds/en/a-connect-charge-of.gsm
+libdata/asterisk/sounds/en/a-connect-charge.gsm
+libdata/asterisk/sounds/en/abandon-all-hope.gsm
+libdata/asterisk/sounds/en/abandons.gsm
+libdata/asterisk/sounds/en/academic-support.gsm
+libdata/asterisk/sounds/en/access-code.gsm
+libdata/asterisk/sounds/en/access-denied.gsm
+libdata/asterisk/sounds/en/access-granted.gsm
+libdata/asterisk/sounds/en/accessible-through-system.gsm
+libdata/asterisk/sounds/en/account-balance-is.gsm
+libdata/asterisk/sounds/en/account_number.gsm
+libdata/asterisk/sounds/en/accounting.gsm
+libdata/asterisk/sounds/en/accounts-payable.gsm
+libdata/asterisk/sounds/en/accounts-receivable.gsm
+libdata/asterisk/sounds/en/activated.gsm
+libdata/asterisk/sounds/en/added-to.gsm
+libdata/asterisk/sounds/en/added.gsm
+libdata/asterisk/sounds/en/address.gsm
+libdata/asterisk/sounds/en/administration.gsm
+libdata/asterisk/sounds/en/advised-to-seek-shelter.gsm
+libdata/asterisk/sounds/en/after-the-tone.gsm
+libdata/asterisk/sounds/en/after_tone.gsm
+libdata/asterisk/sounds/en/afternoon.gsm
+libdata/asterisk/sounds/en/agent-alreadyon.gsm
+libdata/asterisk/sounds/en/agent-incorrect.gsm
+libdata/asterisk/sounds/en/agent-loggedoff.gsm
+libdata/asterisk/sounds/en/agent-loginok.gsm
+libdata/asterisk/sounds/en/agent-newlocation.gsm
+libdata/asterisk/sounds/en/agent-pass.gsm
+libdata/asterisk/sounds/en/agent-user.gsm
+libdata/asterisk/sounds/en/airport.gsm
+libdata/asterisk/sounds/en/alabama.gsm
+libdata/asterisk/sounds/en/alaska.gsm
+libdata/asterisk/sounds/en/albuquerque.gsm
+libdata/asterisk/sounds/en/alert.gsm
+libdata/asterisk/sounds/en/all-circuits-busy-now.gsm
+libdata/asterisk/sounds/en/all-outgoing-lines-unavailable.gsm
+libdata/asterisk/sounds/en/all-reps-busy.gsm
+libdata/asterisk/sounds/en/all-your-base.gsm
+libdata/asterisk/sounds/en/altitude.gsm
+libdata/asterisk/sounds/en/ampersand.gsm
+libdata/asterisk/sounds/en/an-error-has-occurred.gsm
+libdata/asterisk/sounds/en/and-area-code.gsm
+libdata/asterisk/sounds/en/and-or.gsm
+libdata/asterisk/sounds/en/and-prs-pound-whn-finished.gsm
+libdata/asterisk/sounds/en/and.gsm
+libdata/asterisk/sounds/en/andnowstandby.gsm
+libdata/asterisk/sounds/en/another-time.gsm
+libdata/asterisk/sounds/en/approaching.gsm
+libdata/asterisk/sounds/en/approximately.gsm
+libdata/asterisk/sounds/en/are-you-still-there.gsm
+libdata/asterisk/sounds/en/are-you-still-there2.gsm
+libdata/asterisk/sounds/en/arizona.gsm
+libdata/asterisk/sounds/en/arkansas.gsm
+libdata/asterisk/sounds/en/arlington.gsm
+libdata/asterisk/sounds/en/ascending-2tone.gsm
+libdata/asterisk/sounds/en/astcc-account-balance-is.gsm
+libdata/asterisk/sounds/en/astcc-account-number-invalid.gsm
+libdata/asterisk/sounds/en/astcc-balance-of-account-is.gsm
+libdata/asterisk/sounds/en/astcc-card-number-invalid.gsm
+libdata/asterisk/sounds/en/astcc-digit-account-number.gsm
+libdata/asterisk/sounds/en/astcc-followed-by-the-hash-key.gsm
+libdata/asterisk/sounds/en/astcc-followed-by-the-pound-key.gsm
+libdata/asterisk/sounds/en/astcc-login12pound.gsm
+libdata/asterisk/sounds/en/astcc-please-enter-your.gsm
+libdata/asterisk/sounds/en/astcc-skipping-any-punctuation.gsm
+libdata/asterisk/sounds/en/asterisk-friend.gsm
+libdata/asterisk/sounds/en/at-any-time.gsm
+libdata/asterisk/sounds/en/at-customers-request.gsm
+libdata/asterisk/sounds/en/at-following-number.gsm
+libdata/asterisk/sounds/en/at-sign.gsm
+libdata/asterisk/sounds/en/at-tone-time-exactly.gsm
+libdata/asterisk/sounds/en/at_tone.gsm
+libdata/asterisk/sounds/en/athletics.gsm
+libdata/asterisk/sounds/en/atlanta.gsm
+libdata/asterisk/sounds/en/atlantic.gsm
+libdata/asterisk/sounds/en/attention-required.gsm
+libdata/asterisk/sounds/en/auditing.gsm
+libdata/asterisk/sounds/en/austin.gsm
+libdata/asterisk/sounds/en/auth-incorrect.gsm
+libdata/asterisk/sounds/en/auth-thankyou.gsm
+libdata/asterisk/sounds/en/available-options.gsm
+libdata/asterisk/sounds/en/available.gsm
+libdata/asterisk/sounds/en/avg-speed-answer.gsm
+libdata/asterisk/sounds/en/away-naughty-boy.gsm
+libdata/asterisk/sounds/en/away-naughty-girl.gsm
+libdata/asterisk/sounds/en/awkward.gsm
+libdata/asterisk/sounds/en/backslash.gsm
+libdata/asterisk/sounds/en/bad.gsm
+libdata/asterisk/sounds/en/baltimore.gsm
+libdata/asterisk/sounds/en/bar.gsm
+libdata/asterisk/sounds/en/barn.gsm
+libdata/asterisk/sounds/en/barns.gsm
+libdata/asterisk/sounds/en/barometric.gsm
+libdata/asterisk/sounds/en/basic-pbx-ivr-main.gsm
+libdata/asterisk/sounds/en/bearing.gsm
+libdata/asterisk/sounds/en/beaufort.gsm
+libdata/asterisk/sounds/en/because-paranoid.gsm
+libdata/asterisk/sounds/en/beep.gsm
+libdata/asterisk/sounds/en/beeperr.gsm
+libdata/asterisk/sounds/en/before-the-number.gsm
+libdata/asterisk/sounds/en/believe-its-free.gsm
+libdata/asterisk/sounds/en/billing-and-collections.gsm
+libdata/asterisk/sounds/en/billing.gsm
+libdata/asterisk/sounds/en/billionth.gsm
+libdata/asterisk/sounds/en/binary.gsm
+libdata/asterisk/sounds/en/bits.gsm
+libdata/asterisk/sounds/en/blue-eyed-polar-bear.gsm
+libdata/asterisk/sounds/en/bombsquad.gsm
+libdata/asterisk/sounds/en/bookstore.gsm
+libdata/asterisk/sounds/en/boston.gsm
+libdata/asterisk/sounds/en/box.gsm
+libdata/asterisk/sounds/en/brian.gsm
+libdata/asterisk/sounds/en/business-development.gsm
+libdata/asterisk/sounds/en/busy-hangovers.gsm
+libdata/asterisk/sounds/en/busy-pls-hold.gsm
+libdata/asterisk/sounds/en/but.gsm
+libdata/asterisk/sounds/en/by.gsm
+libdata/asterisk/sounds/en/bytes.gsm
+libdata/asterisk/sounds/en/cafeteria.gsm
+libdata/asterisk/sounds/en/california.gsm
+libdata/asterisk/sounds/en/call-forward.gsm
+libdata/asterisk/sounds/en/call-forwarding.gsm
+libdata/asterisk/sounds/en/call-fwd-cancelled.gsm
+libdata/asterisk/sounds/en/call-fwd-no-ans.gsm
+libdata/asterisk/sounds/en/call-fwd-on-busy.gsm
+libdata/asterisk/sounds/en/call-fwd-parallel.gsm
+libdata/asterisk/sounds/en/call-fwd-unconditional.gsm
+libdata/asterisk/sounds/en/call-preempted.gsm
+libdata/asterisk/sounds/en/call-quality-menu.gsm
+libdata/asterisk/sounds/en/call-requres.gsm
+libdata/asterisk/sounds/en/call-terminated.gsm
+libdata/asterisk/sounds/en/call-waiting.gsm
+libdata/asterisk/sounds/en/call.gsm
+libdata/asterisk/sounds/en/calling.gsm
+libdata/asterisk/sounds/en/calls-taken-by.gsm
+libdata/asterisk/sounds/en/calls-waiting-for-rep.gsm
+libdata/asterisk/sounds/en/calls.gsm
+libdata/asterisk/sounds/en/campground-office.gsm
+libdata/asterisk/sounds/en/cancelled.gsm
+libdata/asterisk/sounds/en/cannot-complete-as-dialed.gsm
+libdata/asterisk/sounds/en/cannot-complete-network-error.gsm
+libdata/asterisk/sounds/en/cannot-complete-otherend-error.gsm
+libdata/asterisk/sounds/en/cannot-complete-temp-error.gsm
+libdata/asterisk/sounds/en/card-balance-is.gsm
+libdata/asterisk/sounds/en/card-is-invalid.gsm
+libdata/asterisk/sounds/en/card-number.gsm
+libdata/asterisk/sounds/en/carried-away-by-monkeys.gsm
+libdata/asterisk/sounds/en/cause-code.gsm
+libdata/asterisk/sounds/en/cc-amex.gsm
+libdata/asterisk/sounds/en/cc-discover.gsm
+libdata/asterisk/sounds/en/cc-mastercard.gsm
+libdata/asterisk/sounds/en/cc-visa.gsm
+libdata/asterisk/sounds/en/celsius.gsm
+libdata/asterisk/sounds/en/cent.gsm
+libdata/asterisk/sounds/en/central.gsm
+libdata/asterisk/sounds/en/cents-per-minute.gsm
+libdata/asterisk/sounds/en/cents.gsm
+libdata/asterisk/sounds/en/ceo-office.gsm
+libdata/asterisk/sounds/en/challenge_try_again.gsm
+libdata/asterisk/sounds/en/chance-of.gsm
+libdata/asterisk/sounds/en/changing.gsm
+libdata/asterisk/sounds/en/channel-insecure-warn.gsm
+libdata/asterisk/sounds/en/channel-secure.gsm
+libdata/asterisk/sounds/en/channel.gsm
+libdata/asterisk/sounds/en/charlotte.gsm
+libdata/asterisk/sounds/en/chat-room.gsm
+libdata/asterisk/sounds/en/check-number-dial-again.gsm
+libdata/asterisk/sounds/en/chemistry.gsm
+libdata/asterisk/sounds/en/chicago.gsm
+libdata/asterisk/sounds/en/chris.gsm
+libdata/asterisk/sounds/en/claims.gsm
+libdata/asterisk/sounds/en/clear.gsm
+libdata/asterisk/sounds/en/clearing.gsm
+libdata/asterisk/sounds/en/cleveland.gsm
+libdata/asterisk/sounds/en/clli.gsm
+libdata/asterisk/sounds/en/close-parenthesis.gsm
+libdata/asterisk/sounds/en/closed.gsm
+libdata/asterisk/sounds/en/clouds.gsm
+libdata/asterisk/sounds/en/cloudy.gsm
+libdata/asterisk/sounds/en/collections.gsm
+libdata/asterisk/sounds/en/colorado-springs.gsm
+libdata/asterisk/sounds/en/colorado.gsm
+libdata/asterisk/sounds/en/columbus.gsm
+libdata/asterisk/sounds/en/comedyclub.gsm
+libdata/asterisk/sounds/en/comma.gsm
+libdata/asterisk/sounds/en/communications.gsm
+libdata/asterisk/sounds/en/company-dir-411.gsm
+libdata/asterisk/sounds/en/complaint.gsm
+libdata/asterisk/sounds/en/compliance.gsm
+libdata/asterisk/sounds/en/computer-friend1.gsm
+libdata/asterisk/sounds/en/computer-friend2.gsm
+libdata/asterisk/sounds/en/conditions.gsm
+libdata/asterisk/sounds/en/conf-1-to-list-users.gsm
+libdata/asterisk/sounds/en/conf-2-to-kick-nonadmin.gsm
+libdata/asterisk/sounds/en/conf-3-mute-or-unmute-nonadmin.gsm
+libdata/asterisk/sounds/en/conf-4-to-record-conf.gsm
+libdata/asterisk/sounds/en/conf-8-for-more-options.gsm
+libdata/asterisk/sounds/en/conf-8-to-exit-return-to-conf.gsm
+libdata/asterisk/sounds/en/conf-adminmenu-162.gsm
+libdata/asterisk/sounds/en/conf-adminmenu-18.gsm
+libdata/asterisk/sounds/en/conf-adminmenu-menu8.gsm
+libdata/asterisk/sounds/en/conf-adminmenu.gsm
+libdata/asterisk/sounds/en/conf-banned.gsm
+libdata/asterisk/sounds/en/conf-enteringno.gsm
+libdata/asterisk/sounds/en/conf-errormenu.gsm
+libdata/asterisk/sounds/en/conf-extended.gsm
+libdata/asterisk/sounds/en/conf-full.gsm
+libdata/asterisk/sounds/en/conf-getchannel.gsm
+libdata/asterisk/sounds/en/conf-getconfno.gsm
+libdata/asterisk/sounds/en/conf-getpin.gsm
+libdata/asterisk/sounds/en/conf-hasentered.gsm
+libdata/asterisk/sounds/en/conf-hasjoin.gsm
+libdata/asterisk/sounds/en/conf-hasleft.gsm
+libdata/asterisk/sounds/en/conf-invalid.gsm
+libdata/asterisk/sounds/en/conf-invalidpin.gsm
+libdata/asterisk/sounds/en/conf-kicked.gsm
+libdata/asterisk/sounds/en/conf-leaderhasleft.gsm
+libdata/asterisk/sounds/en/conf-locked.gsm
+libdata/asterisk/sounds/en/conf-lockednow.gsm
+libdata/asterisk/sounds/en/conf-muted.gsm
+libdata/asterisk/sounds/en/conf-noempty.gsm
+libdata/asterisk/sounds/en/conf-nonextended.gsm
+libdata/asterisk/sounds/en/conf-now-muted.gsm
+libdata/asterisk/sounds/en/conf-now-recording.gsm
+libdata/asterisk/sounds/en/conf-now-unmuted.gsm
+libdata/asterisk/sounds/en/conf-onlyone.gsm
+libdata/asterisk/sounds/en/conf-onlyperson.gsm
+libdata/asterisk/sounds/en/conf-onlypersonleft.gsm
+libdata/asterisk/sounds/en/conf-otherinparty.gsm
+libdata/asterisk/sounds/en/conf-peopleinconf.gsm
+libdata/asterisk/sounds/en/conf-placeintoconf.gsm
+libdata/asterisk/sounds/en/conf-roll-callcomplete.gsm
+libdata/asterisk/sounds/en/conf-sysop.gsm
+libdata/asterisk/sounds/en/conf-sysopreq.gsm
+libdata/asterisk/sounds/en/conf-sysopreqcancelled.gsm
+libdata/asterisk/sounds/en/conf-thereare.gsm
+libdata/asterisk/sounds/en/conf-unlockednow.gsm
+libdata/asterisk/sounds/en/conf-unmuted.gsm
+libdata/asterisk/sounds/en/conf-usermenu-162.gsm
+libdata/asterisk/sounds/en/conf-usermenu.gsm
+libdata/asterisk/sounds/en/conf-userswilljoin.gsm
+libdata/asterisk/sounds/en/conf-userwilljoin.gsm
+libdata/asterisk/sounds/en/conf-waitforleader.gsm
+libdata/asterisk/sounds/en/conf-youareinconfnum.gsm
+libdata/asterisk/sounds/en/confbridge-begin-glorious-a.gsm
+libdata/asterisk/sounds/en/confbridge-begin-glorious-b.gsm
+libdata/asterisk/sounds/en/confbridge-begin-glorious-c.gsm
+libdata/asterisk/sounds/en/confbridge-begin-leader.gsm
+libdata/asterisk/sounds/en/confbridge-binaural-off.gsm
+libdata/asterisk/sounds/en/confbridge-binaural-on.gsm
+libdata/asterisk/sounds/en/confbridge-conf-begin.gsm
+libdata/asterisk/sounds/en/confbridge-conf-end.gsm
+libdata/asterisk/sounds/en/confbridge-dec-list-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-dec-list-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-dec-talk-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-dec-talk-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-has-joined.gsm
+libdata/asterisk/sounds/en/confbridge-has-left.gsm
+libdata/asterisk/sounds/en/confbridge-inc-list-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-inc-list-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-inc-talk-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-inc-talk-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-invalid.gsm
+libdata/asterisk/sounds/en/confbridge-join.gsm
+libdata/asterisk/sounds/en/confbridge-leave-in.gsm
+libdata/asterisk/sounds/en/confbridge-leave-out.gsm
+libdata/asterisk/sounds/en/confbridge-leave.gsm
+libdata/asterisk/sounds/en/confbridge-lock-extended.gsm
+libdata/asterisk/sounds/en/confbridge-lock-in.gsm
+libdata/asterisk/sounds/en/confbridge-lock-no-join.gsm
+libdata/asterisk/sounds/en/confbridge-lock-out.gsm
+libdata/asterisk/sounds/en/confbridge-locked.gsm
+libdata/asterisk/sounds/en/confbridge-menu-exit-in.gsm
+libdata/asterisk/sounds/en/confbridge-menu-exit-out.gsm
+libdata/asterisk/sounds/en/confbridge-mute-extended.gsm
+libdata/asterisk/sounds/en/confbridge-mute-in.gsm
+libdata/asterisk/sounds/en/confbridge-mute-out.gsm
+libdata/asterisk/sounds/en/confbridge-muted.gsm
+libdata/asterisk/sounds/en/confbridge-only-one.gsm
+libdata/asterisk/sounds/en/confbridge-only-participant.gsm
+libdata/asterisk/sounds/en/confbridge-participants.gsm
+libdata/asterisk/sounds/en/confbridge-pin-bad.gsm
+libdata/asterisk/sounds/en/confbridge-pin.gsm
+libdata/asterisk/sounds/en/confbridge-remove-last-in.gsm
+libdata/asterisk/sounds/en/confbridge-remove-last-out.gsm
+libdata/asterisk/sounds/en/confbridge-removed.gsm
+libdata/asterisk/sounds/en/confbridge-rest-list-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-rest-list-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-rest-talk-vol-in.gsm
+libdata/asterisk/sounds/en/confbridge-rest-talk-vol-out.gsm
+libdata/asterisk/sounds/en/confbridge-there-are.gsm
+libdata/asterisk/sounds/en/confbridge-unlocked.gsm
+libdata/asterisk/sounds/en/confbridge-unmuted.gsm
+libdata/asterisk/sounds/en/conference-call.gsm
+libdata/asterisk/sounds/en/conference-reservations.gsm
+libdata/asterisk/sounds/en/conference.gsm
+libdata/asterisk/sounds/en/confirm-number-is.gsm
+libdata/asterisk/sounds/en/connected.gsm
+libdata/asterisk/sounds/en/connecticut.gsm
+libdata/asterisk/sounds/en/connecting.gsm
+libdata/asterisk/sounds/en/connection-failed.gsm
+libdata/asterisk/sounds/en/connection-timed-out.gsm
+libdata/asterisk/sounds/en/continue-english-press.gsm
+libdata/asterisk/sounds/en/continue-in-english.gsm
+libdata/asterisk/sounds/en/copy-center.gsm
+libdata/asterisk/sounds/en/core-sounds-en.txt
+libdata/asterisk/sounds/en/could-lose-a-few-pounds.gsm
+libdata/asterisk/sounds/en/counseling-services.gsm
+libdata/asterisk/sounds/en/count.gsm
+libdata/asterisk/sounds/en/countdown.gsm
+libdata/asterisk/sounds/en/crash.gsm
+libdata/asterisk/sounds/en/crashing_conf.gsm
+libdata/asterisk/sounds/en/current-time-is.gsm
+libdata/asterisk/sounds/en/current_account_balance.gsm
+libdata/asterisk/sounds/en/currently.gsm
+libdata/asterisk/sounds/en/customer-accounts.gsm
+libdata/asterisk/sounds/en/customer-relations.gsm
+libdata/asterisk/sounds/en/customer-service.gsm
+libdata/asterisk/sounds/en/cyclone.gsm
+libdata/asterisk/sounds/en/dallas.gsm
+libdata/asterisk/sounds/en/date.gsm
+libdata/asterisk/sounds/en/day.gsm
+libdata/asterisk/sounds/en/daylight.gsm
+libdata/asterisk/sounds/en/days.gsm
+libdata/asterisk/sounds/en/de-activated.gsm
+libdata/asterisk/sounds/en/deadbeat.gsm
+libdata/asterisk/sounds/en/decode.gsm
+libdata/asterisk/sounds/en/default-attendant.gsm
+libdata/asterisk/sounds/en/degrees.gsm
+libdata/asterisk/sounds/en/delaware.gsm
+libdata/asterisk/sounds/en/demo-abouttotry.gsm
+libdata/asterisk/sounds/en/demo-congrats.gsm
+libdata/asterisk/sounds/en/demo-echodone.gsm
+libdata/asterisk/sounds/en/demo-echotest.gsm
+libdata/asterisk/sounds/en/demo-enterkeywords.gsm
+libdata/asterisk/sounds/en/demo-instruct.gsm
+libdata/asterisk/sounds/en/demo-moreinfo.gsm
+libdata/asterisk/sounds/en/demo-nogo.gsm
+libdata/asterisk/sounds/en/demo-nomatch.gsm
+libdata/asterisk/sounds/en/demo-thanks.gsm
+libdata/asterisk/sounds/en/denial-of-service.gsm
+libdata/asterisk/sounds/en/denver.gsm
+libdata/asterisk/sounds/en/department-administrator.gsm
+libdata/asterisk/sounds/en/department.gsm
+libdata/asterisk/sounds/en/deposit.gsm
+libdata/asterisk/sounds/en/descending-2tone.gsm
+libdata/asterisk/sounds/en/design.gsm
+libdata/asterisk/sounds/en/detroit.gsm
+libdata/asterisk/sounds/en/development.gsm
+libdata/asterisk/sounds/en/dial-here-often.gsm
+libdata/asterisk/sounds/en/dictate/both_help.gsm
+libdata/asterisk/sounds/en/dictate/enter_filename.gsm
+libdata/asterisk/sounds/en/dictate/forhelp.gsm
+libdata/asterisk/sounds/en/dictate/pause.gsm
+libdata/asterisk/sounds/en/dictate/paused.gsm
+libdata/asterisk/sounds/en/dictate/play_help.gsm
+libdata/asterisk/sounds/en/dictate/playback.gsm
+libdata/asterisk/sounds/en/dictate/playback_mode.gsm
+libdata/asterisk/sounds/en/dictate/record.gsm
+libdata/asterisk/sounds/en/dictate/record_help.gsm
+libdata/asterisk/sounds/en/dictate/record_mode.gsm
+libdata/asterisk/sounds/en/dictate/truncating_audio.gsm
+libdata/asterisk/sounds/en/digit.gsm
+libdata/asterisk/sounds/en/digits.gsm
+libdata/asterisk/sounds/en/digits/0.gsm
+libdata/asterisk/sounds/en/digits/1.gsm
+libdata/asterisk/sounds/en/digits/10.gsm
+libdata/asterisk/sounds/en/digits/11.gsm
+libdata/asterisk/sounds/en/digits/12.gsm
+libdata/asterisk/sounds/en/digits/13.gsm
+libdata/asterisk/sounds/en/digits/14.gsm
+libdata/asterisk/sounds/en/digits/15.gsm
+libdata/asterisk/sounds/en/digits/16.gsm
+libdata/asterisk/sounds/en/digits/17.gsm
+libdata/asterisk/sounds/en/digits/18.gsm
+libdata/asterisk/sounds/en/digits/19.gsm
+libdata/asterisk/sounds/en/digits/2.gsm
+libdata/asterisk/sounds/en/digits/20.gsm
+libdata/asterisk/sounds/en/digits/3.gsm
+libdata/asterisk/sounds/en/digits/30.gsm
+libdata/asterisk/sounds/en/digits/4.gsm
+libdata/asterisk/sounds/en/digits/40.gsm
+libdata/asterisk/sounds/en/digits/5.gsm
+libdata/asterisk/sounds/en/digits/50.gsm
+libdata/asterisk/sounds/en/digits/6.gsm
+libdata/asterisk/sounds/en/digits/60.gsm
+libdata/asterisk/sounds/en/digits/7.gsm
+libdata/asterisk/sounds/en/digits/70.gsm
+libdata/asterisk/sounds/en/digits/8.gsm
+libdata/asterisk/sounds/en/digits/80.gsm
+libdata/asterisk/sounds/en/digits/9.gsm
+libdata/asterisk/sounds/en/digits/90.gsm
+libdata/asterisk/sounds/en/digits/a-m.gsm
+libdata/asterisk/sounds/en/digits/at.gsm
+libdata/asterisk/sounds/en/digits/billion.gsm
+libdata/asterisk/sounds/en/digits/day-0.gsm
+libdata/asterisk/sounds/en/digits/day-1.gsm
+libdata/asterisk/sounds/en/digits/day-2.gsm
+libdata/asterisk/sounds/en/digits/day-3.gsm
+libdata/asterisk/sounds/en/digits/day-4.gsm
+libdata/asterisk/sounds/en/digits/day-5.gsm
+libdata/asterisk/sounds/en/digits/day-6.gsm
+libdata/asterisk/sounds/en/digits/dollars.gsm
+libdata/asterisk/sounds/en/digits/h-1.gsm
+libdata/asterisk/sounds/en/digits/h-10.gsm
+libdata/asterisk/sounds/en/digits/h-11.gsm
+libdata/asterisk/sounds/en/digits/h-12.gsm
+libdata/asterisk/sounds/en/digits/h-13.gsm
+libdata/asterisk/sounds/en/digits/h-14.gsm
+libdata/asterisk/sounds/en/digits/h-15.gsm
+libdata/asterisk/sounds/en/digits/h-16.gsm
+libdata/asterisk/sounds/en/digits/h-17.gsm
+libdata/asterisk/sounds/en/digits/h-18.gsm
+libdata/asterisk/sounds/en/digits/h-19.gsm
+libdata/asterisk/sounds/en/digits/h-2.gsm
+libdata/asterisk/sounds/en/digits/h-20.gsm
+libdata/asterisk/sounds/en/digits/h-3.gsm
+libdata/asterisk/sounds/en/digits/h-30.gsm
+libdata/asterisk/sounds/en/digits/h-4.gsm
+libdata/asterisk/sounds/en/digits/h-40.gsm
+libdata/asterisk/sounds/en/digits/h-5.gsm
+libdata/asterisk/sounds/en/digits/h-50.gsm
+libdata/asterisk/sounds/en/digits/h-6.gsm
+libdata/asterisk/sounds/en/digits/h-60.gsm
+libdata/asterisk/sounds/en/digits/h-7.gsm
+libdata/asterisk/sounds/en/digits/h-70.gsm
+libdata/asterisk/sounds/en/digits/h-8.gsm
+libdata/asterisk/sounds/en/digits/h-80.gsm
+libdata/asterisk/sounds/en/digits/h-9.gsm
+libdata/asterisk/sounds/en/digits/h-90.gsm
+libdata/asterisk/sounds/en/digits/h-billion.gsm
+libdata/asterisk/sounds/en/digits/h-hundred.gsm
+libdata/asterisk/sounds/en/digits/h-million.gsm
+libdata/asterisk/sounds/en/digits/h-thousand.gsm
+libdata/asterisk/sounds/en/digits/hundred.gsm
+libdata/asterisk/sounds/en/digits/million.gsm
+libdata/asterisk/sounds/en/digits/minus.gsm
+libdata/asterisk/sounds/en/digits/mon-0.gsm
+libdata/asterisk/sounds/en/digits/mon-1.gsm
+libdata/asterisk/sounds/en/digits/mon-10.gsm
+libdata/asterisk/sounds/en/digits/mon-11.gsm
+libdata/asterisk/sounds/en/digits/mon-2.gsm
+libdata/asterisk/sounds/en/digits/mon-3.gsm
+libdata/asterisk/sounds/en/digits/mon-4.gsm
+libdata/asterisk/sounds/en/digits/mon-5.gsm
+libdata/asterisk/sounds/en/digits/mon-6.gsm
+libdata/asterisk/sounds/en/digits/mon-7.gsm
+libdata/asterisk/sounds/en/digits/mon-8.gsm
+libdata/asterisk/sounds/en/digits/mon-9.gsm
+libdata/asterisk/sounds/en/digits/oclock.gsm
+libdata/asterisk/sounds/en/digits/oh.gsm
+libdata/asterisk/sounds/en/digits/p-m.gsm
+libdata/asterisk/sounds/en/digits/pound.gsm
+libdata/asterisk/sounds/en/digits/star.gsm
+libdata/asterisk/sounds/en/digits/thousand.gsm
+libdata/asterisk/sounds/en/digits/today.gsm
+libdata/asterisk/sounds/en/digits/tomorrow.gsm
+libdata/asterisk/sounds/en/digits/yesterday.gsm
+libdata/asterisk/sounds/en/dir-first.gsm
+libdata/asterisk/sounds/en/dir-firstlast.gsm
+libdata/asterisk/sounds/en/dir-instr.gsm
+libdata/asterisk/sounds/en/dir-intro-fn.gsm
+libdata/asterisk/sounds/en/dir-intro.gsm
+libdata/asterisk/sounds/en/dir-last.gsm
+libdata/asterisk/sounds/en/dir-multi1.gsm
+libdata/asterisk/sounds/en/dir-multi2.gsm
+libdata/asterisk/sounds/en/dir-multi3.gsm
+libdata/asterisk/sounds/en/dir-multi9.gsm
+libdata/asterisk/sounds/en/dir-nomatch.gsm
+libdata/asterisk/sounds/en/dir-nomore.gsm
+libdata/asterisk/sounds/en/dir-pls-enter.gsm
+libdata/asterisk/sounds/en/dir-usingkeypad.gsm
+libdata/asterisk/sounds/en/dir-welcome.gsm
+libdata/asterisk/sounds/en/directory-assistance.gsm
+libdata/asterisk/sounds/en/directory.gsm
+libdata/asterisk/sounds/en/disabled.gsm
+libdata/asterisk/sounds/en/discon-or-out-of-service.gsm
+libdata/asterisk/sounds/en/disconnected.gsm
+libdata/asterisk/sounds/en/disk.gsm
+libdata/asterisk/sounds/en/distribution.gsm
+libdata/asterisk/sounds/en/divided-by.gsm
+libdata/asterisk/sounds/en/dns.gsm
+libdata/asterisk/sounds/en/do-not-disturb.gsm
+libdata/asterisk/sounds/en/doing-enum-lookup.gsm
+libdata/asterisk/sounds/en/donotcall1.gsm
+libdata/asterisk/sounds/en/donotcall2.gsm
+libdata/asterisk/sounds/en/dont-know-who-sent.gsm
+libdata/asterisk/sounds/en/doppler-radar.gsm
+libdata/asterisk/sounds/en/down.gsm
+libdata/asterisk/sounds/en/driving-directions.gsm
+libdata/asterisk/sounds/en/duplex.gsm
+libdata/asterisk/sounds/en/duplication.gsm
+libdata/asterisk/sounds/en/early.gsm
+libdata/asterisk/sounds/en/east.gsm
+libdata/asterisk/sounds/en/easterly.gsm
+libdata/asterisk/sounds/en/eastern.gsm
+libdata/asterisk/sounds/en/echo-test.gsm
+libdata/asterisk/sounds/en/ed.gsm
+libdata/asterisk/sounds/en/eighteenth.gsm
+libdata/asterisk/sounds/en/eighth.gsm
+libdata/asterisk/sounds/en/eightieth.gsm
+libdata/asterisk/sounds/en/el-paso.gsm
+libdata/asterisk/sounds/en/eletelephony.gsm
+libdata/asterisk/sounds/en/eleventh.gsm
+libdata/asterisk/sounds/en/email.gsm
+libdata/asterisk/sounds/en/emergency.gsm
+libdata/asterisk/sounds/en/enabled.gsm
+libdata/asterisk/sounds/en/encode.gsm
+libdata/asterisk/sounds/en/engineering.gsm
+libdata/asterisk/sounds/en/ent-target-attendant.gsm
+libdata/asterisk/sounds/en/enter-a-time.gsm
+libdata/asterisk/sounds/en/enter-conf-call-number.gsm
+libdata/asterisk/sounds/en/enter-conf-pin-number.gsm
+libdata/asterisk/sounds/en/enter-ext-of-person.gsm
+libdata/asterisk/sounds/en/enter-num-blacklist.gsm
+libdata/asterisk/sounds/en/enter-password.gsm
+libdata/asterisk/sounds/en/enter-phone-number10.gsm
+libdata/asterisk/sounds/en/enter_account.gsm
+libdata/asterisk/sounds/en/entering-conf-number.gsm
+libdata/asterisk/sounds/en/entr-num-rmv-blklist.gsm
+libdata/asterisk/sounds/en/enum-lookup-failed.gsm
+libdata/asterisk/sounds/en/enum-lookup-successful.gsm
+libdata/asterisk/sounds/en/error-number.gsm
+libdata/asterisk/sounds/en/error.gsm
+libdata/asterisk/sounds/en/est-hold-time-is.gsm
+libdata/asterisk/sounds/en/euro.gsm
+libdata/asterisk/sounds/en/european.gsm
+libdata/asterisk/sounds/en/euros.gsm
+libdata/asterisk/sounds/en/evening.gsm
+libdata/asterisk/sounds/en/explanation.gsm
+libdata/asterisk/sounds/en/ext-or-zero.gsm
+libdata/asterisk/sounds/en/extension.gsm
+libdata/asterisk/sounds/en/extensions.gsm
+libdata/asterisk/sounds/en/extra-sounds-en.txt
+libdata/asterisk/sounds/en/facilities.gsm
+libdata/asterisk/sounds/en/fahrenheit.gsm
+libdata/asterisk/sounds/en/falling.gsm
+libdata/asterisk/sounds/en/fast.gsm
+libdata/asterisk/sounds/en/feature-not-avail-line.gsm
+libdata/asterisk/sounds/en/feeling_lucky_punk.gsm
+libdata/asterisk/sounds/en/feet.gsm
+libdata/asterisk/sounds/en/female.gsm
+libdata/asterisk/sounds/en/fifteenth.gsm
+libdata/asterisk/sounds/en/fifth.gsm
+libdata/asterisk/sounds/en/fiftieth.gsm
+libdata/asterisk/sounds/en/finals.gsm
+libdata/asterisk/sounds/en/finance.gsm
+libdata/asterisk/sounds/en/first-in-line.gsm
+libdata/asterisk/sounds/en/first.gsm
+libdata/asterisk/sounds/en/flagged-for-lea.gsm
+libdata/asterisk/sounds/en/flooding.gsm
+libdata/asterisk/sounds/en/florida.gsm
+libdata/asterisk/sounds/en/fog.gsm
+libdata/asterisk/sounds/en/foggy.gsm
+libdata/asterisk/sounds/en/followed-by.gsm
+libdata/asterisk/sounds/en/followed_hash.gsm
+libdata/asterisk/sounds/en/followed_pound.gsm
+libdata/asterisk/sounds/en/followme/call-from.gsm
+libdata/asterisk/sounds/en/followme/no-recording.gsm
+libdata/asterisk/sounds/en/followme/options.gsm
+libdata/asterisk/sounds/en/followme/pls-hold-while-try.gsm
+libdata/asterisk/sounds/en/followme/sorry.gsm
+libdata/asterisk/sounds/en/followme/status.gsm
+libdata/asterisk/sounds/en/food-service.gsm
+libdata/asterisk/sounds/en/food-services.gsm
+libdata/asterisk/sounds/en/for-a-daily-wakeup-call.gsm
+libdata/asterisk/sounds/en/for-a-list-of.gsm
+libdata/asterisk/sounds/en/for-accounting.gsm
+libdata/asterisk/sounds/en/for-billing.gsm
+libdata/asterisk/sounds/en/for-english-press.gsm
+libdata/asterisk/sounds/en/for-investor-relations.gsm
+libdata/asterisk/sounds/en/for-louie-louie.gsm
+libdata/asterisk/sounds/en/for-no-press.gsm
+libdata/asterisk/sounds/en/for-qc-and-training-purposes.gsm
+libdata/asterisk/sounds/en/for-quality-purposes.gsm
+libdata/asterisk/sounds/en/for-sales.gsm
+libdata/asterisk/sounds/en/for-service.gsm
+libdata/asterisk/sounds/en/for-tech-support.gsm
+libdata/asterisk/sounds/en/for-the-first.gsm
+libdata/asterisk/sounds/en/for-the-weather.gsm
+libdata/asterisk/sounds/en/for-wakeup-call.gsm
+libdata/asterisk/sounds/en/for-yes-press.gsm
+libdata/asterisk/sounds/en/for.gsm
+libdata/asterisk/sounds/en/forget_about_it.gsm
+libdata/asterisk/sounds/en/fort-worth.gsm
+libdata/asterisk/sounds/en/fortieth.gsm
+libdata/asterisk/sounds/en/fourteenth.gsm
+libdata/asterisk/sounds/en/fourth.gsm
+libdata/asterisk/sounds/en/freeze.gsm
+libdata/asterisk/sounds/en/freezing.gsm
+libdata/asterisk/sounds/en/frequency.gsm
+libdata/asterisk/sounds/en/fresno.gsm
+libdata/asterisk/sounds/en/from-unknown-caller.gsm
+libdata/asterisk/sounds/en/from.gsm
+libdata/asterisk/sounds/en/ftp.gsm
+libdata/asterisk/sounds/en/gale.gsm
+libdata/asterisk/sounds/en/gambling-drunk.gsm
+libdata/asterisk/sounds/en/georgia.gsm
+libdata/asterisk/sounds/en/get-in-line-sales-guy.gsm
+libdata/asterisk/sounds/en/get_bleep_outta.gsm
+libdata/asterisk/sounds/en/get_information.gsm
+libdata/asterisk/sounds/en/get_information_first.gsm
+libdata/asterisk/sounds/en/gigabits.gsm
+libdata/asterisk/sounds/en/gigabytes.gsm
+libdata/asterisk/sounds/en/gigahertz.gsm
+libdata/asterisk/sounds/en/giggle1.gsm
+libdata/asterisk/sounds/en/gmt.gsm
+libdata/asterisk/sounds/en/go-away1.gsm
+libdata/asterisk/sounds/en/go-away2.gsm
+libdata/asterisk/sounds/en/good-afternoon.gsm
+libdata/asterisk/sounds/en/good-evening.gsm
+libdata/asterisk/sounds/en/good-morning.gsm
+libdata/asterisk/sounds/en/good.gsm
+libdata/asterisk/sounds/en/goodbye.gsm
+libdata/asterisk/sounds/en/goodbye_for_the_best.gsm
+libdata/asterisk/sounds/en/goodbye_love.gsm
+libdata/asterisk/sounds/en/got_kidding.gsm
+libdata/asterisk/sounds/en/grammar.gsm
+libdata/asterisk/sounds/en/greater-than.gsm
+libdata/asterisk/sounds/en/groovy.gsm
+libdata/asterisk/sounds/en/ha/ac.gsm
+libdata/asterisk/sounds/en/ha/air-conditioner.gsm
+libdata/asterisk/sounds/en/ha/alarm.gsm
+libdata/asterisk/sounds/en/ha/amp.gsm
+libdata/asterisk/sounds/en/ha/amps.gsm
+libdata/asterisk/sounds/en/ha/attic.gsm
+libdata/asterisk/sounds/en/ha/baby-sleeping-mode.gsm
+libdata/asterisk/sounds/en/ha/back.gsm
+libdata/asterisk/sounds/en/ha/basement.gsm
+libdata/asterisk/sounds/en/ha/bathroom.gsm
+libdata/asterisk/sounds/en/ha/bedroom.gsm
+libdata/asterisk/sounds/en/ha/bright.gsm
+libdata/asterisk/sounds/en/ha/callerid.gsm
+libdata/asterisk/sounds/en/ha/carport.gsm
+libdata/asterisk/sounds/en/ha/closet.gsm
+libdata/asterisk/sounds/en/ha/coffee-pot.gsm
+libdata/asterisk/sounds/en/ha/cool.gsm
+libdata/asterisk/sounds/en/ha/cooling.gsm
+libdata/asterisk/sounds/en/ha/dc.gsm
+libdata/asterisk/sounds/en/ha/decibel.gsm
+libdata/asterisk/sounds/en/ha/decibels.gsm
+libdata/asterisk/sounds/en/ha/deck.gsm
+libdata/asterisk/sounds/en/ha/degree.gsm
+libdata/asterisk/sounds/en/ha/degrees.gsm
+libdata/asterisk/sounds/en/ha/den.gsm
+libdata/asterisk/sounds/en/ha/dim.gsm
+libdata/asterisk/sounds/en/ha/dining-room.gsm
+libdata/asterisk/sounds/en/ha/door.gsm
+libdata/asterisk/sounds/en/ha/doors.gsm
+libdata/asterisk/sounds/en/ha/down.gsm
+libdata/asterisk/sounds/en/ha/driveway.gsm
+libdata/asterisk/sounds/en/ha/dryer.gsm
+libdata/asterisk/sounds/en/ha/fan.gsm
+libdata/asterisk/sounds/en/ha/farad.gsm
+libdata/asterisk/sounds/en/ha/farads.gsm
+libdata/asterisk/sounds/en/ha/first-floor.gsm
+libdata/asterisk/sounds/en/ha/floor.gsm
+libdata/asterisk/sounds/en/ha/floors.gsm
+libdata/asterisk/sounds/en/ha/for-extended-status-report.gsm
+libdata/asterisk/sounds/en/ha/for-quick-status-report.gsm
+libdata/asterisk/sounds/en/ha/for-wx-report.gsm
+libdata/asterisk/sounds/en/ha/fountain.gsm
+libdata/asterisk/sounds/en/ha/foyer.gsm
+libdata/asterisk/sounds/en/ha/front.gsm
+libdata/asterisk/sounds/en/ha/furnace.gsm
+libdata/asterisk/sounds/en/ha/game-room.gsm
+libdata/asterisk/sounds/en/ha/garage.gsm
+libdata/asterisk/sounds/en/ha/great-room.gsm
+libdata/asterisk/sounds/en/ha/guest-room.gsm
+libdata/asterisk/sounds/en/ha/hall.gsm
+libdata/asterisk/sounds/en/ha/has-been-left.gsm
+libdata/asterisk/sounds/en/ha/heat-pump.gsm
+libdata/asterisk/sounds/en/ha/heat.gsm
+libdata/asterisk/sounds/en/ha/heating.gsm
+libdata/asterisk/sounds/en/ha/hot-tub.gsm
+libdata/asterisk/sounds/en/ha/house.gsm
+libdata/asterisk/sounds/en/ha/intruder.gsm
+libdata/asterisk/sounds/en/ha/is.gsm
+libdata/asterisk/sounds/en/ha/kelvin.gsm
+libdata/asterisk/sounds/en/ha/kitchen.gsm
+libdata/asterisk/sounds/en/ha/lamp.gsm
+libdata/asterisk/sounds/en/ha/lamps.gsm
+libdata/asterisk/sounds/en/ha/landscape.gsm
+libdata/asterisk/sounds/en/ha/laundry.gsm
+libdata/asterisk/sounds/en/ha/library.gsm
+libdata/asterisk/sounds/en/ha/light.gsm
+libdata/asterisk/sounds/en/ha/lights.gsm
+libdata/asterisk/sounds/en/ha/living-room.gsm
+libdata/asterisk/sounds/en/ha/locked.gsm
+libdata/asterisk/sounds/en/ha/locking.gsm
+libdata/asterisk/sounds/en/ha/mailbox.gsm
+libdata/asterisk/sounds/en/ha/master.gsm
+libdata/asterisk/sounds/en/ha/off.gsm
+libdata/asterisk/sounds/en/ha/office.gsm
+libdata/asterisk/sounds/en/ha/ohm.gsm
+libdata/asterisk/sounds/en/ha/ohms.gsm
+libdata/asterisk/sounds/en/ha/on.gsm
+libdata/asterisk/sounds/en/ha/open.gsm
+libdata/asterisk/sounds/en/ha/patio.gsm
+libdata/asterisk/sounds/en/ha/phone.gsm
+libdata/asterisk/sounds/en/ha/play-room.gsm
+libdata/asterisk/sounds/en/ha/play.gsm
+libdata/asterisk/sounds/en/ha/pool.gsm
+libdata/asterisk/sounds/en/ha/porch.gsm
+libdata/asterisk/sounds/en/ha/power-failure.gsm
+libdata/asterisk/sounds/en/ha/pressure.gsm
+libdata/asterisk/sounds/en/ha/psi.gsm
+libdata/asterisk/sounds/en/ha/quiet-mode.gsm
+libdata/asterisk/sounds/en/ha/reset.gsm
+libdata/asterisk/sounds/en/ha/roof.gsm
+libdata/asterisk/sounds/en/ha/room.gsm
+libdata/asterisk/sounds/en/ha/rooms.gsm
+libdata/asterisk/sounds/en/ha/second-floor.gsm
+libdata/asterisk/sounds/en/ha/secure.gsm
+libdata/asterisk/sounds/en/ha/security-system.gsm
+libdata/asterisk/sounds/en/ha/set.gsm
+libdata/asterisk/sounds/en/ha/side.gsm
+libdata/asterisk/sounds/en/ha/solar.gsm
+libdata/asterisk/sounds/en/ha/sprinklers.gsm
+libdata/asterisk/sounds/en/ha/still.gsm
+libdata/asterisk/sounds/en/ha/stove.gsm
+libdata/asterisk/sounds/en/ha/sump-pump.gsm
+libdata/asterisk/sounds/en/ha/sun-room.gsm
+libdata/asterisk/sounds/en/ha/system.gsm
+libdata/asterisk/sounds/en/ha/systems.gsm
+libdata/asterisk/sounds/en/ha/thermostat.gsm
+libdata/asterisk/sounds/en/ha/to-control-environ-sys.gsm
+libdata/asterisk/sounds/en/ha/to-control-lights-appl.gsm
+libdata/asterisk/sounds/en/ha/tower.gsm
+libdata/asterisk/sounds/en/ha/unlocked.gsm
+libdata/asterisk/sounds/en/ha/unlocking.gsm
+libdata/asterisk/sounds/en/ha/up.gsm
+libdata/asterisk/sounds/en/ha/volt.gsm
+libdata/asterisk/sounds/en/ha/volts.gsm
+libdata/asterisk/sounds/en/ha/washing-machine.gsm
+libdata/asterisk/sounds/en/ha/water-heater.gsm
+libdata/asterisk/sounds/en/ha/watt.gsm
+libdata/asterisk/sounds/en/ha/watts.gsm
+libdata/asterisk/sounds/en/ha/well-pump.gsm
+libdata/asterisk/sounds/en/ha/window.gsm
+libdata/asterisk/sounds/en/ha/windows.gsm
+libdata/asterisk/sounds/en/ha/xmas-lights.gsm
+libdata/asterisk/sounds/en/ha/xmas-tree.gsm
+libdata/asterisk/sounds/en/ha/yard.gsm
+libdata/asterisk/sounds/en/hail.gsm
+libdata/asterisk/sounds/en/hal_goodbye.gsm
+libdata/asterisk/sounds/en/half.gsm
+libdata/asterisk/sounds/en/hang-on-a-second-angry.gsm
+libdata/asterisk/sounds/en/hang-on-a-second.gsm
+libdata/asterisk/sounds/en/hangup-try-again.gsm
+libdata/asterisk/sounds/en/happy_saved.gsm
+libdata/asterisk/sounds/en/has-arrived-at.gsm
+libdata/asterisk/sounds/en/has-been-changed-to.gsm
+libdata/asterisk/sounds/en/has-been-cleared.gsm
+libdata/asterisk/sounds/en/has-been-disconnected.gsm
+libdata/asterisk/sounds/en/has-been-set-to.gsm
+libdata/asterisk/sounds/en/has-been.gsm
+libdata/asterisk/sounds/en/has-expired.gsm
+libdata/asterisk/sounds/en/has-issued-a.gsm
+libdata/asterisk/sounds/en/has-not-been-seen-for.gsm
+libdata/asterisk/sounds/en/has.gsm
+libdata/asterisk/sounds/en/hash.gsm
+libdata/asterisk/sounds/en/hawaii.gsm
+libdata/asterisk/sounds/en/headed-towards.gsm
+libdata/asterisk/sounds/en/heading.gsm
+libdata/asterisk/sounds/en/health-center.gsm
+libdata/asterisk/sounds/en/hear-odd-noise.gsm
+libdata/asterisk/sounds/en/hear-toilet-flush.gsm
+libdata/asterisk/sounds/en/hectopascal.gsm
+libdata/asterisk/sounds/en/hello-world.gsm
+libdata/asterisk/sounds/en/hello.gsm
+libdata/asterisk/sounds/en/helpdesk.gsm
+libdata/asterisk/sounds/en/hertz.gsm
+libdata/asterisk/sounds/en/high.gsm
+libdata/asterisk/sounds/en/highway.gsm
+libdata/asterisk/sounds/en/hit.gsm
+libdata/asterisk/sounds/en/hold-or-dial-0.gsm
+libdata/asterisk/sounds/en/home.gsm
+libdata/asterisk/sounds/en/honolulu.gsm
+libdata/asterisk/sounds/en/hours.gsm
+libdata/asterisk/sounds/en/housekeeping.gsm
+libdata/asterisk/sounds/en/houston.gsm
+libdata/asterisk/sounds/en/http.gsm
+libdata/asterisk/sounds/en/human-resources.gsm
+libdata/asterisk/sounds/en/humidity.gsm
+libdata/asterisk/sounds/en/hundredth.gsm
+libdata/asterisk/sounds/en/hurricane.gsm
+libdata/asterisk/sounds/en/hz.gsm
+libdata/asterisk/sounds/en/i-dont-understand.gsm
+libdata/asterisk/sounds/en/i-dont-understand2.gsm
+libdata/asterisk/sounds/en/i-dont-understand3.gsm
+libdata/asterisk/sounds/en/i-dont-understand4.gsm
+libdata/asterisk/sounds/en/i-dont-understand5.gsm
+libdata/asterisk/sounds/en/i-grow-bored.gsm
+libdata/asterisk/sounds/en/ice.gsm
+libdata/asterisk/sounds/en/icmp.gsm
+libdata/asterisk/sounds/en/icy.gsm
+libdata/asterisk/sounds/en/idaho.gsm
+libdata/asterisk/sounds/en/if-correct-press.gsm
+libdata/asterisk/sounds/en/if-grtg-played-indefinately.gsm
+libdata/asterisk/sounds/en/if-grtg-should-expire-at.gsm
+libdata/asterisk/sounds/en/if-maint-contract-or-emergency.gsm
+libdata/asterisk/sounds/en/if-rotary-phone.gsm
+libdata/asterisk/sounds/en/if-this-is-correct-press.gsm
+libdata/asterisk/sounds/en/if-this-is-correct.gsm
+libdata/asterisk/sounds/en/if-this-is-not-correct.gsm
+libdata/asterisk/sounds/en/if-u-know-ext-dial.gsm
+libdata/asterisk/sounds/en/if-unsuccessful-speak-to.gsm
+libdata/asterisk/sounds/en/if-you-know-the.gsm
+libdata/asterisk/sounds/en/if-you-need-help.gsm
+libdata/asterisk/sounds/en/if-youd-like-to-make-a-call.gsm
+libdata/asterisk/sounds/en/illinois.gsm
+libdata/asterisk/sounds/en/im-sorry-unable-to-connect-to-eng.gsm
+libdata/asterisk/sounds/en/im-sorry.gsm
+libdata/asterisk/sounds/en/imap.gsm
+libdata/asterisk/sounds/en/in-service.gsm
+libdata/asterisk/sounds/en/in-the-line.gsm
+libdata/asterisk/sounds/en/in-the-queue.gsm
+libdata/asterisk/sounds/en/in-the.gsm
+libdata/asterisk/sounds/en/in-your-city.gsm
+libdata/asterisk/sounds/en/in-your-zip-code.gsm
+libdata/asterisk/sounds/en/inbound.gsm
+libdata/asterisk/sounds/en/indiana.gsm
+libdata/asterisk/sounds/en/indianapolis.gsm
+libdata/asterisk/sounds/en/indicated.gsm
+libdata/asterisk/sounds/en/info-about-last-call.gsm
+libdata/asterisk/sounds/en/information-technology.gsm
+libdata/asterisk/sounds/en/information.gsm
+libdata/asterisk/sounds/en/infuriate-tech-staff.gsm
+libdata/asterisk/sounds/en/initiated.gsm
+libdata/asterisk/sounds/en/initiating.gsm
+libdata/asterisk/sounds/en/inside-sales.gsm
+libdata/asterisk/sounds/en/internal-audit.gsm
+libdata/asterisk/sounds/en/international-call.gsm
+libdata/asterisk/sounds/en/interstate.gsm
+libdata/asterisk/sounds/en/invalid-date.gsm
+libdata/asterisk/sounds/en/invalid-featurecode.gsm
+libdata/asterisk/sounds/en/invalid.gsm
+libdata/asterisk/sounds/en/investor-relations.gsm
+libdata/asterisk/sounds/en/iowa.gsm
+libdata/asterisk/sounds/en/is-at.gsm
+libdata/asterisk/sounds/en/is-curntly-busy.gsm
+libdata/asterisk/sounds/en/is-curntly-unavail.gsm
+libdata/asterisk/sounds/en/is-currently.gsm
+libdata/asterisk/sounds/en/is-in-use.gsm
+libdata/asterisk/sounds/en/is-not-in-the.gsm
+libdata/asterisk/sounds/en/is-not-set.gsm
+libdata/asterisk/sounds/en/is-now-being-recorded.gsm
+libdata/asterisk/sounds/en/is-set-to.gsm
+libdata/asterisk/sounds/en/is.gsm
+libdata/asterisk/sounds/en/it-now.gsm
+libdata/asterisk/sounds/en/it-services.gsm
+libdata/asterisk/sounds/en/jacksonville.gsm
+libdata/asterisk/sounds/en/janitorial.gsm
+libdata/asterisk/sounds/en/jason.gsm
+libdata/asterisk/sounds/en/jedi-extension-trick.gsm
+libdata/asterisk/sounds/en/john.gsm
+libdata/asterisk/sounds/en/just-kidding-not-upset.gsm
+libdata/asterisk/sounds/en/just-kidding-not-upset2.gsm
+libdata/asterisk/sounds/en/kansas-city.gsm
+libdata/asterisk/sounds/en/kansas.gsm
+libdata/asterisk/sounds/en/kentucky.gsm
+libdata/asterisk/sounds/en/keywords_cross_fingers.gsm
+libdata/asterisk/sounds/en/kilobits.gsm
+libdata/asterisk/sounds/en/kilobytes.gsm
+libdata/asterisk/sounds/en/kilohertz.gsm
+libdata/asterisk/sounds/en/kilometer.gsm
+libdata/asterisk/sounds/en/kilometers-per-hour.gsm
+libdata/asterisk/sounds/en/knock-knock.gsm
+libdata/asterisk/sounds/en/knots.gsm
+libdata/asterisk/sounds/en/language.gsm
+libdata/asterisk/sounds/en/las-vegas.gsm
+libdata/asterisk/sounds/en/last-error-was.gsm
+libdata/asterisk/sounds/en/last-num-to-call.gsm
+libdata/asterisk/sounds/en/late.gsm
+libdata/asterisk/sounds/en/later.gsm
+libdata/asterisk/sounds/en/lea-may-request-info.gsm
+libdata/asterisk/sounds/en/left-bracket.gsm
+libdata/asterisk/sounds/en/legal.gsm
+libdata/asterisk/sounds/en/len.gsm
+libdata/asterisk/sounds/en/less-than.gsm
+libdata/asterisk/sounds/en/letters/a.gsm
+libdata/asterisk/sounds/en/letters/ascii123.gsm
+libdata/asterisk/sounds/en/letters/ascii124.gsm
+libdata/asterisk/sounds/en/letters/ascii125.gsm
+libdata/asterisk/sounds/en/letters/ascii126.gsm
+libdata/asterisk/sounds/en/letters/ascii34.gsm
+libdata/asterisk/sounds/en/letters/ascii36.gsm
+libdata/asterisk/sounds/en/letters/ascii37.gsm
+libdata/asterisk/sounds/en/letters/ascii38.gsm
+libdata/asterisk/sounds/en/letters/ascii39.gsm
+libdata/asterisk/sounds/en/letters/ascii40.gsm
+libdata/asterisk/sounds/en/letters/ascii41.gsm
+libdata/asterisk/sounds/en/letters/ascii42.gsm
+libdata/asterisk/sounds/en/letters/ascii44.gsm
+libdata/asterisk/sounds/en/letters/ascii58.gsm
+libdata/asterisk/sounds/en/letters/ascii59.gsm
+libdata/asterisk/sounds/en/letters/ascii60.gsm
+libdata/asterisk/sounds/en/letters/ascii62.gsm
+libdata/asterisk/sounds/en/letters/ascii63.gsm
+libdata/asterisk/sounds/en/letters/ascii91.gsm
+libdata/asterisk/sounds/en/letters/ascii92.gsm
+libdata/asterisk/sounds/en/letters/ascii93.gsm
+libdata/asterisk/sounds/en/letters/ascii94.gsm
+libdata/asterisk/sounds/en/letters/ascii95.gsm
+libdata/asterisk/sounds/en/letters/ascii96.gsm
+libdata/asterisk/sounds/en/letters/asterisk.gsm
+libdata/asterisk/sounds/en/letters/at.gsm
+libdata/asterisk/sounds/en/letters/b.gsm
+libdata/asterisk/sounds/en/letters/c.gsm
+libdata/asterisk/sounds/en/letters/d.gsm
+libdata/asterisk/sounds/en/letters/dash.gsm
+libdata/asterisk/sounds/en/letters/dollar.gsm
+libdata/asterisk/sounds/en/letters/dot.gsm
+libdata/asterisk/sounds/en/letters/e.gsm
+libdata/asterisk/sounds/en/letters/equals.gsm
+libdata/asterisk/sounds/en/letters/exclaimation-point.gsm
+libdata/asterisk/sounds/en/letters/f.gsm
+libdata/asterisk/sounds/en/letters/g.gsm
+libdata/asterisk/sounds/en/letters/h.gsm
+libdata/asterisk/sounds/en/letters/i.gsm
+libdata/asterisk/sounds/en/letters/j.gsm
+libdata/asterisk/sounds/en/letters/k.gsm
+libdata/asterisk/sounds/en/letters/l.gsm
+libdata/asterisk/sounds/en/letters/m.gsm
+libdata/asterisk/sounds/en/letters/n.gsm
+libdata/asterisk/sounds/en/letters/o.gsm
+libdata/asterisk/sounds/en/letters/p.gsm
+libdata/asterisk/sounds/en/letters/plus.gsm
+libdata/asterisk/sounds/en/letters/q.gsm
+libdata/asterisk/sounds/en/letters/r.gsm
+libdata/asterisk/sounds/en/letters/s.gsm
+libdata/asterisk/sounds/en/letters/slash.gsm
+libdata/asterisk/sounds/en/letters/space.gsm
+libdata/asterisk/sounds/en/letters/t.gsm
+libdata/asterisk/sounds/en/letters/u.gsm
+libdata/asterisk/sounds/en/letters/v.gsm
+libdata/asterisk/sounds/en/letters/w.gsm
+libdata/asterisk/sounds/en/letters/x.gsm
+libdata/asterisk/sounds/en/letters/y.gsm
+libdata/asterisk/sounds/en/letters/z.gsm
+libdata/asterisk/sounds/en/letters/zed.gsm
+libdata/asterisk/sounds/en/library.gsm
+libdata/asterisk/sounds/en/lightning.gsm
+libdata/asterisk/sounds/en/like_to_tell_valid_ext.gsm
+libdata/asterisk/sounds/en/limit-simul-calls.gsm
+libdata/asterisk/sounds/en/lines-complaining-customers.gsm
+libdata/asterisk/sounds/en/linux.gsm
+libdata/asterisk/sounds/en/list.gsm
+libdata/asterisk/sounds/en/load-average.gsm
+libdata/asterisk/sounds/en/local-authorities.gsm
+libdata/asterisk/sounds/en/location.gsm
+libdata/asterisk/sounds/en/login-fail.gsm
+libdata/asterisk/sounds/en/long-beach.gsm
+libdata/asterisk/sounds/en/los-angeles.gsm
+libdata/asterisk/sounds/en/loss-prevention.gsm
+libdata/asterisk/sounds/en/loss.gsm
+libdata/asterisk/sounds/en/lots-o-monkeys.gsm
+libdata/asterisk/sounds/en/louisiana.gsm
+libdata/asterisk/sounds/en/low.gsm
+libdata/asterisk/sounds/en/lowercase.gsm
+libdata/asterisk/sounds/en/lunch.gsm
+libdata/asterisk/sounds/en/lyrics-louie-louie.gsm
+libdata/asterisk/sounds/en/machine.gsm
+libdata/asterisk/sounds/en/made-it-up.gsm
+libdata/asterisk/sounds/en/mail.gsm
+libdata/asterisk/sounds/en/mailroom.gsm
+libdata/asterisk/sounds/en/main-menu.gsm
+libdata/asterisk/sounds/en/maine.gsm
+libdata/asterisk/sounds/en/maintenance.gsm
+libdata/asterisk/sounds/en/male.gsm
+libdata/asterisk/sounds/en/management.gsm
+libdata/asterisk/sounds/en/manufacturing.gsm
+libdata/asterisk/sounds/en/marketing.gsm
+libdata/asterisk/sounds/en/marryme.gsm
+libdata/asterisk/sounds/en/martini.gsm
+libdata/asterisk/sounds/en/maryland.gsm
+libdata/asterisk/sounds/en/massachusetts.gsm
+libdata/asterisk/sounds/en/mathematics.gsm
+libdata/asterisk/sounds/en/maximum.gsm
+libdata/asterisk/sounds/en/megabits.gsm
+libdata/asterisk/sounds/en/megabytes.gsm
+libdata/asterisk/sounds/en/megahertz.gsm
+libdata/asterisk/sounds/en/memory.gsm
+libdata/asterisk/sounds/en/memphis.gsm
+libdata/asterisk/sounds/en/menu.gsm
+libdata/asterisk/sounds/en/mesa.gsm
+libdata/asterisk/sounds/en/message-from.gsm
+libdata/asterisk/sounds/en/message-number.gsm
+libdata/asterisk/sounds/en/messages_curious.gsm
+libdata/asterisk/sounds/en/meter.gsm
+libdata/asterisk/sounds/en/meters.gsm
+libdata/asterisk/sounds/en/miami.gsm
+libdata/asterisk/sounds/en/michigan.gsm
+libdata/asterisk/sounds/en/midnight-tomorrow-night.gsm
+libdata/asterisk/sounds/en/midnight-tonight.gsm
+libdata/asterisk/sounds/en/midnight.gsm
+libdata/asterisk/sounds/en/mike.gsm
+libdata/asterisk/sounds/en/miles-per-hour.gsm
+libdata/asterisk/sounds/en/miles.gsm
+libdata/asterisk/sounds/en/millionth.gsm
+libdata/asterisk/sounds/en/milwaukee.gsm
+libdata/asterisk/sounds/en/mind_repeating.gsm
+libdata/asterisk/sounds/en/minimum.gsm
+libdata/asterisk/sounds/en/minions-not-answering-leave-message.gsm
+libdata/asterisk/sounds/en/minneapolis.gsm
+libdata/asterisk/sounds/en/minnesota.gsm
+libdata/asterisk/sounds/en/minute.gsm
+libdata/asterisk/sounds/en/minutes.gsm
+libdata/asterisk/sounds/en/missed.gsm
+libdata/asterisk/sounds/en/mississippi.gsm
+libdata/asterisk/sounds/en/missouri.gsm
+libdata/asterisk/sounds/en/misty.gsm
+libdata/asterisk/sounds/en/mode.gsm
+libdata/asterisk/sounds/en/monitored.gsm
+libdata/asterisk/sounds/en/montana.gsm
+libdata/asterisk/sounds/en/month.gsm
+libdata/asterisk/sounds/en/months.gsm
+libdata/asterisk/sounds/en/moo1.gsm
+libdata/asterisk/sounds/en/moo2.gsm
+libdata/asterisk/sounds/en/morning.gsm
+libdata/asterisk/sounds/en/moron.gsm
+libdata/asterisk/sounds/en/mostly.gsm
+libdata/asterisk/sounds/en/motor-pool.gsm
+libdata/asterisk/sounds/en/mountain.gsm
+libdata/asterisk/sounds/en/moving.gsm
+libdata/asterisk/sounds/en/ms.gsm
+libdata/asterisk/sounds/en/nashville.gsm
+libdata/asterisk/sounds/en/national-weather-service.gsm
+libdata/asterisk/sounds/en/nautical-miles.gsm
+libdata/asterisk/sounds/en/nbdy-avail-to-take-call.gsm
+libdata/asterisk/sounds/en/near.gsm
+libdata/asterisk/sounds/en/nebraska.gsm
+libdata/asterisk/sounds/en/negative.gsm
+libdata/asterisk/sounds/en/network-operations-center.gsm
+libdata/asterisk/sounds/en/network-operations.gsm
+libdata/asterisk/sounds/en/nevada.gsm
+libdata/asterisk/sounds/en/new-accounts.gsm
+libdata/asterisk/sounds/en/new-hampshire.gsm
+libdata/asterisk/sounds/en/new-jersey.gsm
+libdata/asterisk/sounds/en/new-mexico.gsm
+libdata/asterisk/sounds/en/new-orleans.gsm
+libdata/asterisk/sounds/en/new-york.gsm
+libdata/asterisk/sounds/en/night.gsm
+libdata/asterisk/sounds/en/nineteenth.gsm
+libdata/asterisk/sounds/en/ninetieth.gsm
+libdata/asterisk/sounds/en/ninth.gsm
+libdata/asterisk/sounds/en/no-112-1.gsm
+libdata/asterisk/sounds/en/no-112-2.gsm
+libdata/asterisk/sounds/en/no-911-1.gsm
+libdata/asterisk/sounds/en/no-911-2.gsm
+libdata/asterisk/sounds/en/no-empty-conferences.gsm
+libdata/asterisk/sounds/en/no-info-about-number.gsm
+libdata/asterisk/sounds/en/no-longer-in-service.gsm
+libdata/asterisk/sounds/en/no-reply-no-mailbox.gsm
+libdata/asterisk/sounds/en/no-route-exists-to-dest.gsm
+libdata/asterisk/sounds/en/no_invite_to_conf.gsm
+libdata/asterisk/sounds/en/no_longer_conf.gsm
+libdata/asterisk/sounds/en/no_problem_help.gsm
+libdata/asterisk/sounds/en/no_worries_try_again.gsm
+libdata/asterisk/sounds/en/nobody-but-chickens.gsm
+libdata/asterisk/sounds/en/node.gsm
+libdata/asterisk/sounds/en/none_of_my_business1.gsm
+libdata/asterisk/sounds/en/none_of_my_business2.gsm
+libdata/asterisk/sounds/en/north-carolina.gsm
+libdata/asterisk/sounds/en/north-dakota.gsm
+libdata/asterisk/sounds/en/north.gsm
+libdata/asterisk/sounds/en/northerly.gsm
+libdata/asterisk/sounds/en/not-auth-pstn.gsm
+libdata/asterisk/sounds/en/not-enough-credit.gsm
+libdata/asterisk/sounds/en/not-necessary-1.gsm
+libdata/asterisk/sounds/en/not-necessary-ac.gsm
+libdata/asterisk/sounds/en/not-necessary-dial-1-or-ac.gsm
+libdata/asterisk/sounds/en/not-rqsted-wakeup.gsm
+libdata/asterisk/sounds/en/not-taking-your-call.gsm
+libdata/asterisk/sounds/en/not-yet-assigned.gsm
+libdata/asterisk/sounds/en/not-yet-connected.gsm
+libdata/asterisk/sounds/en/not_me.gsm
+libdata/asterisk/sounds/en/not_pass.gsm
+libdata/asterisk/sounds/en/not_siri.gsm
+libdata/asterisk/sounds/en/not_you.gsm
+libdata/asterisk/sounds/en/nothing-recorded.gsm
+libdata/asterisk/sounds/en/now.gsm
+libdata/asterisk/sounds/en/num-not-in-db.gsm
+libdata/asterisk/sounds/en/num-outside-area.gsm
+libdata/asterisk/sounds/en/num-was-successfully.gsm
+libdata/asterisk/sounds/en/number-not-answering.gsm
+libdata/asterisk/sounds/en/number.gsm
+libdata/asterisk/sounds/en/oakland.gsm
+libdata/asterisk/sounds/en/octothorpe.gsm
+libdata/asterisk/sounds/en/off-duty.gsm
+libdata/asterisk/sounds/en/off.gsm
+libdata/asterisk/sounds/en/office-code.gsm
+libdata/asterisk/sounds/en/office-iguanas.gsm
+libdata/asterisk/sounds/en/office.gsm
+libdata/asterisk/sounds/en/ogm_home.gsm
+libdata/asterisk/sounds/en/ohio.gsm
+libdata/asterisk/sounds/en/oklahoma-city.gsm
+libdata/asterisk/sounds/en/oklahoma.gsm
+libdata/asterisk/sounds/en/omaha.gsm
+libdata/asterisk/sounds/en/on-busy.gsm
+libdata/asterisk/sounds/en/on-monthly-tel-stment.gsm
+libdata/asterisk/sounds/en/on-no-answer.gsm
+libdata/asterisk/sounds/en/on.gsm
+libdata/asterisk/sounds/en/one-moment-please.gsm
+libdata/asterisk/sounds/en/one-small-step.gsm
+libdata/asterisk/sounds/en/one-small-step2.gsm
+libdata/asterisk/sounds/en/oops1.gsm
+libdata/asterisk/sounds/en/oops2.gsm
+libdata/asterisk/sounds/en/oops3.gsm
+libdata/asterisk/sounds/en/open-parenthesis.gsm
+libdata/asterisk/sounds/en/open.gsm
+libdata/asterisk/sounds/en/operations.gsm
+libdata/asterisk/sounds/en/option-is-invalid.gsm
+libdata/asterisk/sounds/en/option-not-implemented.gsm
+libdata/asterisk/sounds/en/or-press.gsm
+libdata/asterisk/sounds/en/or.gsm
+libdata/asterisk/sounds/en/order-desk.gsm
+libdata/asterisk/sounds/en/orders.gsm
+libdata/asterisk/sounds/en/oregon.gsm
+libdata/asterisk/sounds/en/other-options-exercise.gsm
+libdata/asterisk/sounds/en/otherwise-press.gsm
+libdata/asterisk/sounds/en/otherwise.gsm
+libdata/asterisk/sounds/en/our-business-hours-are.gsm
+libdata/asterisk/sounds/en/outbound.gsm
+libdata/asterisk/sounds/en/outside-sales.gsm
+libdata/asterisk/sounds/en/outside-transfer.gsm
+libdata/asterisk/sounds/en/pacific.gsm
+libdata/asterisk/sounds/en/packet.gsm
+libdata/asterisk/sounds/en/panic.gsm
+libdata/asterisk/sounds/en/partially.gsm
+libdata/asterisk/sounds/en/partly.gsm
+libdata/asterisk/sounds/en/pascal.gsm
+libdata/asterisk/sounds/en/pascal2.gsm
+libdata/asterisk/sounds/en/passwords_not_match.gsm
+libdata/asterisk/sounds/en/patchy.gsm
+libdata/asterisk/sounds/en/pbx-invalid.gsm
+libdata/asterisk/sounds/en/pbx-invalidpark.gsm
+libdata/asterisk/sounds/en/pbx-parkingfailed.gsm
+libdata/asterisk/sounds/en/pbx-transfer.gsm
+libdata/asterisk/sounds/en/pence.gsm
+libdata/asterisk/sounds/en/pennies.gsm
+libdata/asterisk/sounds/en/pennsylvania.gsm
+libdata/asterisk/sounds/en/penny.gsm
+libdata/asterisk/sounds/en/percent.gsm
+libdata/asterisk/sounds/en/perhaps-we-are.gsm
+libdata/asterisk/sounds/en/perhaps-we-are2.gsm
+libdata/asterisk/sounds/en/period.gsm
+libdata/asterisk/sounds/en/personnel.gsm
+libdata/asterisk/sounds/en/persons-in-path-of.gsm
+libdata/asterisk/sounds/en/philadelphia.gsm
+libdata/asterisk/sounds/en/phoenix.gsm
+libdata/asterisk/sounds/en/phonetic/9_p.gsm
+libdata/asterisk/sounds/en/phonetic/a_p.gsm
+libdata/asterisk/sounds/en/phonetic/b_p.gsm
+libdata/asterisk/sounds/en/phonetic/c_p.gsm
+libdata/asterisk/sounds/en/phonetic/d_p.gsm
+libdata/asterisk/sounds/en/phonetic/e_p.gsm
+libdata/asterisk/sounds/en/phonetic/f_p.gsm
+libdata/asterisk/sounds/en/phonetic/g_p.gsm
+libdata/asterisk/sounds/en/phonetic/h_p.gsm
+libdata/asterisk/sounds/en/phonetic/i_p.gsm
+libdata/asterisk/sounds/en/phonetic/j_p.gsm
+libdata/asterisk/sounds/en/phonetic/k_p.gsm
+libdata/asterisk/sounds/en/phonetic/l_p.gsm
+libdata/asterisk/sounds/en/phonetic/m_p.gsm
+libdata/asterisk/sounds/en/phonetic/n_p.gsm
+libdata/asterisk/sounds/en/phonetic/o_p.gsm
+libdata/asterisk/sounds/en/phonetic/p_p.gsm
+libdata/asterisk/sounds/en/phonetic/q_p.gsm
+libdata/asterisk/sounds/en/phonetic/r_p.gsm
+libdata/asterisk/sounds/en/phonetic/s_p.gsm
+libdata/asterisk/sounds/en/phonetic/t_p.gsm
+libdata/asterisk/sounds/en/phonetic/u_p.gsm
+libdata/asterisk/sounds/en/phonetic/v_p.gsm
+libdata/asterisk/sounds/en/phonetic/w_p.gsm
+libdata/asterisk/sounds/en/phonetic/x_p.gsm
+libdata/asterisk/sounds/en/phonetic/y_p.gsm
+libdata/asterisk/sounds/en/phonetic/z_p.gsm
+libdata/asterisk/sounds/en/physics.gsm
+libdata/asterisk/sounds/en/pin-invalid.gsm
+libdata/asterisk/sounds/en/pin-number-accepted.gsm
+libdata/asterisk/sounds/en/pin_number.gsm
+libdata/asterisk/sounds/en/ping.gsm
+libdata/asterisk/sounds/en/pipe.gsm
+libdata/asterisk/sounds/en/planning.gsm
+libdata/asterisk/sounds/en/please-answer-the-following.gsm
+libdata/asterisk/sounds/en/please-contact-tech-supt.gsm
+libdata/asterisk/sounds/en/please-enter-first-three-letters.gsm
+libdata/asterisk/sounds/en/please-enter-the.gsm
+libdata/asterisk/sounds/en/please-enter-your.gsm
+libdata/asterisk/sounds/en/please-hang-up-and-dial-operator.gsm
+libdata/asterisk/sounds/en/please-hang-up-and-try-again.gsm
+libdata/asterisk/sounds/en/please-hold-minion-connect.gsm
+libdata/asterisk/sounds/en/please-hold-while-minion.gsm
+libdata/asterisk/sounds/en/please-try-again-later.gsm
+libdata/asterisk/sounds/en/please-try-again.gsm
+libdata/asterisk/sounds/en/please-try-call-later.gsm
+libdata/asterisk/sounds/en/please-try.gsm
+libdata/asterisk/sounds/en/please-wait-connect-oncall-eng.gsm
+libdata/asterisk/sounds/en/pls-ent-num-transfer.gsm
+libdata/asterisk/sounds/en/pls-enter-conf-password.gsm
+libdata/asterisk/sounds/en/pls-enter-num-message-after-tone.gsm
+libdata/asterisk/sounds/en/pls-enter-vm-password.gsm
+libdata/asterisk/sounds/en/pls-entr-num-uwish2-call.gsm
+libdata/asterisk/sounds/en/pls-hold-process-tx.gsm
+libdata/asterisk/sounds/en/pls-hold-silent30.gsm
+libdata/asterisk/sounds/en/pls-hold-while-try.gsm
+libdata/asterisk/sounds/en/pls-listen-options-changed.gsm
+libdata/asterisk/sounds/en/pls-lv-msg-will-contact.gsm
+libdata/asterisk/sounds/en/pls-rcrd-name-at-tone.gsm
+libdata/asterisk/sounds/en/pls-stay-on-line.gsm
+libdata/asterisk/sounds/en/pls-try-again.gsm
+libdata/asterisk/sounds/en/pls-try-area-code.gsm
+libdata/asterisk/sounds/en/pls-try-manually.gsm
+libdata/asterisk/sounds/en/pls-wait-connect-call.gsm
+libdata/asterisk/sounds/en/plugh.gsm
+libdata/asterisk/sounds/en/pm-announcement-number.gsm
+libdata/asterisk/sounds/en/pm-invalid-option.gsm
+libdata/asterisk/sounds/en/pm-phrase-management.gsm
+libdata/asterisk/sounds/en/pm-prompt-number.gsm
+libdata/asterisk/sounds/en/pm-to-record-phrase.gsm
+libdata/asterisk/sounds/en/pm-to-review-phrase.gsm
+libdata/asterisk/sounds/en/point.gsm
+libdata/asterisk/sounds/en/pop.gsm
+libdata/asterisk/sounds/en/port.gsm
+libdata/asterisk/sounds/en/portland.gsm
+libdata/asterisk/sounds/en/portnumber.gsm
+libdata/asterisk/sounds/en/position.gsm
+libdata/asterisk/sounds/en/post-entry-pound.gsm
+libdata/asterisk/sounds/en/pounds.gsm
+libdata/asterisk/sounds/en/presales-support.gsm
+libdata/asterisk/sounds/en/presidents-office.gsm
+libdata/asterisk/sounds/en/press-0.gsm
+libdata/asterisk/sounds/en/press-1.gsm
+libdata/asterisk/sounds/en/press-2.gsm
+libdata/asterisk/sounds/en/press-3.gsm
+libdata/asterisk/sounds/en/press-4.gsm
+libdata/asterisk/sounds/en/press-5.gsm
+libdata/asterisk/sounds/en/press-6-to-eject.gsm
+libdata/asterisk/sounds/en/press-6.gsm
+libdata/asterisk/sounds/en/press-7.gsm
+libdata/asterisk/sounds/en/press-8.gsm
+libdata/asterisk/sounds/en/press-9.gsm
+libdata/asterisk/sounds/en/press-button-again.gsm
+libdata/asterisk/sounds/en/press-enter.gsm
+libdata/asterisk/sounds/en/press-escape.gsm
+libdata/asterisk/sounds/en/press-hash.gsm
+libdata/asterisk/sounds/en/press-or-say-0.gsm
+libdata/asterisk/sounds/en/press-or-say-1.gsm
+libdata/asterisk/sounds/en/press-or-say-2.gsm
+libdata/asterisk/sounds/en/press-or-say-3.gsm
+libdata/asterisk/sounds/en/press-or-say-4.gsm
+libdata/asterisk/sounds/en/press-or-say-5.gsm
+libdata/asterisk/sounds/en/press-or-say-6.gsm
+libdata/asterisk/sounds/en/press-or-say-7.gsm
+libdata/asterisk/sounds/en/press-or-say-8.gsm
+libdata/asterisk/sounds/en/press-or-say-9.gsm
+libdata/asterisk/sounds/en/press-pound-save-changes.gsm
+libdata/asterisk/sounds/en/press-pound-to-login-star-to-hangup.gsm
+libdata/asterisk/sounds/en/press-pound.gsm
+libdata/asterisk/sounds/en/press-return.gsm
+libdata/asterisk/sounds/en/press-star-cancel.gsm
+libdata/asterisk/sounds/en/press-star.gsm
+libdata/asterisk/sounds/en/press-the-space-bar.gsm
+libdata/asterisk/sounds/en/press-tilde.gsm
+libdata/asterisk/sounds/en/press.gsm
+libdata/asterisk/sounds/en/press_pound_hash.gsm
+libdata/asterisk/sounds/en/press_pound_hash_key.gsm
+libdata/asterisk/sounds/en/pressure.gsm
+libdata/asterisk/sounds/en/prime_number.gsm
+libdata/asterisk/sounds/en/printing.gsm
+libdata/asterisk/sounds/en/priv-callee-options.gsm
+libdata/asterisk/sounds/en/priv-callpending.gsm
+libdata/asterisk/sounds/en/priv-introsaved.gsm
+libdata/asterisk/sounds/en/priv-recordintro.gsm
+libdata/asterisk/sounds/en/privacy-blacklisted.gsm
+libdata/asterisk/sounds/en/privacy-blocked.gsm
+libdata/asterisk/sounds/en/privacy-if-error-leave-message-or-hangup.gsm
+libdata/asterisk/sounds/en/privacy-if-error.gsm
+libdata/asterisk/sounds/en/privacy-if-sales-call-contact-in-writing.gsm
+libdata/asterisk/sounds/en/privacy-incorrect.gsm
+libdata/asterisk/sounds/en/privacy-last-caller-was.gsm
+libdata/asterisk/sounds/en/privacy-not.gsm
+libdata/asterisk/sounds/en/privacy-please-dial.gsm
+libdata/asterisk/sounds/en/privacy-please-stay-on-line-to-be-connected.gsm
+libdata/asterisk/sounds/en/privacy-prompt.gsm
+libdata/asterisk/sounds/en/privacy-restricted-by-req.gsm
+libdata/asterisk/sounds/en/privacy-screening-unidentified-calls.gsm
+libdata/asterisk/sounds/en/privacy-stop-calling-not-welcome.gsm
+libdata/asterisk/sounds/en/privacy-stop-calling-not-welcome2.gsm
+libdata/asterisk/sounds/en/privacy-thankyou.gsm
+libdata/asterisk/sounds/en/privacy-this-number-is.gsm
+libdata/asterisk/sounds/en/privacy-to-blacklist-last-caller.gsm
+libdata/asterisk/sounds/en/privacy-to-blacklist-this-number.gsm
+libdata/asterisk/sounds/en/privacy-to-hear-our-contact-details.gsm
+libdata/asterisk/sounds/en/privacy-to-whitelist-last-caller.gsm
+libdata/asterisk/sounds/en/privacy-to-whitelist-this-number.gsm
+libdata/asterisk/sounds/en/privacy-unident.gsm
+libdata/asterisk/sounds/en/privacy-whitelisted.gsm
+libdata/asterisk/sounds/en/privacy-you-are-blacklisted.gsm
+libdata/asterisk/sounds/en/privacy-you-are-calling-from.gsm
+libdata/asterisk/sounds/en/privacy-your-callerid-is.gsm
+libdata/asterisk/sounds/en/product.gsm
+libdata/asterisk/sounds/en/production.gsm
+libdata/asterisk/sounds/en/projects.gsm
+libdata/asterisk/sounds/en/prompt-not-found.gsm
+libdata/asterisk/sounds/en/protocol.gsm
+libdata/asterisk/sounds/en/public-relations.gsm
+libdata/asterisk/sounds/en/purchasing.gsm
+libdata/asterisk/sounds/en/purposes.gsm
+libdata/asterisk/sounds/en/q-dot-931.gsm
+libdata/asterisk/sounds/en/q-dot-9thirty1.gsm
+libdata/asterisk/sounds/en/quality-assurance.gsm
+libdata/asterisk/sounds/en/quality-control.gsm
+libdata/asterisk/sounds/en/quality_control.gsm
+libdata/asterisk/sounds/en/quarter.gsm
+libdata/asterisk/sounds/en/queue-callswaiting.gsm
+libdata/asterisk/sounds/en/queue-holdtime.gsm
+libdata/asterisk/sounds/en/queue-less-than.gsm
+libdata/asterisk/sounds/en/queue-minute.gsm
+libdata/asterisk/sounds/en/queue-minutes.gsm
+libdata/asterisk/sounds/en/queue-periodic-announce.gsm
+libdata/asterisk/sounds/en/queue-quantity1.gsm
+libdata/asterisk/sounds/en/queue-quantity2.gsm
+libdata/asterisk/sounds/en/queue-reporthold.gsm
+libdata/asterisk/sounds/en/queue-seconds.gsm
+libdata/asterisk/sounds/en/queue-thankyou.gsm
+libdata/asterisk/sounds/en/queue-thereare.gsm
+libdata/asterisk/sounds/en/queue-youarenext.gsm
+libdata/asterisk/sounds/en/quickly.gsm
+libdata/asterisk/sounds/en/quote.gsm
+libdata/asterisk/sounds/en/race.gsm
+libdata/asterisk/sounds/en/rain.gsm
+libdata/asterisk/sounds/en/rainfall.gsm
+libdata/asterisk/sounds/en/rainy.gsm
+libdata/asterisk/sounds/en/range.gsm
+libdata/asterisk/sounds/en/reassigned-new-areacode.gsm
+libdata/asterisk/sounds/en/rebates.gsm
+libdata/asterisk/sounds/en/received.gsm
+libdata/asterisk/sounds/en/receiving.gsm
+libdata/asterisk/sounds/en/reception.gsm
+libdata/asterisk/sounds/en/recorded.gsm
+libdata/asterisk/sounds/en/registrar.gsm
+libdata/asterisk/sounds/en/regret_not_saved.gsm
+libdata/asterisk/sounds/en/remote-already-in-this-mode-2.gsm
+libdata/asterisk/sounds/en/remote-already-in-this-mode.gsm
+libdata/asterisk/sounds/en/remote-base.gsm
+libdata/asterisk/sounds/en/removed.gsm
+libdata/asterisk/sounds/en/repair.gsm
+libdata/asterisk/sounds/en/repeat-only.gsm
+libdata/asterisk/sounds/en/repeat_pin.gsm
+libdata/asterisk/sounds/en/repeater.gsm
+libdata/asterisk/sounds/en/research-and-development.gsm
+libdata/asterisk/sounds/en/research.gsm
+libdata/asterisk/sounds/en/reservations.gsm
+libdata/asterisk/sounds/en/restarting.gsm
+libdata/asterisk/sounds/en/rhode-island.gsm
+libdata/asterisk/sounds/en/right-bracket.gsm
+libdata/asterisk/sounds/en/rising.gsm
+libdata/asterisk/sounds/en/risk-management.gsm
+libdata/asterisk/sounds/en/roaming.gsm
+libdata/asterisk/sounds/en/room-service.gsm
+libdata/asterisk/sounds/en/route-sip.gsm
+libdata/asterisk/sounds/en/rqsted-wakeup-for.gsm
+libdata/asterisk/sounds/en/sacramento.gsm
+libdata/asterisk/sounds/en/said_hold_on.gsm
+libdata/asterisk/sounds/en/saint-louis.gsm
+libdata/asterisk/sounds/en/sales-floor.gsm
+libdata/asterisk/sounds/en/sales.gsm
+libdata/asterisk/sounds/en/saleshell.gsm
+libdata/asterisk/sounds/en/san-antonio.gsm
+libdata/asterisk/sounds/en/san-diego.gsm
+libdata/asterisk/sounds/en/san-francisco.gsm
+libdata/asterisk/sounds/en/san-jose.gsm
+libdata/asterisk/sounds/en/save-announce-press.gsm
+libdata/asterisk/sounds/en/say-temp-msg-prs-pound.gsm
+libdata/asterisk/sounds/en/says-thats-stupid.gsm
+libdata/asterisk/sounds/en/scattered.gsm
+libdata/asterisk/sounds/en/sciences.gsm
+libdata/asterisk/sounds/en/screen-callee-options.gsm
+libdata/asterisk/sounds/en/seattle.gsm
+libdata/asterisk/sounds/en/second.gsm
+libdata/asterisk/sounds/en/seconds.gsm
+libdata/asterisk/sounds/en/secretary.gsm
+libdata/asterisk/sounds/en/security.gsm
+libdata/asterisk/sounds/en/self-destruct-in.gsm
+libdata/asterisk/sounds/en/self-destruct.gsm
+libdata/asterisk/sounds/en/sendhelp.gsm
+libdata/asterisk/sounds/en/server.gsm
+libdata/asterisk/sounds/en/service-not-implemented.gsm
+libdata/asterisk/sounds/en/service.gsm
+libdata/asterisk/sounds/en/seventeenth.gsm
+libdata/asterisk/sounds/en/seventh.gsm
+libdata/asterisk/sounds/en/seventieth.gsm
+libdata/asterisk/sounds/en/severe.gsm
+libdata/asterisk/sounds/en/shall-i-try-again.gsm
+libdata/asterisk/sounds/en/shiny-brass-lamp.gsm
+libdata/asterisk/sounds/en/shipping.gsm
+libdata/asterisk/sounds/en/shop.gsm
+libdata/asterisk/sounds/en/show-office.gsm
+libdata/asterisk/sounds/en/sighted.gsm
+libdata/asterisk/sounds/en/silence/1.gsm
+libdata/asterisk/sounds/en/silence/10.gsm
+libdata/asterisk/sounds/en/silence/2.gsm
+libdata/asterisk/sounds/en/silence/3.gsm
+libdata/asterisk/sounds/en/silence/4.gsm
+libdata/asterisk/sounds/en/silence/5.gsm
+libdata/asterisk/sounds/en/silence/6.gsm
+libdata/asterisk/sounds/en/silence/7.gsm
+libdata/asterisk/sounds/en/silence/8.gsm
+libdata/asterisk/sounds/en/silence/9.gsm
+libdata/asterisk/sounds/en/simplex.gsm
+libdata/asterisk/sounds/en/simul-call-limit-reached.gsm
+libdata/asterisk/sounds/en/sixteenth.gsm
+libdata/asterisk/sounds/en/sixth.gsm
+libdata/asterisk/sounds/en/sixtieth.gsm
+libdata/asterisk/sounds/en/sleet.gsm
+libdata/asterisk/sounds/en/sleeting.gsm
+libdata/asterisk/sounds/en/slow.gsm
+libdata/asterisk/sounds/en/slowly.gsm
+libdata/asterisk/sounds/en/snow.gsm
+libdata/asterisk/sounds/en/snowing.gsm
+libdata/asterisk/sounds/en/snowy.gsm
+libdata/asterisk/sounds/en/software.gsm
+libdata/asterisk/sounds/en/someone-you-trust1.gsm
+libdata/asterisk/sounds/en/someone-you-trust2.gsm
+libdata/asterisk/sounds/en/someone-you-trust3.gsm
+libdata/asterisk/sounds/en/something-terribly-wrong.gsm
+libdata/asterisk/sounds/en/sorry-cant-let-you-do-that.gsm
+libdata/asterisk/sounds/en/sorry-cant-let-you-do-that2.gsm
+libdata/asterisk/sounds/en/sorry-cant-let-you-do-that3.gsm
+libdata/asterisk/sounds/en/sorry-mailbox-full.gsm
+libdata/asterisk/sounds/en/sorry-youre-having-problems.gsm
+libdata/asterisk/sounds/en/sorry.gsm
+libdata/asterisk/sounds/en/sorry2.gsm
+libdata/asterisk/sounds/en/sorry_caller_number.gsm
+libdata/asterisk/sounds/en/sorry_didnt_get.gsm
+libdata/asterisk/sounds/en/sorry_didnt_quite_get.gsm
+libdata/asterisk/sounds/en/sorry_login_incorrect.gsm
+libdata/asterisk/sounds/en/sorry_missed.gsm
+libdata/asterisk/sounds/en/sorry_no_messages.gsm
+libdata/asterisk/sounds/en/sorrydave.gsm
+libdata/asterisk/sounds/en/south-carolina.gsm
+libdata/asterisk/sounds/en/south-dakota.gsm
+libdata/asterisk/sounds/en/south.gsm
+libdata/asterisk/sounds/en/southerly.gsm
+libdata/asterisk/sounds/en/spam.gsm
+libdata/asterisk/sounds/en/spam2.gsm
+libdata/asterisk/sounds/en/speak-louder-into-phone.gsm
+libdata/asterisk/sounds/en/speak-louder.gsm
+libdata/asterisk/sounds/en/speak-to-the-operator.gsm
+libdata/asterisk/sounds/en/speed-dial-empty.gsm
+libdata/asterisk/sounds/en/speed-dial.gsm
+libdata/asterisk/sounds/en/speed.gsm
+libdata/asterisk/sounds/en/splat.gsm
+libdata/asterisk/sounds/en/spy-agent.gsm
+libdata/asterisk/sounds/en/spy-console.gsm
+libdata/asterisk/sounds/en/spy-dahdi.gsm
+libdata/asterisk/sounds/en/spy-h323.gsm
+libdata/asterisk/sounds/en/spy-iax.gsm
+libdata/asterisk/sounds/en/spy-iax2.gsm
+libdata/asterisk/sounds/en/spy-jingle.gsm
+libdata/asterisk/sounds/en/spy-local.gsm
+libdata/asterisk/sounds/en/spy-mgcp.gsm
+libdata/asterisk/sounds/en/spy-misdn.gsm
+libdata/asterisk/sounds/en/spy-mobile.gsm
+libdata/asterisk/sounds/en/spy-nbs.gsm
+libdata/asterisk/sounds/en/spy-sip.gsm
+libdata/asterisk/sounds/en/spy-skinny.gsm
+libdata/asterisk/sounds/en/spy-unistim.gsm
+libdata/asterisk/sounds/en/spy-usbradio.gsm
+libdata/asterisk/sounds/en/spy-zap.gsm
+libdata/asterisk/sounds/en/ss-noservice.gsm
+libdata/asterisk/sounds/en/ssh.gsm
+libdata/asterisk/sounds/en/staff.gsm
+libdata/asterisk/sounds/en/staffing.gsm
+libdata/asterisk/sounds/en/standard.gsm
+libdata/asterisk/sounds/en/star-for-menu-again.gsm
+libdata/asterisk/sounds/en/starting-with-either.gsm
+libdata/asterisk/sounds/en/station.gsm
+libdata/asterisk/sounds/en/status.gsm
+libdata/asterisk/sounds/en/step-in-stream.gsm
+libdata/asterisk/sounds/en/sterling.gsm
+libdata/asterisk/sounds/en/still_on_phone.gsm
+libdata/asterisk/sounds/en/store-accounting.gsm
+libdata/asterisk/sounds/en/storm.gsm
+libdata/asterisk/sounds/en/sun.gsm
+libdata/asterisk/sounds/en/sunny.gsm
+libdata/asterisk/sounds/en/support.gsm
+libdata/asterisk/sounds/en/sure_help.gsm
+libdata/asterisk/sounds/en/swap.gsm
+libdata/asterisk/sounds/en/system-crashed.gsm
+libdata/asterisk/sounds/en/system-status-msg.gsm
+libdata/asterisk/sounds/en/system.gsm
+libdata/asterisk/sounds/en/systems.gsm
+libdata/asterisk/sounds/en/talkin_me.gsm
+libdata/asterisk/sounds/en/talking-to-myself.gsm
+libdata/asterisk/sounds/en/target-attendant.gsm
+libdata/asterisk/sounds/en/tcp.gsm
+libdata/asterisk/sounds/en/technical-support.gsm
+libdata/asterisk/sounds/en/telemarketercalling.gsm
+libdata/asterisk/sounds/en/telephone-in-your-pocket.gsm
+libdata/asterisk/sounds/en/telephone-in-your-pocket2.gsm
+libdata/asterisk/sounds/en/telephone-number.gsm
+libdata/asterisk/sounds/en/telesales.gsm
+libdata/asterisk/sounds/en/teletubbie-murder.gsm
+libdata/asterisk/sounds/en/telnet.gsm
+libdata/asterisk/sounds/en/temp-disconnected.gsm
+libdata/asterisk/sounds/en/temperature.gsm
+libdata/asterisk/sounds/en/tennessee.gsm
+libdata/asterisk/sounds/en/tenth.gsm
+libdata/asterisk/sounds/en/terabits.gsm
+libdata/asterisk/sounds/en/terabytes.gsm
+libdata/asterisk/sounds/en/terminated.gsm
+libdata/asterisk/sounds/en/terminating.gsm
+libdata/asterisk/sounds/en/test-tones-follow.gsm
+libdata/asterisk/sounds/en/texas.gsm
+libdata/asterisk/sounds/en/thank-you-cooperation.gsm
+libdata/asterisk/sounds/en/thank-you-for-calling.gsm
+libdata/asterisk/sounds/en/thank_you_calling.gsm
+libdata/asterisk/sounds/en/thanks-annoyance.gsm
+libdata/asterisk/sounds/en/thanks-for-calling-today.gsm
+libdata/asterisk/sounds/en/thanks-for-using.gsm
+libdata/asterisk/sounds/en/that-is-not-rec-phn-num.gsm
+libdata/asterisk/sounds/en/that-number.gsm
+libdata/asterisk/sounds/en/that-tickles.gsm
+libdata/asterisk/sounds/en/that-you-require.gsm
+libdata/asterisk/sounds/en/the-mailbox.gsm
+libdata/asterisk/sounds/en/the-monkeys-twice.gsm
+libdata/asterisk/sounds/en/the-new-number-is.gsm
+libdata/asterisk/sounds/en/the-next.gsm
+libdata/asterisk/sounds/en/the-num-i-have-is.gsm
+libdata/asterisk/sounds/en/the-number-u-dialed.gsm
+libdata/asterisk/sounds/en/the-party-you-are-calling.gsm
+libdata/asterisk/sounds/en/the-weather-at.gsm
+libdata/asterisk/sounds/en/then-press-pound.gsm
+libdata/asterisk/sounds/en/there-are.gsm
+libdata/asterisk/sounds/en/there-is-no-customer-support.gsm
+libdata/asterisk/sounds/en/these-are-currently.gsm
+libdata/asterisk/sounds/en/third.gsm
+libdata/asterisk/sounds/en/thirteenth.gsm
+libdata/asterisk/sounds/en/thirtieth.gsm
+libdata/asterisk/sounds/en/this-call-may-be-monitored-or-recorded.gsm
+libdata/asterisk/sounds/en/this-call-may-be.gsm
+libdata/asterisk/sounds/en/this-call-will-cost.gsm
+libdata/asterisk/sounds/en/this-call-will-end-in.gsm
+libdata/asterisk/sounds/en/this-is-the-voice-mail-system.gsm
+libdata/asterisk/sounds/en/this-is-yr-wakeup-call.gsm
+libdata/asterisk/sounds/en/this.gsm
+libdata/asterisk/sounds/en/thnk-u-for-patience.gsm
+libdata/asterisk/sounds/en/thousandth.gsm
+libdata/asterisk/sounds/en/through.gsm
+libdata/asterisk/sounds/en/thunderstorm.gsm
+libdata/asterisk/sounds/en/tide.gsm
+libdata/asterisk/sounds/en/time.gsm
+libdata/asterisk/sounds/en/times.gsm
+libdata/asterisk/sounds/en/timewarp.gsm
+libdata/asterisk/sounds/en/to-accept-recording.gsm
+libdata/asterisk/sounds/en/to-be-called-back.gsm
+libdata/asterisk/sounds/en/to-blklist-last-caller.gsm
+libdata/asterisk/sounds/en/to-blklist-last-num.gsm
+libdata/asterisk/sounds/en/to-call-num-press.gsm
+libdata/asterisk/sounds/en/to-call-prson-w-sent-msg.gsm
+libdata/asterisk/sounds/en/to-call-this-number.gsm
+libdata/asterisk/sounds/en/to-cancel-this-msg.gsm
+libdata/asterisk/sounds/en/to-cancel-wakeup.gsm
+libdata/asterisk/sounds/en/to-change-exp-date.gsm
+libdata/asterisk/sounds/en/to-change-your-pin-number.gsm
+libdata/asterisk/sounds/en/to-collect-voicemail.gsm
+libdata/asterisk/sounds/en/to-compose-a-message.gsm
+libdata/asterisk/sounds/en/to-confirm-wakeup.gsm
+libdata/asterisk/sounds/en/to-dial-by-name-press.gsm
+libdata/asterisk/sounds/en/to-dial-by-name.gsm
+libdata/asterisk/sounds/en/to-enter-a-diff-number.gsm
+libdata/asterisk/sounds/en/to-enter-a-number.gsm
+libdata/asterisk/sounds/en/to-erase-yr-temp-grtg.gsm
+libdata/asterisk/sounds/en/to-extension.gsm
+libdata/asterisk/sounds/en/to-hang-up-2.gsm
+libdata/asterisk/sounds/en/to-hang-up.gsm
+libdata/asterisk/sounds/en/to-hear-callerid.gsm
+libdata/asterisk/sounds/en/to-hear-menu-again.gsm
+libdata/asterisk/sounds/en/to-hear-msg-again.gsm
+libdata/asterisk/sounds/en/to-hear-msg-envelope.gsm
+libdata/asterisk/sounds/en/to-hear-net-status.gsm
+libdata/asterisk/sounds/en/to-hear-weather-status.gsm
+libdata/asterisk/sounds/en/to-hear-your-account-balance.gsm
+libdata/asterisk/sounds/en/to-join-a-meeting.gsm
+libdata/asterisk/sounds/en/to-leave-message-for.gsm
+libdata/asterisk/sounds/en/to-listen-to-it.gsm
+libdata/asterisk/sounds/en/to-log-in-to-voice-mail.gsm
+libdata/asterisk/sounds/en/to-place-outgoing-call.gsm
+libdata/asterisk/sounds/en/to-reach-first-rep.gsm
+libdata/asterisk/sounds/en/to-reach-operator.gsm
+libdata/asterisk/sounds/en/to-rec-yr-temp-grtg.gsm
+libdata/asterisk/sounds/en/to-record-call.gsm
+libdata/asterisk/sounds/en/to-redial-the-last-number-you-called.gsm
+libdata/asterisk/sounds/en/to-report-emergency.gsm
+libdata/asterisk/sounds/en/to-report-system-network-down.gsm
+libdata/asterisk/sounds/en/to-rerecord-announce.gsm
+libdata/asterisk/sounds/en/to-rerecord-it.gsm
+libdata/asterisk/sounds/en/to-rerecord-yr-message.gsm
+libdata/asterisk/sounds/en/to-rmv-num-blklist.gsm
+libdata/asterisk/sounds/en/to-rqst-wakeup-call.gsm
+libdata/asterisk/sounds/en/to-send-a-reply.gsm
+libdata/asterisk/sounds/en/to-snooze-for.gsm
+libdata/asterisk/sounds/en/to-use-def-attendant.gsm
+libdata/asterisk/sounds/en/tomorrow-night.gsm
+libdata/asterisk/sounds/en/tone_time.gsm
+libdata/asterisk/sounds/en/tones-that-follow-are-for-the-deaf.gsm
+libdata/asterisk/sounds/en/tonight.gsm
+libdata/asterisk/sounds/en/too-low.gsm
+libdata/asterisk/sounds/en/tornado.gsm
+libdata/asterisk/sounds/en/touchtone1.gsm
+libdata/asterisk/sounds/en/touchtone2.gsm
+libdata/asterisk/sounds/en/touchtone3.gsm
+libdata/asterisk/sounds/en/towards.gsm
+libdata/asterisk/sounds/en/trading-desk.gsm
+libdata/asterisk/sounds/en/traffic.gsm
+libdata/asterisk/sounds/en/training.gsm
+libdata/asterisk/sounds/en/transfer.gsm
+libdata/asterisk/sounds/en/transfer_to_agent.gsm
+libdata/asterisk/sounds/en/transportation.gsm
+libdata/asterisk/sounds/en/travel.gsm
+libdata/asterisk/sounds/en/treasury.gsm
+libdata/asterisk/sounds/en/tt-allbusy.gsm
+libdata/asterisk/sounds/en/tt-codezone.gsm
+libdata/asterisk/sounds/en/tt-codezone_MIXDOWN.gsm
+libdata/asterisk/sounds/en/tt-hangup.gsm
+libdata/asterisk/sounds/en/tt-monkeys.gsm
+libdata/asterisk/sounds/en/tt-monkeysintro.gsm
+libdata/asterisk/sounds/en/tt-monty-knights.gsm
+libdata/asterisk/sounds/en/tt-somethingwrong.gsm
+libdata/asterisk/sounds/en/tt-weasels.gsm
+libdata/asterisk/sounds/en/tucson.gsm
+libdata/asterisk/sounds/en/tulsa.gsm
+libdata/asterisk/sounds/en/turn-off-recording.gsm
+libdata/asterisk/sounds/en/turning-to.gsm
+libdata/asterisk/sounds/en/twelveth.gsm
+libdata/asterisk/sounds/en/twentieth.gsm
+libdata/asterisk/sounds/en/twisty-maze.gsm
+libdata/asterisk/sounds/en/tx-has-been-approved.gsm
+libdata/asterisk/sounds/en/typhoon.gsm
+libdata/asterisk/sounds/en/udp.gsm
+libdata/asterisk/sounds/en/uh-oh1.gsm
+libdata/asterisk/sounds/en/uh-oh2.gsm
+libdata/asterisk/sounds/en/uk.gsm
+libdata/asterisk/sounds/en/unavailable.gsm
+libdata/asterisk/sounds/en/unconditional.gsm
+libdata/asterisk/sounds/en/unicorn_blood.gsm
+libdata/asterisk/sounds/en/unicorn_blood_MIXDOWN.gsm
+libdata/asterisk/sounds/en/unidentified-no-callback.gsm
+libdata/asterisk/sounds/en/units.gsm
+libdata/asterisk/sounds/en/unix.gsm
+libdata/asterisk/sounds/en/unwelcomecall.gsm
+libdata/asterisk/sounds/en/up.gsm
+libdata/asterisk/sounds/en/uppercase.gsm
+libdata/asterisk/sounds/en/uptime.gsm
+libdata/asterisk/sounds/en/user.gsm
+libdata/asterisk/sounds/en/users.gsm
+libdata/asterisk/sounds/en/utah.gsm
+libdata/asterisk/sounds/en/variable.gsm
+libdata/asterisk/sounds/en/vermont.gsm
+libdata/asterisk/sounds/en/virginia-beach.gsm
+libdata/asterisk/sounds/en/virginia.gsm
+libdata/asterisk/sounds/en/visibility.gsm
+libdata/asterisk/sounds/en/visit-asterisk-website.gsm
+libdata/asterisk/sounds/en/vm-Cust1.gsm
+libdata/asterisk/sounds/en/vm-Cust2.gsm
+libdata/asterisk/sounds/en/vm-Cust3.gsm
+libdata/asterisk/sounds/en/vm-Cust4.gsm
+libdata/asterisk/sounds/en/vm-Cust5.gsm
+libdata/asterisk/sounds/en/vm-Family.gsm
+libdata/asterisk/sounds/en/vm-Friends.gsm
+libdata/asterisk/sounds/en/vm-INBOX.gsm
+libdata/asterisk/sounds/en/vm-Old.gsm
+libdata/asterisk/sounds/en/vm-Urgent.gsm
+libdata/asterisk/sounds/en/vm-Work.gsm
+libdata/asterisk/sounds/en/vm-advopts.gsm
+libdata/asterisk/sounds/en/vm-and.gsm
+libdata/asterisk/sounds/en/vm-calldiffnum.gsm
+libdata/asterisk/sounds/en/vm-changeto.gsm
+libdata/asterisk/sounds/en/vm-delete.gsm
+libdata/asterisk/sounds/en/vm-deleted.gsm
+libdata/asterisk/sounds/en/vm-dialout.gsm
+libdata/asterisk/sounds/en/vm-duration.gsm
+libdata/asterisk/sounds/en/vm-enter-num-to-call.gsm
+libdata/asterisk/sounds/en/vm-extension.gsm
+libdata/asterisk/sounds/en/vm-first.gsm
+libdata/asterisk/sounds/en/vm-for.gsm
+libdata/asterisk/sounds/en/vm-forward-multiple.gsm
+libdata/asterisk/sounds/en/vm-forward.gsm
+libdata/asterisk/sounds/en/vm-forwardoptions.gsm
+libdata/asterisk/sounds/en/vm-from-extension.gsm
+libdata/asterisk/sounds/en/vm-from-phonenumber.gsm
+libdata/asterisk/sounds/en/vm-from.gsm
+libdata/asterisk/sounds/en/vm-goodbye.gsm
+libdata/asterisk/sounds/en/vm-helpexit.gsm
+libdata/asterisk/sounds/en/vm-incorrect-mailbox.gsm
+libdata/asterisk/sounds/en/vm-incorrect.gsm
+libdata/asterisk/sounds/en/vm-instructions.gsm
+libdata/asterisk/sounds/en/vm-intro.gsm
+libdata/asterisk/sounds/en/vm-invalid-password.gsm
+libdata/asterisk/sounds/en/vm-invalidpassword.gsm
+libdata/asterisk/sounds/en/vm-isonphone.gsm
+libdata/asterisk/sounds/en/vm-isunavail.gsm
+libdata/asterisk/sounds/en/vm-last.gsm
+libdata/asterisk/sounds/en/vm-leavemsg.gsm
+libdata/asterisk/sounds/en/vm-login.gsm
+libdata/asterisk/sounds/en/vm-mailboxfull.gsm
+libdata/asterisk/sounds/en/vm-marked-nonurgent.gsm
+libdata/asterisk/sounds/en/vm-marked-urgent.gsm
+libdata/asterisk/sounds/en/vm-message.gsm
+libdata/asterisk/sounds/en/vm-messages.gsm
+libdata/asterisk/sounds/en/vm-minutes.gsm
+libdata/asterisk/sounds/en/vm-mismatch.gsm
+libdata/asterisk/sounds/en/vm-msgforwarded.gsm
+libdata/asterisk/sounds/en/vm-msginstruct.gsm
+libdata/asterisk/sounds/en/vm-msgsaved.gsm
+libdata/asterisk/sounds/en/vm-newpassword.gsm
+libdata/asterisk/sounds/en/vm-newuser.gsm
+libdata/asterisk/sounds/en/vm-next.gsm
+libdata/asterisk/sounds/en/vm-no.gsm
+libdata/asterisk/sounds/en/vm-nobodyavail.gsm
+libdata/asterisk/sounds/en/vm-nobox.gsm
+libdata/asterisk/sounds/en/vm-nomore.gsm
+libdata/asterisk/sounds/en/vm-nonumber.gsm
+libdata/asterisk/sounds/en/vm-num-i-have.gsm
+libdata/asterisk/sounds/en/vm-onefor-full.gsm
+libdata/asterisk/sounds/en/vm-onefor.gsm
+libdata/asterisk/sounds/en/vm-options.gsm
+libdata/asterisk/sounds/en/vm-opts-full.gsm
+libdata/asterisk/sounds/en/vm-opts.gsm
+libdata/asterisk/sounds/en/vm-passchanged.gsm
+libdata/asterisk/sounds/en/vm-password.gsm
+libdata/asterisk/sounds/en/vm-pls-try-again.gsm
+libdata/asterisk/sounds/en/vm-press.gsm
+libdata/asterisk/sounds/en/vm-prev.gsm
+libdata/asterisk/sounds/en/vm-reachoper.gsm
+libdata/asterisk/sounds/en/vm-rec-busy.gsm
+libdata/asterisk/sounds/en/vm-rec-name.gsm
+libdata/asterisk/sounds/en/vm-rec-temp.gsm
+libdata/asterisk/sounds/en/vm-rec-unv.gsm
+libdata/asterisk/sounds/en/vm-received.gsm
+libdata/asterisk/sounds/en/vm-record-prepend.gsm
+libdata/asterisk/sounds/en/vm-reenterpassword.gsm
+libdata/asterisk/sounds/en/vm-repeat.gsm
+libdata/asterisk/sounds/en/vm-review-nonurgent.gsm
+libdata/asterisk/sounds/en/vm-review-urgent.gsm
+libdata/asterisk/sounds/en/vm-review.gsm
+libdata/asterisk/sounds/en/vm-saved.gsm
+libdata/asterisk/sounds/en/vm-savedto.gsm
+libdata/asterisk/sounds/en/vm-savefolder.gsm
+libdata/asterisk/sounds/en/vm-savemessage.gsm
+libdata/asterisk/sounds/en/vm-saveoper.gsm
+libdata/asterisk/sounds/en/vm-sorry.gsm
+libdata/asterisk/sounds/en/vm-star-cancel.gsm
+libdata/asterisk/sounds/en/vm-starmain.gsm
+libdata/asterisk/sounds/en/vm-tempgreetactive.gsm
+libdata/asterisk/sounds/en/vm-tempgreeting.gsm
+libdata/asterisk/sounds/en/vm-tempgreeting2.gsm
+libdata/asterisk/sounds/en/vm-tempremoved.gsm
+libdata/asterisk/sounds/en/vm-then-pound.gsm
+libdata/asterisk/sounds/en/vm-theperson.gsm
+libdata/asterisk/sounds/en/vm-tmpexists.gsm
+libdata/asterisk/sounds/en/vm-tocallback.gsm
+libdata/asterisk/sounds/en/vm-tocallnum.gsm
+libdata/asterisk/sounds/en/vm-tocancel.gsm
+libdata/asterisk/sounds/en/vm-tocancelmsg.gsm
+libdata/asterisk/sounds/en/vm-toenternumber.gsm
+libdata/asterisk/sounds/en/vm-toforward.gsm
+libdata/asterisk/sounds/en/vm-tohearenv.gsm
+libdata/asterisk/sounds/en/vm-tomakecall.gsm
+libdata/asterisk/sounds/en/vm-tooshort.gsm
+libdata/asterisk/sounds/en/vm-toreply.gsm
+libdata/asterisk/sounds/en/vm-torerecord.gsm
+libdata/asterisk/sounds/en/vm-undelete.gsm
+libdata/asterisk/sounds/en/vm-undeleted.gsm
+libdata/asterisk/sounds/en/vm-unknown-caller.gsm
+libdata/asterisk/sounds/en/vm-whichbox.gsm
+libdata/asterisk/sounds/en/vm-youhave.gsm
+libdata/asterisk/sounds/en/voice-mail-system.gsm
+libdata/asterisk/sounds/en/wait-moment.gsm
+libdata/asterisk/sounds/en/wait-offensive-sounds.gsm
+libdata/asterisk/sounds/en/wakeup-call-cancelled.gsm
+libdata/asterisk/sounds/en/wakeup-call.gsm
+libdata/asterisk/sounds/en/wakeup-daily.gsm
+libdata/asterisk/sounds/en/wakeup-for-daily.gsm
+libdata/asterisk/sounds/en/wakeup-for-one-time.gsm
+libdata/asterisk/sounds/en/wakeup-onetime.gsm
+libdata/asterisk/sounds/en/walks-into-bar-mail.gsm
+libdata/asterisk/sounds/en/warning.gsm
+libdata/asterisk/sounds/en/was-last-seen.gsm
+libdata/asterisk/sounds/en/was.gsm
+libdata/asterisk/sounds/en/washington-dc.gsm
+libdata/asterisk/sounds/en/washington.gsm
+libdata/asterisk/sounds/en/watch.gsm
+libdata/asterisk/sounds/en/watson.gsm
+libdata/asterisk/sounds/en/we-apologize.gsm
+libdata/asterisk/sounds/en/we-dont-have-tech-support.gsm
+libdata/asterisk/sounds/en/weasels-eaten-phonesys.gsm
+libdata/asterisk/sounds/en/weather-station.gsm
+libdata/asterisk/sounds/en/weather.gsm
+libdata/asterisk/sounds/en/web.gsm
+libdata/asterisk/sounds/en/weeks.gsm
+libdata/asterisk/sounds/en/welcome.gsm
+libdata/asterisk/sounds/en/were-sorry.gsm
+libdata/asterisk/sounds/en/west-virginia.gsm
+libdata/asterisk/sounds/en/west.gsm
+libdata/asterisk/sounds/en/westerly.gsm
+libdata/asterisk/sounds/en/what-are-you-wearing.gsm
+libdata/asterisk/sounds/en/what-time-it-is.gsm
+libdata/asterisk/sounds/en/what-time-it-is2.gsm
+libdata/asterisk/sounds/en/when-dialing-this-number.gsm
+libdata/asterisk/sounds/en/who-would-you-like-to-call.gsm
+libdata/asterisk/sounds/en/whoareyou.gsm
+libdata/asterisk/sounds/en/why-no-answer-mystery.gsm
+libdata/asterisk/sounds/en/wichita.gsm
+libdata/asterisk/sounds/en/will-apply.gsm
+libdata/asterisk/sounds/en/will-expire.gsm
+libdata/asterisk/sounds/en/will-not-expire.gsm
+libdata/asterisk/sounds/en/will-reflect-charge-of.gsm
+libdata/asterisk/sounds/en/wind.gsm
+libdata/asterisk/sounds/en/windows.gsm
+libdata/asterisk/sounds/en/windy.gsm
+libdata/asterisk/sounds/en/wisconsin.gsm
+libdata/asterisk/sounds/en/wish-to-continue.gsm
+libdata/asterisk/sounds/en/wish_command_totally.gsm
+libdata/asterisk/sounds/en/with.gsm
+libdata/asterisk/sounds/en/within.gsm
+libdata/asterisk/sounds/en/woo_hoo_call_first.gsm
+libdata/asterisk/sounds/en/work.gsm
+libdata/asterisk/sounds/en/wrong-try-again-smarty.gsm
+libdata/asterisk/sounds/en/wtng-to-spk-w-rep.gsm
+libdata/asterisk/sounds/en/www-switchboard-com.gsm
+libdata/asterisk/sounds/en/wx/around.gsm
+libdata/asterisk/sounds/en/wx/barometer.gsm
+libdata/asterisk/sounds/en/wx/ceiling.gsm
+libdata/asterisk/sounds/en/wx/dew-point.gsm
+libdata/asterisk/sounds/en/wx/falling.gsm
+libdata/asterisk/sounds/en/wx/feet.gsm
+libdata/asterisk/sounds/en/wx/foot.gsm
+libdata/asterisk/sounds/en/wx/gust.gsm
+libdata/asterisk/sounds/en/wx/gusting-to.gsm
+libdata/asterisk/sounds/en/wx/gusts.gsm
+libdata/asterisk/sounds/en/wx/gusty.gsm
+libdata/asterisk/sounds/en/wx/heat-index.gsm
+libdata/asterisk/sounds/en/wx/humidity.gsm
+libdata/asterisk/sounds/en/wx/inch.gsm
+libdata/asterisk/sounds/en/wx/inches.gsm
+libdata/asterisk/sounds/en/wx/kilometer.gsm
+libdata/asterisk/sounds/en/wx/large.gsm
+libdata/asterisk/sounds/en/wx/meter.gsm
+libdata/asterisk/sounds/en/wx/mist.gsm
+libdata/asterisk/sounds/en/wx/northeast.gsm
+libdata/asterisk/sounds/en/wx/northwest.gsm
+libdata/asterisk/sounds/en/wx/percent.gsm
+libdata/asterisk/sounds/en/wx/point.gsm
+libdata/asterisk/sounds/en/wx/rising.gsm
+libdata/asterisk/sounds/en/wx/southeast.gsm
+libdata/asterisk/sounds/en/wx/southwest.gsm
+libdata/asterisk/sounds/en/wx/steady.gsm
+libdata/asterisk/sounds/en/wx/temperature.gsm
+libdata/asterisk/sounds/en/wx/wind-chill.gsm
+libdata/asterisk/sounds/en/wx/winds.gsm
+libdata/asterisk/sounds/en/wyoming.gsm
+libdata/asterisk/sounds/en/yeah.gsm
+libdata/asterisk/sounds/en/year.gsm
+libdata/asterisk/sounds/en/years.gsm
+libdata/asterisk/sounds/en/yes-dear.gsm
+libdata/asterisk/sounds/en/yes-dear2.gsm
+libdata/asterisk/sounds/en/you-are-caller-num.gsm
+libdata/asterisk/sounds/en/you-are-curr-call-num.gsm
+libdata/asterisk/sounds/en/you-can-press.gsm
+libdata/asterisk/sounds/en/you-dialed-wrong-number.gsm
+libdata/asterisk/sounds/en/you-entered.gsm
+libdata/asterisk/sounds/en/you-have-dialed.gsm
+libdata/asterisk/sounds/en/you-have-reached-a-test-number.gsm
+libdata/asterisk/sounds/en/you-have-these-options.gsm
+libdata/asterisk/sounds/en/you-must-first-dial.gsm
+libdata/asterisk/sounds/en/you-seem-impatient.gsm
+libdata/asterisk/sounds/en/you-sound-cute.gsm
+libdata/asterisk/sounds/en/you-wish-to-join.gsm
+libdata/asterisk/sounds/en/you_say_yes.gsm
+libdata/asterisk/sounds/en/your-account.gsm
+libdata/asterisk/sounds/en/your-msg-has-been-saved.gsm
+libdata/asterisk/sounds/en/your-msg-is-too-short.gsm
+libdata/asterisk/sounds/en/your-notifications.gsm
+libdata/asterisk/sounds/en/your-req-notification.gsm
+libdata/asterisk/sounds/en/your-temp-greeting.gsm
+libdata/asterisk/sounds/en/your.gsm
+libdata/asterisk/sounds/en/yourcallisimportant.gsm
+libdata/asterisk/sounds/en/yourcallisimpotent.gsm
+libdata/asterisk/sounds/en/zip-code.gsm
+libdata/asterisk/sounds/en/zombies.gsm
+libdata/asterisk/static-http/ajamdemo.html
+libdata/asterisk/static-http/appdocsxml.xslt
+libdata/asterisk/static-http/astman.css
+libdata/asterisk/static-http/astman.js
+libdata/asterisk/static-http/core-en_US.xml
+libdata/asterisk/static-http/mantest.html
+libdata/asterisk/static-http/prototype.js
+libexec/agi-bin/agi-test.agi
+libexec/agi-bin/eagi-sphinx-test
+libexec/agi-bin/eagi-test
+libexec/agi-bin/jukebox.agi
+${PLIST.webvmail}libexec/cgi-bin/vmail
+man/man8/astdb2bdb.8
+man/man8/astdb2sqlite3.8
+man/man8/asterisk.8
+man/man8/astgenkey.8
+man/man8/autosupport.8
+man/man8/safe_asterisk.8
+sbin/astcanary
+sbin/astdb2bdb
+sbin/astdb2sqlite3
+sbin/asterisk
+sbin/astgenkey
+sbin/astversion
+sbin/autosupport
+sbin/rasterisk
+sbin/safe_asterisk
+share/doc/asterisk/BUGS
+share/doc/asterisk/CHANGES
+share/doc/asterisk/COPYING
+share/doc/asterisk/CREDITS
+share/doc/asterisk/ChangeLog
+share/doc/asterisk/IAX2-security.pdf
+share/doc/asterisk/IAX2-security.txt
+share/doc/asterisk/LICENSE
+share/doc/asterisk/README-SERIOUSLY.bestpractices.md
+share/doc/asterisk/README.md
+share/doc/asterisk/README.txt
+share/doc/asterisk/UPGRADE.txt
+share/doc/asterisk/Zaptel-to-DAHDI.txt
+share/doc/asterisk/asterisk-19.0.0-summary.txt
+share/examples/asterisk/acl.conf
+share/examples/asterisk/adsi.conf
+share/examples/asterisk/aeap.conf
+share/examples/asterisk/agents.conf
+share/examples/asterisk/alarmreceiver.conf
+share/examples/asterisk/alsa.conf
+share/examples/asterisk/amd.conf
+share/examples/asterisk/app_mysql.conf
+share/examples/asterisk/app_skel.conf
+share/examples/asterisk/ari.conf
+share/examples/asterisk/ast_debug_tools.conf
+share/examples/asterisk/asterisk.adsi
+share/examples/asterisk/asterisk.conf
+share/examples/asterisk/calendar.conf
+share/examples/asterisk/ccss.conf
+share/examples/asterisk/cdr.conf
+share/examples/asterisk/cdr_adaptive_odbc.conf
+share/examples/asterisk/cdr_beanstalkd.conf
+share/examples/asterisk/cdr_custom.conf
+share/examples/asterisk/cdr_manager.conf
+share/examples/asterisk/cdr_odbc.conf
+share/examples/asterisk/cdr_pgsql.conf
+share/examples/asterisk/cdr_sqlite3_custom.conf
+share/examples/asterisk/cdr_tds.conf
+share/examples/asterisk/cel.conf
+share/examples/asterisk/cel_beanstalkd.conf
+share/examples/asterisk/cel_custom.conf
+share/examples/asterisk/cel_odbc.conf
+share/examples/asterisk/cel_pgsql.conf
+share/examples/asterisk/cel_sqlite3_custom.conf
+share/examples/asterisk/cel_tds.conf
+share/examples/asterisk/chan_dahdi.conf
+share/examples/asterisk/chan_mobile.conf
+share/examples/asterisk/cli.conf
+share/examples/asterisk/cli_aliases.conf
+share/examples/asterisk/cli_permissions.conf
+share/examples/asterisk/codecs.conf
+share/examples/asterisk/confbridge.conf
+share/examples/asterisk/config_test.conf
+share/examples/asterisk/console.conf
+share/examples/asterisk/dbsep.conf
+share/examples/asterisk/dnsmgr.conf
+share/examples/asterisk/dsp.conf
+share/examples/asterisk/dundi.conf
+share/examples/asterisk/enum.conf
+share/examples/asterisk/extconfig.conf
+share/examples/asterisk/extensions.ael
+share/examples/asterisk/extensions.conf
+share/examples/asterisk/extensions.lua
+share/examples/asterisk/extensions_minivm.conf
+share/examples/asterisk/features.conf
+share/examples/asterisk/festival.conf
+share/examples/asterisk/followme.conf
+share/examples/asterisk/func_odbc.conf
+share/examples/asterisk/hep.conf
+share/examples/asterisk/http.conf
+share/examples/asterisk/iax.conf
+share/examples/asterisk/iaxprov.conf
+share/examples/asterisk/indications.conf
+share/examples/asterisk/logger.conf
+share/examples/asterisk/manager.conf
+share/examples/asterisk/meetme.conf
+share/examples/asterisk/mgcp.conf
+share/examples/asterisk/minivm.conf
+share/examples/asterisk/modules.conf
+share/examples/asterisk/motif.conf
+share/examples/asterisk/musiconhold.conf
+share/examples/asterisk/muted.conf
+share/examples/asterisk/ooh323.conf
+share/examples/asterisk/osp.conf
+share/examples/asterisk/phoneprov.conf
+share/examples/asterisk/pjproject.conf
+share/examples/asterisk/pjsip.conf
+share/examples/asterisk/pjsip_notify.conf
+share/examples/asterisk/pjsip_wizard.conf
+share/examples/asterisk/prometheus.conf
+share/examples/asterisk/queuerules.conf
+share/examples/asterisk/queues.conf
+share/examples/asterisk/res_config_mysql.conf
+share/examples/asterisk/res_config_sqlite3.conf
+share/examples/asterisk/res_corosync.conf
+share/examples/asterisk/res_curl.conf
+share/examples/asterisk/res_fax.conf
+share/examples/asterisk/res_ldap.conf
+share/examples/asterisk/res_odbc.conf
+share/examples/asterisk/res_parking.conf
+share/examples/asterisk/res_pgsql.conf
+share/examples/asterisk/res_pktccops.conf
+share/examples/asterisk/res_snmp.conf
+share/examples/asterisk/res_stun_monitor.conf
+share/examples/asterisk/resolver_unbound.conf
+share/examples/asterisk/rtp.conf
+share/examples/asterisk/say.conf
+share/examples/asterisk/sip.conf
+share/examples/asterisk/sip_notify.conf
+share/examples/asterisk/skinny.conf
+share/examples/asterisk/sla.conf
+share/examples/asterisk/smdi.conf
+share/examples/asterisk/sorcery.conf
+share/examples/asterisk/ss7.timers
+share/examples/asterisk/stasis.conf
+share/examples/asterisk/statsd.conf
+share/examples/asterisk/stir_shaken.conf
+share/examples/asterisk/telcordia-1.adsi
+share/examples/asterisk/test_sorcery.conf
+share/examples/asterisk/udptl.conf
+share/examples/asterisk/unistim.conf
+share/examples/asterisk/users.conf
+share/examples/asterisk/voicemail.conf
+share/examples/asterisk/xmpp.conf
+${PLIST.webvmail}share/httpd/htdocs/_asterisk/animlogo.gif
+${PLIST.webvmail}share/httpd/htdocs/_asterisk/play.gif
+@pkgdir libdata/asterisk/third-party/pjproject
+@pkgdir libdata/asterisk/keys/stir_shaken
+@pkgdir libdata/asterisk/firmware/iax
+@pkgdir libdata/asterisk/documentation/thirdparty
Index: pkgsrc/comms/asterisk19/distinfo
diff -u /dev/null pkgsrc/comms/asterisk19/distinfo:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/distinfo Sun Nov 14 02:30:21 2021
@@ -0,0 +1,95 @@
+$NetBSD: distinfo,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+BLAKE2s (asterisk-19.0.0/asterisk-19.0.0.tar.gz) = fd7ceffcac3f60c81657cc8c50c7b9e5d3e79adc80026f1b63cffaa57de36350
+SHA512 (asterisk-19.0.0/asterisk-19.0.0.tar.gz) = 8d939eefad4307257d8b43a0c95dd8c2726de56a4d03f40f1637cfa70c4df663e171bbea90b801a0e4ae02dc22b2e8fda68f7a6673320ca9f5975ebf5fecb9f8
+Size (asterisk-19.0.0/asterisk-19.0.0.tar.gz) = 27833296 bytes
+BLAKE2s (asterisk-19.0.0/asterisk-extra-sounds-en-gsm-1.5.2.tar.gz) = 3f7e5fe212d7e7cdca14c52527a2552311ab7762c3f1464b09ddedc7c66aebde
+SHA512 (asterisk-19.0.0/asterisk-extra-sounds-en-gsm-1.5.2.tar.gz) = 3f2f7bf3d5bce3544bc013f913c352f0204a3ce96239987403eb9dce8bc87e64a61d437762323a422a87b2fad1f3bf3e7a5f3d0d340f912a1b1dbfea9479d41d
+Size (asterisk-19.0.0/asterisk-extra-sounds-en-gsm-1.5.2.tar.gz) = 4253587 bytes
+BLAKE2s (asterisk-19.0.0/pjproject-2.10.md5) = 6739f51daf24d0567304f773bd49648c1be3a7a4a33c0f3353279fb349168e7e
+SHA512 (asterisk-19.0.0/pjproject-2.10.md5) = bd24048c9c2fdaf06468e44bceca92bd02848d759ef98285d20b50174f865b1aec2928f1ce6c092862397ba83dd1a74da4a7e479eca881df1e9f9d1c211a7054
+Size (asterisk-19.0.0/pjproject-2.10.md5) = 110 bytes
+BLAKE2s (asterisk-19.0.0/pjproject-2.10.tar.bz2) = fac6400fa94cde09a848314b754062364c021e8c13d3fe28493634d4415959f7
+SHA512 (asterisk-19.0.0/pjproject-2.10.tar.bz2) = fe29edccc63a8e72323e1b6f955a8c3475e26aba9cb8f5125546da4409fecc19a09a7950eee6b8e4a3c908943bc043d95130f878ad52958c5eccc617e3bcfb4e
+Size (asterisk-19.0.0/pjproject-2.10.tar.bz2) = 7339188 bytes
+SHA1 (patch-Makefile) = 5cf3b6937ec23a82e4d056b91e493a36bc1089b9
+SHA1 (patch-addons_chan__ooh323.c) = 1775da7ca2129a962ed460bd1e78ba3ce6afa62c
+SHA1 (patch-apps_app__adsiprog.c) = 031139e5cd1ef6bb2afb0a74fee3d752eded0a2c
+SHA1 (patch-apps_app__chanspy.c) = 29a807909645c1ad0c8f81b6513a284b978e7c47
+SHA1 (patch-apps_app__directory.c) = 889a78123033709d28b0b805f2a379242ccd7dcc
+SHA1 (patch-apps_app__dumpchan.c) = 127ac02bdc180ad2334cd095aa6e646feb6fba10
+SHA1 (patch-apps_app__followme.c) = c6a5790b5e9b34d07dbfdd66a58e2854c8c72695
+SHA1 (patch-apps_app__minivm.c) = 22ee6ebfbe205baf0acf46ab16c94fea1750f2fb
+SHA1 (patch-apps_app__queue.c) = fdf7cf202b60e24cd9227f7e461bbd541565d602
+SHA1 (patch-apps_app__sms.c) = ad65b3cb2a30489551101f7534c691cd1155d18f
+SHA1 (patch-apps_app__voicemail.c) = bee10453a86039a99db9df644585800f347aaace
+SHA1 (patch-build__tools_mkpkgconfig) = 7fab8fcf46d9f8a3b98455674fec6307ec472b23
+SHA1 (patch-cdr_cdr__pgsql.c) = 82b002a1f5ed3b7361a98e2bffb5cea8833949b8
+SHA1 (patch-cel_cel__pgsql.c) = b280efab2b035ce60be268bac9bc8824910b2b8f
+SHA1 (patch-channels_chan__pjsip.c) = efd4cbb82133fc5ddf7de70d01c99e185c585211
+SHA1 (patch-channels_chan__sip.c) = ed285612eae6cbfde19ded87db9360c0bca153c7
+SHA1 (patch-channels_pjsip_cli__commands.c) = 01baa9d242e3af02a1f3540cfb3064ad68c71d67
+SHA1 (patch-channels_pjsip_dialplan__functions.c) = 2cf8199c4ec9d4894eb922c2703d49ecc06188ef
+SHA1 (patch-configure) = c96698684e330ebe565b9cd4eade3869ae7f04f6
+SHA1 (patch-configure.ac) = b972730a2be3bf54502116f1f7e03afee76a02cc
+SHA1 (patch-contrib_scripts_vmail.cgi) = 7935ce96ea319eb19cc2ce999813eb837d5357c0
+SHA1 (patch-funcs_func__cdr.c) = 79c743df264948e5ea9e1c292012a1f6362d0c1e
+SHA1 (patch-funcs_func__channel.c) = 9d6ed8a2431fbde6879782d8228030467aabe7eb
+SHA1 (patch-funcs_func__env.c) = 9305d4dde2509f689e676295d3eb06bf5a74b3cb
+SHA1 (patch-funcs_func__pjsip__aor.c) = 9874f8d66a8afd26ae1669aa727cb5fa2a788334
+SHA1 (patch-funcs_func__pjsip__contact.c) = 9b1fa54ee31a549be40d487c650cc79d625c8092
+SHA1 (patch-funcs_func__pjsip__endpoint.c) = 263a4bdb6365bcc9f6392d25a5aef5c607e59d04
+SHA1 (patch-funcs_func__strings.c) = 08d313add57c5be822a19311fc70a7555bd63877
+SHA1 (patch-include_asterisk_autoconfig.h.in) = 23807b08b94f5cf9c2de76c2928f7ae38997d006
+SHA1 (patch-include_asterisk_lock.h) = 85418bcd20f3ed7eb0310f46f3b2d334980bdcef
+SHA1 (patch-include_asterisk_sha1.h) = 9b233ef82b50b8d94177616e1382991656ce1ebf
+SHA1 (patch-include_asterisk_strings.h) = 9ace78a13131bcb411eda79a98264b5cfcc7789c
+SHA1 (patch-main_Makefile) = e3b5d261fd15ffd23d81060ff3aafba6b0300e7c
+SHA1 (patch-main_acl.c) = 06a9d247b19d648e9ff54ac2a234dc8ac8c023bb
+SHA1 (patch-main_app.c) = 1c12bb207dcb0060017d63ba4f11fcf63d60a45e
+SHA1 (patch-main_ast__expr2.c) = bad644eb956645e889344810ec315afd430853be
+SHA1 (patch-main_ast__expr2.y) = 56ac74b5a3ae47bd5bec798e549ec43bd085e0e8
+SHA1 (patch-main_asterisk.c) = 1262d792f330fe8a1bb1d1f7ba51bc502d65be42
+SHA1 (patch-main_astmm.c) = 26a98d6fbb567ae619041ebd01a31349a847deab
+SHA1 (patch-main_bridge__basic.c) = b48627e563e20544017fdfcfb4559e868badf41d
+SHA1 (patch-main_bridge__channel.c) = 1ea5f8d0d1ad353c63904a80a67d8e53c8672b46
+SHA1 (patch-main_callerid.c) = 0ea1b3df8aaf3969fcd9e06055c8e6184d50d3d3
+SHA1 (patch-main_cdr.c) = 540fbdb354aba100fa37392b879b92a85d1d8620
+SHA1 (patch-main_cel.c) = 22fa21db8e0afa0958d34014f52e2c4fe9c73ba2
+SHA1 (patch-main_cli.c) = ee72bcaac7dce397354cbc09af4ed7441dbb4650
+SHA1 (patch-main_conversions.c) = a516ef4f706fabbd250f66a3159825a2a6085344
+SHA1 (patch-main_dns__naptr.c) = 4fa3fe5d2acf7bcd84ca2044280c644e4bd15d7f
+SHA1 (patch-main_enum.c) = c5f620297cf98f95ce74aa0d98eddc697946a77b
+SHA1 (patch-main_features.c) = 6e50ea4c6ee26f56edca22611aeed44787459968
+SHA1 (patch-main_http.c) = b36f1f3f0da25456a17888d34ea2bf7b61c1acf4
+SHA1 (patch-main_indications.c) = 511b4c270e4a4a71517109f959121777caf2aa36
+SHA1 (patch-main_logger.c) = 321a52b3015af85ea13055953cec5a5d9da05ec8
+SHA1 (patch-main_manager.c) = cb87e72e630a5f192b614d203a8cd81190ba1424
+SHA1 (patch-main_pbx.c) = 8e7ced268edb29238f96418e8b21456364c4ae1f
+SHA1 (patch-main_pbx__builtins.c) = f53aadc04fd489f6725911537007af4f4076ee56
+SHA1 (patch-main_pbx__timing.c) = a4657330086c5b0e8fd271d5676fb897badea452
+SHA1 (patch-main_sched.c) = 4219ac1561e8c4fbc5b1facdf38b3e8b764d5def
+SHA1 (patch-main_stdtime_localtime.c) = 1e3c62d70eab62c46ac29e03e842229cf7587d2b
+SHA1 (patch-main_taskprocessor.c) = f90805bd78fd4096beb9ee1cf9c794c50b87481a
+SHA1 (patch-main_tdd.c) = 9f525971938dd4f222622cb3e78a35822bd08389
+SHA1 (patch-main_test.c) = f38b370cdb5788304e02c71ef05d2130ead9de98
+SHA1 (patch-main_utils.c) = 2762f982f7a66979e363e984b0948364e1b03b7e
+SHA1 (patch-menuselect_menuselect.c) = 8bae3a2c6b8c6e7927b35bd83147a55e380efd7f
+SHA1 (patch-pbx_pbx__config.c) = cc5e6d2b383f86abfb354c9bf14fc93374fba0a3
+SHA1 (patch-pbx_pbx__dundi.c) = 1bc28ff2412da569f139f245c5223845a2f6cebe
+SHA1 (patch-res_ael_pval.c) = 8a238c78403d3098bf8be8ae266162bc05e586f3
+SHA1 (patch-res_res__calendar.c) = 45211a3baf8fbd8b201ba0167f8c56fb35728c4a
+SHA1 (patch-res_res__calendar__caldav.c) = afe2f4806dd57148dde11baeefaa7897fce4d485
+SHA1 (patch-res_res__calendar__icalendar.c) = ed34b7147d8834ebadac9b1b8488a4c645f90a5b
+SHA1 (patch-res_res__hep__pjsip.c) = b0c8fed52451ec31a2c77d4abd28640631bb708c
+SHA1 (patch-res_res__limit.c) = e80f370fe5b84dcdc2f38e2137d5ed6f75ba35a4
+SHA1 (patch-res_res__musiconhold.c) = 401999cefa3805f63df33424c635ad18a7d00748
+SHA1 (patch-res_res__pjproject.c) = 0326bf12d9f798c8eae2eff4fad8b86d4bbc0589
+SHA1 (patch-res_res__xmpp.c) = 390376180d1fb11a41c16f59dd44f506006a8e5d
+SHA1 (patch-sounds_Makefile) = acc15088ae2545f2822246466bfe783b5215fc54
+SHA1 (patch-tests_test__locale.c) = f3f1edc86356f2a7b4d3493433c772e164c77f66
+SHA1 (patch-tests_test__voicemail__api.c) = c600f726136581e47cf34da2c0bb485b8a5912eb
+SHA1 (patch-utils_Makefile) = 30e22c5d5d740c5531d657f91f7b51fa477d8a74
+SHA1 (patch-utils_db1-ast_include_db.h) = 03b43353b7967f999ace3eb160828c530e2e8fae
+SHA1 (patch-utils_extconf.c) = f35d079c4801fe20132ff52d63d951d9e1658902
+SHA1 (patch-utils_smsq.c) = 5c4cd729f1c9cb68291c514a2e54418e9b5a47cb
Index: pkgsrc/comms/asterisk19/options.mk
diff -u /dev/null pkgsrc/comms/asterisk19/options.mk:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/options.mk Sun Nov 14 02:30:21 2021
@@ -0,0 +1,122 @@
+# $NetBSD: options.mk,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.asterisk
+PKG_SUPPORTED_OPTIONS= x11 unixodbc ilbc webvmail ldap spandsp
+PKG_SUPPORTED_OPTIONS+= jabber speex snmp pgsql asterisk-config
+PKG_OPTIONS_LEGACY_OPTS+= gtk:x11
+PKG_SUGGESTED_OPTIONS= ldap jabber speex asterisk-config
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= zaptel x11 unixodbc webvmail ldap spandsp jabber
+PLIST_VARS+= speex snmp pgsql srtp
+
+# Asterisk now uses DAHDI, not zaptel; not implemented yet...
+#.if !empty(PKG_OPTIONS:Mzaptel)
+## zaptel only supported under NetBSD at the moment
+#. include "../../comms/zaptel-netbsd/buildlink3.mk"
+#PLIST.zaptel= yes
+#.else
+#MAKE_FLAGS+= WITHOUT_ZAPTEL=1
+#.endif
+
+# gtkconsole depends on GTK 2.x
+.if !empty(PKG_OPTIONS:Mx11)
+. include "../../x11/gtk2/buildlink3.mk"
+. include "../../devel/SDL/buildlink3.mk"
+CONFIGURE_ARGS+= --with-sdl
+CONFIGURE_ARGS+= --with-gtk2
+PLIST.x11= yes
+.else
+CONFIGURE_ARGS+= --without-sdl
+CONFIGURE_ARGS+= --without-gtk2
+.endif
+
+.if !empty(PKG_OPTIONS:Munixodbc)
+. include "../../databases/unixodbc/buildlink3.mk"
+. include "../../devel/libltdl/buildlink3.mk"
+CONFIGURE_ARGS+= --with-unixodbc
+PLIST.unixodbc= yes
+.else
+CONFIGURE_ARGS+= --without-unixodbc
+.endif
+
+.if !empty(PKG_OPTIONS:Mspandsp)
+. include "../../comms/spandsp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-spandsp
+PLIST.spandsp= yes
+.else
+CONFIGURE_ARGS+= --without-spandsp
+.endif
+
+.if !empty(PKG_OPTIONS:Mjabber)
+. include "../../textproc/iksemel/buildlink3.mk"
+CONFIGURE_ARGS+= --with-iksemel=${PREFIX}
+PLIST.jabber= yes
+.else
+CONFIGURE_ARGS+= --without-iksemel
+.endif
+
+MAKE_FLAGS+= GLOBAL_MAKEOPTS=${WRKSRC}/pkgsrc.makeopts
+post-configure:
+.if !empty(PKG_OPTIONS:Munixodbc)
+ ${ECHO} "MENUSELECT_APPS=app_voicemail_odbc" >> ${WRKSRC}/pkgsrc.makeopts
+.endif
+.if defined(PLIST.mgcp)
+ ${ECHO} "MENUSELECT_RES=-res_pktccops" >> ${WRKSRC}/pkgsrc.makeopts
+ ${ECHO} "MENUSELECT_CHANNELS=-chan_mgcp" >> ${WRKSRC}/pkgsrc.makeopts
+.endif
+ ${ECHO} "MENUSELECT_AGIS=agi-test.agi eagi-test eagi-sphinx-test jukebox.agi" >> ${WRKSRC}/pkgsrc.makeopts
+ ${ECHO} "MENUSELECT_APPS=-app_macro" >> ${WRKSRC}/pkgsrc.makeopts
+ ${ECHO} "MENUSELECT_RES=-res_monitor" >> ${WRKSRC}/pkgsrc.makeopts
+ ${ECHO} "MENUSELECT_CFLAGS=-BUILD_NATIVE" >> ${WRKSRC}/pkgsrc.makeopts
+ ${ECHO} "MENUSELECT_CHANNELS=-chan_sip -chan_skinny" >> ${WRKSRC}/pkgsrc.makeopts
+ # this is a hack to work around a bug in menuselect
+ cd ${WRKSRC} && make menuselect.makeopts
+
+.if !empty(PKG_OPTIONS:Mwebvmail)
+DEPENDS+= p5-DBI-[0-9]*:../../databases/p5-DBI
+SUBST_CLASSES+= webvmail
+SUBST_STAGE.webvmail= pre-configure
+SUBST_FILES.webvmail= contrib/scripts/vmail.cgi
+SUBST_VARS.webvmail= ASTETCDIR
+SUBST_VARS.webvmail+= ASTSPOOLDIR
+INSTALLATION_DIRS+= ${PREFIX}/libexec/cgi-bin ${PREFIX}/share/httpd/htdocs
+SPECIAL_PERMS+= ${PREFIX}/libexec/cgi-bin/vmail ${ASTERISK_USER} ${ASTERISK_GROUP} 04555
+INSTALL_TARGET+= webvmail
+PLIST.webvmail= yes
+.endif
+
+.if !empty(PKG_OPTIONS:Mldap)
+.include "../../databases/openldap-client/buildlink3.mk"
+PLIST.ldap= yes
+.else
+CONFIGURE_ARGS+= --without-ldap
+.endif
+
+.if !empty(PKG_OPTIONS:Mspeex)
+.include "../../audio/speex/buildlink3.mk"
+.include "../../audio/speexdsp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-speex
+CONFIGURE_ARGS+= --with-speexdsp
+PLIST.speex= yes
+.else
+CONFIGURE_ARGS+= --without-speex
+CONFIGURE_ARGS+= --without-speexdsp
+.endif
+
+.if !empty(PKG_OPTIONS:Msnmp)
+.include "../../net/net-snmp/buildlink3.mk"
+CONFIGURE_ARGS+= --with-netsnmp
+PLIST.snmp= yes
+.else
+CONFIGURE_ARGS+= --without-netsnmp
+.endif
+
+.if !empty(PKG_OPTIONS:Mpgsql)
+.include "../../mk/pgsql.buildlink3.mk"
+CONFIGURE_ARGS+= --with-postgres
+PLIST.pgsql= yes
+.else
+CONFIGURE_ARGS+= --without-postgres
+.endif
Index: pkgsrc/comms/asterisk19/files/asterisk.sh
diff -u /dev/null pkgsrc/comms/asterisk19/files/asterisk.sh:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/files/asterisk.sh Sun Nov 14 02:30:21 2021
@@ -0,0 +1,43 @@
+#!@RCD_SCRIPTS_SHELL@
+#
+# $NetBSD: asterisk.sh,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+#
+# PROVIDE: asterisk
+# REQUIRE: DAEMON
+# KEYWORD: shutdown
+#
+# You will need to set some variables in /etc/rc.conf to start Asterisk:
+#
+# asterisk=YES
+
+if [ -f /etc/rc.subr ]
+then
+ . /etc/rc.subr
+fi
+
+name="asterisk"
+rcvar=$name
+command="@PREFIX@/sbin/asterisk"
+pidfile=@ASTVARRUNDIR@/${name}.pid
+required_files="@PKG_SYSCONFDIR@/asterisk.conf"
+extra_commands="reload"
+start_precmd=asterisk_prestart
+
+auser="@ASTERISK_USER@"
+agroup="@ASTERISK_GROUP@"
+command_args="-U $auser -G $agroup -n"
+
+asterisk_prestart() {
+ if test ! -d @ASTVARRUNDIR@; then
+ mkdir @ASTVARRUNDIR@
+ fi
+ chown $auser:$agroup @ASTVARRUNDIR@
+ chmod 0755 @ASTVARRUNDIR@
+}
+
+stop_cmd="$command -nr -x 'core stop gracefully' >/dev/null"
+reload_cmd="$command -nr -x 'core reload' >/dev/null"
+asterisk_nice="-20"
+
+load_rc_config $name
+run_rc_command "$1"
Index: pkgsrc/comms/asterisk19/files/smf/manifest.xml
diff -u /dev/null pkgsrc/comms/asterisk19/files/smf/manifest.xml:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/files/smf/manifest.xml Sun Nov 14 02:30:21 2021
@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
+<service_bundle type="manifest" name="export">
+ <service name="@SMF_PREFIX@/@SMF_NAME@" type="service" version="1">
+ <create_default_instance enabled="false" />
+ <single_instance />
+ <dependency name='network' grouping='require_all' restart_on='error' type='service'>
+ <service_fmri value='svc:/milestone/network:default' />
+ </dependency>
+ <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'>
+ <service_fmri value='svc:/system/filesystem/local:default' />
+ </dependency>
+ <method_context>
+ <method_environment>
+ <envvar name="LD_PRELOAD_32" value="/usr/lib/extendedFILE.so.1" />
+ </method_environment>
+ </method_context>
+ <exec_method type="method" name="start" exec="@PREFIX@/sbin/asterisk" timeout_seconds="60" />
+ <exec_method type="method" name="stop" exec="@PREFIX@/sbin/asterisk -nr -x 'core stop gracefully' >/dev/null" timeout_seconds="60" />
+ <exec_method type="method" name="refresh" exec="@PREFIX@/sbin/asterisk -nr -x 'core reload' >/dev/null" timeout_seconds="60" />
+ <property_group name="startd" type="framework">
+ <propval name="duration" type="astring" value="contract" />
+ <propval name="ignore_error" type="astring" value="core,signal" />
+ </property_group>
+ <property_group name="application" type="application">
+ <propval name="config_file" type="astring" value="@PKG_SYSCONFDIR@/asterisk.conf" />
+ </property_group>
+ <template>
+ <common_name>
+ <loctext xml:lang="C">Asterisk PBX</loctext>
+ </common_name>
+ </template>
+ </service>
+</service_bundle>
Index: pkgsrc/comms/asterisk19/patches/patch-Makefile
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-Makefile:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-Makefile Sun Nov 14 02:30:21 2021
@@ -0,0 +1,125 @@
+$NetBSD: patch-Makefile,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- Makefile.orig 2021-11-02 08:53:05.000000000 +0000
++++ Makefile
+@@ -143,7 +143,7 @@ DEBUG=-g3
+
+ # Asterisk.conf is located in ASTETCDIR or by using the -C flag
+ # when starting Asterisk
+-ASTCONFPATH=$(ASTETCDIR)/asterisk.conf
++ASTCONFPATH=$(ASTEXAMPLEDIR)/asterisk.conf
+ AGI_DIR=$(ASTDATADIR)/agi-bin
+
+ # If you use Apache, you may determine by a grep 'DocumentRoot' of your httpd.conf file
+@@ -215,12 +215,6 @@ ifeq ($(AST_DEVMODE),yes)
+ endif
+ endif
+
+-ifeq ($(OSARCH),NetBSD)
+- _ASTCFLAGS+=-isystem /usr/pkg/include
+-else ifneq ($(findstring BSD,$(OSARCH)),)
+- _ASTCFLAGS+=-isystem /usr/local/include
+-endif
+-
+ ifeq ($(OSARCH),FreeBSD)
+ # -V is understood by BSD Make, not by GNU make.
+ BSDVERSION=$(shell make -V OSVERSION -f /usr/share/mk/bsd.port.subdir.mk)
+@@ -435,7 +429,6 @@ dist-clean: distclean
+
+ distclean: $(SUBDIRS_DIST_CLEAN) _clean
+ @$(MAKE) -C menuselect dist-clean
+- @$(MAKE) -C sounds dist-clean
+ rm -f menuselect.makeopts makeopts menuselect-tree menuselect.makedeps
+ rm -f config.log config.status config.cache
+ rm -rf autom4te.cache
+@@ -563,7 +556,7 @@ update:
+
+ NEWHEADERS=$(notdir $(wildcard include/asterisk/*.h))
+ OLDHEADERS=$(filter-out $(NEWHEADERS) $(notdir $(DESTDIR)$(ASTHEADERDIR)),$(notdir $(wildcard $(DESTDIR)$(ASTHEADERDIR)/*.h)))
+-INSTALLDIRS="$(ASTLIBDIR)" "$(ASTMODDIR)" "$(ASTSBINDIR)" "$(ASTCACHEDIR)" "$(ASTETCDIR)" "$(ASTVARRUNDIR)" \
++INSTALLDIRS="$(ASTLIBDIR)" "$(ASTMODDIR)" "$(ASTSBINDIR)" "$(ASTCACHEDIR)" "$(ASTEXAMPLEDIR)" "$(ASTVARRUNDIR)" \
+ "$(ASTSPOOLDIR)" "$(ASTSPOOLDIR)/dictate" "$(ASTSPOOLDIR)/meetme" \
+ "$(ASTSPOOLDIR)/monitor" "$(ASTSPOOLDIR)/system" "$(ASTSPOOLDIR)/tmp" \
+ "$(ASTSPOOLDIR)/voicemail" "$(ASTSPOOLDIR)/recording" \
+@@ -769,7 +762,7 @@ upgrade: bininstall
+ # (2) the extension to strip off
+ define INSTALL_CONFIGS
+ @for x in $(1)/*$(2); do \
+- dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x $(2)`"; \
++ dst="$(DESTDIR)$(ASTEXAMPLEDIR)/`$(BASENAME) $$x $(2)`"; \
+ if [ -f "$${dst}" ]; then \
+ if [ "$(OVERWRITE)" = "y" ]; then \
+ if cmp -s "$${dst}" "$$x" ; then \
+@@ -799,9 +792,9 @@ define INSTALL_CONFIGS
+ -e 's|^astrundir.*$$|astrundir => $(ASTVARRUNDIR)|' \
+ -e 's|^astlogdir.*$$|astlogdir => $(ASTLOGDIR)|' \
+ -e 's|^astsbindir.*$$|astsbindir => $(ASTSBINDIR)|' \
+- "$(DESTDIR)$(ASTCONFPATH)" > "$(DESTDIR)$(ASTCONFPATH).tmp" ; \
+- $(INSTALL) -m 644 "$(DESTDIR)$(ASTCONFPATH).tmp" "$(DESTDIR)$(ASTCONFPATH)" ; \
+- rm -f "$(DESTDIR)$(ASTCONFPATH).tmp" ; \
++ "$(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf" > "$(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf.tmp" ; \
++ $(INSTALL) -m 644 "$(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf.tmp" "$(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf" ; \
++ rm -f "$(DESTDIR)$(ASTEXAMPLEDIR)/asterisk.conf.tmp" ; \
+ fi
+ endef
+
+@@ -826,15 +819,15 @@ install-configs:
+ # XXX why *.adsi is installed first ?
+ adsi:
+ @echo Installing adsi config files...
+- $(INSTALL) -d "$(DESTDIR)$(ASTETCDIR)"
++ $(INSTALL) -d "$(DESTDIR)$(ASTEXAMPLEDIR)"
+ @for x in configs/samples/*.adsi; do \
+- dst="$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \
++ dst="$(DESTDIR)$(ASTEXAMPLEDIR)/`$(BASENAME) $$x`" ; \
+ if [ -f "$${dst}" ] ; then \
+ echo "Overwriting $$x" ; \
+ else \
+ echo "Installing $$x" ; \
+ fi ; \
+- $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTETCDIR)/`$(BASENAME) $$x`" ; \
++ $(INSTALL) -m 644 "$$x" "$(DESTDIR)$(ASTEXAMPLEDIR)/`$(BASENAME) $$x`" ; \
+ done
+
+ samples: adsi
+@@ -867,7 +860,7 @@ basic-pbx:
+ webvmail:
+ @[ -d "$(DESTDIR)$(HTTP_DOCSDIR)/" ] || ( printf "http docs directory not found.\nUpdate assignment of variable HTTP_DOCSDIR in Makefile!\n" && exit 1 )
+ @[ -d "$(DESTDIR)$(HTTP_CGIDIR)" ] || ( printf "cgi-bin directory not found.\nUpdate assignment of variable HTTP_CGIDIR in Makefile!\n" && exit 1 )
+- $(INSTALL) -m 4755 contrib/scripts/vmail.cgi "$(DESTDIR)$(HTTP_CGIDIR)/vmail.cgi"
++ $(INSTALL) contrib/scripts/vmail.cgi "$(DESTDIR)$(HTTP_CGIDIR)/vmail"
+ $(INSTALL) -d "$(DESTDIR)$(HTTP_DOCSDIR)/_asterisk"
+ for x in images/*.gif; do \
+ $(INSTALL) -m 644 $$x "$(DESTDIR)$(HTTP_DOCSDIR)/_asterisk/"; \
+@@ -917,11 +910,11 @@ endif
+ endif
+
+ install-logrotate:
+- if [ ! -d "$(DESTDIR)$(ASTETCDIR)/../logrotate.d" ]; then \
+- $(INSTALL) -d "$(DESTDIR)$(ASTETCDIR)/../logrotate.d" ; \
++ if [ ! -d "$(DESTDIR)$(ASTEXAMPLEDIR)/../logrotate.d" ]; then \
++ $(INSTALL) -d "$(DESTDIR)$(ASTEXAMPLEDIR)/../logrotate.d" ; \
+ fi
+ sed 's#__LOGDIR__#$(ASTLOGDIR)#g' < contrib/scripts/asterisk.logrotate | sed 's#__SBINDIR__#$(ASTSBINDIR)#g' > contrib/scripts/asterisk.logrotate.tmp
+- $(INSTALL) -m 0644 contrib/scripts/asterisk.logrotate.tmp "$(DESTDIR)$(ASTETCDIR)/../logrotate.d/asterisk"
++ $(INSTALL) -m 0644 contrib/scripts/asterisk.logrotate.tmp "$(DESTDIR)$(ASTEXAMPLEDIR)/../logrotate.d/asterisk"
+ rm -f contrib/scripts/asterisk.logrotate.tmp
+
+ config:
+@@ -1048,7 +1041,7 @@ uninstall-all: _uninstall uninstall-head
+ rm -rf "$(DESTDIR)$(ASTVARLIBDIR)"
+ rm -rf "$(DESTDIR)$(ASTDATADIR)"
+ rm -rf "$(DESTDIR)$(ASTSPOOLDIR)"
+- rm -rf "$(DESTDIR)$(ASTETCDIR)"
++ rm -rf "$(DESTDIR)$(ASTEXAMPLEDIR)"
+ rm -rf "$(DESTDIR)$(ASTLOGDIR)"
+ rm -rf "$(DESTDIR)$(ASTCACHEDIR)"
+
+@@ -1139,6 +1132,7 @@ check-alembic: makeopts
+ .PHONY: install-configs
+ .PHONY: install-headers
+ .PHONY: menuselect
++.PHONY: menuselect.makeopts
+ .PHONY: main
+ .PHONY: sounds
+ .PHONY: clean
Index: pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-addons_chan__ooh323.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- addons/chan_ooh323.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ addons/chan_ooh323.c
+@@ -4035,7 +4035,7 @@ static void *do_monitor(void *data)
+ h323->lastrtprx + h323->rtptimeout < t) {
+ if (!ast_channel_trylock(h323->owner)) {
+ ast_softhangup_nolock(h323->owner, AST_SOFTHANGUP_DEV);
+- ast_log(LOG_NOTICE, "Disconnecting call '%s' for lack of RTP activity in %ld seconds\n", ast_channel_name(h323->owner), (long) (t - h323->lastrtprx));
++ ast_log(LOG_NOTICE, "Disconnecting call '%s' for lack of RTP activity in %jd seconds\n", ast_channel_name(h323->owner), (intmax_t) (t - h323->lastrtprx));
+ ast_channel_unlock(h323->owner);
+ }
+
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-apps_app__adsiprog.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_adsiprog.c.orig 2018-05-07 17:17:45.731153122 +0000
++++ apps/app_adsiprog.c
+@@ -215,7 +215,7 @@ static int process_token(void *out, char
+ /* Convert */
+ *((unsigned int *)out) = htonl(*((unsigned int *)out));
+ }
+- } else if ((strlen(src) > 2) && (src[0] == '0') && (tolower(src[1]) == 'x')) {
++ } else if ((strlen(src) > 2) && (src[0] == '0') && (tolower((unsigned char)src[1]) == 'x')) {
+ if (!(argtype & ARG_NUMBER))
+ return -1;
+ /* Hex value */
+@@ -225,7 +225,7 @@ static int process_token(void *out, char
+ /* Convert */
+ *((unsigned int *)out) = htonl(*((unsigned int *)out));
+ }
+- } else if ((!ast_strlen_zero(src) && isdigit(src[0]))) {
++ } else if ((!ast_strlen_zero(src) && isdigit((unsigned char)src[0]))) {
+ if (!(argtype & ARG_NUMBER))
+ return -1;
+ /* Hex value */
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-apps_app__chanspy.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_chanspy.c.orig 2018-05-07 17:20:13.916423247 +0000
++++ apps/app_chanspy.c
+@@ -1105,7 +1105,7 @@ static int common_exec(struct ast_channe
+ if ((ptr = strchr(peer_name, '/'))) {
+ *ptr++ = '\0';
+ for (s = peer_name; s < ptr; s++) {
+- *s = tolower(*s);
++ *s = tolower((unsigned char)*s);
+ }
+ if ((s = strchr(ptr, '-'))) {
+ *s = '\0';
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-apps_app__directory.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_directory.c.orig 2018-05-07 17:19:54.317128994 +0000
++++ apps/app_directory.c
+@@ -194,7 +194,7 @@ static int compare(const char *text, con
+ }
+
+ while (*template) {
+- digit = toupper(*text++);
++ digit = toupper((unsigned char)*text++);
+ switch (digit) {
+ case 0:
+ return -1;
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-apps_app__dumpchan.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_dumpchan.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ apps/app_dumpchan.c
+@@ -117,7 +117,7 @@ static int serialize_showchan(struct ast
+ "1stFileDescriptor= %d\n"
+ "Framesin= %u %s\n"
+ "Framesout= %u %s\n"
+- "TimetoHangup= %ld\n"
++ "TimetoHangup= %jd\n"
+ "ElapsedTime= %dh%dm%ds\n"
+ "BridgeID= %s\n"
+ "Context= %s\n"
+@@ -155,7 +155,7 @@ static int serialize_showchan(struct ast
+ ast_channel_fd(c, 0),
+ ast_channel_fin(c) & ~DEBUGCHAN_FLAG, (ast_channel_fin(c) & DEBUGCHAN_FLAG) ? " (DEBUGGED)" : "",
+ ast_channel_fout(c) & ~DEBUGCHAN_FLAG, (ast_channel_fout(c) & DEBUGCHAN_FLAG) ? " (DEBUGGED)" : "",
+- (long)ast_channel_whentohangup(c)->tv_sec,
++ (intmax_t)ast_channel_whentohangup(c)->tv_sec,
+ hour,
+ min,
+ sec,
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-apps_app__followme.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_followme.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ apps/app_followme.c
+@@ -380,7 +380,7 @@ static struct number *create_followme_nu
+ *tmp = '\0';
+ ast_copy_string(cur->number, buf, sizeof(cur->number));
+ cur->order = numorder;
+- ast_debug(1, "Created a number, %s, order of , %d, with a timeout of %ld.\n", cur->number, cur->order, cur->timeout);
++ ast_debug(1, "Created a number, %s, order of , %d, with a timeout of %jd.\n", cur->number, cur->order, (intmax_t)cur->timeout);
+
+ return cur;
+ }
+@@ -1010,7 +1010,7 @@ static struct ast_channel *findmeexec(st
+ break;
+ }
+
+- ast_debug(2, "Number(s) %s timeout %ld\n", nm->number, nm->timeout);
++ ast_debug(2, "Number(s) %s timeout %jd\n", nm->number, (intmax_t)nm->timeout);
+
+ /*
+ * Put all active outgoing channels into autoservice.
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-apps_app__minivm.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_minivm.c.orig 2018-05-07 17:45:03.072823223 +0000
++++ apps/app_minivm.c
+@@ -1593,7 +1593,7 @@ static int invent_message(struct ast_cha
+
+ while (*i) {
+ ast_debug(2, "Numeric? Checking %c\n", *i);
+- if (!isdigit(*i)) {
++ if (!isdigit((unsigned char)*i)) {
+ numericusername = FALSE;
+ break;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,132 @@
+$NetBSD: patch-apps_app__queue.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_queue.c.orig 2021-03-25 17:34:21.000000000 +0000
++++ apps/app_queue.c
+@@ -5909,8 +5909,8 @@ static void queue_agent_cb(void *userdat
+ } else if (ast_channel_agent_logoff_type() == stasis_message_type(msg)) {
+ ast_queue_log("NONE", agent_blob->snapshot->base->uniqueid,
+ ast_json_string_get(ast_json_object_get(agent_blob->blob, "agent")),
+- "AGENTLOGOFF", "%s|%ld", agent_blob->snapshot->base->name,
+- (long) ast_json_integer_get(ast_json_object_get(agent_blob->blob, "logintime")));
++ "AGENTLOGOFF", "%s|%jd", agent_blob->snapshot->base->name,
++ (intmax_t) ast_json_integer_get(ast_json_object_get(agent_blob->blob, "logintime")));
+ }
+ }
+
+@@ -7043,8 +7043,8 @@ static int try_calling(struct queue_ent
+ /* if setinterfacevar is defined, make member variables available to the channel */
+ /* use pbx_builtin_setvar to set a load of variables with one call */
+ if (qe->parent->setinterfacevar && interfacevar) {
+- ast_str_set(&interfacevar, 0, "MEMBERINTERFACE=%s,MEMBERNAME=%s,MEMBERCALLS=%d,MEMBERLASTCALL=%ld,MEMBERPENALTY=%d,MEMBERDYNAMIC=%d,MEMBERREALTIME=%d",
+- member->interface, member->membername, member->calls, (long)member->lastcall, member->penalty, member->dynamic, member->realtime);
++ ast_str_set(&interfacevar, 0, "MEMBERINTERFACE=%s,MEMBERNAME=%s,MEMBERCALLS=%d,MEMBERLASTCALL=%jd,MEMBERPENALTY=%d,MEMBERDYNAMIC=%d,MEMBERREALTIME=%d",
++ member->interface, member->membername, member->calls, (intmax_t)member->lastcall, member->penalty, member->dynamic, member->realtime);
+ pbx_builtin_setvar_multiple(qe->chan, ast_str_buffer(interfacevar));
+ pbx_builtin_setvar_multiple(peer, ast_str_buffer(interfacevar));
+ }
+@@ -7052,8 +7052,8 @@ static int try_calling(struct queue_ent
+ /* if setqueueentryvar is defined, make queue entry (i.e. the caller) variables available to the channel */
+ /* use pbx_builtin_setvar to set a load of variables with one call */
+ if (qe->parent->setqueueentryvar && interfacevar) {
+- ast_str_set(&interfacevar, 0, "QEHOLDTIME=%ld,QEORIGINALPOS=%d",
+- (long) (time(NULL) - qe->start), qe->opos);
++ ast_str_set(&interfacevar, 0, "QEHOLDTIME=%jd,QEORIGINALPOS=%d",
++ (intmax_t) (time(NULL) - qe->start), qe->opos);
+ pbx_builtin_setvar_multiple(qe->chan, ast_str_buffer(interfacevar));
+ pbx_builtin_setvar_multiple(peer, ast_str_buffer(interfacevar));
+ }
+@@ -8335,8 +8335,8 @@ static int queue_exec(struct ast_channel
+ }
+ }
+
+- ast_debug(1, "queue: %s, expires: %ld, priority: %d\n",
+- args.queuename, (long)qe.expire, prio);
++ ast_debug(1, "queue: %s, expires: %jd, priority: %d\n",
++ args.queuename, (intmax_t)qe.expire, prio);
+
+ qe.chan = chan;
+ qe.prio = prio;
+@@ -8402,8 +8402,8 @@ check_turns:
+ record_abandoned(&qe);
+ reason = QUEUE_TIMEOUT;
+ res = 0;
+- ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld",
+- qe.pos, qe.opos, (long) (time(NULL) - qe.start));
++ ast_queue_log(args.queuename, ast_channel_uniqueid(chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%jd",
++ qe.pos, qe.opos, (intmax_t) (time(NULL) - qe.start));
+ break;
+ }
+
+@@ -8473,7 +8473,7 @@ check_turns:
+ record_abandoned(&qe);
+ reason = QUEUE_TIMEOUT;
+ res = 0;
+- ast_queue_log(qe.parent->name, ast_channel_uniqueid(qe.chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%ld", qe.pos, qe.opos, (long) (time(NULL) - qe.start));
++ ast_queue_log(qe.parent->name, ast_channel_uniqueid(qe.chan),"NONE", "EXITWITHTIMEOUT", "%d|%d|%jd", qe.pos, qe.opos, (intmax_t) (time(NULL) - qe.start));
+ break;
+ }
+
+@@ -8514,7 +8514,7 @@ stop:
+ }
+ } else if (qe.valid_digits) {
+ ast_queue_log(args.queuename, ast_channel_uniqueid(chan), "NONE", "EXITWITHKEY",
+- "%s|%d|%d|%ld", qe.digits, qe.pos, qe.opos, (long) (time(NULL) - qe.start));
++ "%s|%d|%d|%jd", qe.digits, qe.pos, qe.opos, (intmax_t) (time(NULL) - qe.start));
+ }
+ }
+
+@@ -9871,7 +9871,7 @@ static int word_in_list(const char *list
+ const char *find, *end_find, *end_list;
+
+ /* strip whitespace from front */
+- while(isspace(*list)) {
++ while(isspace((unsigned char)*list)) {
+ list++;
+ }
+
+@@ -9880,11 +9880,11 @@ static int word_in_list(const char *list
+ if (find != list && *(find - 1) != ' ') {
+ list = find;
+ /* strip word from front */
+- while(!isspace(*list) && *list != '\0') {
++ while(!isspace((unsigned char)*list) && *list != '\0') {
+ list++;
+ }
+ /* strip whitespace from front */
+- while(isspace(*list)) {
++ while(isspace((unsigned char)*list)) {
+ list++;
+ }
+ continue;
+@@ -9897,11 +9897,11 @@ static int word_in_list(const char *list
+ if (end_find == end_list || *end_find != ' ') {
+ list = find;
+ /* strip word from front */
+- while(!isspace(*list) && *list != '\0') {
++ while(!isspace((unsigned char)*list) && *list != '\0') {
+ list++;
+ }
+ /* strip whitespace from front */
+- while(isspace(*list)) {
++ while(isspace((unsigned char)*list)) {
+ list++;
+ }
+ continue;
+@@ -10194,7 +10194,7 @@ static int manager_queues_status(struct
+ "CallerIDName: %s\r\n"
+ "ConnectedLineNum: %s\r\n"
+ "ConnectedLineName: %s\r\n"
+- "Wait: %ld\r\n"
++ "Wait: %jd\r\n"
+ "Priority: %d\r\n"
+ "%s"
+ "\r\n",
+@@ -10203,7 +10203,7 @@ static int manager_queues_status(struct
+ S_COR(ast_channel_caller(qe->chan)->id.name.valid, ast_channel_caller(qe->chan)->id.name.str, "unknown"),
+ S_COR(ast_channel_connected(qe->chan)->id.number.valid, ast_channel_connected(qe->chan)->id.number.str, "unknown"),
+ S_COR(ast_channel_connected(qe->chan)->id.name.valid, ast_channel_connected(qe->chan)->id.name.str, "unknown"),
+- (long) (now - qe->start), qe->prio, idText);
++ (intmax_t) (now - qe->start), qe->prio, idText);
+ ++q_items;
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,102 @@
+$NetBSD: patch-apps_app__sms.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_sms.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ apps/app_sms.c
+@@ -291,7 +291,7 @@ static void numcpy(char *d, char *s)
+ *d++ = *s++;
+ }
+ while (*s) {
+- if (isdigit(*s)) {
++ if (isdigit((unsigned char)*s)) {
+ *d++ = *s;
+ }
+ s++;
+@@ -557,7 +557,7 @@ static void packdate(unsigned char *o, t
+ int z;
+
+ ast_localtime(&topack, &t, NULL);
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__) || defined(__CYGWIN__)
++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__DragonFly__)
+ z = -t.tm_gmtoff / 60 / 15;
+ #else
+ z = timezone / 60 / 15;
+@@ -754,7 +754,7 @@ static unsigned char packaddress(unsigne
+ o[1] = 0x81;
+ }
+ for ( ; *i ; i++) {
+- if (!isdigit(*i)) { /* ignore non-digits */
++ if (!isdigit((unsigned char)*i)) { /* ignore non-digits */
+ continue;
+ }
+ if (o[0] & 1) {
+@@ -849,11 +849,11 @@ static void sms_readfile(sms_t * h, char
+ if (!*p || *p == ';') {
+ continue; /* blank line or comment, ignore */
+ }
+- while (isalnum(*p)) {
+- *p = tolower (*p);
++ while (isalnum((unsigned char)*p)) {
++ *p = tolower ((unsigned char)*p);
+ p++;
+ }
+- while (isspace (*p)) {
++ while (isspace ((unsigned char)*p)) {
+ *p++ = 0;
+ }
+ if (*p == '=') {
+@@ -869,7 +869,7 @@ static void sms_readfile(sms_t * h, char
+ ast_log(LOG_WARNING, "UD too long in %s\n", fn);
+ }
+ } else {
+- while (isspace (*p)) {
++ while (isspace ((unsigned char)*p)) {
+ p++;
+ }
+ if (!strcmp(line, "oa") && strlen(p) < sizeof(h->oa)) {
+@@ -917,11 +917,11 @@ static void sms_readfile(sms_t * h, char
+ if (!strcmp(line, "ud")) { /* user data */
+ int o = 0;
+ while (*p && o < SMSLEN) {
+- if (isxdigit(*p) && isxdigit(p[1]) && isxdigit(p[2]) && isxdigit(p[3])) {
++ if (isxdigit((unsigned char)*p) && isxdigit((unsigned char)p[1]) && isxdigit((unsigned char)p[2]) && isxdigit((unsigned char)p[3])) {
+ h->ud[o++] =
+- (((isalpha(*p) ? 9 : 0) + (*p & 0xF)) << 12) +
+- (((isalpha(p[1]) ? 9 : 0) + (p[1] & 0xF)) << 8) +
+- (((isalpha(p[2]) ? 9 : 0) + (p[2] & 0xF)) << 4) + ((isalpha(p[3]) ? 9 : 0) + (p[3] & 0xF));
++ (((isalpha((unsigned char)*p) ? 9 : 0) + (*p & 0xF)) << 12) +
++ (((isalpha((unsigned char)p[1]) ? 9 : 0) + (p[1] & 0xF)) << 8) +
++ (((isalpha((unsigned char)p[2]) ? 9 : 0) + (p[2] & 0xF)) << 4) + ((isalpha((unsigned char)p[3]) ? 9 : 0) + (p[3] & 0xF));
+ p += 4;
+ } else
+ break;
+@@ -934,8 +934,8 @@ static void sms_readfile(sms_t * h, char
+ } else if (!strcmp(line, "ud")) { /* user data */
+ int o = 0;
+ while (*p && o < SMSLEN) {
+- if (isxdigit(*p) && isxdigit(p[1])) {
+- h->ud[o++] = (((isalpha(*p) ? 9 : 0) + (*p & 0xF)) << 4) + ((isalpha(p[1]) ? 9 : 0) + (p[1] & 0xF));
++ if (isxdigit((unsigned char)*p) && isxdigit((unsigned char)p[1])) {
++ h->ud[o++] = (((isalpha((unsigned char)*p) ? 9 : 0) + (*p & 0xF)) << 4) + ((isalpha((unsigned char)p[1]) ? 9 : 0) + (p[1] & 0xF));
+ p += 2;
+ } else {
+ break;
+@@ -949,8 +949,8 @@ static void sms_readfile(sms_t * h, char
+ unsigned char o = 0;
+ h->udhi = 1;
+ while (*p && o < SMSLEN) {
+- if (isxdigit(*p) && isxdigit(p[1])) {
+- h->udh[o] = (((isalpha(*p) ? 9 : 0) + (*p & 0xF)) << 4) + ((isalpha(p[1]) ? 9 : 0) + (p[1] & 0xF));
++ if (isxdigit((unsigned char)*p) && isxdigit((unsigned char)p[1])) {
++ h->udh[o] = (((isalpha((unsigned char)*p) ? 9 : 0) + (*p & 0xF)) << 4) + ((isalpha((unsigned char)p[1]) ? 9 : 0) + (p[1] & 0xF));
+ o++;
+ p += 2;
+ } else {
+@@ -1928,7 +1928,7 @@ static int sms_exec(struct ast_channel *
+ ast_copy_string(h.queue, sms_args.queue, sizeof(h.queue));
+
+ for (p = h.queue; *p; p++) {
+- if (!isalnum(*p)) {
++ if (!isalnum((unsigned char)*p)) {
+ *p = '-'; /* make very safe for filenames */
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,76 @@
+$NetBSD: patch-apps_app__voicemail.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- apps/app_voicemail.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ apps/app_voicemail.c
+@@ -5251,7 +5251,7 @@ static void make_email_file(FILE *p,
+ }
+ fprintf(p, "X-Asterisk-VM-Message-Type: %s" ENDL, msgnum > -1 ? "Message" : greeting_attachment);
+ fprintf(p, "X-Asterisk-VM-Orig-date: %s" ENDL, date);
+- fprintf(p, "X-Asterisk-VM-Orig-time: %ld" ENDL, (long) time(NULL));
++ fprintf(p, "X-Asterisk-VM-Orig-time: %jd" ENDL, (intmax_t) time(NULL));
+ fprintf(p, "X-Asterisk-VM-Message-ID: %s" ENDL, msg_id);
+ }
+ if (!ast_strlen_zero(cidnum)) {
+@@ -6202,7 +6202,7 @@ static void generate_msg_id(char *dst)
+ * but only in single system solutions.
+ */
+ unsigned int unique_counter = ast_atomic_fetchadd_int(&msg_id_incrementor, +1);
+- snprintf(dst, MSG_ID_LEN, "%ld-%08x", (long) time(NULL), unique_counter);
++ snprintf(dst, MSG_ID_LEN, "%jd-%08x", (intmax_t) time(NULL), unique_counter);
+ }
+
+ /*!
+@@ -6324,7 +6324,7 @@ static int msg_create_from_file(struct a
+ "callerchan=%s\n"
+ "callerid=%s\n"
+ "origdate=%s\n"
+- "origtime=%ld\n"
++ "origtime=%jd\n"
+ "category=%s\n"
+ "msg_id=%s\n"
+ "flag=\n" /* flags not supported in copy from file yet */
+@@ -6337,7 +6337,7 @@ static int msg_create_from_file(struct a
+ recdata->call_priority,
+ S_OR(recdata->call_callerchan, "Unknown"),
+ S_OR(recdata->call_callerid, "Unknown"),
+- date, (long) time(NULL),
++ date, (intmax_t) time(NULL),
+ S_OR(category, ""),
+ msg_id,
+ duration);
+@@ -6859,7 +6859,7 @@ static int leave_voicemail(struct ast_ch
+ /* Store information in real-time storage */
+ if (ast_check_realtime("voicemail_data")) {
+ snprintf(priority, sizeof(priority), "%d", ast_channel_priority(chan));
+- snprintf(origtime, sizeof(origtime), "%ld", (long) time(NULL));
++ snprintf(origtime, sizeof(origtime), "%jd", (intmax_t) time(NULL));
+ get_date(date, sizeof(date));
+ ast_callerid_merge(callerid, sizeof(callerid),
+ S_COR(ast_channel_caller(chan)->id.name.valid, ast_channel_caller(chan)->id.name.str, NULL),
+@@ -6903,7 +6903,7 @@ static int leave_voicemail(struct ast_ch
+ "callerchan=%s\n"
+ "callerid=%s\n"
+ "origdate=%s\n"
+- "origtime=%ld\n"
++ "origtime=%jd\n"
+ "category=%s\n"
+ "msg_id=%s\n",
+ ext,
+@@ -6915,7 +6915,7 @@ static int leave_voicemail(struct ast_ch
+ ast_channel_priority(chan),
+ ast_channel_name(chan),
+ callerid,
+- date, (long) time(NULL),
++ date, (intmax_t) time(NULL),
+ category ? category : "",
+ msg_id);
+ } else {
+@@ -11456,7 +11456,7 @@ static int vm_execmain(struct ast_channe
+ play_auto = 1;
+ if (!ast_strlen_zero(opts[OPT_ARG_PLAYFOLDER])) {
+ /* See if it is a folder name first */
+- if (isdigit(opts[OPT_ARG_PLAYFOLDER][0])) {
++ if (isdigit((unsigned char)opts[OPT_ARG_PLAYFOLDER][0])) {
+ if (sscanf(opts[OPT_ARG_PLAYFOLDER], "%30d", &play_folder) != 1) {
+ play_folder = -1;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig Sun Nov 14 02:30:21 2021
@@ -0,0 +1,19 @@
+$NetBSD: patch-build__tools_mkpkgconfig,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- build_tools/mkpkgconfig.orig 2015-10-09 21:48:48.000000000 +0000
++++ build_tools/mkpkgconfig
+@@ -22,11 +22,14 @@ else
+ fi
+
+ ## Clean out CFLAGS for the spec file.
++## pkgsrc -- the regex below isn't sed compatible, so always use perl
++EXTREGEX="perl -pe"
+ LOCAL_CFLAGS=`echo $CFLAGS | ${EXTREGEX} 's/-pipe\s*//g' | ${EXTREGEX} 's/-[Wmp]\S*\s*//g' | \
+ ${EXTREGEX} 's/\s+-I(include|\.\.\/include)\s+/ /g' | \
+ ${EXTREGEX} 's/-DINSTALL_PREFIX=\S* //g' | \
+ ${EXTREGEX} 's/-DASTERISK_VERSION=\S* //g' | \
+ ${EXTREGEX} 's/-DAST(ETCDIR|LIBDIR|VARLIBDIR|VARRUNDIR|SPOOLDIR|LOGDIR|CONFPATH|MODDIR|AGIDIR)=\S* //g' | \
++ ${EXTREGEX} "s;${WRKSRC};${PREFIX};g" | \
+ ${EXTREGEX} 's/^\s|\s$//g'`
+
+ cat <<EOF > "$PPATH/asterisk.pc"
Index: pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,31 @@
+$NetBSD: patch-cdr_cdr__pgsql.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- cdr/cdr_pgsql.c.orig 2016-09-30 20:36:17.000000000 +0000
++++ cdr/cdr_pgsql.c
+@@ -270,7 +270,7 @@ static int pgsql_log(struct ast_cdr *cdr
+ if (strcmp(cur->name, "start") == 0 || strcmp(cur->name, "calldate") == 0) {
+ if (strncmp(cur->type, "int", 3) == 0) {
+ LENGTHEN_BUF2(13);
+- ast_str_append(&sql2, 0, "%s%ld", separator, (long) cdr->start.tv_sec);
++ ast_str_append(&sql2, 0, "%s%jd", separator, (intmax_t) cdr->start.tv_sec);
+ } else if (strncmp(cur->type, "float", 5) == 0) {
+ LENGTHEN_BUF2(31);
+ ast_str_append(&sql2, 0, "%s%f", separator, (double)cdr->start.tv_sec + (double)cdr->start.tv_usec / 1000000.0);
+@@ -284,7 +284,7 @@ static int pgsql_log(struct ast_cdr *cdr
+ } else if (strcmp(cur->name, "answer") == 0) {
+ if (strncmp(cur->type, "int", 3) == 0) {
+ LENGTHEN_BUF2(13);
+- ast_str_append(&sql2, 0, "%s%ld", separator, (long) cdr->answer.tv_sec);
++ ast_str_append(&sql2, 0, "%s%jd", separator, (intmax_t) cdr->answer.tv_sec);
+ } else if (strncmp(cur->type, "float", 5) == 0) {
+ LENGTHEN_BUF2(31);
+ ast_str_append(&sql2, 0, "%s%f", separator, (double)cdr->answer.tv_sec + (double)cdr->answer.tv_usec / 1000000.0);
+@@ -298,7 +298,7 @@ static int pgsql_log(struct ast_cdr *cdr
+ } else if (strcmp(cur->name, "end") == 0) {
+ if (strncmp(cur->type, "int", 3) == 0) {
+ LENGTHEN_BUF2(13);
+- ast_str_append(&sql2, 0, "%s%ld", separator, (long) cdr->end.tv_sec);
++ ast_str_append(&sql2, 0, "%s%jd", separator, (intmax_t) cdr->end.tv_sec);
+ } else if (strncmp(cur->type, "float", 5) == 0) {
+ LENGTHEN_BUF2(31);
+ ast_str_append(&sql2, 0, "%s%f", separator, (double)cdr->end.tv_sec + (double)cdr->end.tv_usec / 1000000.0);
Index: pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-cel_cel__pgsql.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- cel/cel_pgsql.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ cel/cel_pgsql.c
+@@ -205,7 +205,7 @@ static void pgsql_log(struct ast_event *
+ if (strcmp(cur->name, "eventtime") == 0) {
+ if (strncmp(cur->type, "int", 3) == 0) {
+ LENGTHEN_BUF2(13);
+- ast_str_append(&sql2, 0, "%s%ld", SEP, (long) record.event_time.tv_sec);
++ ast_str_append(&sql2, 0, "%s%jd", SEP, (intmax_t) record.event_time.tv_sec);
+ } else if (strncmp(cur->type, "float", 5) == 0) {
+ LENGTHEN_BUF2(31);
+ ast_str_append(&sql2, 0, "%s%f",
Index: pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,32 @@
+$NetBSD: patch-channels_chan__pjsip.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- channels/chan_pjsip.c.orig 2019-09-05 13:09:20.000000000 +0000
++++ channels/chan_pjsip.c
+@@ -34,10 +34,6 @@
+
+ #include "asterisk.h"
+
+-#include <pjsip.h>
+-#include <pjsip_ua.h>
+-#include <pjlib.h>
+-
+ #include "asterisk/lock.h"
+ #include "asterisk/channel.h"
+ #include "asterisk/module.h"
+@@ -63,10 +59,14 @@
+ #include "asterisk/test.h"
+ #include "asterisk/message.h"
+
+-#include "asterisk/res_pjsip.h"
+-#include "asterisk/res_pjsip_session.h"
+ #include "asterisk/stream.h"
+
++#include <pjsip.h>
++#include <pjsip_ua.h>
++#include <pjlib.h>
++
++#include "asterisk/res_pjsip.h"
++#include "asterisk/res_pjsip_session.h"
+ #include "pjsip/include/chan_pjsip.h"
+ #include "pjsip/include/dialplan_functions.h"
+ #include "pjsip/include/cli_functions.h"
Index: pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-channels_chan__sip.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- channels/chan_sip.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ channels/chan_sip.c
+@@ -2411,7 +2411,7 @@ static int sip_is_token(const char *str)
+
+ is_token = 1;
+ do {
+- if (!isalnum(*str)
++ if (!isalnum((unsigned char)*str)
+ && !strchr("-.!%*_+`'~", *str)) {
+ /* The character is not allowed in a token. */
+ is_token = 0;
+@@ -11624,7 +11624,7 @@ static int process_sdp_a_image(const cha
+ * code reviews).
+ */
+ for (pos = attrib; *pos; ++pos) {
+- *pos = tolower(*pos);
++ *pos = tolower((unsigned char)*pos);
+ }
+
+ if ((sscanf(attrib, "t38faxmaxbuffer:%30u", &x) == 1)) {
+@@ -20014,7 +20014,7 @@ static int manager_show_registry(struct
+ "DomainPort: %d\r\n"
+ "Refresh: %d\r\n"
+ "State: %s\r\n"
+- "RegistrationTime: %ld\r\n"
++ "RegistrationTime: %jd\r\n"
+ "\r\n",
+ idtext,
+ iterator->hostname,
+@@ -20024,7 +20024,7 @@ static int manager_show_registry(struct
+ iterator->regdomainport ? iterator->regdomainport : STANDARD_SIP_PORT,
+ iterator->refresh,
+ regstate2str(iterator->regstate),
+- (long) iterator->regtime.tv_sec);
++ (intmax_t) iterator->regtime.tv_sec);
+
+ ao2_unlock(iterator);
+ ao2_t_ref(iterator, -1, "manager_show_registry iter");
Index: pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,33 @@
+$NetBSD: patch-channels_pjsip_cli__commands.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- channels/pjsip/cli_commands.c.orig 2018-06-20 14:37:54.485779459 +0000
++++ channels/pjsip/cli_commands.c
+@@ -26,20 +26,21 @@
+
+ #include "asterisk.h"
+
++#include "asterisk/astobj2.h"
++#include "asterisk/channel.h"
++#include "asterisk/format.h"
++#include "asterisk/stasis.h"
++#include "asterisk/time.h"
++#include "include/cli_functions.h"
++
+ #include <pjsip.h>
+ #include <pjlib.h>
+ #include <pjsip_ua.h>
+
+-#include "asterisk/astobj2.h"
+-#include "asterisk/channel.h"
+-#include "asterisk/format.h"
++#include "include/chan_pjsip.h"
+ #include "asterisk/res_pjsip.h"
+ #include "asterisk/res_pjsip_session.h"
+ #include "asterisk/res_pjsip_cli.h"
+-#include "asterisk/stasis.h"
+-#include "asterisk/time.h"
+-#include "include/chan_pjsip.h"
+-#include "include/cli_functions.h"
+
+
+ static int cli_channel_iterate(void *endpoint, ao2_callback_fn callback, void *arg)
Index: pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,32 @@
+$NetBSD: patch-channels_pjsip_dialplan__functions.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- channels/pjsip/dialplan_functions.c.orig 2018-06-20 14:39:31.934736437 +0000
++++ channels/pjsip/dialplan_functions.c
+@@ -450,10 +450,6 @@
+
+ #include "asterisk.h"
+
+-#include <pjsip.h>
+-#include <pjlib.h>
+-#include <pjsip_ua.h>
+-
+ #include "asterisk/astobj2.h"
+ #include "asterisk/module.h"
+ #include "asterisk/acl.h"
+@@ -463,10 +459,15 @@
+ #include "asterisk/format.h"
+ #include "asterisk/dsp.h"
+ #include "asterisk/pbx.h"
++#include "include/dialplan_functions.h"
++
++#include <pjsip.h>
++#include <pjlib.h>
++#include <pjsip_ua.h>
++
+ #include "asterisk/res_pjsip.h"
+ #include "asterisk/res_pjsip_session.h"
+ #include "include/chan_pjsip.h"
+-#include "include/dialplan_functions.h"
+
+ /*!
+ * \brief String representations of the T.38 state enum
Index: pkgsrc/comms/asterisk19/patches/patch-configure
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-configure:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-configure Sun Nov 14 02:30:21 2021
@@ -0,0 +1,222 @@
+$NetBSD: patch-configure,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- configure.orig 2021-03-04 16:46:08.000000000 +0000
++++ configure
+@@ -8963,12 +8963,12 @@ else
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for clang -fblocks" >&5
+ $as_echo_n "checking for clang -fblocks... " >&6; }
+- if test "`echo 'int main(){return ^{return 42;}();}' | ${CC} -o /dev/null -fblocks -x c - 2>&1`" = ""; then
++ if test "`echo 'int main(){return ^{return 42;}();}' | ${CC} ${LDFLAGS} -o /dev/null -fblocks -x c - 2>&1`" = ""; then
+ AST_CLANG_BLOCKS_LIBS=""
+ AST_CLANG_BLOCKS="-Wno-unknown-warning-option -fblocks"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+ $as_echo "yes" >&6; }
+- elif test "`echo 'int main(){return ^{return 42;}();}' | ${CC} -o /dev/null -fblocks -x c -lBlocksRuntime - 2>&1`" = ""; then
++ elif test "`echo 'int main(){return ^{return 42;}();}' | ${CC} ${LDFLAGS} -o /dev/null -fblocks -x c -lBlocksRuntime - 2>&1`" = ""; then
+ AST_CLANG_BLOCKS_LIBS="-lBlocksRuntime"
+ AST_CLANG_BLOCKS="-fblocks"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+@@ -9065,7 +9065,7 @@ if test "${with_pjproject_bundled+set}"
+ fi
+
+
+-if test "${with_pjproject}" == "no" || test "${with_pjproject}" == "n" ; then
++if test "${with_pjproject}" = "no" || test "${with_pjproject}" = "n" ; then
+ PJPROJECT_BUNDLED=no
+ fi
+
+@@ -14727,7 +14727,7 @@ fi
+
+
+
+-if test "${PERMANENT_DLOPEN}" == "yes"; then
++if test "${PERMANENT_DLOPEN}" = "yes"; then
+
+ $as_echo "#define HAVE_PERMANENT_DLOPEN 1" >>confdefs.h
+
+@@ -14761,7 +14761,7 @@ fi
+ done
+
+
+-ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default"
++ac_fn_c_check_header_mongrel "$LINENO" "poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default"
+ if test "x$ac_cv_header_sys_poll_h" = xyes; then :
+
+ else
+@@ -16776,7 +16776,7 @@ fi
+ done
+
+
+-for ac_func in asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll ftruncate getcwd gethostbyname gethostname getloadavg gettimeofday glob ioperm inet_ntoa isascii memchr memmove
memset mkdir mkdtemp munmap newlocale pipe2 ppoll putenv re_comp regcomp select setenv socket strcasecmp strcasestr strchr strcspn strdup strerror strlcat strlcpy strncasecmp strndup strnlen strrchr
strsep strspn strstr strtod strtol strtold strtoq unsetenv uselocale utime vasprintf getpeereid sysctl swapctl malloc_trim
++for ac_func in asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll ftruncate getcwd gethostbyname gethostname getloadavg gettimeofday glob ioperm inet_ntoa isascii memchr memmove
memset mkdir mkdtemp munmap newlocale pipe2 ppoll putenv re_comp regcomp select setenv socket strcasecmp strcasestr strchr strcspn strdup strerror strftime_l strlcat strlcpy strncasecmp strndup
strnlen strptime_l strrchr strsep strspn strstr strtod strtol strtold strtoq unsetenv uselocale utime vasprintf getpeereid sysctl swapctl malloc_trim
+ do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+@@ -17011,7 +17011,7 @@ rm -f core conftest.err conftest.$ac_obj
+ LDFLAGS=${old_LDFLAGS}
+ rm -f conftest.dynamics
+
+-ac_fn_c_check_header_mongrel "$LINENO" "sys/poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default"
++ac_fn_c_check_header_mongrel "$LINENO" "poll.h" "ac_cv_header_sys_poll_h" "$ac_includes_default"
+ if test "x$ac_cv_header_sys_poll_h" = xyes; then :
+ HAS_POLL=1
+
+@@ -19289,6 +19289,148 @@ rm -f core conftest.err conftest.$ac_obj
+
+
+
++if test "${ac_cv_header_sys_atomic_h+set}" = set; then
++ { $as_echo "$as_me:$LINENO: checking for sys/atomic.h" >&5
++$as_echo_n "checking for sys/atomic.h... " >&6; }
++if test "${ac_cv_header_sys_atomic_h+set}" = set; then
++ $as_echo_n "(cached) " >&6
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_atomic_h" >&5
++$as_echo "$ac_cv_header_sys_atomic_h" >&6; }
++else
++ # Is the header compilable?
++{ $as_echo "$as_me:$LINENO: checking sys/atomic.h usability" >&5
++$as_echo_n "checking sys/atomic.h usability... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <sys/atomic.h>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (ac_try="$ac_compile"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_compile") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } && {
++ test -z "$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ } && test -s conftest.$ac_objext; then
++ ac_header_compiler=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_compiler=no
++fi
++
++rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++$as_echo "$ac_header_compiler" >&6; }
++
++# Is the header present?
++{ $as_echo "$as_me:$LINENO: checking sys/atomic.h presence" >&5
++$as_echo_n "checking sys/atomic.h presence... " >&6; }
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <sys/atomic.h>
++_ACEOF
++if { (ac_try="$ac_cpp conftest.$ac_ext"
++case "(($ac_try" in
++ *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
++ *) ac_try_echo=$ac_try;;
++esac
++eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
++$as_echo "$ac_try_echo") >&5
++ (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null && {
++ test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
++ test ! -s conftest.err
++ }; then
++ ac_header_preproc=yes
++else
++ $as_echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++
++rm -f conftest.err conftest.$ac_ext
++{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++$as_echo "$ac_header_preproc" >&6; }
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: accepted by the compiler, rejected by the preprocessor!" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: proceeding with the compiler's result" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: present but cannot be compiled" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: present but cannot be compiled" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: check for missing prerequisite headers?" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: check for missing prerequisite headers?" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: see the Autoconf documentation" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: see the Autoconf documentation" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: section \"Present But Cannot Be Compiled\"" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: section \"Present But Cannot Be Compiled\"" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: proceeding with the preprocessor's result" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: proceeding with the preprocessor's result" >&2;}
++ { $as_echo "$as_me:$LINENO: WARNING: sys/atomic.h: in the future, the compiler will take precedence" >&5
++$as_echo "$as_me: WARNING: sys/atomic.h: in the future, the compiler will take precedence" >&2;}
++ ( cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to https://issues.asterisk.org ##
++## ------------------------------------------ ##
++_ASBOX
++ ) | sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++{ $as_echo "$as_me:$LINENO: checking for sys/atomic.h" >&5
++$as_echo_n "checking for sys/atomic.h... " >&6; }
++if test "${ac_cv_header_sys_atomic_h+set}" = set; then
++ $as_echo_n "(cached) " >&6
++else
++ ac_cv_header_sys_atomic_h=$ac_header_preproc
++fi
++{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_atomic_h" >&5
++$as_echo "$ac_cv_header_sys_atomic_h" >&6; }
++
++fi
++if test "x$ac_cv_header_sys_atomic_h" = x""yes; then
++
++cat >>confdefs.h <<_ACEOF
++#define HAVE_SYS_ATOMIC_H 1
++_ACEOF
++
++fi
++
++
++
+ # The cast to long int works around a bug in the HP C Compiler
+ # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects
+ # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'.
+@@ -20393,6 +20535,8 @@ $as_echo_n "checking for getifaddrs() su
+
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+ /* end confdefs.h. */
++ #include <sys/types.h>
++ #include <sys/socket.h>
+ #include <ifaddrs.h>
+ int
+ main ()
Index: pkgsrc/comms/asterisk19/patches/patch-configure.ac
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-configure.ac:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-configure.ac Sun Nov 14 02:30:21 2021
@@ -0,0 +1,34 @@
+$NetBSD: patch-configure.ac,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- configure.ac.orig 2021-03-04 16:46:08.000000000 +0000
++++ configure.ac
+@@ -751,7 +751,7 @@ AC_CHECK_HEADERS([xlocale.h])
+
+ AC_CHECK_HEADERS([winsock.h winsock2.h])
+
+-AC_CHECK_HEADER([sys/poll.h],
++AC_CHECK_HEADER([poll.h],
+ [],
+ AC_DEFINE([AST_POLL_COMPAT], 1, [Define to 1 if internal poll should be used.]))
+
+@@ -803,7 +803,7 @@ AC_FUNC_STRNLEN
+ AC_FUNC_STRTOD
+ AC_FUNC_UTIME_NULL
+ AC_FUNC_VPRINTF
+-AC_CHECK_FUNCS([asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll ftruncate getcwd gethostbyname gethostname getloadavg gettimeofday glob ioperm inet_ntoa isascii memchr memmove
memset mkdir mkdtemp munmap newlocale pipe2 ppoll putenv re_comp regcomp select setenv socket strcasecmp strcasestr strchr strcspn strdup strerror strlcat strlcpy strncasecmp strndup strnlen strrchr
strsep strspn strstr strtod strtol strtold strtoq unsetenv uselocale utime vasprintf getpeereid sysctl swapctl malloc_trim])
++AC_CHECK_FUNCS([asprintf atexit closefrom dup2 eaccess endpwent euidaccess ffsll ftruncate getcwd gethostbyname gethostname getloadavg gettimeofday glob ioperm inet_ntoa isascii memchr memmove
memset mkdir mkdtemp munmap newlocale pipe2 ppoll putenv re_comp regcomp select setenv socket strcasecmp strcasestr strchr strcspn strdup strerror strftime_l strlcat strlcpy strncasecmp strndup
strnlen strptime_l strrchr strsep strspn strstr strtod strtol strtold strtoq unsetenv uselocale utime vasprintf getpeereid sysctl swapctl malloc_trim])
+
+ AC_MSG_CHECKING(for htonll)
+ AC_LINK_IFELSE(
+@@ -872,9 +872,9 @@ AC_SUBST(PBX_DYNAMIC_LIST)
+ LDFLAGS=${old_LDFLAGS}
+ rm -f conftest.dynamics
+
+-AC_CHECK_HEADER([sys/poll.h],
++AC_CHECK_HEADER([poll.h],
+ [HAS_POLL=1]
+- AC_DEFINE([HAVE_SYS_POLL_H], 1, [Define to 1 if your system has working sys/poll.h]),
++ AC_DEFINE([HAVE_SYS_POLL_H], 1, [Define to 1 if your system has working poll.h]),
+ )
+
+ AC_ARG_ENABLE([internal-poll],
Index: pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi Sun Nov 14 02:30:21 2021
@@ -0,0 +1,181 @@
+$NetBSD: patch-contrib_scripts_vmail.cgi,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- contrib/scripts/vmail.cgi.orig 2015-10-09 21:48:48.000000000 +0000
++++ contrib/scripts/vmail.cgi
+@@ -145,7 +145,7 @@ sub check_login($$)
+ $context = "default";
+ }
+ if (!$filename) {
+- $filename = "/etc/asterisk/voicemail.conf";
++ $filename = "@ASTETCDIR@/voicemail.conf";
+ }
+ # print header;
+ # print "Including <h2>$filename</h2> while in <h2>$category</h2>...\n";
+@@ -153,7 +153,7 @@ sub check_login($$)
+ while(<VMAIL>) {
+ chomp;
+ if (/include\s\"([^\"]+)\"$/) {
+- ($tmp, $category) = &check_login("/etc/asterisk/$1", $category);
++ ($tmp, $category) = &check_login("@ASTETCDIR@/$1", $category);
+ if (length($tmp)) {
+ # print "Got '$tmp'\n";
+ return ($tmp, $category);
+@@ -200,7 +200,7 @@ sub check_login_users {
+ my ($mbox, $context) = split(/\@/, param('mailbox'));
+ my $pass = param('password');
+ my ($found, $fullname) = (0, "");
+- open VMAIL, "</etc/asterisk/users.conf";
++ open VMAIL, "<@ASTETCDIR@/users.conf";
+ while (<VMAIL>) {
+ chomp;
+ if (m/\[(.*)\]/) {
+@@ -242,7 +242,7 @@ sub validmailbox($$$$)
+ $context = "default";
+ }
+ if (!$filename) {
+- $filename = "/etc/asterisk/voicemail.conf";
++ $filename = "@ASTETCDIR@/voicemail.conf";
+ }
+ if (!$category) {
+ $category = "general";
+@@ -251,7 +251,7 @@ sub validmailbox($$$$)
+ while (<VMAIL>) {
+ chomp;
+ if (/include\s\"([^\"]+)\"$/) {
+- ($tmp, $category) = &validmailbox($mbox, $context, "/etc/asterisk/$1");
++ ($tmp, $category) = &validmailbox($mbox, $context, "@ASTETCDIR@/$1");
+ if ($tmp) {
+ return ($tmp, $category);
+ }
+@@ -298,7 +298,7 @@ sub mailbox_options()
+ local $tmp2;
+ local $tmp;
+ if (!$filename) {
+- $filename = "/etc/asterisk/voicemail.conf";
++ $filename = "@ASTETCDIR@/voicemail.conf";
+ }
+ if (!$category) {
+ $category = "general";
+@@ -386,7 +386,7 @@ sub mailbox_list()
+ sub msgcount()
+ {
+ my ($context, $mailbox, $folder) = @_;
+- my $path = "/var/spool/asterisk/voicemail/$context/$mailbox/$folder";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$mailbox/$folder";
+ if (opendir(DIR, $path)) {
+ my @msgs = grep(/^msg....\.txt$/, readdir(DIR));
+ closedir(DIR);
+@@ -410,7 +410,7 @@ sub msgcountstr()
+ sub messages()
+ {
+ my ($context, $mailbox, $folder) = @_;
+- my $path = "/var/spool/asterisk/voicemail/$context/$mailbox/$folder";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$mailbox/$folder";
+ if (opendir(DIR, $path)) {
+ my @msgs = sort grep(/^msg....\.txt$/, readdir(DIR));
+ closedir(DIR);
+@@ -435,7 +435,7 @@ sub getfields()
+ {
+ my ($context, $mailbox, $folder, $msg) = @_;
+ my $fields;
+- if (open(MSG, "</var/spool/asterisk/voicemail/$context/$mailbox/$folder/msg${msg}.txt")) {
++ if (open(MSG, "<@ASTSPOOLDIR@/voicemail/$context/$mailbox/$folder/msg${msg}.txt")) {
+ while(<MSG>) {
+ s/\#.*$//g;
+ if (/^(\w+)\s*\=\s*(.*)$/) {
+@@ -560,7 +560,7 @@ _EOH
+ <input name="action" type=submit value="download">
+ </td></tr>
+ <tr><td colspan=2 align=center>
+-<embed width=400 height=40 src="vmail.cgi?action=audio&folder=$folder&mailbox=$mbox&context=$context&password=$passwd&msgid=$msgid&format=$format&dontcasheme=$$.$format" autostart=yes
loop=false></embed>
++<embed width=400 height=40 src="vmail?action=audio&folder=$folder&mailbox=$mbox&context=$context&password=$passwd&msgid=$msgid&format=$format&dontcasheme=$$.$format" autostart=yes
loop=false></embed>
+ </td></tr></table>
+ </td></tr>
+ </table>
+@@ -588,7 +588,7 @@ sub message_audio()
+ }
+ &untaint($format);
+
+- my $path = "/var/spool/asterisk/voicemail/$context/$mailbox/$folder/msg${msgid}.$format";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$mailbox/$folder/msg${msgid}.$format";
+
+ $msgid =~ /^\d\d\d\d$/ || die("Msgid Liar ($msgid)!");
+ grep(/^${format}$/, keys %formats) || die("Format Liar ($format)!");
+@@ -809,11 +809,11 @@ sub message_rename()
+ die("Invalid old Message<BR>\n");
+ }
+
+- my $path = "/var/spool/asterisk/voicemail/$context/$mbox/$newfolder";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$newfolder";
+ $path =~ /^(.*)$/;
+ $path = $1;
+ mkdir $path, 0770;
+- $path = "/var/spool/asterisk/voicemail/$context/$mbox/$oldfolder";
++ $path = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$oldfolder";
+ opendir(DIR, $path) || die("Unable to open directory\n");
+ my @files = grep /^msg${old}\.\w+$/, readdir(DIR);
+ closedir(DIR);
+@@ -823,7 +823,7 @@ sub message_rename()
+ $tmp = $1;
+ $oldfile = $path . "/$tmp";
+ $tmp =~ s/msg${old}/msg${new}/;
+- $newfile = "/var/spool/asterisk/voicemail/$context/$mbox/$newfolder/$tmp";
++ $newfile = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$newfolder/$tmp";
+ # print "Renaming $oldfile to $newfile<BR>\n";
+ rename($oldfile, $newfile);
+ }
+@@ -884,15 +884,15 @@ sub message_copy()
+ die("Invalid old Message<BR>\n");
+ }
+
+- my $path = "/var/spool/asterisk/voicemail/$context/$newmbox";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$newmbox";
+ $path =~ /^(.*)$/;
+ $path = $1;
+ mkdir $path, 0770;
+- $path = "/var/spool/asterisk/voicemail/$context/$newmbox/INBOX";
++ $path = "@ASTSPOOLDIR@/voicemail/$context/$newmbox/INBOX";
+ $path =~ /^(.*)$/;
+ $path = $1;
+ mkdir $path, 0770;
+- $path = "/var/spool/asterisk/voicemail/$context/$mbox/$oldfolder";
++ $path = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$oldfolder";
+ opendir(DIR, $path) || die("Unable to open directory\n");
+ my @files = grep /^msg${old}\.\w+$/, readdir(DIR);
+ closedir(DIR);
+@@ -902,7 +902,7 @@ sub message_copy()
+ $tmp = $1;
+ $oldfile = $path . "/$tmp";
+ $tmp =~ s/msg${old}/msg${new}/;
+- $newfile = "/var/spool/asterisk/voicemail/$context/$newmbox/INBOX/$tmp";
++ $newfile = "@ASTSPOOLDIR@/voicemail/$context/$newmbox/INBOX/$tmp";
+ # print "Copying $oldfile to $newfile<BR>\n";
+ &file_copy($oldfile, $newfile);
+ }
+@@ -932,7 +932,7 @@ sub message_delete()
+ } else {
+ die("Invalid Message<BR>\n");
+ }
+- my $path = "/var/spool/asterisk/voicemail/$context/$mbox/$folder";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$folder";
+ opendir(DIR, $path) || die("Unable to open directory\n");
+ my @files = grep /^msg${msg}\.\w+$/, readdir(DIR);
+ closedir(DIR);
+@@ -968,7 +968,7 @@ sub message_forward()
+ my $txt;
+ $context = &untaint($context);
+ $newmbox = &untaint($newmbox);
+- my $path = "/var/spool/asterisk/voicemail/$context/$newmbox/INBOX";
++ my $path = "@ASTSPOOLDIR@/voicemail/$context/$newmbox/INBOX";
+ if ($msgs[0]) {
+ if (&lock_path($path) == 0) {
+ $msgcount = &msgcount($context, $newmbox, "INBOX");
+@@ -1018,7 +1018,7 @@ sub message_delete_or_move()
+ $context = &untaint($context);
+ $mbox = &untaint($mbox);
+ $folder = &untaint($folder);
+- $path = "/var/spool/asterisk/voicemail/$context/$mbox/$folder";
++ $path = "@ASTSPOOLDIR@/voicemail/$context/$mbox/$folder";
+ if ($msgs[0]) {
+ if (&lock_path($path) == 0) {
+ my $msgcount = &msgcount($context, $mbox, $folder);
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-funcs_func__cdr.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_cdr.c.orig 2018-05-07 17:23:06.705808560 +0000
++++ funcs/func_cdr.c
+@@ -547,7 +547,7 @@ static int cdr_write(struct ast_channel
+
+ ast_log(LOG_WARNING, "Using the %s function to set 'amaflags' is deprecated. Please use the CHANNEL function instead.\n",
+ cmd);
+- if (isdigit(*value)) {
++ if (isdigit((unsigned char)*value)) {
+ if (sscanf(value, "%30d", &amaflags) != 1) {
+ amaflags = AST_AMA_NONE;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-funcs_func__channel.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_channel.c.orig 2018-05-07 17:22:10.785599288 +0000
++++ funcs/func_channel.c
+@@ -492,7 +492,7 @@ static int func_channel_write_real(struc
+ } else if (!strcasecmp(data, "amaflags")) {
+ int amaflags;
+
+- if (isdigit(*value)) {
++ if (isdigit((unsigned char)*value)) {
+ if (sscanf(value, "%30d", &amaflags) != 1) {
+ amaflags = AST_AMA_NONE;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,49 @@
+$NetBSD: patch-funcs_func__env.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_env.c.orig 2019-09-05 13:09:20.000000000 +0000
++++ funcs/func_env.c
+@@ -408,11 +408,11 @@ static int file_count_line(struct ast_ch
+
+ AST_STANDARD_APP_ARGS(args, data);
+ if (args.argc > 1) {
+- if (tolower(args.format[0]) == 'd') {
++ if (tolower((unsigned char)args.format[0]) == 'd') {
+ newline_format = FF_DOS;
+- } else if (tolower(args.format[0]) == 'm') {
++ } else if (tolower((unsigned char)args.format[0]) == 'm') {
+ newline_format = FF_MAC;
+- } else if (tolower(args.format[0]) == 'u') {
++ } else if (tolower((unsigned char)args.format[0]) == 'u') {
+ newline_format = FF_UNIX;
+ }
+ }
+@@ -570,11 +570,11 @@ static int file_read(struct ast_channel
+
+ /* Line-based read */
+ if (args.argc == 5) {
+- if (tolower(args.fileformat[0]) == 'd') {
++ if (tolower((unsigned char)args.fileformat[0]) == 'd') {
+ format = FF_DOS;
+- } else if (tolower(args.fileformat[0]) == 'm') {
++ } else if (tolower((unsigned char)args.fileformat[0]) == 'm') {
+ format = FF_MAC;
+- } else if (tolower(args.fileformat[0]) == 'u') {
++ } else if (tolower((unsigned char)args.fileformat[0]) == 'u') {
+ format = FF_UNIX;
+ }
+ }
+@@ -935,11 +935,11 @@ static int file_write(struct ast_channel
+
+ /* Line mode */
+ if (args.argc == 5) {
+- if (tolower(args.format[0]) == 'u') {
++ if (tolower((unsigned char)args.format[0]) == 'u') {
+ newline_format = FF_UNIX;
+- } else if (tolower(args.format[0]) == 'm') {
++ } else if (tolower((unsigned char)args.format[0]) == 'm') {
+ newline_format = FF_MAC;
+- } else if (tolower(args.format[0]) == 'd') {
++ } else if (tolower((unsigned char)args.format[0]) == 'd') {
+ newline_format = FF_DOS;
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-funcs_func__pjsip__aor.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_pjsip_aor.c.orig 2018-06-20 14:41:48.304859278 +0000
++++ funcs/func_pjsip_aor.c
+@@ -34,13 +34,14 @@
+
+ #include "asterisk.h"
+
+-#include <pjsip.h>
+-#include <pjlib.h>
+-
+ #include "asterisk/app.h"
+ #include "asterisk/pbx.h"
+ #include "asterisk/module.h"
+ #include "asterisk/sorcery.h"
++
++#include <pjsip.h>
++#include <pjlib.h>
++
+ #include "asterisk/res_pjsip.h"
+
+ /*** DOCUMENTATION
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-funcs_func__pjsip__contact.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_pjsip_contact.c.orig 2018-06-20 14:41:26.963425573 +0000
++++ funcs/func_pjsip_contact.c
+@@ -34,13 +34,14 @@
+
+ #include "asterisk.h"
+
+-#include <pjsip.h>
+-#include <pjlib.h>
+-
+ #include "asterisk/app.h"
+ #include "asterisk/pbx.h"
+ #include "asterisk/module.h"
+ #include "asterisk/sorcery.h"
++
++#include <pjsip.h>
++#include <pjlib.h>
++
+ #include "asterisk/res_pjsip.h"
+
+ /*** DOCUMENTATION
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,23 @@
+$NetBSD: patch-funcs_func__pjsip__endpoint.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_pjsip_endpoint.c.orig 2018-06-20 14:41:38.307201390 +0000
++++ funcs/func_pjsip_endpoint.c
+@@ -34,14 +34,15 @@
+
+ #include "asterisk.h"
+
+-#include <pjsip.h>
+-#include <pjlib.h>
+-
+ #include "asterisk/app.h"
+ #include "asterisk/pbx.h"
+ #include "asterisk/module.h"
+ #include "asterisk/channel.h"
+ #include "asterisk/sorcery.h"
++
++#include <pjsip.h>
++#include <pjlib.h>
++
+ #include "asterisk/res_pjsip.h"
+
+ /*** DOCUMENTATION
Index: pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-funcs_func__strings.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- funcs/func_strings.c.orig 2018-05-07 17:21:13.413282206 +0000
++++ funcs/func_strings.c
+@@ -1483,7 +1483,7 @@ static int string_toupper(struct ast_cha
+ {
+ char *bufptr = buf, *dataptr = data;
+
+- while ((bufptr < buf + buflen - 1) && (*bufptr++ = toupper(*dataptr++)));
++ while ((bufptr < buf + buflen - 1) && (*bufptr++ = toupper((unsigned char)*dataptr++)));
+
+ return 0;
+ }
+@@ -1496,7 +1496,7 @@ static int string_toupper2(struct ast_ch
+ ast_str_make_space(buf, buflen > 0 ? buflen : strlen(data) + 1);
+ }
+ bufptr = ast_str_buffer(*buf);
+- while ((bufptr < ast_str_buffer(*buf) + ast_str_size(*buf) - 1) && (*bufptr++ = toupper(*dataptr++)));
++ while ((bufptr < ast_str_buffer(*buf) + ast_str_size(*buf) - 1) && (*bufptr++ = toupper((unsigned char)*dataptr++)));
+ ast_str_update(*buf);
+
+ return 0;
+@@ -1512,7 +1512,7 @@ static int string_tolower(struct ast_cha
+ {
+ char *bufptr = buf, *dataptr = data;
+
+- while ((bufptr < buf + buflen - 1) && (*bufptr++ = tolower(*dataptr++)));
++ while ((bufptr < buf + buflen - 1) && (*bufptr++ = tolower((unsigned char)*dataptr++)));
+
+ return 0;
+ }
+@@ -1525,7 +1525,7 @@ static int string_tolower2(struct ast_ch
+ ast_str_make_space(buf, buflen > 0 ? buflen : strlen(data) + 1);
+ }
+ bufptr = ast_str_buffer(*buf);
+- while ((bufptr < ast_str_buffer(*buf) + ast_str_size(*buf) - 1) && (*bufptr++ = tolower(*dataptr++)));
++ while ((bufptr < ast_str_buffer(*buf) + ast_str_size(*buf) - 1) && (*bufptr++ = tolower((unsigned char)*dataptr++)));
+ ast_str_update(*buf);
+
+ return 0;
Index: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in Sun Nov 14 02:30:21 2021
@@ -0,0 +1,27 @@
+$NetBSD: patch-include_asterisk_autoconfig.h.in,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- include/asterisk/autoconfig.h.in.orig 2016-10-25 19:27:49.000000000 +0000
++++ include/asterisk/autoconfig.h.in
+@@ -945,6 +945,12 @@
+ /* Define to 1 if you have the `strstr' function. */
+ #undef HAVE_STRSTR
+
++/* Define to 1 if you have the `strftime_l' function. */
++#undef HAVE_STRFTIME_L
++
++/* Define to 1 if you have the `strptime_l' function. */
++#undef HAVE_STRPTIME_L
++
+ /* Define to 1 if you have the `strtod' function. */
+ #undef HAVE_STRTOD
+
+@@ -1032,6 +1038,9 @@
+ /* Define if your system has the SYSTEMD libraries. */
+ #undef HAVE_SYSTEMD
+
++/* Define to 1 if sys/atomic.h atomic operations are supported. */
++#undef HAVE_SYS_ATOMIC_H
++
+ /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
+ */
+ #undef HAVE_SYS_DIR_H
Index: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h Sun Nov 14 02:30:21 2021
@@ -0,0 +1,31 @@
+$NetBSD: patch-include_asterisk_lock.h,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- include/asterisk/lock.h.orig 2021-03-04 16:46:08.000000000 +0000
++++ include/asterisk/lock.h
+@@ -616,6 +616,17 @@ static void __attribute__((destructor))
+ */
+ #define SCOPED_CHANNELLOCK(varname, chan) SCOPED_LOCK(varname, (chan), ast_channel_lock, ast_channel_unlock)
+
++#undef pthread_mutex_lock
++#undef pthread_mutex_unlock
++#undef pthread_mutex_trylock
++#undef pthread_mutex_init
++#undef pthread_mutex_destroy
++#undef pthread_cond_init
++#undef pthread_cond_destroy
++#undef pthread_cond_signal
++#undef pthread_cond_broadcast
++#undef pthread_cond_wait
++#undef pthread_cond_timedwait
+ #ifndef __CYGWIN__ /* temporary disabled for cygwin */
+ #define pthread_mutex_t use_ast_mutex_t_instead_of_pthread_mutex_t
+ #define pthread_cond_t use_ast_cond_t_instead_of_pthread_cond_t
+@@ -636,7 +647,7 @@ static void __attribute__((destructor))
+
+ #define gethostbyname __gethostbyname__is__not__reentrant__use__ast_gethostbyname__instead__
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__DragonFly__)
+ #define pthread_create __use_ast_pthread_create_instead__
+ #endif
+
Index: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h Sun Nov 14 02:30:21 2021
@@ -0,0 +1,131 @@
+$NetBSD: patch-include_asterisk_sha1.h,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- include/asterisk/sha1.h.orig 2016-09-09 16:14:37.000000000 +0000
++++ include/asterisk/sha1.h
+@@ -191,49 +191,6 @@ typedef struct SHA256Context SHA224Conte
+ typedef struct SHA512Context SHA384Context;
+
+ /*
+- * This structure holds context information for all SHA
+- * hashing operations.
+- */
+-typedef struct USHAContext {
+- int whichSha; /* which SHA is being used */
+- union {
+- SHA1Context sha1Context;
+- SHA224Context sha224Context; SHA256Context sha256Context;
+- SHA384Context sha384Context; SHA512Context sha512Context;
+- } ctx;
+-} USHAContext;
+-
+-/*
+- * This structure will hold context information for the HMAC
+- * keyed-hashing operation.
+- */
+-typedef struct HMACContext {
+- int whichSha; /* which SHA is being used */
+- int hashSize; /* hash size of SHA being used */
+- int blockSize; /* block size of SHA being used */
+- USHAContext shaContext; /* SHA context */
+- unsigned char k_opad[USHA_Max_Message_Block_Size];
+- /* outer padding - key XORd with opad */
+- int Computed; /* Is the MAC computed? */
+- int Corrupted; /* Cumulative corruption code */
+-
+-} HMACContext;
+-
+-/*
+- * This structure will hold context information for the HKDF
+- * extract-and-expand Key Derivation Functions.
+- */
+-typedef struct HKDFContext {
+- int whichSha; /* which SHA is being used */
+- HMACContext hmacContext;
+- int hashSize; /* hash size of SHA being used */
+- unsigned char prk[USHAMaxHashSize];
+- /* pseudo-random key - output of hkdfInput */
+- int Computed; /* Is the key material computed? */
+- int Corrupted; /* Cumulative corruption code */
+-} HKDFContext;
+-
+-/*
+ * Function Prototypes
+ */
+
+@@ -281,76 +238,6 @@ extern int SHA512FinalBits(SHA512Context
+ extern int SHA512Result(SHA512Context *,
+ uint8_t Message_Digest[SHA512HashSize]);
+
+-/* Unified SHA functions, chosen by whichSha */
+-extern int USHAReset(USHAContext *context, SHAversion whichSha);
+-extern int USHAInput(USHAContext *context,
+- const uint8_t *bytes, unsigned int bytecount);
+-extern int USHAFinalBits(USHAContext *context,
+- uint8_t bits, unsigned int bit_count);
+-extern int USHAResult(USHAContext *context,
+- uint8_t Message_Digest[USHAMaxHashSize]);
+-extern int USHABlockSize(enum SHAversion whichSha);
+-extern int USHAHashSize(enum SHAversion whichSha);
+-extern int USHAHashSizeBits(enum SHAversion whichSha);
+-extern const char *USHAHashName(enum SHAversion whichSha);
+-
+-/*
+- * HMAC Keyed-Hashing for Message Authentication, RFC 2104,
+- * for all SHAs.
+- * This interface allows a fixed-length text input to be used.
+- */
+-extern int hmac(SHAversion whichSha, /* which SHA algorithm to use */
+- const unsigned char *text, /* pointer to data stream */
+- int text_len, /* length of data stream */
+- const unsigned char *key, /* pointer to authentication key */
+- int key_len, /* length of authentication key */
+- uint8_t digest[USHAMaxHashSize]); /* caller digest to fill in */
+-
+-/*
+- * HMAC Keyed-Hashing for Message Authentication, RFC 2104,
+- * for all SHAs.
+- * This interface allows any length of text input to be used.
+- */
+-extern int hmacReset(HMACContext *context, enum SHAversion whichSha,
+- const unsigned char *key, int key_len);
+-extern int hmacInput(HMACContext *context, const unsigned char *text,
+- int text_len);
+-extern int hmacFinalBits(HMACContext *context, uint8_t bits,
+- unsigned int bit_count);
+-extern int hmacResult(HMACContext *context,
+- uint8_t digest[USHAMaxHashSize]);
+-
+-/*
+- * HKDF HMAC-based Extract-and-Expand Key Derivation Function,
+- * RFC 5869, for all SHAs.
+- */
+-extern int hkdf(SHAversion whichSha, const unsigned char *salt,
+- int salt_len, const unsigned char *ikm, int ikm_len,
+- const unsigned char *info, int info_len,
+- uint8_t okm[ ], int okm_len);
+-extern int hkdfExtract(SHAversion whichSha, const unsigned char *salt,
+- int salt_len, const unsigned char *ikm,
+- int ikm_len, uint8_t prk[USHAMaxHashSize]);
+-extern int hkdfExpand(SHAversion whichSha, const uint8_t prk[ ],
+- int prk_len, const unsigned char *info,
+- int info_len, uint8_t okm[ ], int okm_len);
+-
+-/*
+- * HKDF HMAC-based Extract-and-Expand Key Derivation Function,
+- * RFC 5869, for all SHAs.
+- * This interface allows any length of text input to be used.
+- */
+-extern int hkdfReset(HKDFContext *context, enum SHAversion whichSha,
+- const unsigned char *salt, int salt_len);
+-extern int hkdfInput(HKDFContext *context, const unsigned char *ikm,
+- int ikm_len);
+-extern int hkdfFinalBits(HKDFContext *context, uint8_t ikm_bits,
+- unsigned int ikm_bit_count);
+-extern int hkdfResult(HKDFContext *context,
+- uint8_t prk[USHAMaxHashSize],
+- const unsigned char *info, int info_len,
+- uint8_t okm[USHAMaxHashSize], int okm_len);
+-
+ /************************ sha-private.h ************************/
+ /***************** See RFC 6234 for details. *******************/
+ /*
Index: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-include_asterisk_strings.h,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- include/asterisk/strings.h.orig 2018-05-01 20:12:26.000000000 +0000
++++ include/asterisk/strings.h
+@@ -1168,7 +1168,7 @@ char *ast_tech_to_upper(char *dev_str),
+ }
+
+ for (pos = dev_str; *pos && *pos != '/'; pos++) {
+- *pos = toupper(*pos);
++ *pos = toupper((unsigned char)*pos);
+ }
+ return dev_str;
+ }
+@@ -1244,7 +1244,7 @@ static force_inline int attribute_pure a
+ unsigned int hash = 5381;
+
+ while (*str) {
+- hash = hash * 33 ^ (unsigned char) tolower(*str++);
++ hash = hash * 33 ^ tolower((unsigned char)*str++);
+ }
+
+ return ast_str_hash_restrict(hash);
+@@ -1265,7 +1265,7 @@ static force_inline char *attribute_pure
+ }
+
+ for (; *str; ++str) {
+- *str = tolower(*str);
++ *str = tolower((unsigned char)*str);
+ }
+
+ return str_orig;
+@@ -1286,7 +1286,7 @@ static force_inline char *attribute_pure
+ }
+
+ for (; *str; ++str) {
+- *str = toupper(*str);
++ *str = toupper((unsigned char)*str);
+ }
+
+ return str_orig;
Index: pkgsrc/comms/asterisk19/patches/patch-main_Makefile
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_Makefile:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_Makefile Sun Nov 14 02:30:21 2021
@@ -0,0 +1,38 @@
+$NetBSD: patch-main_Makefile,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/Makefile.orig 2021-03-04 16:46:08.000000000 +0000
++++ main/Makefile
+@@ -97,6 +97,10 @@ ifeq ($(OSARCH),OpenBSD)
+ AST_LIBS+=-lcrypto -lpthread -lm
+ endif
+
++ifeq ($(OSARCH),dragonfly)
++ AST_LIBS+=-lpthread
++endif
++
+ ifeq ($(OSARCH),SunOS)
+ AST_LIBS+=-lpthread -ldl -lrt -lnsl -lsocket -lresolv
+ ASTSSL_LIBS+=-L/opt/ssl/lib -L/usr/local/ssl/lib
+@@ -243,7 +247,7 @@ libasteriskpj.o: _ASTCFLAGS+=$(PJPROJECT
+ ifeq ($(PJPROJECT_BUNDLED),yes)
+
+ ASTPJ_SO_VERSION=2
+-ASTPJ_LDLIBS=-L. -lasteriskpj
++ASTPJ_LDLIBS=${COMPILER_RPATH_FLAG}${PREFIX}/lib/asterisk -L. -lasteriskpj
+
+ PJDIR=$(ASTTOPDIR)/$(PJPROJECT_DIR)/source
+ -include $(ASTTOPDIR)/$(PJPROJECT_DIR)/build.mak
+@@ -330,10 +334,10 @@ bininstall:
+ $(INSTALL) -m 755 $(MAIN_TGT) "$(DESTDIR)$(ASTSBINDIR)/"
+ ifeq ($(AST_ASTERISKSSL),yes)
+ ifeq ($(findstring darwin,$(OSARCH)),) # not Darwin
+- $(INSTALL) -m 755 $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(ASTLIBDIR)/"
+- $(LN) -sf $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(ASTLIBDIR)/$(ASTSSL_LIB)"
++ $(INSTALL) -m 755 $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(PREFIX)/lib/"
++ $(LN) -sf $(ASTSSL_LIB).$(ASTSSL_SO_VERSION) "$(DESTDIR)$(PREFIX)/lib/$(ASTSSL_LIB)"
+ else # Darwin
+- $(INSTALL) -m 755 $(ASTSSL_LIB) "$(DESTDIR)$(ASTLIBDIR)/"
++ $(INSTALL) -m 755 $(ASTSSL_LIB) "$(DESTDIR)$(PREFIX)/lib/"
+ endif
+ endif
+ ifeq ($(PJPROJECT_BUNDLED),yes)
Index: pkgsrc/comms/asterisk19/patches/patch-main_acl.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_acl.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_acl.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-main_acl.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/acl.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/acl.c
+@@ -127,7 +127,7 @@ static int get_local_address(struct ast_
+ char *buf = NULL;
+ int bufsz, x;
+ #endif /* SOLARIS */
+-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__)
++#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__DragonFly__) || defined(__GLIBC__)
+ struct ifaddrs *ifap, *ifaphead;
+ int rtnerr;
+ const struct sockaddr_in *sin;
+@@ -136,7 +136,7 @@ static int get_local_address(struct ast_
+ int best_score = -100;
+ memset(&best_addr, 0, sizeof(best_addr));
+
+-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__)
++#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__DragonFly__) || defined(__GLIBC__)
+ rtnerr = getifaddrs(&ifaphead);
+ if (rtnerr) {
+ perror(NULL);
+@@ -147,7 +147,7 @@ static int get_local_address(struct ast_
+ s = socket(AF_INET, SOCK_STREAM, 0);
+
+ if (s > 0) {
+-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__GLIBC__)
++#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__DragonFly__) || defined(__GLIBC__)
+ for (ifap = ifaphead; ifap; ifap = ifap->ifa_next) {
+
+ if (ifap->ifa_addr && ifap->ifa_addr->sa_family == AF_INET) {
+@@ -206,7 +206,7 @@ static int get_local_address(struct ast_
+
+ close(s);
+ }
+-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__)
++#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__linux__) || defined(__Darwin__) || defined(__DragonFly__)
+ freeifaddrs(ifaphead);
+ #endif /* BSD_OR_LINUX */
+
Index: pkgsrc/comms/asterisk19/patches/patch-main_app.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_app.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_app.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_app.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/app.c.orig 2018-05-07 17:23:29.870389813 +0000
++++ main/app.c
+@@ -3085,7 +3085,7 @@ int ast_app_parse_timelen(const char *ti
+ break;
+ case 'm':
+ case 'M':
+- if (toupper(u[1]) == 'S') {
++ if (toupper((unsigned char)u[1]) == 'S') {
+ unit = TIMELEN_MILLISECONDS;
+ if (u[2] != '\0') {
+ return -1;
Index: pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,16 @@
+$NetBSD: patch-main_ast__expr2.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/ast_expr2.c.orig 2018-05-07 17:49:06.171631311 +0000
++++ main/ast_expr2.c
+@@ -2545,9 +2545,9 @@ make_str (const char *s)
+ return(NULL);
+ }
+
+- for (i = 0, isint = (isdigit(s[0]) || s[0] == '-' || s[0]=='.'); isint && i < strlen(s); i++)
++ for (i = 0, isint = (isdigit((unsigned char)s[0]) || s[0] == '-' || s[0]=='.'); isint && i < strlen(s); i++)
+ {
+- if (!isdigit(s[i]) && s[i] != '.') {
++ if (!isdigit((unsigned char)s[i]) && s[i] != '.') {
+ isint = 0;
+ break;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y Sun Nov 14 02:30:21 2021
@@ -0,0 +1,16 @@
+$NetBSD: patch-main_ast__expr2.y,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/ast_expr2.y.orig 2018-05-07 17:23:43.934750158 +0000
++++ main/ast_expr2.y
+@@ -538,9 +538,9 @@ make_str (const char *s)
+ return(NULL);
+ }
+
+- for (i = 0, isint = (isdigit(s[0]) || s[0] == '-' || s[0]=='.'); isint && i < strlen(s); i++)
++ for (i = 0, isint = (isdigit((unsigned char)s[0]) || s[0] == '-' || s[0]=='.'); isint && i < strlen(s); i++)
+ {
+- if (!isdigit(s[i]) && s[i] != '.') {
++ if (!isdigit((unsigned char)s[i]) && s[i] != '.') {
+ isint = 0;
+ break;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-main_asterisk.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/asterisk.c.orig 2019-09-05 13:09:20.000000000 +0000
++++ main/asterisk.c
+@@ -852,7 +852,7 @@ int64_t ast_mark(int i, int startstop)
+ #define DEFINE_PROFILE_MIN_MAX_VALUES min = 0; \
+ max = prof_data->entries;\
+ if (a->argc > 3) { /* specific entries */ \
+- if (isdigit(a->argv[3][0])) { \
++ if (isdigit((unsigned char)a->argv[3][0])) { \
+ min = atoi(a->argv[3]); \
+ if (a->argc == 5 && strcmp(a->argv[4], "-")) \
+ max = atoi(a->argv[4]); \
+@@ -2274,7 +2274,7 @@ static int remoteconsolehandler(const ch
+ if (!ast_all_zeros(s))
+ ast_el_add_history(s);
+
+- while (isspace(*s)) {
++ while (isspace((unsigned char)*s)) {
+ s++;
+ }
+
+@@ -2286,7 +2286,7 @@ static int remoteconsolehandler(const ch
+ ast_safe_system(getenv("SHELL") ? getenv("SHELL") : "/bin/sh");
+ ret = 1;
+ } else if ((strncasecmp(s, "quit", 4) == 0 || strncasecmp(s, "exit", 4) == 0) &&
+- (s[4] == '\0' || isspace(s[4]))) {
++ (s[4] == '\0' || isspace((unsigned char)s[4]))) {
+ quit_handler(0, SHUTDOWN_FAST, 0);
+ ret = 1;
+ }
+@@ -2949,7 +2949,7 @@ static char *cli_complete(EditLine *edit
+ ptr = (char *)lf->cursor;
+ if (ptr) {
+ while (ptr > lf->buffer) {
+- if (isspace(*ptr)) {
++ if (isspace((unsigned char)*ptr)) {
+ ptr++;
+ break;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_astmm.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_astmm.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_astmm.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_astmm.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/astmm.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/astmm.c
+@@ -1487,7 +1487,7 @@ void __ast_mm_init_phase_2(void)
+
+ mmlog = fopen(filename, "a+");
+ if (mmlog) {
+- fprintf(mmlog, "%ld - New session\n", (long) time(NULL));
++ fprintf(mmlog, "%jd - New session\n", (intmax_t) time(NULL));
+ fflush(mmlog);
+ } else {
+ ast_log(LOG_ERROR, "Could not open malloc debug log file: %s\n", filename);
Index: pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_bridge__basic.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/bridge_basic.c.orig 2018-05-07 17:25:08.340535041 +0000
++++ main/bridge_basic.c
+@@ -167,7 +167,7 @@ static int build_dtmf_features(struct as
+ size_t number_of_missing_features = 0;
+
+ for (feature = features; *feature; feature++) {
+- if (!isupper(*feature)) {
++ if (!isupper((unsigned char)*feature)) {
+ ast_log(LOG_ERROR, "Features string '%s' rejected because it contains non-uppercase feature.\n", features);
+ return -1;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,38 @@
+$NetBSD: patch-main_bridge__channel.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+* Fix segfault under NetBSD/aarch64 9.99.80.
+
+--- main/bridge_channel.c.orig 2021-01-21 16:28:04.000000000 +0000
++++ main/bridge_channel.c
+@@ -58,6 +58,13 @@
+ #include "asterisk/stream.h"
+ #include "asterisk/message.h"
+
++/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++static int
++pt_pthread_equal(pthread_t t1, pthread_t t2)
++{
++ return t1 == t2;
++}
++
+ /*!
+ * \brief Used to queue an action frame onto a bridge channel and write an action frame into a bridge.
+ * \since 12.0.0
+@@ -258,7 +265,7 @@ int ast_bridge_channel_notify_talking(st
+ */
+ static void bridge_channel_poke(struct ast_bridge_channel *bridge_channel)
+ {
+- if (!pthread_equal(pthread_self(), bridge_channel->thread)) {
++ if (!pt_pthread_equal(pthread_self(), bridge_channel->thread)) {
+ /* Wake up the bridge channel thread. */
+ ast_queue_frame(bridge_channel->chan, &ast_null_frame);
+ }
+@@ -971,7 +978,7 @@ static int bridge_channel_queue_action_d
+ };
+
+ /* Make sure we don't end up trying to wait on ourself to deliver the frame */
+- ast_assert(!pthread_equal(pthread_self(), bridge_channel->thread));
++ ast_assert(!pt_pthread_equal(pthread_self(), bridge_channel->thread));
+
+ sync_payload = ast_alloca(sync_payload_len);
+ sync_payload->id = ast_atomic_fetchadd_int(&sync_ids, +1);
Index: pkgsrc/comms/asterisk19/patches/patch-main_callerid.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_callerid.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_callerid.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,28 @@
+$NetBSD: patch-main_callerid.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/callerid.c.orig 2018-05-07 17:25:23.439816235 +0000
++++ main/callerid.c
+@@ -233,20 +233,20 @@ void callerid_get_dtmf(char *cidstring,
+ for (i = 1; i < strlen(cidstring); i++) {
+ if (cidstring[i] == 'C' || cidstring[i] == '#')
+ break;
+- if (isdigit(cidstring[i]))
++ if (isdigit((unsigned char)cidstring[i]))
+ number[i-1] = cidstring[i];
+ else
+ ast_debug(1, "Unknown CID digit '%c'\n",
+ cidstring[i]);
+ }
+ number[i-1] = 0;
+- } else if (isdigit(cidstring[0])) {
++ } else if (isdigit((unsigned char)cidstring[0])) {
+ /* It begins with a digit, so we parse it as a number and hope
+ * for the best */
+ ast_log(LOG_WARNING, "Couldn't detect start-character. CID "
+ "parsing might be unreliable\n");
+ for (i = 0; i < strlen(cidstring); i++) {
+- if (isdigit(cidstring[i]))
++ if (isdigit((unsigned char)cidstring[i]))
+ number[i] = cidstring[i];
+ else
+ break;
Index: pkgsrc/comms/asterisk19/patches/patch-main_cdr.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_cdr.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_cdr.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,25 @@
+$NetBSD: patch-main_cdr.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/cdr.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/cdr.c
+@@ -2787,7 +2787,7 @@ static const char *cdr_format_var_intern
+ static void cdr_get_tv(struct timeval when, const char *fmt, char *buf, int bufsize)
+ {
+ if (fmt == NULL) { /* raw mode */
+- snprintf(buf, bufsize, "%ld.%06ld", (long)when.tv_sec, (long)when.tv_usec);
++ snprintf(buf, bufsize, "%jd.%06ld", (intmax_t)when.tv_sec, (long)when.tv_usec);
+ } else {
+ buf[0] = '\0';/* Ensure the buffer is initialized. */
+ if (when.tv_sec) {
+@@ -2833,9 +2833,9 @@ void ast_cdr_format_var(struct ast_cdr *
+ } else if (!strcasecmp(name, "end")) {
+ cdr_get_tv(cdr->end, raw ? NULL : fmt, workspace, workspacelen);
+ } else if (!strcasecmp(name, "duration")) {
+- snprintf(workspace, workspacelen, "%ld", cdr->end.tv_sec != 0 ? cdr->duration : (long)ast_tvdiff_ms(ast_tvnow(), cdr->start) / 1000);
++ snprintf(workspace, workspacelen, "%jd", cdr->end.tv_sec != 0 ? cdr->duration : (intmax_t)ast_tvdiff_ms(ast_tvnow(), cdr->start) / 1000);
+ } else if (!strcasecmp(name, "billsec")) {
+- snprintf(workspace, workspacelen, "%ld", (cdr->billsec || !ast_tvzero(cdr->end) || ast_tvzero(cdr->answer)) ? cdr->billsec : (long)ast_tvdiff_ms(ast_tvnow(), cdr->answer) / 1000);
++ snprintf(workspace, workspacelen, "%jd", (cdr->billsec || !ast_tvzero(cdr->end) || ast_tvzero(cdr->answer)) ? cdr->billsec : (intmax_t)ast_tvdiff_ms(ast_tvnow(), cdr->answer) / 1000);
+ } else if (!strcasecmp(name, "disposition")) {
+ if (raw) {
+ snprintf(workspace, workspacelen, "%ld", cdr->disposition);
Index: pkgsrc/comms/asterisk19/patches/patch-main_cel.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_cel.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_cel.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_cel.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/cel.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/cel.c
+@@ -790,7 +790,7 @@ struct ast_channel *ast_cel_fabricate_ch
+ }
+
+ if (ast_strlen_zero(cfg->general->date_format)) {
+- snprintf(timebuf, sizeof(timebuf), "%ld.%06ld", (long) record.event_time.tv_sec,
++ snprintf(timebuf, sizeof(timebuf), "%jd.%06ld", (intmax_t) record.event_time.tv_sec,
+ (long) record.event_time.tv_usec);
+ } else {
+ struct ast_tm tm;
Index: pkgsrc/comms/asterisk19/patches/patch-main_cli.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_cli.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_cli.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-main_cli.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/cli.c.orig 2018-05-07 17:26:06.732494913 +0000
++++ main/cli.c
+@@ -2440,7 +2440,7 @@ static char *parse_args(const char *s, i
+ cur = duplicate;
+
+ /* Remove leading spaces from the command */
+- while (isspace(*s)) {
++ while (isspace((unsigned char)*s)) {
+ cur++;
+ s++;
+ }
+@@ -2627,7 +2627,7 @@ struct ast_vector_string *ast_cli_comple
+ continue;
+ }
+
+- while (i < max_equal && toupper(prevstr[i]) == toupper(retstr[i])) {
++ while (i < max_equal && toupper((unsigned char)prevstr[i]) == toupper((unsigned char)retstr[i])) {
+ i++;
+ }
+
Index: pkgsrc/comms/asterisk19/patches/patch-main_conversions.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_conversions.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_conversions.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_conversions.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/conversions.c.orig 2021-03-04 16:46:08.000000000 +0000
++++ main/conversions.c
+@@ -37,7 +37,7 @@ static int str_is_negative(const char **
+ * Ignore any preceding white space. It's okay to move the pointer here
+ * since the converting function would do the same, i.e. skip white space.
+ */
+- while (isspace(**str)) ++*str;
++ while (isspace((unsigned char)**str)) ++*str;
+ return **str == '-';
+ }
+
Index: pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-main_dns__naptr.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/dns_naptr.c.orig 2018-05-07 17:26:59.602834230 +0000
++++ main/dns_naptr.c
+@@ -78,7 +78,7 @@ static enum flags_result interpret_flags
+ *flags == 'a' || *flags == 'A' ||
+ *flags == 'u' || *flags == 'U') {
+ return FLAGS_TERMINAL;
+- } else if (!isalnum(*flags)) {
++ } else if (!isalnum((unsigned char)*flags)) {
+ return FLAGS_INVALID;
+ } else {
+ return FLAGS_UNKNOWN;
+@@ -90,7 +90,7 @@ static enum flags_result interpret_flags
+ * S, A, U, and P flags together.
+ */
+ for (i = 0; i < flags_size; ++i) {
+- if (!isalnum(flags[i])) {
++ if (!isalnum((unsigned char)flags[i])) {
+ return FLAGS_INVALID;
+ } else if (flags[i] == 's' || flags[i] == 'S') {
+ if (known_flag_found && known_flag_found != 's') {
+@@ -146,7 +146,7 @@ static int services_invalid(const char *
+ uint8_t current_size = plus_pos ? plus_pos - current_pos : end_of_services - current_pos;
+ int i;
+
+- if (!isalpha(current_pos[0])) {
++ if (!isalpha((unsigned char)current_pos[0])) {
+ return -1;
+ }
+
+@@ -155,7 +155,7 @@ static int services_invalid(const char *
+ }
+
+ for (i = 1; i < current_size; ++i) {
+- if (!isalnum(current_pos[i])) {
++ if (!isalnum((unsigned char)current_pos[i])) {
+ return -1;
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_enum.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_enum.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_enum.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,76 @@
+$NetBSD: patch-main_enum.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/enum.c.orig 2021-03-04 16:46:08.000000000 +0000
++++ main/enum.c
+@@ -219,7 +219,7 @@ static int blr_txt(const char *cc, const
+ ast_mutex_unlock(&enumlock);
+
+ for (p2 = (char *) cc + strlen(cc) - 1; p2 >= cc; p2--) {
+- if (isdigit(*p2)) {
++ if (isdigit((unsigned char)*p2)) {
+ *p1++ = *p2;
+ *p1++ = '.';
+ }
+@@ -348,7 +348,7 @@ static int blr_ebl(const char *cc, const
+ ast_mutex_unlock(&enumlock);
+
+ for (p2 = (char *) cc + strlen(cc) - 1; p2 >= cc; p2--) {
+- if (isdigit(*p2)) {
++ if (isdigit((unsigned char)*p2)) {
+ *p1++ = *p2;
+ *p1++ = '.';
+ }
+@@ -458,7 +458,7 @@ static int parse_naptr(unsigned char *ds
+ naptrinput, flags, services, regexp, repl);
+
+
+- if (tolower(flags[0]) != 'u') {
++ if (tolower((unsigned char)flags[0]) != 'u') {
+ ast_log(LOG_WARNING, "NAPTR Flag must be 'U' or 'u'.\n");
+ return -1;
+ }
+@@ -551,7 +551,7 @@ static int parse_naptr(unsigned char *ds
+ * beginning and ending indexes of the substring to insert as the backreference.
+ * if no backreference is found, continue copying the subst into tempdst */
+ while (*subst && (d_len > 0)) {
+- if ((subst[0] == '\\') && isdigit(subst[1])) { /* is this character the beginning of a backreference */
++ if ((subst[0] == '\\') && isdigit((unsigned char)subst[1])) { /* is this character the beginning of a backreference */
+ matchindex = (int) (subst[1] - '0');
+ if (matchindex >= ARRAY_LEN(pmatch)) {
+ ast_log(LOG_WARNING, "Error during regex substitution. Invalid pmatch index.\n");
+@@ -573,7 +573,7 @@ static int parse_naptr(unsigned char *ds
+ ast_log(LOG_WARNING, "Error during regex substitution. Invalid backreference index.\n");
+ return -1;
+ }
+- } else if (isprint(*subst)) {
++ } else if (isprint((unsigned char)*subst)) {
+ *d++ = *subst++;
+ d_len--;
+ } else {
+@@ -830,7 +830,7 @@ int ast_get_enum(struct ast_channel *cha
+
+ p1 = middle + strlen(middle);
+ for (p2 = (char *) number + sdl - 1; p2 >= number; p2--) {
+- if (isdigit(*p2)) {
++ if (isdigit((unsigned char)*p2)) {
+ *p1++ = *p2;
+ *p1++ = '.';
+ }
+@@ -849,7 +849,7 @@ int ast_get_enum(struct ast_channel *cha
+ /* flip left into domain */
+ p1 = domain;
+ for (p2 = left + strlen(left); p2 >= left; p2--) {
+- if (isdigit(*p2)) {
++ if (isdigit((unsigned char)*p2)) {
+ *p1++ = *p2;
+ *p1++ = '.';
+ }
+@@ -973,7 +973,7 @@ static char *format_numeric_domain(const
+
+ if (buffer) {
+ while (src >= number) {
+- if (isdigit(*src)) {
++ if (isdigit((unsigned char)*src)) {
+ *dst++ = *src;
+ *dst++ = '.';
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_features.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_features.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_features.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,20 @@
+$NetBSD: patch-main_features.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/features.c.orig 2018-05-07 17:28:38.342590540 +0000
++++ main/features.c
+@@ -387,13 +387,13 @@ static void set_bridge_features_on_confi
+ for (feature = features; *feature; feature++) {
+ struct ast_flags *party;
+
+- if (isupper(*feature)) {
++ if (isupper((unsigned char)*feature)) {
+ party = &config->features_caller;
+ } else {
+ party = &config->features_callee;
+ }
+
+- switch (tolower(*feature)) {
++ switch (tolower((unsigned char)*feature)) {
+ case 't' :
+ ast_set_flag(party, AST_FEATURE_REDIRECT);
+ break;
Index: pkgsrc/comms/asterisk19/patches/patch-main_http.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_http.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_http.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_http.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/http.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/http.c
+@@ -304,7 +304,7 @@ static int static_callback(struct ast_tc
+ }
+
+ /* make "Etag:" http header value */
+- snprintf(etag, sizeof(etag), "\"%ld\"", (long)st.st_mtime);
++ snprintf(etag, sizeof(etag), "\"%jd\"", (intmax_t)st.st_mtime);
+
+ /* make "Last-Modified:" http header value */
+ tv.tv_sec = st.st_mtime;
Index: pkgsrc/comms/asterisk19/patches/patch-main_indications.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_indications.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_indications.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_indications.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/indications.c.orig 2021-03-04 16:46:08.000000000 +0000
++++ main/indications.c
+@@ -908,7 +908,7 @@ static void store_tone_zone_ring_cadence
+
+ ring = ast_strip(ring);
+
+- if (!isdigit(ring[0]) || (value = atoi(ring)) == -1) {
++ if (!isdigit((unsigned char)ring[0]) || (value = atoi(ring)) == -1) {
+ ast_log(LOG_WARNING, "Invalid ringcadence given '%s'.\n", ring);
+ continue;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_logger.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_logger.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_logger.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-main_logger.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/logger.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/logger.c
+@@ -674,7 +674,7 @@ void ast_queue_log(const char *queuename
+
+ if (qlog) {
+ va_start(ap, fmt);
+- qlog_len = snprintf(qlog_msg, sizeof(qlog_msg), "%ld|%s|%s|%s|%s|", (long)time(NULL), callid, queuename, agent, event);
++ qlog_len = snprintf(qlog_msg, sizeof(qlog_msg), "%jd|%s|%s|%s|%s|", (intmax_t)time(NULL), callid, queuename, agent, event);
+ vsnprintf(qlog_msg + qlog_len, sizeof(qlog_msg) - qlog_len, fmt, ap);
+ va_end(ap);
+ AST_RWLIST_RDLOCK(&logchannels);
+@@ -714,7 +714,7 @@ static int rotate_file(const char *filen
+ }
+ break;
+ case TIMESTAMP:
+- snprintf(new, sizeof(new), "%s.%ld", filename, (long)time(NULL));
++ snprintf(new, sizeof(new), "%s.%jd", filename, (intmax_t)time(NULL));
+ if (rename(filename, new)) {
+ fprintf(stderr, "Unable to rename file '%s' to '%s'\n", filename, new);
+ res = -1;
Index: pkgsrc/comms/asterisk19/patches/patch-main_manager.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_manager.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_manager.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,83 @@
+$NetBSD: patch-main_manager.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/manager.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ main/manager.c
+@@ -2639,7 +2639,7 @@ static char *handle_showmanconn(struct a
+ struct mansession_session *session;
+ time_t now = time(NULL);
+ #define HSMCONN_FORMAT1 " %-15.15s %-55.55s %-10.10s %-10.10s %-8.8s %-8.8s %-5.5s %-5.5s\n"
+-#define HSMCONN_FORMAT2 " %-15.15s %-55.55s %-10d %-10d %-8d %-8d %-5.5d %-5.5d\n"
++#define HSMCONN_FORMAT2 " %-15.15s %-55.55s %-10jd %-10jd %-8d %-8d %-5.5d %-5.5d\n"
+ int count = 0;
+ struct ao2_iterator i;
+
+@@ -2665,8 +2665,8 @@ static char *handle_showmanconn(struct a
+ ao2_lock(session);
+ ast_cli(a->fd, HSMCONN_FORMAT2, session->username,
+ ast_sockaddr_stringify_addr(&session->addr),
+- (int) (session->sessionstart),
+- (int) (now - session->sessionstart),
++ (intmax_t) (session->sessionstart),
++ (intmax_t) (now - session->sessionstart),
+ session->stream ? ast_iostream_get_fd(session->stream) : -1,
+ session->inuse,
+ session->readperm,
+@@ -3510,9 +3510,9 @@ static int action_ping(struct mansession
+ astman_append(
+ s,
+ "Ping: Pong\r\n"
+- "Timestamp: %ld.%06lu\r\n"
++ "Timestamp: %jd.%06lu\r\n"
+ "\r\n",
+- (long) now.tv_sec, (unsigned long) now.tv_usec);
++ (intmax_t) now.tv_sec, (unsigned long) now.tv_usec);
+ return 0;
+ }
+
+@@ -4621,7 +4621,7 @@ static void generate_status(struct manse
+ "DNID: %s\r\n"
+ "EffectiveConnectedLineNum: %s\r\n"
+ "EffectiveConnectedLineName: %s\r\n"
+- "TimeToHangup: %ld\r\n"
++ "TimeToHangup: %jd\r\n"
+ "BridgeID: %s\r\n"
+ "Application: %s\r\n"
+ "Data: %s\r\n"
+@@ -4641,7 +4641,7 @@ static void generate_status(struct manse
+ S_OR(ast_channel_dialed(chan)->number.str, ""),
+ S_COR(effective_id.number.valid, effective_id.number.str, "<unknown>"),
+ S_COR(effective_id.name.valid, effective_id.name.str, "<unknown>"),
+- (long)ast_channel_whentohangup(chan)->tv_sec,
++ (intmax_t)ast_channel_whentohangup(chan)->tv_sec,
+ bridge ? bridge->uniqueid : "",
+ ast_channel_appl(chan),
+ ast_channel_data(chan),
+@@ -6920,8 +6920,8 @@ static int __attribute__((format(printf,
+ if (timestampevents) {
+ now = ast_tvnow();
+ ast_str_append(&buf, 0,
+- "Timestamp: %ld.%06lu\r\n",
+- (long)now.tv_sec, (unsigned long) now.tv_usec);
++ "Timestamp: %jd.%06lu\r\n",
++ (intmax_t)now.tv_sec, (unsigned long) now.tv_usec);
+ }
+ if (manager_debug) {
+ static int seq;
+@@ -7433,7 +7433,7 @@ static void xml_copy_escape(struct ast_s
+ }
+ }
+
+- if ( (mode & 2) && !isalnum(*src)) {
++ if ( (mode & 2) && !isalnum((unsigned char)*src)) {
+ *dst++ = '_';
+ space--;
+ continue;
+@@ -7466,7 +7466,7 @@ static void xml_copy_escape(struct ast_s
+ break;
+
+ default:
+- *dst++ = mode ? tolower(*src) : *src;
++ *dst++ = mode ? tolower((unsigned char)*src) : *src;
+ space--;
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_pbx.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_pbx.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_pbx.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_pbx.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/pbx.c.orig 2016-04-20 10:46:18.000000000 +0000
++++ main/pbx.c
+@@ -7973,7 +7973,7 @@ static int testtime_write(struct ast_cha
+ sscanf(remainder, "%79s", timezone);
+ tv = ast_mktime(&tm, S_OR(timezone, NULL));
+
+- snprintf(result, sizeof(result), "%ld", (long) tv.tv_sec);
++ snprintf(result, sizeof(result), "%jd", (intmax_t) tv.tv_sec);
+ pbx_builtin_setvar_helper(chan, "__TESTTIME", result);
+ return 0;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,33 @@
+$NetBSD: patch-main_pbx__builtins.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/pbx_builtins.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ main/pbx_builtins.c
+@@ -807,7 +807,7 @@ static int pbx_builtin_setamaflags(struc
+ }
+ /* Copy the AMA Flags as specified */
+ ast_channel_lock(chan);
+- if (isdigit(data[0])) {
++ if (isdigit((unsigned char)data[0])) {
+ int amaflags;
+ if (sscanf(data, "%30d", &amaflags) != 1) {
+ ast_log(AST_LOG_WARNING, "Unable to set AMA flags on channel %s\n", ast_channel_name(chan));
+@@ -877,7 +877,7 @@ static int pbx_builtin_gotoiftime(struct
+ struct ast_timing timing;
+ const char *ctime;
+ struct timeval tv = ast_tvnow();
+- long timesecs;
++ int64_t timesecs;
+
+ if (!chan) {
+ ast_log(LOG_WARNING, "GotoIfTime requires a channel on which to operate\n");
+@@ -892,8 +892,8 @@ static int pbx_builtin_gotoiftime(struct
+ ts = s = ast_strdupa(data);
+
+ ast_channel_lock(chan);
+- if ((ctime = pbx_builtin_getvar_helper(chan, "TESTTIME")) && sscanf(ctime, "%ld", ×ecs) == 1) {
+- tv.tv_sec = timesecs;
++ if ((ctime = pbx_builtin_getvar_helper(chan, "TESTTIME")) && sscanf(ctime, "%" SCNd64, ×ecs) == 1) {
++ tv.tv_sec = (time_t)timesecs;
+ } else if (ctime) {
+ ast_log(LOG_WARNING, "Using current time to evaluate\n");
+ /* Reset when unparseable */
Index: pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_pbx__timing.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/pbx_timing.c.orig 2018-05-07 17:30:09.949079213 +0000
++++ main/pbx_timing.c
+@@ -137,7 +137,7 @@ static void get_timerange(struct ast_tim
+ }
+ *endpart++ = '\0';
+ /* why skip non digits? Mostly to skip spaces */
+- while (*endpart && !isdigit(*endpart)) {
++ while (*endpart && !isdigit((unsigned char)*endpart)) {
+ endpart++;
+ }
+ if (!*endpart) {
Index: pkgsrc/comms/asterisk19/patches/patch-main_sched.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_sched.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_sched.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,27 @@
+$NetBSD: patch-main_sched.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/sched.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ main/sched.c
+@@ -498,7 +498,7 @@ static int sched_settime(struct timeval
+ ast_assert(0);
+ }
+
+- /*ast_debug(1, "TV -> %lu,%lu\n", tv->tv_sec, tv->tv_usec);*/
++ /*ast_debug(1, "TV -> %jd,%lu\n", (intmax_t)tv->tv_sec, tv->tv_usec);*/
+ if (ast_tvzero(*t)) /* not supplied, default to now */
+ *t = now;
+ *t = ast_tvadd(*t, ast_samp2tv(when, 1000));
+@@ -732,11 +732,11 @@ void ast_sched_dump(struct ast_sched_con
+ struct timeval delta;
+ q = ast_heap_peek(con->sched_heap, x);
+ delta = ast_tvsub(q->when, when);
+- ast_log(LOG_DEBUG, "|%.4d | %-15p | %-15p | %.6ld : %.6ld |\n",
++ ast_log(LOG_DEBUG, "|%.4d | %-15p | %-15p | %.6jd : %.6ld |\n",
+ q->sched_id->id,
+ q->callback,
+ q->data,
+- (long)delta.tv_sec,
++ (intmax_t)delta.tv_sec,
+ (long int)delta.tv_usec);
+ }
+ ast_mutex_unlock(&con->lock);
Index: pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,147 @@
+$NetBSD: patch-main_stdtime_localtime.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/stdtime/localtime.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ main/stdtime/localtime.c
+@@ -65,6 +65,10 @@
+ #include <sys/stat.h>
+ #include <fcntl.h>
+ #endif
++#ifdef __sun
++#include <time.h>
++#include <xlocale.h>
++#endif
+
+ #include "private.h"
+ #include "tzfile.h"
+@@ -74,6 +78,7 @@
+ #include "asterisk/localtime.h"
+ #include "asterisk/strings.h"
+ #include "asterisk/linkedlists.h"
++#include "asterisk/autoconfig.h"
+ #include "asterisk/utils.h"
+ #include "asterisk/test.h"
+
+@@ -310,7 +315,7 @@ static struct state * sstate_alloc(void)
+ static void sstate_free(struct state *p);
+
+ static AST_LIST_HEAD_STATIC(zonelist, state);
+-#if defined(HAVE_NEWLOCALE) && defined(HAVE_USELOCALE)
++#if defined(HAVE_NEWLOCALE) && (defined(HAVE_USELOCALE) || HAVE_STRFTIME_L || HAVE_STRPTIME_L)
+ static AST_LIST_HEAD_STATIC(localelist, locale_entry);
+ #endif
+
+@@ -731,7 +736,7 @@ static void *notify_daemon(void *data)
+ if (st.st_mtime > cur->mtime[0] || lst.st_mtime > cur->mtime[1]) {
+ #ifdef TEST_FRAMEWORK
+ if (test) {
+- ast_test_status_update(test, "Removing cached TZ entry '%s' because underlying file changed. (%ld != %ld) or (%ld != %ld)\n", name, st.st_mtime, cur->mtime[0],
lst.st_mtime, cur->mtime[1]);
++ ast_test_status_update(test, "Removing cached TZ entry '%s' because underlying file changed. (%jd != %jd) or (%jd != %jd)\n", name, (intmax_t)st.st_mtime,
(intmax_t)cur->mtime[0], (intmax_t)lst.st_mtime, (intmax_t)cur->mtime[1]);
+ } else
+ #endif
+ {
+@@ -2362,7 +2367,8 @@ struct timeval ast_mktime(struct ast_tm
+ return time1(tmp, localsub, 0L, sp);
+ }
+
+-#if defined(HAVE_NEWLOCALE) && defined(HAVE_USELOCALE)
++#if defined(HAVE_NEWLOCALE) && (defined(HAVE_USELOCALE) || HAVE_STRFTIME_L || HAVE_STRPTIME_L)
++#if defined HAVE_USELOCALE
+ static struct locale_entry *find_by_locale(locale_t locale)
+ {
+ struct locale_entry *cur;
+@@ -2373,6 +2379,7 @@ static struct locale_entry *find_by_loca
+ }
+ return NULL;
+ }
++#endif
+
+ static struct locale_entry *find_by_name(const char *name)
+ {
+@@ -2385,6 +2392,23 @@ static struct locale_entry *find_by_name
+ return NULL;
+ }
+
++#if HAVE_STRFTIME_L || HAVE_STRPTIME_L
++static locale_t ast_getlocale(const char *locale)
++{
++ struct locale_entry *cur;
++
++ AST_LIST_LOCK(&localelist);
++ if ((cur = find_by_name(locale)) == NULL) {
++ cur->locale = newlocale(LC_ALL_MASK, locale, NULL);
++ strcpy(cur->name, locale); /* SAFE */
++ AST_LIST_INSERT_TAIL(&localelist, cur, list);
++ }
++ AST_LIST_UNLOCK(&localelist);
++ return cur->locale;
++}
++#endif
++
++#if !HAVE_STRFTIME_L || !HAVE_STRPTIME_L
+ static const char *store_by_locale(locale_t prevlocale)
+ {
+ struct locale_entry *cur;
+@@ -2442,6 +2466,7 @@ const char *ast_setlocale(const char *lo
+ AST_LIST_UNLOCK(&localelist);
+ return store_by_locale(prevlocale);
+ }
++#endif
+ #else
+ const char *ast_setlocale(const char *unused)
+ {
+@@ -2455,7 +2480,9 @@ int ast_strftime_locale(char *buf, size_
+ char *format = ast_calloc(1, fmtlen), *fptr = format, *newfmt;
+ int decimals = -1, i, res;
+ long fraction;
++#if !HAVE_STRFTIME_L
+ const char *prevlocale;
++#endif
+
+ buf[0] = '\0';/* Ensure the buffer is initialized. */
+ if (!format) {
+@@ -2510,6 +2537,14 @@ defcase: *fptr++ = *tmp;
+ }
+ *fptr = '\0';
+ #undef strftime
++#if HAVE_STRFTIME_L
++ if (locale) {
++ locale_t l = ast_getlocale(locale);
++ res = (int)strftime_l(buf, len, format, (struct tm *)tm, l);
++ } else {
++ res = (int)strftime(buf, len, format, (struct tm *)tm);
++ }
++#else
+ if (locale) {
+ prevlocale = ast_setlocale(locale);
+ }
+@@ -2517,6 +2552,7 @@ defcase: *fptr++ = *tmp;
+ if (locale) {
+ ast_setlocale(prevlocale);
+ }
++#endif
+ ast_free(format);
+ return res;
+ }
+@@ -2530,11 +2566,22 @@ char *ast_strptime_locale(const char *s,
+ {
+ struct tm tm2 = { 0, };
+ char *res;
++#if !HAVE_STRPTIME_L
+ const char *prevlocale;
++#endif
+
++#if HAVE_STRPTIME_L
++ if (locale) {
++ locale_t l = ast_getlocale(locale);
++ res = strptime_l(s, format, &tm2, l);
++ } else {
++ res = strptime(s, format, &tm2);
++ }
++#else
+ prevlocale = ast_setlocale(locale);
+ res = strptime(s, format, &tm2);
+ ast_setlocale(prevlocale);
++#endif
+ /* ast_time and tm are not the same size - tm is a subset of
+ * ast_time. Hence, the size of tm needs to be used for the
+ * memcpy
Index: pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,38 @@
+$NetBSD: patch-main_taskprocessor.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+* Fix segfault under NetBSD/aarch64 9.99.80.
+
+--- main/taskprocessor.c.orig 2021-01-21 16:28:04.000000000 +0000
++++ main/taskprocessor.c
+@@ -37,6 +37,13 @@
+ #include "asterisk/taskprocessor.h"
+ #include "asterisk/sem.h"
+
++/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++static int
++pt_pthread_equal(pthread_t t1, pthread_t t2)
++{
++ return t1 == t2;
++}
++
+ /*!
+ * \brief tps_task structure is queued to a taskprocessor
+ *
+@@ -263,7 +270,7 @@ static void default_listener_shutdown(st
+
+ ast_assert(pvt->poll_thread != AST_PTHREADT_NULL);
+
+- if (pthread_equal(pthread_self(), pvt->poll_thread)) {
++ if (pt_pthread_equal(pthread_self(), pvt->poll_thread)) {
+ res = pthread_detach(pvt->poll_thread);
+ if (res != 0) {
+ ast_log(LOG_ERROR, "pthread_detach(): %s\n", strerror(errno));
+@@ -1268,7 +1275,7 @@ int ast_taskprocessor_is_task(struct ast
+ int is_task;
+
+ ao2_lock(tps);
+- is_task = pthread_equal(tps->thread, pthread_self());
++ is_task = pt_pthread_equal(tps->thread, pthread_self());
+ ao2_unlock(tps);
+ return is_task;
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_tdd.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_tdd.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_tdd.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_tdd.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/tdd.c.orig 2018-05-07 17:30:59.571540797 +0000
++++ main/tdd.c
+@@ -313,7 +313,7 @@ int tdd_generate(struct tdd_state *tdd,
+ if ( (tdd->charnum++) % 72 == 0)
+ PUT_TDD(tdd->mode ? 27 /* FIGS */ : 31 /* LTRS */);
+
+- c = toupper(str[x]);
++ c = toupper((unsigned char)str[x]);
+ #if 0
+ printf("%c",c); fflush(stdout);
+ #endif
Index: pkgsrc/comms/asterisk19/patches/patch-main_test.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_test.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_test.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-main_test.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/test.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ main/test.c
+@@ -975,7 +975,7 @@ static char *test_cli_generate_results(s
+ if (!(buf = ast_str_create(256))) {
+ return NULL;
+ }
+- ast_str_set(&buf, 0, "%s/asterisk_test_results-%ld.%s", ast_config_AST_LOG_DIR, (long) time.tv_sec, type);
++ ast_str_set(&buf, 0, "%s/asterisk_test_results-%jd.%s", ast_config_AST_LOG_DIR, (intmax_t) time.tv_sec, type);
+
+ file = ast_str_buffer(buf);
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-main_utils.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-main_utils.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-main_utils.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,60 @@
+$NetBSD: patch-main_utils.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- main/utils.c.orig 2018-05-01 20:12:26.000000000 +0000
++++ main/utils.c
+@@ -39,6 +39,10 @@
+ #elif defined(HAVE_SYS_THR_H)
+ #include <sys/thr.h>
+ #endif
++#if defined(HAVE_GETIFADDRS)
++#include <ifaddrs.h>
++#include <net/if_dl.h>
++#endif
+
+ #include "asterisk/network.h"
+ #include "asterisk/ast_version.h"
+@@ -204,7 +208,7 @@ struct hostent *ast_gethostbyname(const
+ while (s && *s) {
+ if (*s == '.')
+ dots++;
+- else if (!isdigit(*s))
++ else if (!isdigit((unsigned char)*s))
+ break;
+ s++;
+ }
+@@ -612,7 +616,7 @@ const char *ast_inet_ntoa(struct in_addr
+
+ static int dev_urandom_fd = -1;
+
+-#ifndef __linux__
++#if !defined(__linux__) && !defined(__DragonFly__)
+ #undef pthread_create /* For ast_pthread_create function only */
+ #endif /* !__linux__ */
+
+@@ -1820,13 +1824,13 @@ int ast_false(const char *s)
+ static struct timeval tvfix(struct timeval a)
+ {
+ if (a.tv_usec >= ONE_MILLION) {
+- ast_log(LOG_WARNING, "warning too large timestamp %ld.%ld\n",
+- (long)a.tv_sec, (long int) a.tv_usec);
++ ast_log(LOG_WARNING, "warning too large timestamp %jd.%ld\n",
++ (intmax_t)a.tv_sec, (long int) a.tv_usec);
+ a.tv_sec += a.tv_usec / ONE_MILLION;
+ a.tv_usec %= ONE_MILLION;
+ } else if (a.tv_usec < 0) {
+- ast_log(LOG_WARNING, "warning negative timestamp %ld.%ld\n",
+- (long)a.tv_sec, (long int) a.tv_usec);
++ ast_log(LOG_WARNING, "warning negative timestamp %jd.%ld\n",
++ (intmax_t)a.tv_sec, (long int) a.tv_usec);
+ a.tv_usec = 0;
+ }
+ return a;
+@@ -1986,7 +1990,7 @@ char *ast_to_camel_case_delim(const char
+
+ while (front) {
+ size = strlen(front);
+- *front = toupper(*front);
++ *front = toupper((unsigned char)*front);
+ ast_copy_string(buf, front, size + 1);
+ buf += size;
+ front = strtok_r(NULL, delim, &back);
Index: pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-menuselect_menuselect.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- menuselect/menuselect.c.orig 2018-05-07 17:13:49.312815875 +0000
++++ menuselect/menuselect.c
+@@ -1461,7 +1461,7 @@ static int generate_makedeps_file(void)
+ }
+
+ for (c = dep->name; *c; c++)
+- fputc(toupper(*c), f);
++ fputc(toupper((unsigned char)*c), f);
+ fputc(' ', f);
+ }
+ AST_LIST_TRAVERSE(&mem->uses, use, list) {
+@@ -1477,7 +1477,7 @@ static int generate_makedeps_file(void)
+ }
+
+ for (c = use->name; *c; c++)
+- fputc(toupper(*c), f);
++ fputc(toupper((unsigned char)*c), f);
+ fputc(' ', f);
+ }
+
Index: pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,22 @@
+$NetBSD: patch-pbx_pbx__config.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- pbx/pbx_config.c.orig 2018-05-07 17:17:05.322793470 +0000
++++ pbx/pbx_config.c
+@@ -237,7 +237,7 @@ static const char *skip_words(const char
+ {
+ int in_blank = 0;
+ for (;n && *p; p++) {
+- if (isblank(*p) /* XXX order is important */ && !in_blank) {
++ if (isblank((unsigned char)*p) /* XXX order is important */ && !in_blank) {
+ n--; /* one word is gone */
+ in_blank = 1;
+ } else if (/* !is_blank(*p), we know already, && */ in_blank) {
+@@ -447,7 +447,7 @@ static char *handle_cli_dialplan_remove_
+ if (!strcmp("hint", c))
+ removing_priority = PRIORITY_HINT;
+ else {
+- while (*c && isdigit(*c))
++ while (*c && isdigit((unsigned char)*c))
+ c++;
+ if (*c) { /* non-digit in string */
+ ast_cli(a->fd, "Invalid priority '%s'\n", a->argv[4]);
Index: pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,40 @@
+$NetBSD: patch-pbx_pbx__dundi.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- pbx/pbx_dundi.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ pbx/pbx_dundi.c
+@@ -47,7 +47,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revisi
+ #include <pthread.h>
+ #include <net/if.h>
+
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__Darwin__)
++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__Darwin__) || defined(__DragonFly__)
+ #include <net/if_dl.h>
+ #include <ifaddrs.h>
+ #include <signal.h>
+@@ -885,7 +885,7 @@ static int cache_save_hint(dundi_eid *ei
+
+ time(&timeout);
+ timeout += expiration;
+- snprintf(data, sizeof(data), "%ld|", (long)(timeout));
++ snprintf(data, sizeof(data), "%jd|", (intmax_t)(timeout));
+
+ ast_db_put("dundi/cache", key1, data);
+ ast_debug(1, "Caching hint at '%s'\n", key1);
+@@ -921,7 +921,7 @@ static int cache_save(dundi_eid *eidpeer
+ /* Build request string */
+ time(&timeout);
+ timeout += expiration;
+- snprintf(data, sizeof(data), "%ld|", (long)(timeout));
++ snprintf(data, sizeof(data), "%jd|", (intmax_t)(timeout));
+ for (x=start;x<req->respcount;x++) {
+ /* Skip anything with an illegal pipe in it */
+ if (strchr(req->dr[x].dest, '|'))
+@@ -2166,7 +2166,7 @@ static void check_password(void)
+
+ time(&now);
+ #if 0
+- printf("%ld/%ld\n", now, rotatetime);
++ printf("%jd/%jd\n", now, rotatetime);
+ #endif
+ if ((now - rotatetime) >= 0) {
+ /* Time to rotate keys */
Index: pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,41 @@
+$NetBSD: patch-res_ael_pval.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/ael/pval.c.orig 2018-05-07 17:37:44.116772314 +0000
++++ res/ael/pval.c
+@@ -855,7 +855,7 @@ static void check_timerange(pval *p)
+ }
+ *e = '\0';
+ e++;
+- while (*e && !isdigit(*e))
++ while (*e && !isdigit((unsigned char)*e))
+ e++;
+ if (!*e) {
+ ast_log(LOG_WARNING, "Warning: file %s, line %d-%d: The time range format (%s) is missing the end time!\n",
+@@ -3531,11 +3531,11 @@ static int gen_prios(struct ael_extensio
+ for_init->appargs = strdup(buf2);
+ } else {
+ strp2 = p->u1.for_init;
+- while (*strp2 && isspace(*strp2))
++ while (*strp2 && isspace((unsigned char)*strp2))
+ strp2++;
+ if (*strp2 == '&') { /* itsa macro call */
+ char *strp3 = strp2+1;
+- while (*strp3 && isspace(*strp3))
++ while (*strp3 && isspace((unsigned char)*strp3))
+ strp3++;
+ strcpy(buf2, strp3);
+ strp3 = strchr(buf2,'(');
+@@ -3581,11 +3581,11 @@ static int gen_prios(struct ael_extensio
+ for_inc->app = strdup("MSet");
+ } else {
+ strp2 = p->u3.for_inc;
+- while (*strp2 && isspace(*strp2))
++ while (*strp2 && isspace((unsigned char)*strp2))
+ strp2++;
+ if (*strp2 == '&') { /* itsa macro call */
+ char *strp3 = strp2+1;
+- while (*strp3 && isspace(*strp3))
++ while (*strp3 && isspace((unsigned char)*strp3))
+ strp3++;
+ strcpy(buf2, strp3);
+ strp3 = strchr(buf2,'(');
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,37 @@
+$NetBSD: patch-res_res__calendar.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_calendar.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ res/res_calendar.c
+@@ -1245,7 +1245,7 @@ static int calendar_query_exec(struct as
+ i = ao2_iterator_init(cal->events, 0);
+ while ((event = ao2_iterator_next(&i))) {
+ if (!(start > event->end || end < event->start)) {
+- ast_debug(10, "%s (%ld - %ld) overlapped with (%ld - %ld)\n", event->summary, (long) event->start, (long) event->end, (long) start, (long) end);
++ ast_debug(10, "%s (%jd - %jd) overlapped with (%jd - %jd)\n", event->summary, (intmax_t) event->start, (intmax_t) event->end, (intmax_t) start, (intmax_t) end);
+ if (add_event_to_list(events, event, start, end) < 0) {
+ event = ast_calendar_unref_event(event);
+ cal = unref_calendar(cal);
+@@ -1378,9 +1378,9 @@ static int calendar_query_result_exec(st
+ } else if (!strcasecmp(args.field, "uid")) {
+ ast_copy_string(buf, entry->event->uid, len);
+ } else if (!strcasecmp(args.field, "start")) {
+- snprintf(buf, len, "%ld", (long) entry->event->start);
++ snprintf(buf, len, "%jd", (intmax_t) entry->event->start);
+ } else if (!strcasecmp(args.field, "end")) {
+- snprintf(buf, len, "%ld", (long) entry->event->end);
++ snprintf(buf, len, "%jd", (intmax_t) entry->event->end);
+ } else if (!strcasecmp(args.field, "busystate")) {
+ snprintf(buf, len, "%u", entry->event->busy_state);
+ } else if (!strcasecmp(args.field, "attendees")) {
+@@ -1739,9 +1739,9 @@ static int calendar_event_read(struct as
+ } else if (!strcasecmp(data, "uid")) {
+ ast_copy_string(buf, event->uid, len);
+ } else if (!strcasecmp(data, "start")) {
+- snprintf(buf, len, "%ld", (long)event->start);
++ snprintf(buf, len, "%jd", (intmax_t)event->start);
+ } else if (!strcasecmp(data, "end")) {
+- snprintf(buf, len, "%ld", (long)event->end);
++ snprintf(buf, len, "%jd", (intmax_t)event->end);
+ } else if (!strcasecmp(data, "busystate")) {
+ snprintf(buf, len, "%u", event->busy_state);
+ } else if (!strcasecmp(data, "attendees")) {
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-res_res__calendar__caldav.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_calendar_caldav.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ res/res_calendar_caldav.c
+@@ -404,7 +404,7 @@ static void caldav_add_event(icalcompone
+ ast_string_field_set(event, uid, event->summary);
+ } else {
+ char tmp[100];
+- snprintf(tmp, sizeof(tmp), "%ld", event->start);
++ snprintf(tmp, sizeof(tmp), "%jd", (intmax_t)event->start);
+ ast_string_field_set(event, uid, tmp);
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-res_res__calendar__icalendar.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_calendar_icalendar.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ res/res_calendar_icalendar.c
+@@ -246,7 +246,7 @@ static void icalendar_add_event(icalcomp
+ ast_string_field_set(event, uid, event->summary);
+ } else {
+ char tmp[100];
+- snprintf(tmp, sizeof(tmp), "%ld", event->start);
++ snprintf(tmp, sizeof(tmp), "%jd", (intmax_t)event->start);
+ ast_string_field_set(event, uid, tmp);
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,23 @@
+$NetBSD: patch-res_res__hep__pjsip.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_hep_pjsip.c.orig 2018-06-20 15:24:25.999288749 +0000
++++ res/res_hep_pjsip.c
+@@ -34,6 +34,9 @@
+
+ #include "asterisk.h"
+
++#include "asterisk/module.h"
++#include "asterisk/netsock2.h"
++
+ #include <pjsip.h>
+ #include <pjsip_ua.h>
+ #include <pjlib.h>
+@@ -41,8 +44,6 @@
+ #include "asterisk/res_pjsip.h"
+ #include "asterisk/res_pjsip_session.h"
+ #include "asterisk/res_hep.h"
+-#include "asterisk/module.h"
+-#include "asterisk/netsock2.h"
+
+ static char *assign_uuid(const pj_str_t *call_id, const pj_str_t *local_tag, const pj_str_t *remote_tag)
+ {
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-res_res__limit.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_limit.c.orig 2018-05-07 17:38:31.944908572 +0000
++++ res/res_limit.c
+@@ -191,7 +191,7 @@ static char *handle_cli_ulimit(struct as
+ else
+ snprintf(printlimit, sizeof(printlimit), "limited to %d", (int) rlimit.rlim_cur);
+ desc = str2desc(a->argv[1]);
+- ast_cli(a->fd, "%c%s (%s) is %s.\n", toupper(desc[0]), desc + 1, a->argv[1], printlimit);
++ ast_cli(a->fd, "%c%s (%s) is %s.\n", toupper((unsigned char)desc[0]), desc + 1, a->argv[1], printlimit);
+ } else
+ ast_cli(a->fd, "Could not retrieve resource limits for %s: %s\n", str2desc(a->argv[1]), strerror(errno));
+ return CLI_SUCCESS;
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-res_res__musiconhold.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_musiconhold.c.orig 2021-03-04 16:46:08.000000000 +0000
++++ res/res_musiconhold.c
+@@ -1153,7 +1153,7 @@ static void moh_parse_options(struct ast
+ } else if (!strcasecmp(var->name, "announcement")) {
+ ast_copy_string(mohclass->announcement, var->value, sizeof(mohclass->announcement));
+ ast_set_flag(mohclass, MOH_ANNOUNCEMENT);
+- } else if (!strcasecmp(var->name, "digit") && (isdigit(*var->value) || strchr("*#", *var->value))) {
++ } else if (!strcasecmp(var->name, "digit") && (isdigit((unsigned char)*var->value) || strchr("*#", *var->value))) {
+ mohclass->digit = *var->value;
+ } else if (!strcasecmp(var->name, "random")) {
+ static int deprecation_warning = 0;
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,31 @@
+$NetBSD: patch-res_res__pjproject.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_pjproject.c.orig 2019-09-05 13:09:20.000000000 +0000
++++ res/res_pjproject.c
+@@ -99,20 +99,22 @@
+ #include "asterisk.h"
+
+ #include <stdarg.h>
+-#include <pjlib.h>
+-#include <pjsip.h>
+-#include <pj/log.h>
+
+ #include "asterisk/options.h"
+ #include "asterisk/logger.h"
+ #include "asterisk/module.h"
+ #include "asterisk/cli.h"
+-#include "asterisk/res_pjproject.h"
+ #include "asterisk/vector.h"
+ #include "asterisk/sorcery.h"
+ #include "asterisk/test.h"
+ #include "asterisk/netsock2.h"
+
++#include <pjlib.h>
++#include <pjsip.h>
++#include <pj/log.h>
++
++#include "asterisk/res_pjproject.h"
++
+ static struct ast_sorcery *pjproject_sorcery;
+ static pj_log_func *log_cb_orig;
+ static unsigned decor_orig;
Index: pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,36 @@
+$NetBSD: patch-res_res__xmpp.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- res/res_xmpp.c.orig 2021-06-24 12:50:57.000000000 +0000
++++ res/res_xmpp.c
+@@ -62,6 +62,13 @@
+ #include "asterisk/config_options.h"
+ #include "asterisk/json.h"
+
++/* XXX, pthread_equal() is misused to compare non-valid thread pointers */
++static int
++pt_pthread_equal(pthread_t t1, pthread_t t2)
++{
++ return t1 == t2;
++}
++
+ /*** DOCUMENTATION
+ <application name="JabberSend" language="en_US" module="res_xmpp">
+ <synopsis>
+@@ -3527,7 +3534,7 @@ static int xmpp_action_hook(void *data,
+
+ int ast_xmpp_client_disconnect(struct ast_xmpp_client *client)
+ {
+- if ((client->thread != AST_PTHREADT_NULL) && !pthread_equal(pthread_self(), client->thread)) {
++ if ((client->thread != AST_PTHREADT_NULL) && !pt_pthread_equal(pthread_self(), client->thread)) {
+ xmpp_client_change_state(client, XMPP_STATE_DISCONNECTING);
+ pthread_cancel(client->thread);
+ pthread_join(client->thread, NULL);
+@@ -3669,7 +3676,7 @@ static int xmpp_client_receive(struct as
+ /* if we stumble on the ending tag character,
+ we skip any whitespace that follows it*/
+ if (c == '>') {
+- while (isspace(buf[pos+1])) {
++ while (isspace((unsigned char)buf[pos+1])) {
+ pos++;
+ }
+ }
Index: pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile Sun Nov 14 02:30:21 2021
@@ -0,0 +1,25 @@
+$NetBSD: patch-sounds_Makefile,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- sounds/Makefile.orig 2018-05-01 20:12:26.000000000 +0000
++++ sounds/Makefile
+@@ -124,20 +124,6 @@ endef # sound_format_lang_rule
+ all: $(CORE_SOUNDS) $(EXTRA_SOUNDS) $(MOH)
+
+ have_download:
+- @if test "$(DOWNLOAD)" = ":" ; then \
+- echo "**************************************************"; \
+- echo "*** ***"; \
+- echo "*** You must have either wget, curl, or fetch ***"; \
+- echo "*** to be able to automatically download and ***"; \
+- echo "*** install the requested sound packages. ***"; \
+- echo "*** ***"; \
+- echo "*** Please install one of these, or remove any ***"; \
+- echo "*** extra sound package selections in ***"; \
+- echo "*** menuselect before installing Asterisk. ***"; \
+- echo "*** ***"; \
+- echo "**************************************************"; \
+- exit 1; \
+- fi
+
+ $(eval $(call sound_format_lang_rule,$(SOUNDS_DIR),core-sounds,en,$(CORE_SOUNDS_VERSION)))
+
Index: pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-tests_test__locale.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- tests/test_locale.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ tests/test_locale.c
+@@ -81,7 +81,7 @@ static char *handle_cli_test_locales(str
+
+ /* First we run a set of tests with the global locale, which isn't thread-safe. */
+ if (!(localedir = opendir(
+-#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__)
++#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined( __NetBSD__ ) || defined(__APPLE__) || defined(__DragonFly__)
+ "/usr/share/locale"
+ #else /* Linux */
+ "/usr/lib/locale"
Index: pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-tests_test__voicemail__api.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- tests/test_voicemail_api.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ tests/test_voicemail_api.c
+@@ -383,7 +383,7 @@ static struct ast_vm_msg_snapshot *test_
+ struct ast_vm_msg_snapshot *snapshot;
+
+ snprintf(msg_id_hash, sizeof(msg_id_hash), "%s%s%s", exten, context, callerid);
+- snprintf(msg_id_buf, sizeof(msg_id_buf), "%ld-%d", (long)time(NULL), ast_str_hash(msg_id_hash));
++ snprintf(msg_id_buf, sizeof(msg_id_buf), "%jd-%d", (intmax_t)time(NULL), ast_str_hash(msg_id_hash));
+
+ if ((snapshot = ast_calloc(1, sizeof(*snapshot)))) {
+ if (ast_string_field_init(snapshot, 128)) {
Index: pkgsrc/comms/asterisk19/patches/patch-utils_Makefile
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-utils_Makefile:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-utils_Makefile Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-utils_Makefile,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- utils/Makefile.orig 2021-11-02 08:53:05.000000000 +0000
++++ utils/Makefile
+@@ -65,7 +65,7 @@ all: $(UTILS)
+ install:
+ for x in $(UTILS); do \
+ if [ "$$x" != "none" ]; then \
+- $(INSTALL) -m 755 $$x "$(DESTDIR)$(ASTSBINDIR)/$$x"; \
++ $(BSD_INSTALL_PROGRAM) $$x "$(DESTDIR)$(ASTSBINDIR)/$$x"; \
+ fi; \
+ done
+
Index: pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-utils_db1-ast_include_db.h,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- utils/db1-ast/include/db.h.orig 2015-10-09 21:48:48.000000000 +0000
++++ utils/db1-ast/include/db.h
+@@ -55,7 +55,7 @@
+
+ #ifndef __BIT_TYPES_DEFINED__
+ #define __BIT_TYPES_DEFINED__
+-#if (!defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__APPLE__))
++#if (!defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__APPLE__) && !defined(__DragonFly__))
+ typedef __signed char int8_t;
+ typedef short int16_t;
+ typedef int int32_t;
Index: pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,67 @@
+$NetBSD: patch-utils_extconf.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- utils/extconf.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ utils/extconf.c
+@@ -593,6 +593,10 @@ static void __attribute__((destructor))
+ #include "libkern/OSAtomic.h"
+ #endif
+
++#if defined(HAVE_SYS_ATOMIC_H)
++#include <sys/atomic.h>
++#endif
++
+ /*! \brief Atomically add v to *p and return * the previous value of *p.
+ * This can be used to handle reference counts, and the return value
+ * can be used to generate unique identifiers.
+@@ -606,12 +610,18 @@ AST_INLINE_API(int ast_atomic_fetchadd_i
+ #elif defined(HAVE_OSX_ATOMICS) && (SIZEOF_INT == 4)
+ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
+ {
+- return OSAtomicAdd32(v, (int32_t *) p);
++ return OSAtomicAdd32(v, (int32_t *) p) - v;
+ })
+ #elif defined(HAVE_OSX_ATOMICS) && (SIZEOF_INT == 8)
+ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
+ {
+- return OSAtomicAdd64(v, (int64_t *) p);
++ return OSAtomicAdd64(v, (int64_t *) p) - v;
++})
++#elif defined(HAVE_SYS_ATOMIC_H)
++AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
++{
++ return atomic_add_int_nv((unsigned int *)p, v) - v;
++})
+ #elif defined (__i386__) || defined(__x86_64__)
+ AST_INLINE_API(int ast_atomic_fetchadd_int(volatile int *p, int v),
+ {
+@@ -653,6 +663,12 @@ AST_INLINE_API(int ast_atomic_dec_and_te
+ AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
+ {
+ return OSAtomicAdd64( -1, (int64_t *) p) == 0;
++})
++#elif defined(HAVE_SYS_ATOMIC_H)
++AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
++{
++ return atomic_dec_uint_nv((unsigned int *)p) == 0;
++})
+ #else
+ AST_INLINE_API(int ast_atomic_dec_and_test(volatile int *p),
+ {
+@@ -2537,13 +2553,13 @@ static int ast_true(const char *s)
+ static struct timeval tvfix(struct timeval a)
+ {
+ if (a.tv_usec >= ONE_MILLION) {
+- ast_log(LOG_WARNING, "warning too large timestamp %ld.%ld\n",
+- (long)a.tv_sec, (long int) a.tv_usec);
++ ast_log(LOG_WARNING, "warning too large timestamp %jd.%ld\n",
++ (intmax_t)a.tv_sec, (long int) a.tv_usec);
+ a.tv_sec += a.tv_usec / ONE_MILLION;
+ a.tv_usec %= ONE_MILLION;
+ } else if (a.tv_usec < 0) {
+- ast_log(LOG_WARNING, "warning negative timestamp %ld.%ld\n",
+- (long)a.tv_sec, (long int) a.tv_usec);
++ ast_log(LOG_WARNING, "warning negative timestamp %jd.%ld\n",
++ (intmax_t)a.tv_sec, (long int) a.tv_usec);
+ a.tv_usec = 0;
+ }
+ return a;
Index: pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c
diff -u /dev/null pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c:1.1
--- /dev/null Sun Nov 14 02:30:22 2021
+++ pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c Sun Nov 14 02:30:21 2021
@@ -0,0 +1,13 @@
+$NetBSD: patch-utils_smsq.c,v 1.1 2021/11/14 02:30:21 jnemeth Exp $
+
+--- utils/smsq.c.orig 2015-10-09 21:48:48.000000000 +0000
++++ utils/smsq.c
+@@ -687,7 +687,7 @@ main (int argc, const char *argv[])
+ snprintf (temp, sizeof(temp), "sms/.smsq-%d", (int)getpid ());
+ mkdir ("sms", 0777); /* ensure directory exists */
+ mkdir (dir, 0777); /* ensure directory exists */
+- snprintf (queuename, sizeof(queuename), "%s/%s.%ld-%d", dir, *queue ? queue : "0", (long)time (0), (int)getpid ());
++ snprintf (queuename, sizeof(queuename), "%s/%s.%jd-%d", dir, *queue ? queue : "0", (intmax_t)time (0), (int)getpid ());
+ f = fopen (temp, "w");
+ if (!f)
+ {
Home |
Main Index |
Thread Index |
Old Index