[Sofia-sip-devel] [ sofia-sip-Bugs-1930055 ] Unregister when a new public binding is detected

2008-11-25 Thread SourceForge.net
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

2008-11-25 Thread Jen Chitty
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

2008-11-25 Thread Michael Jerris
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