[ASTERISK-112] chan_dahdi: Raw power ring audible on recall ring from IAX2 to DAHDI

DAHTOOL-3
Compilation warnings on 32-bit (i686)
LBBS-14
net_imap: SEGV in strncmp
WSSMAIL-11
Use accurate hyperlinks for folders
ASTERISK-117
app_voicemail: Pager email generation is broken
WSSMAIL-1
Preview pane doesn't take up allotted space
WSSMAIL-2
Implicitly mark messages read when deleting
LBBS-12
mod_webmail: client_flush_pending_output infinite loop
LBBS-50
mod_chanserv: NULL dereference when joining IRC channel
LBBS-68
scripts: Improve backup script error reporting
LBBS-26
server_setup.sh: Autocreate all default directories
LBBS-54
mod_mailscript: Add RECIPIENT condition
LBBS-55
net_telnet: Don't use strerror if res is 0
LBBS-67
net_ftp: Set node protocol to FTPES if using Explicit TLS
ASTERISK-116
app_dial: Strange/broken behavior with 'U' option
LBBS-62
net_imap: IMAP client frequently fails for Microsoft accounts
LBBS-70
mod_smtp_delivery_external: Use SRS for externally forwarded messages
LBBS-53
Assertion when forwarding to external recipient
PHREAKSCRIPT-40
res_msp: Indentation messed up
PHREAKSCRIPT-32
app_alarmsystem: Add alarm system application
INTERLINKED-13
Comment and Close doesn't close issue
PHREAKSCRIPT-31
phreaknet config does not update verify.conf
PHREAKSCRIPT-27
res_msp not patched in during install
PHREAKSCRIPT-26
format_mp3 prereqs not always available
SLACK-1
slack-client: Deadlock when relaying messages
SLACK-5
Failed to receive reply... when message sent
SLACK-4
Slack client exits due to SSL_ERROR_ZERO_RETURN
LBBS-69
net_ssh: SFTP uploads fail with WinSCP
WSSMAIL-15
Allow navigating messages using arrow keys
DAHLIN-4
Improve manual span assignment process
ASTERISK-115
chan_iax2: Some pattern matches ignored if included in incoming context
DAHLIN-5
FXO rings off hook when rotary dialing on the line
ASTERISK-114
chan_iax2: DP cache warning when using switch
ASTERISK-113
app_disa: Unrecognized option when providing context
ASTERISK-15
chan_dahdi: Allow sending SDMF Caller ID
ASTERISK-104
Improve dahdi show channels output
ASTERISK-112
chan_dahdi: Raw power ring audible on recall ring from IAX2 to DAHDI
ASTERISK-22
general: Fix various typos
ASTERISK-111
chan_dahdi: MWI while off-hook when hung up on after recall ring
ASTERISK-64
chan_dahdi: autoreoriginate doesn't work if caller hung up on
ASTERISK-105
chan_dahdi: Add CLI command to display line voltages
ASTERISK-88
chan_dahdi: Add ADSI on-hook download support
ASTERISK-110
chan_iax2: Implement MWI
PHREAKSCRIPT-29
res_phreaknet: Don't try making API requests if not a PhreakNet node
LBBS-31
mod_sieve: Major Sieve filtering overhaul and improvements
ASTERISK-109
voicemail.conf.sample: Clarify misnamed option behavior
INTERLINKED-17
Blog: Issues with tag editing and viewing
LBBS-15
smtp: Locking errors, deadlock when queue runs during delivery
ASTERISK-68
res_pjsip_sca: Segfaults on startup with SCA
ASTERISK-108
config.c: Investigate and fix various config file rewrite bugs
PHREAKSCRIPT-39
Add optional flag to not update system first
PHREAKSCRIPT-38
res_phreaknet: Increase cURL timeouts
LBBS-32
mod_spamassassin: Improve default spam handling
PHREAKSCRIPT-37
app_softmodem: Support speeds higher than 2400bps
LBBS-59
Add HTTP endpoint for updating IRC presence automatically
PHREAKSCRIPT-36
app_audichron: Tone not working after announcements
PHREAKSCRIPT-35
app_mail: SendMail returns SUCCESS
LBBS-66
logger: Add rate limiting of log messages
INTERLINKED-15
Improve paging API
ASTERISK-107
indications.conf.sample: Add confirmation tone
LBBS-65
net_smtp: Allow internal trusted hosts to be exempt from protocol violation checks
INTERLINKED-16
Add option to not be notified about
LBBS-16
io_compress: Occasional memory corruption on shutdown
WSSMAIL-14
Checkbox range selection doesn't always work reliably
PHREAKSCRIPT-34
app_verify: Check additional headers for STIR/SHAKEN attestation
PHREAKSCRIPT-33
verify.conf: Flag invalid NXXs as illegitimate for NANPA calls
LBBS-64
mod_operator: Crash with more than 64 options?
ASTERISK-19
chan_dahdi: Remove sig_analog paths
LBBS-61
net_imap: Soft assertion in parse_flags_string
LBBS-63
net_imap, io_compress: Spurious warnings if quota exceeded
ASTERISK-106
chan_pjsip: Modify From header appropriately for unavailable presentation
ASTERISK-93
chan_dahdi: DSP optimizations
PHREAKSCRIPT-30
MD5/RSA authenticated calls frequently fail
PHREAKNET-45
Operator system PSPs are outdated
ASTERISK-82
app_queue: Allow queue strategy to be manipulated externally
LBBS-60
Prevent clients from monopolizing nodes (DOS)
LBBS-46
Block malicious mail servers after repeated failures
LBBS-19
tls.c: Occasional SEGV at shutdowns of TLS connections
WSSMAIL-13
Improve multi-INBOX navigation
WSSMAIL-12
Add one-click "Not junk" button
LBBS-22
mod_mail_trash: Eliminate bbs_pthread_cancel_kill
LBBS-47
Email enhancements
LBBS-6
Add menu system scripting engine
LBBS-58
net_irc: Make ping interval adjustable
ASTERISK-103
GitHub Issue 661 was not autoclosed by PR
PHREAKSCRIPT-28
app_predial: Failure to retrieve user agent property
LBBS-57
Occasional 100% CPU usage on SSH session termination
PHREAKNET-44
Show only sum of message units used per month on bills
ASTERISK-96
asterisk.adsi: Add Call Waiting Deluxe integration to resident script
PHREAKNET-41
Allow for more granular billing based on switch ZIP code
LBBS-56
net_snpp: Add Simple Network Paging Protocol support
ASTERISK-102
app_voicemail: Play RDNIS if present when listening to envelope
ASTERISK-46
dsp.c: Remove ast_ prefixes for static functions
ASTERISK-52
dsp.c: Add ast_freq_reset
PHREAKSCRIPT-20
dsp.c: coin DSP patch breaks faxing
ASTERISK-101
func_tonedetect: 2600 Hz detection not working or suboptimal
WSSMAIL-10
Can scroll down past bottom of page on larger screens
WSSMAIL-9
Sent email uploads can fail due to relative host difference
SLACK-3
examples: Add example program to log everything to a CSV
LBBS-52
net_smtp: Add limited support for VRFY and EXPN
PHREAKNET-42
Provisioning fails for lines with certain features
ASTERISK-100
chan_dahdi: PRI lock held at module unload
LBBS-51
General TDD improvements
PHREAKNET-39
Splice Fred Covington prompts for speaking clock
PHREAKSCRIPT-25
chan_sccp no longer compiles
PHREAKNET-40
Recent Change provisioning bug increments device name by 1
ASTERISK-99
pjsip: Add Cisco CUCM patch functionality
ASTERISK-98
Add hangup callbacks
ASTERISK-97
func_groupcount: Add group vars
LBBS-49
Add functionality expected of a traditional BBS package
LBBS-48
net_irc: Support multi-server networks
WSSMAIL-8
Add NNTP support and IRC integration
EVERGREEN-3
Add NNTP support for newsgroups
PHREAKSCRIPT-24
DAHDI builds in GitHub CI occasionally fail due to IPv6
PHREAKSCRIPT-23
res_phreaknet: Increase cURL timeout
PHREAKSCAN-2
Improve automation
PHREAKSCRIPT-22
Add framehook to display dialed digits
PHREAKSCRIPT-21
app_looparound: Add LoopAround application
ASTERISK-95
testsuite README: Update outdated references
ASTERISK-94
app_chanspy: Fix bad audio with single direction operation
LBBS-45
Use isoexec whenever possible
CAMI-1
Action Originate Returns -1
EVERGREEN-2
Navigation breaks when requirefromhelomatch=no in LBBS
ASTERISK-92
config.c: ast_variable_update doesn't update all instances
PHREAKSCRIPT-19
app_verify: Double free
PHREAKSCRIPT-18
Add better test coverage for 32-bit systems
PHREAKSCRIPT-17
res_phreaknet: iax.conf, et. al. are truncated when there is no disk space left
LBBS-44
io_tls: TLS errors when no certs are defined
LBBS-43
mod_discord: Improve handling of in-thread replies
LBBS-42
mod_discord: Actions not relayed properly from IRC
LBBS-41
socket.c: SEGV in bbs_node_readline
ASTERISK-91
features.c: Add warning to not set BRIDGE_NOANSWER as global variable
ASTERISK-90
chan_iax2: Add log message for rejected calls
ASTERISK-89
app_stack: Print proper exit location for PBXless channels
ASTERISK-87
asterisk.c: Prevent creation of duplicate Asterisk processes
ASTERISK-86
app_confbridge: Channel can join wrong bridge due to race condition
ASTERISK-85
chan_pjsip: Add channel encryption integration
ASTERISK-84
Add 'core show variables' command
ASTERISK-83
res_pjsip_device_features: Add forwarding and DND synchronization
ASTERISK-81
format_lame: MP3 read and write with LAME library
ASTERISK-80
app_record: Add RECORD_TIME function
ASTERISK-79
config.c: Make ast_variable_retrieve return last match
ASTERISK-78
sig_analog: Add Last Number Redial
ASTERISK-77
sig_analog: Add Call Waiting Deluxe support
LBBS-40
net_smtp: Add additional loop avoidance mechanisms
LBBS-39
net_smtp: Occasional memory corruption on email delivery
LBBS-38
mod_smtp_mailing_lists: Allow dynamic membership
LBBS-37
Restrict outgoing port 25 from containers while allowing other traffic
LBBS-36
net_telnet: Improve protocol support
LBBS-35
net_acap: Add ACAP protocol support
LBBS-34
net_xmpp: Add XMPP protocol support
LBBS-33
net_imap: Add/standardize commands to modify or purge keywords
ASTERISK-76
app_dial: Allow MOH until progress received
ASTERISK-75
chan_dahdi: Add Call Hold feature
ASTERISK-74
chan_dahdi: Add AMI event for callwaiting
ASTERISK-73
chan_dahdi: Hunt to next trunk in group if busy
ASTERISK-72
chan_dahdi: Move documentation to separate file
PHREAKNET-38
Send reminder emails if requests are pending
WSSMAIL-7
Add ability for zero-trust type authentication
WSSMAIL-6
Add option to auto-reconnect if disconnected
LBBS-30
net_nntp: Complete overhaul/rewrite to use maildirs
LBBS-29
net_irc: Add reminder bot
LBBS-28
mod_discord: Warn users if IRC users are not online
LBBS-27
mod_irc_relay: Allow relaying of away/here status
PHREAKSCRIPT-16
app_selective: Missing pause after add/delete/instructions prompt
ASTERISK-71
app_if: ElseIf executed even if If is true
ASTERISK-70
loader.c: Print module build opt sums if they differ
ASTERISK-69
res_cli_originate: Allow specifying Caller ID on CLI
DAHTOOL-2
dahdi_cfg: Compiler warnings
DAHLIN-3
build: Compiler warnings
PHREAKSCRIPT-15
app_dialtone: t option should exclude matches that include #
LBBS-25
mod_mail_trash: Attempts to open files as directories
LBBS-24
build: Pre-reqs don't compile on Fedora
LBBS-23
net_smtp: DMARC reports not sent due to rejection of localhost
LBBS-21
net_imap: Proxy clients orphaned without associated IMAP session
LBBS-20
node.c: Occasional race conditions during node shutdown cause deadlock
LBBS-18
net_ssh: High CPU trying to end SSH session
LBBS-17
Temporary files not always cleaned up
LBBS-13
pty.c: Attempt to lock previously destroyed mutex
ASTERISK-67
voicemail.conf.sample: maxsilence/minsecs trigger warning
ASTERISK-66
app_sf: ReceiveSF not detecting incoming SF
PHREAKNET-37
Chirp should be audible upon on-hook of calls on a 2600 trunk
ASTERISK-65
sig_analog: Allow simple switch to time out to dialplan
LBBS-11
door_evergreen: Use isonetexec instead of exec
EVERGREEN-1
Use default identity per folder
SLACK-2
README: Add missing pre-reqs
WSSMAIL-5
Add full attachment support
WSSMAIL-4
Add PHPMailer support for format=flowed
WSSMAIL-3
Message listing missing recipient for some messages
LBBS-10
mod_sysop: Allow modifying user info from console
LBBS-9
mod_webmail: Improve MIME parsing to extract HTML/PT components
LBBS-8
net_imap: Accounts occasionally fail to load or are reordered
LBBS-7
Fix backspace detection/handling
LBBS-5
tests: Add TLS tests
LBBS-4
tests: Add tests that establish remote console connections
LBBS-3
module.c: Module ref tracking is flaky
LBBS-2
module.c: Improve module loading process
PHREAKNET-36
Trunking integration with Phil McCarter
PHREAKNET-35
TSPS improvements
PHREAKNET-34
Pat Fleet prompts
ASTERISK-63
Upstream certain PhreakScript modules
PHREAKNET-33
Finish TSPS web console
ASTERISK-62
app_followme: use enum for tmpuser->state
ASTERISK-61
func_groupcount: Add see-also for GROUP functions
ASTERISK-60
users.conf: Remove deprecated config file
ASTERISK-59
chan_dahdi: Remove stripmsd
ASTERISK-58
xml: Add config documentation
ASTERISK-57
bridging: Make DAHDI, always softmix bridging modules
ASTERISK-56
res_musiconhold: Add recursive files support
ASTERISK-55
chan_dahdi: add NUM_ANALOG_SUBS
ASTERISK-54
loader: Fix reloading using config name
ASTERISK-53
formats: add ulaw/alaw WAV support
ASTERISK-51
app_originate: Allow spooling future calls
PHREAKSCRIPT-14
app_selective: Allow wildcard * patterns
ASTERISK-50
app_dial: Fix or document r tonezone option
ASTERISK-49
Remove all deprecated stuff
ASTERISK-48
func_devstate: Delete empty from AstDB
ASTERISK-47
res_pjsip_session: Warn if no shared codecs
ASTERISK-45
app_voicemail: Option 4 at main menu
ASTERISK-44
format_pcm: Fix seek past end
DAHTOOL-1
system.conf: Fix typos
DAHLIN-2
Fix typos and dead links
ASTERISK-43
pbx_builtins: allow Answer to specify the channel
ASTERISK-42
sig_pri: Add CLI description
ASTERISK-41
app_confbridge: Document binaural_active
ASTERISK-40
pjsip: document MessageSend AOR limitation
ASTERISK-39
app_dial: ANSWEREDTIME documentation
ASTERISK-38
config: Fix missing config log consistency
ASTERISK-37
chan_pjsip: CALLERID(ani2) not working
ASTERISK-36
res_pjsip_logger: Add filtering by username
ASTERISK-35
sig_analog: Fix buffer overflow
ASTERISK-34
app_queue: Allow setting context at runtime
ASTERISK-33
docs: Update obsolete wiki links
ASTERISK-32
chan_dahdi: Allow Call Forwarding to be set/get programatically
ASTERISK-31
Add AMI event for assertion
ASTERISK-30
Add ast_channel_tech_name_match function
ASTERISK-29
chan_iax2: Add ${CHANNEL(authmethod)}
ASTERISK-28
ast_auto_answer: Use when possible
ASTERISK-27
chan_dahdi: add IS_FXO_SIG macro
ASTERISK-26
app_voicemail: make maxsecs user-configurable
ASTERISK-25
app_originate: allow early media, labels
ASTERISK-24
app_chanspy: Add no answer option
ASTERISK-23
logging: Update log levels
ASTERISK-21
app_dial: Remove dead debug code
ASTERISK-20
app_meetme: Update or remove removal version
LBBS-1
mod_slack: Workspace fails to initialize due to restrictions
DAHLIN-1
Makefile: remove update target
PHREAKSCRIPT-13
func_fsk_connectedline: Connected Line to FSK framehook
ASTERISK-18
func_frame_drop: Simplify and improve
ASTERISK-17
app.c: Add register multiple API for apps and funcs
ASTERISK-16
res_pbx_validate: Add commands to warn of dialplan problems

← All Issues || New Issue →

Sort Normal || Priority

Details


Steps to reproduce:

  1. Make a call from A (which could be anything), over an IAX2 to trunk to a DAHDI phone, B (in my testing, A and B are on different Asterisk systems). threewaycalling must be enabled (at least for B).
  2. Answer B, then flash to put A on hold.
  3. OBSERVATION #1: If Set(CHANNEL(musicclass) is used to set MOH for the call, a DAHDI to DAHDI call but not an IAX2 to DAHDI call (such as this one) will hear MOH. The IAX2 call will just be silent, for some reason.
  4. Hang up B, which will trigger a recall ring for the call on hold.
  5. BUG #1: A will hear "power ring" (the actual audio as if you were listening to dahdi_monitor) for the recall ring to B, until B answers. This is actually really cool, but this should NOT be happening. For one, this is "information leakage" which is not allowed from a security perspective. A should never know if B is simply off hook or has hung up and receiving a recall ring. This exposes this information since when B hangs up, the call goes from silence to hearing power ring until the call is answered again.

Note that this power ring will sound different on each system. On one system with a 24-port analog card, it sounds really cool, almost like a city ringback tone, and on another system with a 4-port analog card, you don't really hear much "power ring at all", it's almost silent. Makes sense and adds to the uniqueness of this functionality!

This all happens even without the hearpulsing setting enabled (though the patches are present) in 21.3.1.

ACTION ITEM: Fix BUG #1 so it doesn't happen. The obvious first step is compare a DAHDI to DAHDI call and IAX2 to DAHDI and see what's different (control frame differences?) Part of the fix may entail in chan_dahdi dropping audio towards the caller (e.g. dahdi_read) if a recall ring is ongoing.

It would be very nice to be able to hear power ring as the regular ring, in general - so not in this scenario, since that isn't allowed (A should hear MOH or just silence the whole time), but in general when A calls B, instead of precise ringback, we have the option to provide the actual power ringing audio. This can actually be accomplished by enabling "hearpulsing=yes". It does exactly what we would want and expect here. As such, this provides a clue towards resolution, effectively "hearpulsing" is active on recall ring in the IAX2 to DAHDI scenario, even though it shouldn't be. So, really, there are 2 things to do here:

  1. Fix chan_dahdi so that this audio is dropped (no hearpulsing) during recall rings.
  2. Investigate why chan_iax2 differs from a DAHDI to DAHDI call in this case.

Fixes should be done at the same time (but only one at a time and then reverted) so both can be verified: i.e. if 2 is fixed first, it will be difficult to verify if 1 is resolved, and if 1 is resolved, it will be difficult to (audibly) investigate 2.

As far as #1 goes, this seems like a possible solution:


Comments

You must be logged in to leave a comment.