meetecho / janus-gateway

Janus WebRTC Server
https://janus.conf.meetecho.com
GNU General Public License v3.0
8.15k stars 2.47k forks source link

Janus Demo DTMF Tones Not Working #240

Closed JamesLG00 closed 9 years ago

JamesLG00 commented 9 years ago

I have tried the online demo and running the demo on my own box (Azure VM) with Janus and DTMF tones are not working on my test outbound calls. Is there something that needs to be configured for DTMF to work?

Also does Janus support SIP Hold & SIP Transfer? I did not see any methods implementing these features for call handling.

thanks.

lminiero commented 9 years ago

DTMF tones should work, or at least they usually do for me when I try them with Asterisk. Not sure if they only work in Chrome or Firefox too, though.

No support for SIP Hold and Transfer instead, that needs to be added. Besides, they'd require renegotiation that we don't handle right now.

lminiero commented 9 years ago

Any update?

lminiero commented 9 years ago

Closing for lack of feedback. Feel free to reopen if you can share more details on this.

Telephonic commented 8 years ago

Hi there, we're also having problem with generating DTMF. :(

We're installed the current master on Ubuntu 14.04.3 x64. We have successful registration and 2-way audio between Janus and Kamailio/FreeSWITCH. Outbound and inbox invites work. However, outgoing DTMF doesn't work.

When we select the DTMF buttons in the web demo UI, we've not getting inband DTMF nor are be generating rfc2833 or SIP INFO type of DTMF. We've run tcpdump to be sure.

We have verbosity set to 7 and see not DTMF events. Would we see DTMF outputs if the request was successfully received from the browser session?

Is there any other details we can provide that would help?

Thanks :)

lminiero commented 8 years ago

Are the telephone events being negotiated on the other end?

Telephonic commented 8 years ago

Once the outbound call is establish, we have 2-way audio with both RTP and RTCP packets, but no call DTMF events are being from Janus via SIP/RTP. If they are DTMF buttons are selected and correctly generated in the WebRTC session, would these events also show in the Janus logs when verbosity is set to 7?

We typically have no trouble sending DTMF with our Kamailio/FreeSWITCH config using the same SIP credentials with a SIP phone (Polycom, Bria, Zoiper, etc.)

lminiero commented 8 years ago

No, they wouldn't appear in the logs: they go over media, not signalling. I meant, is the feauture being negotiated in SDP on both ends?

Telephonic commented 8 years ago

That's a good question. It doesn't look like DTMF is being negotiated in the SDP. When Janus sends the outgoing INVITE to FreeSWITCH, we see no "a=rtpmap:101 telephone-event/8000" in the SDP. (See SDP sampled below)

INVITE SDP from Janus: v=0 o=mozilla...THIS_IS_SDPARTA-43.0.4 4254920356691078813 2135120719905085732 IN IP4 159.203.2.228 s=- t=0 0 m=audio 21812 RTP/AVP 109 9 0 8 c=IN IP4 159.203.2.228 a=rtpmap:109 opus/48000/2 a=rtpmap:9 G722/8000/1 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000

200 OK SPD reply from FreeSWITCH: v=0 o=FreeSWITCH 1453373717 1453373718 IN IP4 65.39.140.201 s=FreeSWITCH c=IN IP4 65.39.140.201 t=0 0 m=audio 26498 RTP/AVP 9 a=rtpmap:9 G722/8000 a=ptime:20

When we place an inbound call to the registered WebRTC messing from our FreeSWITCH server, we do see our FreeSWITCH server sending INVITE to Janus with the DTMF "a=rtpmap:101 telephone-event/8000" negotiation in the SDP.

INVITE SDP from FreeSWITCH: v=0 o=FreeSWITCH 1453367792 1453367793 IN IP4 65.39.140.200 s=FreeSWITCH c=IN IP4 65.39.140.200 t=0 0 m=audio 32606 RTP/AVP 98 101 13 a=rtpmap:98 opus/48000/2 a=fmtp:98 useinbandfec=1; usedtx=1; maxaveragebitrate=30000; ptime=20; minptime=20; maxptime=20; samplerate=48000 a=rtpmap:101 telephone-event/8000 a=fmtp:101 0-16 a=ptime:20

200 OK SDP reply from Janus: v=0 o=mozilla...THIS_IS_SDPARTA-43.0.4 6247821279104487542 3246993156808063312 IN IP4 159.203.2.228 s=- t=0 0 m=audio 35282 RTP/AVP 98 c=IN IP4 159.203.2.228 a=rtpmap:98 opus/48000/2

lminiero commented 8 years ago

Then maybe the other end is dropping support for DTMF tones since it's not being negotiated. I can definitely get DTMF working when calling Asterisk despite this, so they're there. Try adding 101 to the m=audio payload types list and the a=rtpmap:101 telephone-event/8000 line to the SDP offer as generated by the browser in JavaScript to see if that solves it.