linphone-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-developers] Linphone 3.2.1 doesn't know when to stop


From: Jim Diamond
Subject: Re: [Linphone-developers] Linphone 3.2.1 doesn't know when to stop
Date: Wed, 9 Dec 2009 18:57:53 -0400
User-agent: Mutt/1.5.18 (2008-05-17)

On Fri, Dec  4, 2009 at 19:02 (+0100), Simon Morlat wrote:

>Le mardi 01 décembre 2009 à 11:24 -0400, Jim Diamond a écrit :
>> Hi all,
>>
>> I am having problems with linphone 3.2.1 not knowing when to stop.
>>
>> That is, sometimes the call is disconnected either because
>> - the other end disconnected, or
>> - there was a network problem of some sort (this happens to me often,
>>   I haven't figured it out yet) and the two ends are disconnected from
>>   each other
>>
>> In many disconnection cases, linphone-3 merrily keeps on sending
>> packets (presumably video, given the bandwidth consumed) down the
>> line, and it leaves the video window showing the last received frame
>> from the other end.  Not only does this eat up bandwidth, but it also
>> pretty much means I have to restart linphone-3 for things to work
>> again.  If I don't restart it and try to do another call, the video
>> window flashes between the last video frame from the previous call and
>> the current video.
>>
>> Curiously, I've seen this happen even in the case where the rest of
>> the gui knows that the call is dropped.  That is, the main gui window
>> switches itself from the "call in progress" view to the "ready to make
>> a call" view, and the "start call" button is active, while the
>> "terminate call" button is inactive.

> Hi Jim,

> I already saw this behaviour some long time ago...
> It's very surprising, I have actually no idea of how this could happen.
> The first thing would be that you send me a full log when this happens.
> Also, can you elaborate a kind of procedure in which the problem
> reproduces often ? Maybe I could reproduce it also and investigate
> directly.

Simon,

when I see this problem "in real life" it is difficult to track down,
because I am only in control of one end of the conversation, and the
other end probably is not running with --verbose.

However... I can now reproduce the problem, using a somewhat
pathological network setup.  I will describe it here and send you the
outputs of linphone-3 --verbose from both ends in a separate e-mail.

(Pathological) situation:

Call receiver: my desktop inside a (fairly) wide-open university
network, no trouble getting any of the linphone-3 ports in or out.  No
NAT, so my desktop's IP is the IP visible from the entire world.

Call initiator: inside a vbox VM, running on my laptop, which is
inside my home LAN, whose router uses NAT.
        vbox VM: 10.0.2.15
                vbox uses a NAT interface, as opposed to a bridged interface.
                I have a web cam hooked up, but linphone inside the VM
                is only showing me a black screen (no video, no "NO
                WEBCAM" image); the preferences menu "Capture Device"
                has the mic in the webcam listed as a choice, so it is
                sort of seeing the webcam.  (The VM is running Knoppix
                6.2, and I think there is a glitch in Knoppix, in
                which after linphone starts and stops, the next time
                you run linphone you get a black video screen.
                Unplugging the camera, plugging it back in, and then
                (re)starting linphone makes the video come back to life.)
        my laptop: 192.168.1.3
                it talks to my ISP via my home router, using NAT.
        My home router uses port triggering to forward all the
                linphone ports to my laptop.

So, the caller make the call, and the receiver sees an incoming call
and accepts it.  The receiver video window changes to "picture in
picture" with its video in the lower right corner and the rest of the
screen green.

The caller eventually gives up, saying it could not reach the
destination.

As long as I don't kill the calling linphone-3, the receiving
linphone-3 thinks it is in the call, except for the lack of any video
(I can't tell whether it is getting any audio, since I am just using
VNC to see my remote desktop).

Eventually I terminate the calling linphone-3.

Now the receiving linphone-3 knows (sort of) that the call has been
disconnected... the main window changes from the "call in progress"
window to the usual main window.  Oddly(?), at the bottom of the main
window it now says "Could not reach destination".  Its address field
has sip:address@hidden (which makes sense, ignoring NAT issues),
and the "make call" button is active, not the "terminate call" button.

However, the video window still shows picture-in-picture, and
according to wireshark (and the flashing lights on my router) it is
still firing packets at me on port 7078.

So it is both in a call and not in a call.  I need to consult with a
Zen master, I think.



Anyway, I recognize the fact that with this twisty maze of network
connections, it would be a miracle for anything to work.  Having said
that, clearly there is an issue with linphone in that
(1) the receiver thinks it is in a call when the caller does not, and
(2) when the receiver realizes the caller went away, it doesn't stop
    firing packets.


This seems to be 100% reproducible, so if there is any debugging
assistance I can give, let me know.


The linphone version is 3.2.1 at both ends.

--verbose logs in the next e-mail.

Cheers

                                Jim




reply via email to

[Prev in Thread] Current Thread [Next in Thread]