aTalk is adding support for the new XEP-0215 feature, but facing some problem in AbstractIqRequestHandler() implementation.
In the ExternalServiceDiscoveryManager class implementation, the AbstractIqRequestHandler#handleIQRequest(IQ iqRequest) method was found that:
iqRequest does not contain the ServiceElement childElement as expected; otherwise everything is working OK.
I am no sure where is the root cause, appreciate if the smack team can give some advice.
The latest aTalk source has been checked into the github master repository. You can also get a copy of the apk in the release directory i.e.:
aTalk-playstore-debug.apk
Below aTalk logcat contains the pushed IQ content and the received stazard.
2022-11-02 13:56:27.121 18822-19053/org.atalk.android D/SMACK: SENT (0):
<iq to='abc123@atalk.sytes.net/atalk' id='6GK22-24' type='set'>
<services xmlns='urn:xmpp:extdisco:2'>
<services>
<service type='stun' transport='udp' restricted='false' port='3478' host='42.60.99.4' action='delete'/>
<service username='1667411763:1074796f99cde8d3' type='turn' transport='udp' restricted='true' port='3478' password='0nPli/bYcKPhvzBXYbH52M2lgR0=' host='42.60.99.4' expires='2022-11-02T17:56:03Z' action='add'/>
<service type='stun' transport='udp' restricted='false' port='3478' host='fe80::a5e2:4bc8:f5ea:2560' action='modify'/>
</services>
</services>
</iq>
2022-11-02 13:56:27.143 18822-19054/org.atalk.android D/SMACK: RECV (0):
<iq xml:lang='en-US' to='abc123@atalk.sytes.net/atalk' from='abc123@atalk.sytes.net/atalk' type='set' id='6GK22-24'>
<services xmlns='urn:xmpp:extdisco:2'>
<services>
<service type='stun' transport='udp' restricted='false' port='3478' host='42.60.99.4' action='delete'/>
<service username='1667411763:1074796f99cde8d3' type='turn' transport='udp' restricted='true' port='3478' password='0nPli/bYcKPhvzBXYbH52M2lgR0=' host='42.60.99.4' expires='2022-11-02T17:56:03Z' action='add'/>
<service type='stun' transport='udp' restricted='false' port='3478' host='fe80::a5e2:4bc8:f5ea:2560' action='modify'/>
</services>
</services>
</iq>
2022-11-02 13:56:27.175 18822-19054/org.atalk.android D/(ExternalServiceDiscoveryProvider.java:62)#parse: ExternalServices: <services xmlns='urn:xmpp:extdisco:2'><services><service type='stun' transport='udp' restricted='false' port='3478' host='42.60.99.4' action='delete'/><service username='1667411763:1074796f99cde8d3' type='turn' transport='udp' restricted='true' port='3478' password='0nPli/bYcKPhvzBXYbH52M2lgR0=' host='42.60.99.4' expires='2022-11-02T17:56:03Z' action='add'/><service type='stun' transport='udp' restricted='false' port='3478' host='fe80::a5e2:4bc8:f5ea:2560' action='modify'/></services></services>
// ServiceElement of the iq Request is empty???
2022-11-02 13:56:27.176 18822-19070/org.atalk.android D/(ExternalServiceDiscoveryManager.java:167)#handleESDServicePush: ESD Service Push action services: []
2022-11-02 13:56:27.178 18822-19053/org.atalk.android D/SMACK: SENT (0):
<iq to='abc123@atalk.sytes.net/atalk' id='6GK22-24' type='result'>
</iq>
2022-11-02 13:56:27.185 18822-19054/org.atalk.android D/SMACK: RECV (0):
<iq xml:lang='en-US' to='abc123@atalk.sytes.net/atalk' from='abc123@atalk.sytes.net/atalk' type='result' id='6GK22-24'/>