VoIP Mailing List Archives
Mailing list archives for the VoIP community |
|
View previous topic :: View next topic |
Author |
Message |
asterisk at dotr.com Guest
|
Posted: Thu Jun 12, 2008 8:01 am Post subject: [asterisk-users] Asterisk and XMPP (Jabber) : testing new ap |
|
|
Philippe Sultan wrote:
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
|
Posted: Thu Jun 12, 2008 10:31 am Post subject: [asterisk-users] Asterisk and XMPP (Jabber) : testing new ap |
|
|
Hi Philippe,
thanks for the replies. It all seems sensible.
Now, for a request
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
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 |
|
|
|
|
|
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
|