BallyTseng / siphon

Automatically exported from code.google.com/p/siphon
0 stars 0 forks source link

dtmf inband? #39

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
I used beta4 and called my freeswitch ivr demo (ext 5000 on a standard
freeswitch install).  Hitting the buttons to select an option was ignored
by freeswitch. 

How is dtmf transmitted?  Is it only inband or rfc2833?

Original issue reported on code.google.com by larry.ma...@gmail.com on 23 Sep 2008 at 5:46

GoogleCodeExporter commented 9 years ago
see issue 9

Original comment by samuelv0...@gmail.com on 25 Sep 2008 at 6:30

GoogleCodeExporter commented 9 years ago
For the moment Siphon just use inband. 
I will implement rfc 2833 in the next version.
Siphon will try to use rf2833, and if it doesn't work it will send DTMF tone 
inband.

Original comment by samuelv0...@gmail.com on 25 Sep 2008 at 7:57

GoogleCodeExporter commented 9 years ago
In beta 5, Siphon try to send dtmf with rfc2833, and if the sever doesn't 
accept this
protocol, Siphon send DTMF tone inband.
http://trac.pjsip.org/repos/wiki/FAQ#rfc-2833
http://trac.pjsip.org/repos/wiki/FAQ#inband-dtmf

Original comment by samuelv0...@gmail.com on 27 Sep 2008 at 12:19

GoogleCodeExporter commented 9 years ago

Original comment by samuelv0...@gmail.com on 11 Oct 2008 at 5:35

GoogleCodeExporter commented 9 years ago
Please do 2833 as inband is very heavy on the other side since you have to run 
a DTMF detector.  I'll give you 
code to do 2833 if we have too.

/b

Original comment by brian.w...@gmail.com on 11 Oct 2008 at 6:40

GoogleCodeExporter commented 9 years ago
rfc2833 doesn't seem to be working for me in beta 9.   Another phone connected 
to the
same proxy through a Linksys SPA-20xx ATA and with rfc2833 enabled works fine.

Both of them can be seen sending this in the SDP:

a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16

Could it be Siphon is (obviously) negotiating rfc2833 but just not sending it in
response to keypad presses?  I haven't yet tried to look at the RTP stream to 
see if
the keypress events are present.

Original comment by dblac...@gmail.com on 25 Oct 2008 at 12:38

GoogleCodeExporter commented 9 years ago
BTW, (beta 9) inband DTMF seems to be running into the echo canceller or 
something. 
 Listening on a remote phone, the first digit comes through quite loud but the rest
sound like they are being muted on the Siphon end.  Much like how speaking 
caused it
to mute in beta 8.

Original comment by dblac...@gmail.com on 25 Oct 2008 at 12:40

GoogleCodeExporter commented 9 years ago
Hi,
I'm using beta 9 and I can't use DTMF keyboard with ippi.fr, I don't hear 
anything
either when I press the keys. (by the way, I think ippi use rfc2833)

Original comment by remi.seg...@gmail.com on 29 Oct 2008 at 5:10

GoogleCodeExporter commented 9 years ago
The keypad has never worked for me.. no tones.. nothing sent.  

/b

Original comment by brian.w...@gmail.com on 29 Oct 2008 at 5:26

GoogleCodeExporter commented 9 years ago
I also cannot get any response from the keypad, and there is no indication that 
the
button has been pressed (i.e., does not turn blue) .

Original comment by larry.ma...@gmail.com on 30 Oct 2008 at 6:46

GoogleCodeExporter commented 9 years ago
with beta10, when I press a number on the keypad, I now hear a quick tone, but 
it
still does not work with freeswitch test IVR.

Original comment by larry.ma...@gmail.com on 14 Nov 2008 at 5:36

GoogleCodeExporter commented 9 years ago
Logically the feedback is visual (blue key) and audio (dtmf sound).
Some persons told me there is no visual feedback. I'd like to know which 
platform has
a visual feedback or not.
For example:
Feedback audio and visual works, on device: iphone 1 OS: iphone 2.1 jailbreak: 
yes  

Could you complete with your iphone charateristics?

Original comment by samuelv0...@gmail.com on 14 Nov 2008 at 9:25

GoogleCodeExporter commented 9 years ago
Feedback audio and visual works, on device: iphone 3g OS: iphone 2.1 jailbreak: 
yes  

Original comment by larry.ma...@gmail.com on 14 Nov 2008 at 9:41

GoogleCodeExporter commented 9 years ago
Feedback audio for all the number touchs (this feature is adjustable would be
appreciated!) 
Feedback visual but not audio with the "annul touch" and the "+ contact"
Nothing for the "* touch" and the "# touch" (Bug also that if you select them)

Iphone 1 OS : iphone 2.1 jailbreak : yes

Original comment by sleblond...@gmail.com on 14 Nov 2008 at 9:59

GoogleCodeExporter commented 9 years ago
"#" works for me, but "*" crashes the phone (but the call still seems active).

Original comment by larry.ma...@gmail.com on 14 Nov 2008 at 11:31

GoogleCodeExporter commented 9 years ago
Now running Siphon beta 12 (bis), version 20081122-1 with iTunes on Windows (and
unzipped using the built-in Win XP zip extractor), iPhone firmware 2.2.

To test DTMF, I am simply calling another extension on my Asterisk system.  Both
extensions are configured for rfc2833 DTMF only (no inband or SIP info 
enabled). 

If I press tones on the iPhone running Siphon, I hear the expected brief DTMF 
bursts
on the other end except for the * button, when it's silent.  If it's RFC 2833, 
why
would the * button not work?  I.e., the event sent in the RTP stream doesn't 
require
the apparently missing .wav file (another known bug).

If I press tones on the remote extension - which has verified working DTMF, I 
hear
nothing at all on the iPhone.  My guess here - could substantiate with an RTP 
dump -
is Siphon is receiving the DTMF events but not decoding/playing them back.   
I'll try
to do that this afternoon and update the issue accordingly.

Original comment by dblac...@gmail.com on 26 Nov 2008 at 8:29

GoogleCodeExporter commented 9 years ago
I repeated the conversation and dumped all packets (at the proxy) into a .pcap 
file.
 Bringing that into Wireshark, I confirmed:

. Siphon negotiates rfc2833 DTMF with the proxy
. Siphon sends DTMF inband (no DTMF events seen in the outbound RTP stream)
. The other extension is seen sending the correct RTP EVENT packets for each 
DTMF
digit and they are being relayed (retransmitted) to Siphon by Asterisk.
. Nothing's heard on Siphon; it appears the RTP EVENT packets are ignored.

For now (until this is fixed - *please* fix it), my workaround is to configure 
DTMF
inband only for the extension Siphon uses.

Original comment by dblac...@gmail.com on 26 Nov 2008 at 8:49

GoogleCodeExporter commented 9 years ago
I'm very surprising by your comment because
 - in first time Siphon tries to send dtmf with rfc 2833
 - if the previous step does not work Siphon sends inband
like is described here.
http://trac.pjsip.org/repos/wiki/FAQ#dtmf

In Siphon, effectively I don't manage dtmf received. Could you tell me the 
interest ? 

Original comment by samuelv0...@gmail.com on 26 Nov 2008 at 10:41

GoogleCodeExporter commented 9 years ago
According to the link you attached, pjsip sends DTMF as rfc2833 (an RTP event) 
only
if the remote side indicates it can receive rfc2833 in the call SDP it sends to
Siphon/pjsip.  That's the same behavior as Asterisk's 'auto' DTMF mode, and 
happens
only at call setup time.  PJSIP then has to store that state for the duration 
of the
call.  The PJSIP wiki page details how to send inband, noting it's only 
necessary if
PJMEDIA_RTP_EREMNORFC2833 is returned from one of the *_dial_dtmf() functions.  
 Are
you checking for and receiving that code when you try to send DTMF?

What I saw in the packet trace is both sides indicating they can receive 
rfc2833 DTMF
in their SDPs, but Siphon still sends inband, as well as ignores received 
rfc2833
DTMF events.  For whatever reason Siphon appears to be in the inband DTMF mode 
when
it should be in rfc2833 mode.   If you'd like another pair of eyes to look at 
your
code for this, just let me know.

I considered posting the packet trace but don't want to divulge the particulars 
of my
system on a public forum, e.g. public IP addresses and phone numbers.  Happy to 
send
them to you directly though, if it helps.

Original comment by dblac...@gmail.com on 27 Nov 2008 at 2:58

GoogleCodeExporter commented 9 years ago
Like for visual feedback, the debug version works fine, but the beta version 
doesn't
work. :-( It's crazy.

Original comment by samuelv0...@gmail.com on 28 Nov 2008 at 8:51

GoogleCodeExporter commented 9 years ago
beta 14

Original comment by samuelv0...@gmail.com on 30 Nov 2008 at 2:53

GoogleCodeExporter commented 9 years ago
It's working for me now.  I can choose options in the freeswitch IVR.  Thanks 
Samuel.

Original comment by larry.ma...@gmail.com on 1 Dec 2008 at 5:50

GoogleCodeExporter commented 9 years ago

Original comment by samuelv0...@gmail.com on 1 Dec 2008 at 11:03