[Sofia-sip-devel] [ sofia-sip-Bugs-1930055 ] Unregister when a new public binding is detected
Bugs item #1930055, was opened at 2008-03-31 13:47 Message generated for change (Settings changed) made by mzabaluev You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=756076&aid=1930055&group_id=143636 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: Accepted Priority: 5 Private: No Submitted By: Mikhail Zabaluev (mzabaluev) >Assigned to: Pekka Pessi (ppessi) Summary: Unregister when a new public binding is detected Initial Comment: When outbound detects a new address binding, any successful registration by the same NUA handle should be explicitly unregistered. This may be needed in two cases: 1) weird configurations with NAT and no authentication; 2) when the binding changes on a NAT middle box. See also the discussion on a maemo bug: https://bugs.maemo.org/show_bug.cgi?id=3056 -- Comment By: Johan Brannlund (jbrnd) Date: 2008-11-16 21:49 Message: In the thread http://comments.gmane.org/gmane.comp.freedesktop.telepathy/2115 , Mikhail Zabaluev said that not being able to log into ekiga.net with Empathy is due to this bug. If that's really the case, then this bug is not fixed. I'm running Empathy on Ubuntu 8.10 which has sofiasip 1.12.9 and I still can't login (actually, this used to work with older versions). -- Comment By: Pekka Pessi (ppessi) Date: 2008-11-12 19:41 Message: Fixed in 1.12.9. -- Comment By: Mikhail Zabaluev (mzabaluev) Date: 2008-10-27 20:15 Message: There is a patch in Darcs mainline (searchable by this bug ID) that had the fix for the problem. Unfortunately, it was an overkill, so now even those contacts get submitted with expires=0 which were never successfully registered. This breaks registration with proxies that dislike the unsuccessful contact (e.g. for being in a private IP address segment), even if it has expired. Reopening because the requirement for "successful" registration in the bug description was not met. -- Comment By: Mikhail Zabaluev (mzabaluev) Date: 2008-04-04 17:01 Message: Logged In: YES user_id=313104 Originator: YES It's been working as described, the bug is invalid. -- Comment By: Mikhail Zabaluev (mzabaluev) Date: 2008-04-04 15:43 Message: Logged In: YES user_id=313104 Originator: YES > The previous contact is added to the new REGISTER request with expires=0 parameter. Was it implemented in Sofia-SIP for a long time? -- Comment By: Pekka Pessi (ppessi) Date: 2008-04-04 15:37 Message: Logged In: YES user_id=52043 Originator: NO The previous contact is added to the new REGISTER request with expires=0 parameter. In other words, the REGISTER request is used to both unregister the old contact and register the newly discovered contact. While this is very basic REGISTER functionality from pre-RFC-2543 era, it may confuse some proxies. Please confirm if that is so. -- Comment By: Mikhail Zabaluev (mzabaluev) Date: 2008-04-02 11:59 Message: Logged In: YES user_id=313104 Originator: YES Maybe it's not a good idea to unregister _before_ the contact is updated. But it could be done afterwards (after the whole update transaction, or perhaps just firing an un-REGISTER request right after the REGISTER with a contact update is sent?). OTOH, it can bring more issues with saner proxies, than it solves with a few not-so-sane examples. -- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=756076&aid=1930055&group_id=143636 - This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ ___ Sofia-sip-devel mailing list Sofia-sip-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel
[Sofia-sip-devel] Memory leak when caller sends BYE
Hi, I'm running 1.12.9 and I'm finding that my process leaks memory when it is the caller (sends the INVITE) and it terminates the call (sends the BYE). However, if the callee terminates the call, there's no leak. This is a blocker bug for us, and I don't have a workaround. I would really appreciate any assistance that anyone has to offer. Here's the SOFIA_DEBUG 9 trace from a call where the caller sends the BYE (NOTE: the log was collected on the caller side): nua: nh_create_handle: entering nua: nua_handle_bind: entering nua: nua_invite: entering nua: nua_stack_set_params: entering soa_clone(static::0x1001a120, 0x100177f8, 0x10024280) called soa_set_params(static::0x10025268, ...) called soa_set_user_sdp(static::0x10025268, (nil), 0x10018eff, -1) called soa_set_capability_sdp(static::0x10025268, (nil), 0x10018eff, -1) called su_localinfo: if lo with index 1 su_localinfo: if bridget with index 4 soa_set_params(static::0x10025268, ...) called nta_leg_tcreate(0x100256d8) nua(0x10024280): adding session usage soa_init_offer_answer(static::0x10025268) called soa_generate_offer(static::0x10025268, 0) called soa_static_offer_answer_action(0x10025268, soa_generate_offer): called soa_static(0x10025268, soa_generate_offer): generating local description su_localinfo: if lo with index 1 su_localinfo: if bridget with index 4 soa_static(0x10025268, soa_generate_offer): upgrade with local description soa_sdp_mode_set(0x7f5fd868, (nil), ""): called soa_static(0x10025268, soa_generate_offer): storing local description soa_get_local_sdp(static::0x10025268, [(nil)], [0x7f5ff990], [0x7f5ff994]) called nta: selecting scheme sip tport_tsend(0x10022318) tpn = */192.168.0.152:5060 tport_resolve addrinfo = 192.168.0.152:5060 tport_by_addrinfo(0x10022318): not found by name */192.168.0.152:5060 tport_vsend returned 685 nta: sent INVITE (10828982) to */192.168.0.152:5060 tport_pend(0x10022318): pending 0x100264f0 for udp/192.168.0.151:5060 (already 0) nta: timer set to 32000 ms nta: timer shortened to 500 ms nua(0x10024280): call state changed: init -> calling, sent offer soa_get_local_sdp(static::0x10025268, [0x7f5ff9a8], [0x7f5ff9ac], [(nil)]) called nua: nua_application_event: entering nua(0x10024280): sent signal r_invite tport_wakeup_pri(0x10022318): events IN tport_recv_event(0x10022318) tport_recv_iovec(0x10022318) msg 0x10027d00 from (udp/192.168.0.151:5060) has 281 bytes, veclen = 1 tport_deliver(0x10022318): msg 0x10027d00 (281 bytes) from udp/192.168.0.152:5060/sip next=(nil) nta: received 100 Trying for INVITE (10828982) nta: 100 Trying is going to a transaction nta_outgoing: RTT is 20 ms tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10027d00 (preliminary) tport_wakeup_pri(0x10022318): events IN tport_recv_event(0x10022318) tport_recv_iovec(0x10022318) msg 0x10027d00 from (udp/192.168.0.151:5060) has 486 bytes, veclen = 1 tport_deliver(0x10022318): msg 0x10027d00 (486 bytes) from udp/192.168.0.152:5060/sip next=(nil) nta: received 180 Ringing for INVITE (10828982) nta: 180 Ringing is going to a transaction tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10027d00 (preliminary) nua: nua_application_event: entering nua(0x10024280): call state changed: calling -> proceeding nua: nua_application_event: entering nta: timer not set tport_wakeup_pri(0x10022318): events IN tport_recv_event(0x10022318) tport_recv_iovec(0x10022318) msg 0x10028510 from (udp/192.168.0.151:5060) has 664 bytes, veclen = 1 tport_deliver(0x10022318): msg 0x10028510 (664 bytes) from udp/192.168.0.152:5060/sip next=(nil) nta: received 200 OK for INVITE (10828982) nta: 200 OK is going to a transaction tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10028510 nta: timer set to 32000 ms soa_set_remote_sdp(static::0x10025268, (nil), 0x10028a3c, 132) called soa_process_answer(static::0x10025268) called soa_static_offer_answer_action(0x10025268, soa_process_answer): called soa_sdp_mode_set(0x10026cf8, 0x10028148, ""): called soa_static(0x10025268, soa_process_answer): upgrade codecs with remote description soa_activate(static::0x10025268, (nil)) called nua(0x10024280): INVITE: processed SDP answer in 200 OK nua: nua_application_event: entering soa_activate(static::0x10025268, (nil)) called nta: selecting scheme sip tport_tsend(0x10022318) tpn = */192.168.0.152:5060 tport_resolve addrinfo = 192.168.0.152:5060 tport_by_addrinfo(0x10022318): not found by name */192.168.0.152:5060 tport_vsend returned 306 nta: sent ACK (10828982) to */192.168.0.152:5060 nua(0x10024280): call state changed: proceeding -> ready, received answer soa_get_remote_sdp(static::0x10025268, [0x7f5ff6b0], [0x7f5ff6b4], [(nil)]) called soa_get_params(static::0x10025268, ...) called nua: nua_application_event: entering nua: nua_application_event: entering nua: nua_handle_bind: entering nua: nua_bye: entering nua(0x10024280): sent signal r_bye nua: nua_stack_set_params: entering soa_set_params(static::0x10025268, ...) called soa_terminate(stat
Re: [Sofia-sip-devel] Memory leak when caller sends BYE
This issue should already be fixed in current darcs. In FreeSWITCH our copy of sofia is currently sync'd with darcs and it is more stable than 1.12.9 for sure and likely 1.12.8 as well. Mike Mike On Nov 25, 2008, at 11:58 AM, Jen Chitty wrote: > Hi, > > I'm running 1.12.9 and I'm finding that my process leaks memory > when it is the caller (sends the INVITE) and it terminates the > call (sends the BYE). However, if the callee terminates the > call, there's no leak. > > This is a blocker bug for us, and I don't have a workaround. > I would really appreciate any assistance that anyone has to offer. > > Here's the SOFIA_DEBUG 9 trace from a call where the caller sends > the BYE (NOTE: the log was collected on the caller side): > > nua: nh_create_handle: entering > nua: nua_handle_bind: entering > nua: nua_invite: entering > nua: nua_stack_set_params: entering > soa_clone(static::0x1001a120, 0x100177f8, 0x10024280) called > soa_set_params(static::0x10025268, ...) called > soa_set_user_sdp(static::0x10025268, (nil), 0x10018eff, -1) called > soa_set_capability_sdp(static::0x10025268, (nil), 0x10018eff, -1) > called > su_localinfo: if lo with index 1 > su_localinfo: if bridget with index 4 > soa_set_params(static::0x10025268, ...) called > nta_leg_tcreate(0x100256d8) > nua(0x10024280): adding session usage > soa_init_offer_answer(static::0x10025268) called > soa_generate_offer(static::0x10025268, 0) called > soa_static_offer_answer_action(0x10025268, soa_generate_offer): called > soa_static(0x10025268, soa_generate_offer): generating local > description > su_localinfo: if lo with index 1 > su_localinfo: if bridget with index 4 > soa_static(0x10025268, soa_generate_offer): upgrade with local > description > soa_sdp_mode_set(0x7f5fd868, (nil), ""): called > soa_static(0x10025268, soa_generate_offer): storing local description > soa_get_local_sdp(static::0x10025268, [(nil)], [0x7f5ff990], > [0x7f5ff994]) > called > nta: selecting scheme sip > tport_tsend(0x10022318) tpn = */192.168.0.152:5060 > tport_resolve addrinfo = 192.168.0.152:5060 > tport_by_addrinfo(0x10022318): not found by name */192.168.0.152:5060 > tport_vsend returned 685 > nta: sent INVITE (10828982) to */192.168.0.152:5060 > tport_pend(0x10022318): pending 0x100264f0 for udp/192.168.0.151:5060 > (already 0) > nta: timer set to 32000 ms > nta: timer shortened to 500 ms > nua(0x10024280): call state changed: init -> calling, sent offer > soa_get_local_sdp(static::0x10025268, [0x7f5ff9a8], [0x7f5ff9ac], > [(nil)]) > called > nua: nua_application_event: entering > nua(0x10024280): sent signal r_invite > tport_wakeup_pri(0x10022318): events IN > tport_recv_event(0x10022318) > tport_recv_iovec(0x10022318) msg 0x10027d00 from (udp/ > 192.168.0.151:5060) > has 281 bytes, veclen = 1 > tport_deliver(0x10022318): msg 0x10027d00 (281 bytes) from > udp/192.168.0.152:5060/sip next=(nil) > nta: received 100 Trying for INVITE (10828982) > nta: 100 Trying is going to a transaction > nta_outgoing: RTT is 20 ms > tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10027d00 > (preliminary) > tport_wakeup_pri(0x10022318): events IN > tport_recv_event(0x10022318) > tport_recv_iovec(0x10022318) msg 0x10027d00 from (udp/ > 192.168.0.151:5060) > has 486 bytes, veclen = 1 > tport_deliver(0x10022318): msg 0x10027d00 (486 bytes) from > udp/192.168.0.152:5060/sip next=(nil) > nta: received 180 Ringing for INVITE (10828982) > nta: 180 Ringing is going to a transaction > tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10027d00 > (preliminary) > nua: nua_application_event: entering > nua(0x10024280): call state changed: calling -> proceeding > nua: nua_application_event: entering > nta: timer not set > tport_wakeup_pri(0x10022318): events IN > tport_recv_event(0x10022318) > tport_recv_iovec(0x10022318) msg 0x10028510 from (udp/ > 192.168.0.151:5060) > has 664 bytes, veclen = 1 > tport_deliver(0x10022318): msg 0x10028510 (664 bytes) from > udp/192.168.0.152:5060/sip next=(nil) > nta: received 200 OK for INVITE (10828982) > nta: 200 OK is going to a transaction > tport_release(0x10022318): 0x100264f0 by 0x10027328 with 0x10028510 > nta: timer set to 32000 ms > soa_set_remote_sdp(static::0x10025268, (nil), 0x10028a3c, 132) called > soa_process_answer(static::0x10025268) called > soa_static_offer_answer_action(0x10025268, soa_process_answer): called > soa_sdp_mode_set(0x10026cf8, 0x10028148, ""): called > soa_static(0x10025268, soa_process_answer): upgrade codecs with remote > description > soa_activate(static::0x10025268, (nil)) called > nua(0x10024280): INVITE: processed SDP answer in 200 OK > nua: nua_application_event: entering > soa_activate(static::0x10025268, (nil)) called > nta: selecting scheme sip > tport_tsend(0x10022318) tpn = */192.168.0.152:5060 > tport_resolve addrinfo = 192.168.0.152:5060 > tport_by_addrinfo(0x10022318): not found by name */192.168.0.152:5060 > tport_vsend returned 306 > nta: sent ACK (10828982) to */192.168.0.15