[jitsi-users] DTMF issues


#1

I've been doing some testing between Jitsi and reConServer (based on
reSIProcate)

When Jitsi DTMF mode = RFC 4733 (RTP payload), reConServer tells me that
the tones from Jitsi are all lasting 800ms. This is a lot.

When Jitsi DTMF mode = SIP INFO, reConserver reports the tones are much
shorter, e.g. the last one I tested was 74ms, about the length of my
mouse click perhaps

The longer tones are potential troublesome if calls are bridged more
than once

I couldn't find any configuration property to adjust the length

Here is an extract from the reConServer log:

$ grep onDtmf reConServer.log | cut -f6- -d'|' | tail -10
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=3 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=11 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=11 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=1 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=1 dur=960 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=2 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=2 dur=960 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=5 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=5 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=6 tone=1 dur=74 up=1


#2

Hi Daniel,

there is an account property DTMF_MINIMAL_TONE_DURATION
and also global configuration properties:
net.java.sip.communicator.service.protocol.minimalRtpDtmfToneDuration
net.java.sip.communicator.service.protocol.maximalRtpDtmfToneDuration
Hope this helps

Regards
damencho

···

On Tue, Mar 25, 2014 at 5:27 PM, Daniel Pocock <daniel@pocock.com.au> wrote:

I've been doing some testing between Jitsi and reConServer (based on
reSIProcate)

When Jitsi DTMF mode = RFC 4733 (RTP payload), reConServer tells me that
the tones from Jitsi are all lasting 800ms. This is a lot.

When Jitsi DTMF mode = SIP INFO, reConserver reports the tones are much
shorter, e.g. the last one I tested was 74ms, about the length of my
mouse click perhaps

The longer tones are potential troublesome if calls are bridged more
than once

I couldn't find any configuration property to adjust the length

Here is an extract from the reConServer log:

$ grep onDtmf reConServer.log | cut -f6- -d'|' | tail -10
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=3 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=11 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=11 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=1 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=1 dur=960 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=2 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=2 dur=960 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=5 dur=-1 up=0
B2BCallManager.cxx:55 | onDtmfEvent: handle=1 tone=5 dur=800 up=1
B2BCallManager.cxx:55 | onDtmfEvent: handle=6 tone=1 dur=74 up=1

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#3

I went to options, advanced and selected property editor

It doesn't find any of those settings

Should I add them there with the "New" button? Or should I set them
somewhere else or in a config file?

···

On 25/03/14 16:35, Damian Minkov wrote:

Hi Daniel,

there is an account property DTMF_MINIMAL_TONE_DURATION
and also global configuration properties:
net.java.sip.communicator.service.protocol.minimalRtpDtmfToneDuration
net.java.sip.communicator.service.protocol.maximalRtpDtmfToneDuration
Hope this helps


#4

Hi,

The properties net.java.sip.communicator.service.protocol.minima...
can be added as new properties using the properties editor.

For the per account property setting you must find your current
account properties and use the same prefix when creating with new, so
it will look like:
net.java.sip.communicator.impl.protocol.sip.acc1366287475191.DTMF_MINIMAL_TONE_DURATION=70

Cheers
damencho

···

On Tue, Mar 25, 2014 at 5:52 PM, Daniel Pocock <daniel@pocock.com.au> wrote:

On 25/03/14 16:35, Damian Minkov wrote:

Hi Daniel,

there is an account property DTMF_MINIMAL_TONE_DURATION
and also global configuration properties:
net.java.sip.communicator.service.protocol.minimalRtpDtmfToneDuration
net.java.sip.communicator.service.protocol.maximalRtpDtmfToneDuration
Hope this helps

I went to options, advanced and selected property editor

It doesn't find any of those settings

Should I add them there with the "New" button? Or should I set them
somewhere else or in a config file?

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#5

Is the default 800ms in the code somewhere? Could it be reduced?

In my tests, I've found that pressing a second button before the 800ms
passes, the second button press is not recognised on the other end.
This would potentially cause frustration for people when they don't
realize which digits are getting through

···

On 25/03/14 17:02, Damian Minkov wrote:

Hi,

The properties net.java.sip.communicator.service.protocol.minima...
can be added as new properties using the properties editor.

For the per account property setting you must find your current
account properties and use the same prefix when creating with new, so
it will look like:
net.java.sip.communicator.impl.protocol.sip.acc1366287475191.DTMF_MINIMAL_TONE_DURATION=70


#6

Hum, in the code I see it is 100ms, it used to be 70ms, but we changed
to 100ms. I also see it to be 70ms by default when creating sip
accounts, added by lib/jitsi-defaults.properties.

···

On Tue, Mar 25, 2014 at 6:36 PM, Daniel Pocock <daniel@pocock.com.au> wrote:

On 25/03/14 17:02, Damian Minkov wrote:

Hi,

The properties net.java.sip.communicator.service.protocol.minima...
can be added as new properties using the properties editor.

For the per account property setting you must find your current
account properties and use the same prefix when creating with new, so
it will look like:
net.java.sip.communicator.impl.protocol.sip.acc1366287475191.DTMF_MINIMAL_TONE_DURATION=70

Is the default 800ms in the code somewhere? Could it be reduced?

In my tests, I've found that pressing a second button before the 800ms
passes, the second button press is not recognised on the other end.
This would potentially cause frustration for people when they don't
realize which digits are getting through

_______________________________________________
users mailing list
users@jitsi.org
Unsubscribe instructions and other list options:
http://lists.jitsi.org/mailman/listinfo/users


#7

I had a look at the packets with Wireshark

For one button press, Jitsi sends out 5 signal packets and then 3 more
end packets. The first end packet is send about 110ms after the first
packet of the sequence.

In the RFC 2833 event info, the duration of the last signal packet = 800
and the duration field in the first end packet = 960. These are
timestamp units, not milliseconds, so it looks like Jitsi is sending
them correctly but something else in the reConServer/sipXtapi stack is
interpreting them incorrectly so I'm having a closer look there now.

···

On 25/03/14 17:55, Damian Minkov wrote:

Hum, in the code I see it is 100ms, it used to be 70ms, but we changed
to 100ms. I also see it to be 70ms by default when creating sip
accounts, added by lib/jitsi-defaults.properties.