qSIP icon indicating copy to clipboard operation
qSIP copied to clipboard

Can't get the UA_EVENT_CALL_DTMF_START event

Open hallerbachj opened this issue 6 years ago • 3 comments

Hi,

I have some trouble to get DTMF to work. In the onEvent function of the PhoneThread.cpp I have expected to get UA_EVENT_CALL_DTMF_START, if I press a button on the smartphone after establishing a call with qSip. But I cannot get the event. Can you please give me a hint, how to get the DTMF events properly? My goal is to call a smartphone with qSip and when the user accepts the call, a wave file is beeing played and the user can acknowledge the message by entering a predefined DTMF code. The playing of the wave file is working (had to implement a switch audio source function). If you are interested, I can share the code with you.

hallerbachj avatar Feb 10 '19 17:02 hallerbachj

My qSIP can receive DTMF events. Maybe it is due to the SIP server to which it is connected. At my home, the Asterisk server is running and all IP phones are passing through that server.

image

soramimi avatar Feb 11 '19 01:02 soramimi

Thank you for your quick response! I will try out some different servers. Maybe it is related to RFC 2833 or sip info? I will check this more closely.

hallerbachj avatar Feb 11 '19 19:02 hallerbachj

Hi,

I have analyzed the traffic with wireshark. First, I have used tSIP, where DTMF works like expected:

tsip_fl

tsip

Next, I tried qSIP:

qsip_fl

qsip

I suppose, the problem is, that in qSIP the media format 101 is assigned to "speex" and the server expects 101 for dtmf. Is there an easy way to modify the order of the codecs, to get dtmf at 101 and not 111 in my case?

TIA

hallerbachj avatar Feb 13 '19 16:02 hallerbachj