Made some changes to how RFC 2833 DTMF digits are generated so packets emitted adhere more precisely to the spec and so they are more reliably interpreted on the receiving side.
Things done:
DTMF event packets are emitted 20ms apart for approximately 250 ms, instead of all at once
the duration field in the event payload correlates to the time between the event start timestamp and the packet transmission time
3 redundant copies of the end-of-event packet are sent, to guard against packets dropped in transmission.
added some unit tests to ensure the generated packets are as expected
As a point of reference, the generated digits closely match what is emitted by Twilio SIP trunks, and are being far more reliably interpreted by the SIP server i'm running (freeswitch 1.6.20)
Made some changes to how RFC 2833 DTMF digits are generated so packets emitted adhere more precisely to the spec and so they are more reliably interpreted on the receiving side.
Things done:
As a point of reference, the generated digits closely match what is emitted by Twilio SIP trunks, and are being far more reliably interpreted by the SIP server i'm running (freeswitch 1.6.20)