Skip to content

All DTMF events from FRITZ!Box ignored #133

@bits0rcerer

Description

@bits0rcerer

I use diago to register as a client on a FRITZ!Box 7530 AX. When I now call that client and try to send DTMF events from a phone, diago ignores all events.


Audio and DTMF reader setup

dtmf := &diago.DTMFReader{}
dtmf.OnDTMF(onDTMF)

props := &diago.MediaProps{}
ar, err := dialog.AudioReader(diago.WithAudioReaderMediaProps(props), diago.WithAudioReaderDTMF(dtmf))

/* ... */

bytes, err := media.Copy(ar, w)

Now I press 5 on the phone but onDTMF never gets called.


Logs

2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:false Volume:0 Duration:0}"
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:false Volume:0 Duration:0}"
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:false Volume:0 Duration:0}"
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:false Volume:0 Duration:800}"
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:false Volume:0 Duration:800}"
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:true Volume:0 Duration:800}"
2026-03-07 21:47:08 DBG Received DTMF packet but short duration dur=0
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:true Volume:0 Duration:800}"
2026-03-07 21:47:08 DBG Received DTMF packet but short duration dur=0
2026-03-07 21:47:08 DBG Processing DTMF event ev="{Event:5 EndOfEvent:true Volume:0 Duration:800}"
2026-03-07 21:47:08 DBG Received DTMF packet but short duration dur=0

It seems that all events are incorrectly filtered out by the duration filter.


#116 applied (and cleaned up) on release 0.27.0 seems to fix the issue. v0.27.0/fix/fritzbox-dtmf

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions