[asterisk-bugs] [Asterisk 0010707]: Gtalk call fails unless restarts

noreply at bugs.digium.com noreply at bugs.digium.com
Thu Sep 13 07:06:01 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10707 
====================================================================== 
Reported By:                yusufmotiwala
Assigned To:                phsultan
====================================================================== 
Project:                    Asterisk
Issue ID:                   10707
Category:                   Channels/chan_gtalk
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Asterisk Version:           1.4.11  
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!):  
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             09-12-2007 10:22 CDT
Last Modified:              09-13-2007 07:06 CDT
====================================================================== 
Summary:                    Gtalk call fails unless restarts
Description: 
Here is scenario - asterisk is running.

1.	Asterisk using abc at gmail.com as its Gtalk ID
2.	Someone (say xyz at gmail.com) has added abc at gmail.com as buddy
3.	If I try to place a call to Gtalk/asterisk/xyz at gmail.com, it fails ->
No gtalk capable clients to talk to.
4.	If I restart the asterisk, call goes. 
5.	It is always a case with new buddy

Please let me know if more information required.
====================================================================== 

---------------------------------------------------------------------- 
 yusufmotiwala - 09-13-07 07:06  
---------------------------------------------------------------------- 
=== Following are temporary changes I made to res_jabber.c:1251 ===


if (!buddy) {
                ast_log(LOG_NOTICE, "Got presence packet from %s, someone
not in our roster!!!!\n", pak->from->partial);


                                buddy = ast_calloc(1, sizeof(*buddy));
                                if (!buddy) {
                                        ast_log(LOG_WARNING, "Out of
memory\n");
                                        return 0;
                                }
                                ASTOBJ_INIT(buddy);
                                ASTOBJ_WRLOCK(buddy);
                                ast_copy_string(buddy->name,
pak->from->partial, sizeof(buddy->name));
                                ast_clear_flag(buddy, AST_FLAGS_ALL);
                                if(ast_test_flag(client, AJI_AUTOPRUNE))
{
                                        ast_set_flag(buddy,
AJI_AUTOPRUNE);
                                        buddy->objflags |=
ASTOBJ_FLAG_MARKED;
                                } else
                                        ast_set_flag(buddy,
AJI_AUTOREGISTER);
                                ASTOBJ_UNLOCK(buddy);
                                if (buddy) {
                                       
ASTOBJ_CONTAINER_LINK(&client->buddies, buddy);
                                }
                /*return;*/
        } 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
09-13-07 07:06  yusufmotiwala  Note Added: 0070473                          
======================================================================




More information about the asterisk-bugs mailing list