On Thu, Jun 7, 2012 at 2:38 AM, Guilherme Balena Versiani <guibv at nymgo.com>wrote: > Hello, > > > My idea is basically pass the SIP traffic through a TURN server to > overcome some firewall limitations. > > I'm using PJSUA, registering an UDP transport using pjsua_transport_create > as usual, and, when I discover a timeout 408 during the first REGISTER, my > idea was to close the previously created UDP transport and register a new > one. I've implemented a sip_transport_turn.c based on the > sip_transport_udp.c, and during the initialization it sends an allocate > request to TURN to listen to SIP packets. In the on_rx_data callback, I am > checking if this is the first time I am sending packets to this > destination, and, if so, I'm using the pj_turn_sock_set_perm to add > permission to send data. > > Everything is great in theory, but I am facing a lot of problems in PJSUA > code (I'm using PJSIP 2.0): > > 1 - I'm trying to close the UDP transport in the on_reg_state callback > from pjsua_acc, using the function pjsua_transport_close; > 1.1 - If I try to pass PJ_TRUE to force the destruction of the UDP > transport, there is an assertion error being thrown > in pjsip_transport_destroy: > > PJ_ASSERT_RETURN(pj_atomic_get(tp->ref_cnt) == 0, PJSIP_EBUSY); > > Just to clarify, you are trying to close UDP SIP transport, not your TURN UDP SIP transport, right? The force=TRUE option, I'm afraid is not working. You should use FALSE and let pjsip destroy the transport once the reference counter is zero. > 1.2 - If I try to pass PJ_FALSE, then the UDP transport is smoothly > destroyed after a while, but in this case PJSUA maintains an invalid > pointer in pjsua_var structure (specifically in tpdata member). > > This shouldn't happen unless the transport is destroyed prematurely. Best regards Benny As there is no examples of real use case scenarios using PJNATH and SIP > together, I'm clueless. > > > Regards, > Guilherme Balena Versiani. > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120607/64c90302/attachment.html>