<div><span class="gmail_quote">On 2/15/06, <b class="gmail_sendername">Simon</b> <<a href="mailto:simon@nureality.ca">simon@nureality.ca</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><font face="Arial" size="2">1. People want to maintain using p2p if possible, 
and not tie all calls to go through a gateway simply to translate XMPP INFO to 
legacy DTMF formats (so not all calls/bandwidth go through the 
server).</font></div>
<div></div><div><font face="Arial" size="2">2. Concern over 2 "methods" thus meaning a split 
and the community being worse off.</font></div>
<div></div><div><font face="Arial" size="2">I'm not sure the proper term but this system is 
proposing the protocol in use to use its existing DTMF support as a base 
requirement.</font></div>
<div><font face="Arial" size="2">This means hooking into legacy systems you can 
never need to worry about ever having to handle jabber:x:data 
support.</font></div>
<div></div><div><font face="Arial" size="2">If your an IAX or SIP client this means you use 
your existing protocols DTMF method, but you have the OPTION of using 
jabber:x:data for a more feature rich experience.</font></div>
<div></div><div><font face="Arial" size="2">Let's say your calling <a href="mailto:12345@pstn.jabber.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">12345@pstn.jabber.org</a> which goes to 
PSTN. your response back might look like:</font></div><span class="q">
<div></div><div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/rtp'/</a>></div></span><span class="q">
<div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>></div>
<div></div></span><div><font face="Arial" size="2"><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>> will be a 
baseline support for DTMF on jingle platform. This means if your connecting via 
SIP you use SIP's method of DTMF, if your on IAX you use IAX's built in 
DTMF.</font></div></blockquote><div><br>
<br>
  Hrm, I hadn't thought about it this way.  I don't think
assumption would work.  You couldn't differentiate when talking
with Simons super cool advanced client when it reported:<br>
<br>
<span class="q"><div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/rtp'/</a>></div>
</span>

<span class="q"><div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>></div>
</span>
<div>
<span class="q"><div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>></div>
</span></div>
<br>
  This is why I wrote them as:<br>
<br>
<span class="q">
<div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/rtp'/</a>><br>
<span class="q"><div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/stp'/</a>></div>
</span>

<span class="q"></span><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>></div>

</span>

<span class="q">
</span>
<div>
<span class="q"><div><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>><br>
<br>
  In a way, the current reference to <span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/audio'/</a>> could simply infer 'rtp' as well.  But, as there are no current clients with DTMF support to my knowledge, just:
<br>
<span class="q"></span></span></div>
</span></div>
<br>
<span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/audio'/</a>><br>
<br>
  means that no sort of intraction is supported.  Now, Google decides to add, say, IAX support to their client:<br>
<br>
</span><span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/audio'/</a>><br></span><span class="q"><feature var='
<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>><br>
<br>
  Or perhaps sending DTMF over XMPP:<br>
<br>
</span><span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/audio'/</a>><br></span><span class="q"><feature var='
<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>><br></span><span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
http://jabber.org/protocol/jingle/media/iax'/</a>><br>
</span><br>
 Basically, the dtmf namespace is current 'undefined', but would
basically be very simplistic to say 'I can send you 0-9, *, or
#.'  One would assume it would also include some sort of sequence
information as well, just in case.  ;-)<br>
<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div>If you are IAX you may receive:</div><span class="q"><div><feature var='
<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>></div>
</span><div>
<span class="q"><div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>></div></span><div>In the case I connect to a gateway to translate to say Jingle Audio or SIP 
etc its the gateways responsibility to translate IAX's DTMF to SIP or Jingle 
Audio DTMF.</div></div></div></blockquote><div><br>
  I think the only place where we seperate is the inference of the
dtmf namespace to infer that it use whatever signaling goes 'hand in
hand' with the given audio type.<br>
<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div><div>Now in the case of fancy jim bob's voicemail server component, say <a href="mailto:voicemail@jabber.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
voicemail@jabber.org</a>, it might support 
jabber:x:data so you can represent your voicemail box via gui to listen/delete 
voice messages, when you send a jingle request to <a href="mailto:voicemail@jabber.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">voicemail@jabber.org</a> you may get a 
response such as:</div>
<div> </div>
<div><span class="q">
<div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>></div>
</span><div>
<span class="q"><div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>></div></span>
<div><feature var='jabber:x:data'/></div><div>Now we got something here. The voicemail service supports jabber:x:data. 
Now we can do so much more!</div></div></div></div></div></blockquote><div><br>
  That's what sounds really nice.  Being able to present much
richer content.  0123456789*# is NOT rich content..  ;-)<br>
<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div><div><div><div>Now what does everyone think of this?</div></div></div></div>
</div></blockquote><div><br>
  I think that the sky is blue becouse it isn't green.<br>
<br>
</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div><div><div><div>One other issue after speaking to Matt. Now that we have a way to 
detect to use a protocols "built in DTMF" or enhanced jabber:x:data, from what I 
understand Jingle Audio/SIP actually don't have 1 set way to do DTMF. The 
concern here is if we support both, everyone will have to implement both because 
you never know what you might get. So what do we do about this?</div></div></div></div></div></blockquote><div><br>
  The baseline of the dtmf namespace, which, as I said, provides a
simple, but obviously lacking interface.  In most cases, I suspect
SIP centric individuals with use their RTPish solution.<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div><div><div><div>This means when you recieve:</div><span class="q">
<div><feature var='<a href="http://" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/dtmf'/</a>></div></span>
<div>with SIP or Jingle Audio specified, which DTMF method do they use as their 
"built in DTMF" for that identified feature?</div></div></div></div></div></blockquote><div><br>
  Dunno if we agree on that, but I see where you're getting the
idea, becouse IAX contains DTMF along with audio data, right
there.  I would assume on receipt of <br>
<br>
<span class="q"><feature var='<a href="http:///" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://jabber.org/protocol/jingle/media/iax'/</a>></span><br>
<br>
  and I decided to use it, DTMF usage within iax is infered. 
The same assumption can't be made with RTP, becouse it could be done
with audio encoding directly into the stream (OMFG, Blechblechblech),
or using the so often mentioned rfc (I dont have the number in front of
me.  Sue me).<br>
</div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div><div><div><div>I want to thank Thomas and Matt for their time spent with me today on this 
topic.</div></div></div></div></div></blockquote><div><br>
  That's ok, I'm keeping track.  Are we gonna 1099 this, or W2?  ;-)<br>
 </div></div>  Thomas<br>