On Wed, Jul 16, 2008 at 7:28 PM, katjusha KATJUSHA <katjusham at gmail.com> wrote: > Hi all! > > I've studied the ice_strans.c source code, in order to retreive the > informations to develop my own > NAT traversal solution. > I've understood that: > - the ICE stream transport can be kept-alive as long as I need, > - instead the ICE session is temporary (and relative to a call); > - the ICE connectivity check starts when both peers have the remode > candidate list. > > The question is: how can I send my candidate list? How can I receive the > remote candidate list? > That's up to you. ICE doesn't handle this, it just assumes that there is a signaling protocol between the two endpoints to exchange the candidate list (it can be, e.g. SIP, Jingle, or something else depending on the application). > > I haven't seen these functions in the code... where I've to look? Should > I've to look deeply in the pjsua application? > All I need to do is to send a simple message among 2 clients.... > With pjsip (or SIP in general), this is done by encoding the ICE information in SDP. This is done by pjmedia's transport_ice.c. > > When the ICE connectivity checks end, all I have to do is call the > pj_ice_strans_sendto() for exchange data between 2 peers? > Yep. To make programming a bit easier, you can call pj_ice_strans_sendto() even before connectivity checks complete, these data will be discarded until connectivity checks complete successfully. Cheers Benny -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080716/e1e66fac/attachment-0001.html