[asterisk-dev] Problems with chan_gtalk in 1.8 branch

Pavel Troller patrol at sinus.cz
Sun Feb 27 13:26:08 CST 2011


Hi!
  I'm experiencing problems with chan_gtalk in the 1.8 branch Asterisk. 
The channel seems not properly initialized since the system startup and
manual workarounds should be applied. The problem is that outgoing calls
cannot be made (incoming calls are OK):

Asterisk Ready.
  == Parsing '/opt/asterisk/etc/cli.conf':   == Found

*CLI> core set verbose 0
Verbosity is now OFF

*CLI> jabber show buddies
Jabber buddy lists
Client: myclient at gmail.com/asterisk
        Buddy:  mybuddy at gmail.com
                Resource: Talk.v10418CD15BE
                        node: http://www.google.com/xmpp/client/caps
                        version: 1.0.0.104
                        Jingle capable: yes
                Status: 1
                Priority: 24

*CLI> [Feb 27 20:05:30] ERROR[1262]: chan_gtalk.c:1006 gtalk_alloc: no gtalk capable clients to talk to.
[Feb 27 20:05:30] WARNING[1262]: app_dial.c:2042 dial_exec_full: Unable to create channel of type 'Gtalk' (cause 0 - Unknown)

You can see that the buddy called is online and jinglable, but chan_gtalk
doesn't think so (the error/warning comes from a dialling attempt).

OK, let's try a simple workaround:

*CLI> module unload chan_gtalk.so
Unloaded chan_gtalk.so
*CLI> module load chan_gtalk.so
Loaded chan_gtalk.so
*CLI>[Feb 27 20:08:55] WARNING[1174]: chan_gtalk.c:624 gtalk_is_answered: Could not find session in iq
[Feb 27 20:08:58] NOTICE[1174]: chan_gtalk.c:804 gtalk_hangup_farend: Whoa, didn't find call during hangup!
[Feb 27 20:09:00] NOTICE[1174]: chan_gtalk.c:1977 gtalk_parser: Remote peer reported an error, trying to establish the call anyway
[Feb 27 20:09:00] NOTICE[1174]: chan_gtalk.c:804 gtalk_hangup_farend: Whoa, didn't find call during hangup!

We reloaded gtalk (unloaded/loaded, because chan_gtalk doesn't have reload
function) and the things are getting better, but not good enough :-). The
call really comes out and the called client is rung. But when it is answered,
no speech occurs, caller is still supplied with the ringback tone and the
above is output. The first NOTICE is printed in the time of answer and the
rest in the time of hangup of the peer.

So, let's do a full workaround:

*CLI> module unload chan_gtalk.so
Unloaded chan_gtalk.so
*CLI> module unload res_jabber.so
Unloaded res_jabber.so
*CLI> module load res_jabber.so
Loaded res_jabber.so
*CLI> module load chan_gtalk.so
Loaded chan_gtalk.so

Note that for the workaround to be effective, it is necessary to wait between
loading of res_jabber and chan_gtalk at least 10 seconds, probably to let the
res_jabber login to the server. From now on, the channel is fully operational.

The config files for res_jabber and chan_gtalk are created according to the
documentation available. chan_jingle is not touched (its config is empty and
it's not necessary to reload it).

Should I file a bug ? Or is it a WIP ?

With regards, Pavel



More information about the asterisk-dev mailing list