[Opensim-dev] 092 version of september 2021 HG Instant message busy reply.

Michel Beauregard gimisa at yahoo.fr
Fri Sep 10 19:13:10 UTC 2021


This is an old one. But I hope the following will bring lights and possibly contribute : . 

 In order to do that I have added log statements to scrips related in  OpenSim.Services.HypergridService to trace the problem. 

I got the following logs on login of my alternate 598c76d4-a9d0-2fd6-0a81-fc72dca068b5 in osgrid when my own avatar 5eb26e7a-bbf9-4498-8b99-a4cca758534c is present in gimisaOS  grid with both behing long term friends. And regardless of the loggin location in both my grid and  in osgrid ( sandbox plaza I,II,III or event plaza ). 

2021-09-09 19:59:12,873 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (230) ]: Status notification: foreign user 598c76d4-a9d0-2fd6-0a81-fc72dca068b5 wants to notify 1 local friends of online status
2021-09-09 19:59:12,876 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (250) ]: usersToBeNotified.Add(localUserID.ToString 5eb26e7a-bbf9-4498-8b99-a4cca758534c)
2021-09-09 19:59:12,877 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (255)]: Status notification: user has 1 local friends
2021-09-09 19:59:12,878 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (259)]: friend session lenght 1 
2021-09-09 19:59:12,878 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (269)] pinfo.RegionID 00000000-0000-0000-0000-000000000000 pinfo.UserID

I noted that once that NULL region reply is returned to HGFriendService an IM to my local user from my osgrid user gets busy reply.

>From above I see that pinfo.RegionID value is  00000000-0000-0000-0000-000000000000 . Its an empty UUID reply to presence location request of gimisaOS gimisa user when receiving notification from osgrid.

What i understand is that Osgrid send a notification to  gimisaOS grid to notify  local friends of my Osgrid avatar online status.  But while the presence table of the robust database shows a valid region UUID the return region UUID to HGFriendsService is empty. In contrast to when it works as follows : 

2021-09-09 18:33:48,702 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (230) ]: Status notification: foreign user 598c76d4-a9d0-2fd6-0a81-fc72dca068b5 wants to notify 1 local friends of online status
2021-09-09 18:33:48,703 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (250) ]: usersToBeNotified.Add(localUserID.ToString 5eb26e7a-bbf9-4498-8b99-a4cca758534c
2021-09-09 18:33:48,704 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (255)]: Status notification: user has 1 local friends
2021-09-09 18:33:48,704 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (259)]: friend session lenght 1 
2021-09-09 18:33:48,704 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (269)] pinfo.RegionID d87ad5db-08eb-4c91-8004-3a057574aaaa pinfo.UserID
2021-09-09 18:33:48,705 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE (270)]: friendSession.RegionID d87ad5db-08eb-4c91-8004-3a057574aaaa 
2021-09-09 18:33:48,706 DEBUG (Thread Pool Worker) - OpenSim.Services.HypergridService.HGFriendsService [HGFRIENDS SERVICE 410]: Remote Notify to region Rose, user 598c76d4-a9d0-2fd6-0a81-fc72dca068b5 is online
 

I traced this up to the  IPresenceService an OpenSim.Services.Interfaces. My understanding it that the reply acknowledge gimisaOS gimisa user as the one friend to notify  but the session request of gimisa in gimisaOS  fail to provide the location of gimisa in local grid. Which in turn present sending message to gimisa in region via simulator server. 

The results is that gimisaOS user does not see ONLINE status of osgrid user. Thereafter the result is that IMs from gimisaOS to osgrid proceed but reversely osgrid replies fails with busy reply to osgrid user. On an other situation I saw that even with ONLINE indication reaching the gimisa in gimisaOS localy as show when it works above . When gimisa move to an other region of the same grid the message fail to reach him in new region location. 
Unfortunately  I could not figure out how to trace through IPresenceService. I am not a programmer with no clue how this interface script  gets the end request to presence database. 

Since this is a rather old issue,I dont expect its can be easily solved. I understand the complicity of finding the location of a user traveling hypergrid. And I hope that the above help shed lights on the simpler situation where  both users are in their native grid acknowledge by their presence in respective local database. 

If one could at least give me instruction to how to proceed to debug past the IPrensence scripting interface toward the end request to database I could do my homework to investigate and learn from the experience.  

Thanks for reading

GiMiSa


More information about the Opensim-dev mailing list