<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman,new york,times,serif;font-size:12pt"><div>Hi,<br><br>I'm using add_rosteritem in mod_xmlrpc to sync the roster in my website with ejabberd.<br>add_rosteritem works well. I can see the roster item on the web admin and the clients <br>get a 'push' packet informing them about the new item but they don't get presence updates <br>although the subscription is set to 'both'. When client disconnect and reconnect they get presence <br>packets from the new items as usual.badlop verified that this happen on 2.0.3 with ejabberdctl <br>as well and said that this is the expected behavior.<br><br>I want to extend the add_rosteritem function to also update the users subscription_lists if they are online.<br>In ejabberd_c2s:wait_for_auth there is a part that builds the subscription list:<br>...<br>{Fs, Ts} =
 ejabberd_hooks:run_fold(<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;roster_get_subscription_lists,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;StateData#state.server,<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;{[], []},<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;[U, StateData#state.server]),<br>...<br><br>I think that when adding a roster item I need to check if the user is online and then add the item to this list.<br>Is there a function that does that? Can I perhaps simulate a 'subscribed' message using the router?<br>Am I going in the wrong direction?<br><br>Thanks<br><br></div></div><br>

      </body></html>