Sun Nov 14 02:30:21 2021 UTC ()
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!


(jnemeth)
diff -r0 -r1.1 pkgsrc/comms/asterisk19/DESCR
diff -r0 -r1.1 pkgsrc/comms/asterisk19/Makefile
diff -r0 -r1.1 pkgsrc/comms/asterisk19/PLIST
diff -r0 -r1.1 pkgsrc/comms/asterisk19/distinfo
diff -r0 -r1.1 pkgsrc/comms/asterisk19/options.mk
diff -r0 -r1.1 pkgsrc/comms/asterisk19/files/asterisk.sh
diff -r0 -r1.1 pkgsrc/comms/asterisk19/files/smf/manifest.xml
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-Makefile
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-configure
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-configure.ac
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_Makefile
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_acl.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_app.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_astmm.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_callerid.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_cdr.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_cel.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_cli.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_conversions.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_enum.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_features.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_http.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_indications.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_logger.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_manager.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_pbx.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_sched.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_tdd.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_test.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-main_utils.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-utils_Makefile
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c
diff -r0 -r1.1 pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c

File Added: pkgsrc/comms/asterisk19/DESCR
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

File Added: pkgsrc/comms/asterisk19/Makefile
# $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
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"

File Added: pkgsrc/comms/asterisk19/PLIST
@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

File Added: pkgsrc/comms/asterisk19/distinfo
$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

File Added: pkgsrc/comms/asterisk19/options.mk
# $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

File Added: pkgsrc/comms/asterisk19/files/asterisk.sh
#!@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"

File Added: pkgsrc/comms/asterisk19/files/smf/manifest.xml
<?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>

File Added: pkgsrc/comms/asterisk19/patches/patch-Makefile
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-addons_chan__ooh323.c
$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);
 				}
 

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__adsiprog.c
$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 */

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__chanspy.c
$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';

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__directory.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__dumpchan.c
$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,

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__followme.c
$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.

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__minivm.c
$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;
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__queue.c
$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;
 			}
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__sms.c
$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 */
 		}
 	}

File Added: pkgsrc/comms/asterisk19/patches/patch-apps_app__voicemail.c
$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;
 						}

File Added: pkgsrc/comms/asterisk19/patches/patch-build__tools_mkpkgconfig
$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"

File Added: pkgsrc/comms/asterisk19/patches/patch-cdr_cdr__pgsql.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-cel_cel__pgsql.c
$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",

File Added: pkgsrc/comms/asterisk19/patches/patch-channels_chan__pjsip.c
$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"

File Added: pkgsrc/comms/asterisk19/patches/patch-channels_chan__sip.c
$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");

File Added: pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_cli__commands.c
$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)

File Added: pkgsrc/comms/asterisk19/patches/patch-channels_pjsip_dialplan__functions.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-configure
$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 ()

File Added: pkgsrc/comms/asterisk19/patches/patch-configure.ac
$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],

File Added: pkgsrc/comms/asterisk19/patches/patch-contrib_scripts_vmail.cgi
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__cdr.c
$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;
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__channel.c
$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;
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__env.c
$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;
 			}
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__aor.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__contact.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__pjsip__endpoint.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-funcs_func__strings.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_autoconfig.h.in
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_lock.h
$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
 

File Added: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_sha1.h
$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. *******************/
 /*

File Added: pkgsrc/comms/asterisk19/patches/patch-include_asterisk_strings.h
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_Makefile
$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)

File Added: pkgsrc/comms/asterisk19/patches/patch-main_acl.c
$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 */
 

File Added: pkgsrc/comms/asterisk19/patches/patch-main_app.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.c
$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;
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_ast__expr2.y
$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;
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_asterisk.c
$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;
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_astmm.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-main_bridge__basic.c
$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;
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_bridge__channel.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-main_callerid.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_cdr.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-main_cel.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_cli.c
$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++;
 		}
 

File Added: pkgsrc/comms/asterisk19/patches/patch-main_conversions.c
$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 == '-';
 }
 

File Added: pkgsrc/comms/asterisk19/patches/patch-main_dns__naptr.c
$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;
 			}
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_enum.c
$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++ = '.';
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_features.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_http.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_indications.c
$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;
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_logger.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-main_manager.c
$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--;
 		}
 	}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_pbx.c
$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;
 }

File Added: pkgsrc/comms/asterisk19/patches/patch-main_pbx__builtins.c
$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", &timesecs) == 1) {
-		tv.tv_sec = timesecs;
+	if ((ctime = pbx_builtin_getvar_helper(chan, "TESTTIME")) && sscanf(ctime, "%" SCNd64, &timesecs) == 1) {
+		tv.tv_sec = (time_t)timesecs;
 	} else if (ctime) {
 		ast_log(LOG_WARNING, "Using current time to evaluate\n");
 		/* Reset when unparseable */

File Added: pkgsrc/comms/asterisk19/patches/patch-main_pbx__timing.c
$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) {

File Added: pkgsrc/comms/asterisk19/patches/patch-main_sched.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-main_stdtime_localtime.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-main_taskprocessor.c
$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;
 }

File Added: pkgsrc/comms/asterisk19/patches/patch-main_tdd.c
$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

File Added: pkgsrc/comms/asterisk19/patches/patch-main_test.c
$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);
 		}

File Added: pkgsrc/comms/asterisk19/patches/patch-main_utils.c
$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);

File Added: pkgsrc/comms/asterisk19/patches/patch-menuselect_menuselect.c
$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);
 			}
 

File Added: pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__config.c
$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]);

File Added: pkgsrc/comms/asterisk19/patches/patch-pbx_pbx__dundi.c
$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 */

File Added: pkgsrc/comms/asterisk19/patches/patch-res_ael_pval.c
$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,'(');

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar.c
$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")) {

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__caldav.c
$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);
 		}
 	}

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__calendar__icalendar.c
$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);
 		}
 	}

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__hep__pjsip.c
$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)
 {

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__limit.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__musiconhold.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__pjproject.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-res_res__xmpp.c
$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++;
 				}
 			}

File Added: pkgsrc/comms/asterisk19/patches/patch-sounds_Makefile
$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)))
 

File Added: pkgsrc/comms/asterisk19/patches/patch-tests_test__locale.c
$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"

File Added: pkgsrc/comms/asterisk19/patches/patch-tests_test__voicemail__api.c
$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)) {

File Added: pkgsrc/comms/asterisk19/patches/patch-utils_Makefile
$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
 

File Added: pkgsrc/comms/asterisk19/patches/patch-utils_db1-ast_include_db.h
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-utils_extconf.c
$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;

File Added: pkgsrc/comms/asterisk19/patches/patch-utils_smsq.c
$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)
       {