[Standards-JIG] FW: Jingle - P2P and PBX calls

Simon Guindon simon.guindon at tomahawk.ca
Wed Jan 4 18:35:51 UTC 2006

Ok thank you very much for that clarification. 


I hope I'm going to explain this properly so bare with me.


To add PBX like capabilities we have 2 options.

1.	Create a new Jingle-IAX or Jingle-SIP spec.

Since IAX and/or SIP already support DTMF, once a call is placed, we
don't need DTMF support built in.

Disadvantage is clients need to specifically have IAX support.


2.	Add DTMF support to Jingle (or would it be Jingle Audio?)

Since there may be iax.server.com which could be a Jingle Audio gateway
to SIP, we need a way to tell the gateway we pressed a tone etc. Two
ways you mentioned last evening on IRC was, that RTP already supports
DTMF so the gateway simply has to relay these into SIP or IAX.


Or an alternative is an XML spec where you send a query to
iax.server.com saying something such as <tone>123</tone> and it does the
IAX or SIP specifics etc.


The advantages of this method is any client supporting Jingle Audio can
do PSTN calls etc. As long as there is a gateway to speak to that does
IAX or SIP etc.


I hope I was clear. I know my tech jargon can be bad at times ;)


In my head I can see it working both ways but perhaps a Jingle-IAX is an
easier route to begin with. I guess my question is what is the best
route to take. Do we want Jabber clients to specifically have IAX
capabilities in their client thus using some sort of Jingle-IAX or do we
want all Jabber clients speaking Jingle & Jingle Audio (RTP) and
gateways convert that to SIP and IAX and supporting DTMF throughout.


Can anyone chime in?


Thanks and take care,




Simon Guindon

Tomahawk Technologies Inc.

simon.guindon at tomahawk.ca




From: standards-jig-bounces at jabber.org
[mailto:standards-jig-bounces at jabber.org] On Behalf Of Steve Kann
Sent: Tuesday, January 03, 2006 12:43 PM
To: Jabber protocol discussion list
Cc: hal at halr9000.com
Subject: Re: [Standards-JIG] FW: Jingle - P2P and PBX calls



    It seems to me that it might make some sense to take stock a bit,
and perhaps this will also help others who are reading this, by defining
some of the terms/protocols for people:

1) SIP:  SIP is a telephony signaling protocol.  SIP uses SIP to
describe and negotiate media, and RTP to transport media.
2) IAX2:  IAX is a telephony protocol which includes both signaling and
media in a single packet stream;  it does not use RTP or SDP, although
the media payload format is roughly compatible with RTP.
3) Jingle Signaling:  A p2p signaling protocol in XMPP
4) Jingle Audio:  A sub-type of Jingle signaling designed for
negotiating audio calls.

Maybe looking at the stack like this:

Stack               SIP     IAX     JINGLE
Initiation?         N/A     N/A     XMPP
Signalling          SIP     IAX     Jingle/Jingle-audio/XMPP
Negotiation         SIP/SDP IAX     Jingle-audio/SDP
Media Transport     RTP     IAX     RTP

It would seem to me that we can (or, indeed, people may be presently)
defining an analog to jingle-audio which
can be used to negotiate and initiate an IAX call.  This would allow
people to use the somewhat simpler IAX protocol for audio/media instead
of a more heavyweight RTP stack.  We could call this Jingle-IAX or
something like that.

As a separate topic, to have "pbx features" in a jingle world, it would
seem that you might just set up your PBX to be a "bot" in your IM
network.  (This might be what Hal is referring to as gateways below;  it
might already be defined -- I don't claim to have spent more than a few
minutes reading the specs). You might call this bot "pbx at yourorg.org"
<mailto:pbx at yourorg.org> , for example, or "voicemail at jabber.org"
<mailto:voicemail at jabber.org> .  Then, you could call
"voicemail at jabber.org" <mailto:voicemail at jabber.org>  with jingle to get
your voicemail.

One question you addressed below was DTMF support:  Firstly, you're not
strictly correct about IAX:  In IAX, there is only one proper way to
transport DTMF, and that is as DTMF IAX frames:  It is not proper to
send them in-band as audio tones.  With SIP/RTP, there's several
different methods in use;  I don't think jingle-audio defines a
signaling path for DTMF; that might be something useful.

I'm not sure about other "pbx features" you're talking about though:
For instance, if you're romeo, and you're trying to make a jingle call
to Juliet, and Juliet isn't online, maybe you'd like to send Juliet
voicemail instead?  How would such a thing be handled with a Jingle
system?  Maybe instead of talking to juliet at jabber.org, people might
talk to "pbx at jabber.org" <mailto:pbx at jabber.org>  instead, and ask _it_
to call Juliet;  "pbx at jabber.org" <mailto:pbx at jabber.org>  might
actually be smart enough to know that Juliet isn't in front of her Amiga
at the time (did you know Juliet was an Amiga user?), but Juliet did
leave call-forwarding on, and will gladly forward your call to her


Simon Guindon wrote: 

Ok thanks for the clarification. I think I am understanding much better
So here are my questions then. Since a Jingle Audio client can gateway
to SIP or IAX. What is the best route to add PBX capabilities or is this
the right spot to do so.
As far as I understand Jingle Audio is RTP. So how does one do things
such as call forwarding, voicemail etc

	I don't know SIP very well but IAX can do all these things when
	into an Asterisk box. This means the IAX client must
authenticate with
	Does this mean a Jingle Audio -> IAX gateway needs to exist. And
	this such gateway needs to support iq:register (off the top of
my head,
	might be wrong) so clients can enter their IAX login
	If so, can we send tones? IAX I believe uses tones to handle
	voicemail etc.
	The alternative is making IAX a session type and the jabber
	itself supporting IAX thus being able to do this all itself.
This has
	been my route so far in my developments as I began before I was
aware of
	I have an asterisk.server.com component which supports custom IQ
	for certain things such as extension lookups, finding out what
	extension is, etc. I would like to discuss making these things
	standard so all clients can benefit.
	I think such things will make Jabber and SIP/IAX/Asterisk/others
a very
	strong distributed VOIP network.
	Thanks and take care,
	Simon Guindon
	Tomahawk Technologies Inc.
	simon.guindon at tomahawk.ca
	-----Original Message-----
	From: standards-jig-bounces at jabber.org
	[mailto:standards-jig-bounces at jabber.org] On Behalf Of Hal
	Sent: Tuesday, December 27, 2005 9:53 PM
	To: Jabber protocol discussion list
	Subject: Re: [Standards-JIG] FW: Jingle - P2P and PBX calls
	On 12/27/05, Simon <simon at nureality.ca>
<mailto:simon at nureality.ca>  wrote:

		Is this correct? So Jingle is now flexible so the client
can support


		different formats either through gateways or through
actual client
		supporting that session type?

	Yup.  Jingle *signalling* may support different formats.  But I
	wouldn't necessarily lump gateways in the same sentence there. 
	Gateways will appear to a Jingle endpoint as a Jingle-supported
	format.  i.e.just like when I use an AIM transport to send a
	to an AIM user, I don't have to use the AIM program or protocol,
and I
	don't even have to know what AIM is.  If I'm Jingle Audio and
	through a gateway to a SIP endpoint, does my client know how to
	SIP?  The answer to that would be no.
	That being said, I can't wait for the first open source
	gateway.  :)
	Psi webmaster (http://psi-im.org)
	im:hal at jabber.rocks.cc


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/standards/attachments/20060104/f86b87e3/attachment.html>

More information about the Standards mailing list