Sponsor: VoiceMeUp - Corporate & Wholesale VoIP Services

VoIP Mailing List Archives
Mailing list archives for the VoIP community
 SearchSearch 

[asterisk-users] Asterisk and XMPP (Jabber) : testing new application JabberReceive


 
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users
View previous topic :: View next topic  
Author Message
asterisk at dotr.com
Guest





PostPosted: Thu Jun 12, 2008 8:01 am    Post subject: [asterisk-users] Asterisk and XMPP (Jabber) : testing new ap Reply with quote

Philippe Sultan wrote:
Quote:
Friends,

a new dialplan application is now available for testing :
http://svn.digium.com/view/asterisk/team/phsultan/jabberreceive/

Sounds very cool.

See below for more comments:

Quote:

The corresponding feature request is located here :
http://bugs.digium.com/view.php?id=12569

What can you do with it? Well, a direct usage of this application is
to make an easy to use GoogleTalk voice gateway out of Asterisk. Here
is an example (assuming the asterisk-xmpp account is configured) :
context gtalk-in {
s => {
NoOp(Caller id : ${CALLERID(all)});
Answer();
JabberSend(asterisk-xmpp,${CALLERID(name),Please enter the
number you wish to call);
JabberReceive(${CALLERID(name)},NEWEXTEN);

How can you assume that the message you are waiting for is the right one
? Let's say that you have 10 channels each doing a JabberReceive at the
same time - how does the channel know how to get the right message, let
alone the right data ?

(2 channels may be waiting for a NewExten message, others for a
GetSomeDataFromSomeOtherPlace message )

Or am I missing something really obvious ?

Julian

Quote:
JabberSend(asterisk-xmpp,$(CALLERID(name),(Calling ${NEWEXTEN} ...);
Dial(SIP/${NEWEXTEN);
Hangup();
}
}

In this example, when Asterisk receives a GoogleTalk voice call
request from a GoogleTalk buddy, it answers the call, and asks the
buddy to enter a number over an XMPP (Jabber) chat session. Then,
Asterisk dials the extension (accessible over SIP), which results in a
GoogleTalk to SIP call.

But this application is not restricted to GoogleTalk voice calls, and
it can be used within any call context. Code snippets are available in
the corresponding feature request under the bugtracker as well as in
doc/jabber.txt.

The codebase is Asterisk's SVN trunk, which is merged to the
jabberreceive branch on a regular basis. To install it, follow these
steps :
#svn co http://svn.digium.com/view/asterisk/team/phsultan/jabberreceive/
jabberreceive
#cd jabberreceive
#./configure
#make
#make install

Note for Linux users : the Gnome IM+ToIP client Empathy (starting from
version 0.23.1) is now compatible with Asterisk, which allows users to
place voice calls over a GoogleTalk channel from their Empathy client
to Asterisk.

Please give your feedback!

Thanks i advance,

Philippe

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
Back to top
asterisk at dotr.com
Guest





PostPosted: Thu Jun 12, 2008 10:31 am    Post subject: [asterisk-users] Asterisk and XMPP (Jabber) : testing new ap Reply with quote

Hi Philippe,

thanks for the replies. It all seems sensible.

Now, for a request Wink

How difficult would it be to have a JabberReceive Event *initiate* a
channel ?

This could be done by specifying a JabberReceiveExtension=foo at bar in
jabber.conf

So, when a message is received by asterisk, a call is initiated in the
extension and context defined, and have the jabber message details in
variables ${JABBERFROM}, ${JABBERMESSAGE} etc etc.

It would also be really useful to be able to initiate AMI commands via
jabber Wink

Julian

Philippe Sultan wrote:
Quote:
Hi Julian,

[...]
Quote:
Quote:
What can you do with it? Well, a direct usage of this application is
to make an easy to use GoogleTalk voice gateway out of Asterisk. Here
is an example (assuming the asterisk-xmpp account is configured) :
context gtalk-in {
s => {
NoOp(Caller id : ${CALLERID(all)});
Answer();
JabberSend(asterisk-xmpp,${CALLERID(name),Please enter the
number you wish to call);
JabberReceive(${CALLERID(name)},NEWEXTEN);
How can you assume that the message you are waiting for is the right one
? Let's say that you have 10 channels each doing a JabberReceive at the
same time - how does the channel know how to get the right message, let
alone the right data ?

(2 channels may be waiting for a NewExten message, others for a
GetSomeDataFromSomeOtherPlace message )

Well, in the example, as long as you have 10 simultaneous GoogleTalk
calls from 10 different buddies, that won't be a problem. The first
argument of JabberReceive is used by the channel to identify the
Jabber ID it expects to read data from. Therefore, a message coming
from a specified buddy (identified by his JID) will be passed by
res_jabber to the channel that is waiting for data from this buddy.

In the case when several channels are waiting for data from the same
JID, res_jabber passes the message to every channel that matches.
Although this is less likely to happen, I tried to address this issue
by using the <thread> tag to track chat conversations
(http://www.xmpp.org/extensions/xep-0201.html). Unfortunately, very
few XMPP clients implement this conversation tracking mechanism (and
GoogleTalk does not).

Philippe

_______________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
Back to top
Display posts from previous:   
Post new topic   Reply to topic    VoIP Mailing List Archives Forum Index -> Asterisk Users All times are GMT - 5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group

VoiceMeUp - Corporate & Wholesale VoIP Services