Sanjivkumarroshan / csipsimple

Automatically exported from code.google.com/p/csipsimple
0 stars 0 forks source link

408 Request timeout #2826

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?

1. Install csipsimple
2. Add sipnet.ru account
3. Dial any SIP number. The call never goes through. Total silence for a few
seconds, then the "408 / Request Timeout" error is displayed.

What is the expected output? What do you see instead?

The call shall go through without any timeout. I have tested the same
csipsimple version on an Android tablet with different Android version (4.4.2),
in exactly the same networking environment (at home), with the same sipnet
account and it works fine. Here are the details for the tablet:

What version of the product are you using? On what device / operating
system?

Based on GPL application CSipSimple version : 1.02.00 r2330
android.os.Build.VERSION.RELEASE : 4.2.2

Please provide any additional information below.

The log has some underflow errors:
D/libpjsip(13212): 23:10:32.876   ec0x5a2a8fc0 !Underflow, buf_cnt=0, will 
generate 1 frame
D/libpjsip(13212): 23:10:32.877   ec0x5a2a8fc0  Underflow, buf_cnt=0, will 
generate 1 frame

Original issue reported on code.google.com by 4964...@gmail.com on 9 Nov 2014 at 9:02

GoogleCodeExporter commented 9 years ago
Hi,

Various reasons could lead to "408 request timeout", but it's always because of 
the fact packets are not transmitted/blocked somewhere.

In case of TCP transport used directly jump to issue 2322 .

But, most of the time, it's with UDP transport.
In this case, two possible sub-possibility :
 - your network provider simply block sip traffic and that's why the app gets no reply from the server. In your particular case, I don't think it's the reason since registration fails too in this situation.
 - the UDP packet is too big and gets blocked by some router in the middle. (Some routers have very short limits for udp packets and blocks big packets). In this case, the solution is to reduce packets size by 
    a) reduce number of codecs enabled : each codec to announce implies a bigger invite request... and since csipsimple supports a lot of codecs, you can create very big udp packets to invite the remote part ;) ... and normally remote part only pick one ;)
    b) if supported by your sip provider : use the "sip compact" option (in settings > network)
    c) in case none of the above things help, and if your sip providers support it, you can try TCP that has normally no limits (except the one described in issue 2322)

Original comment by r3gis...@gmail.com on 11 Nov 2014 at 10:16

GoogleCodeExporter commented 9 years ago
Issue 2768 has been merged into this issue.

Original comment by r3gis...@gmail.com on 11 Nov 2014 at 10:16

GoogleCodeExporter commented 9 years ago
Problem solved. Here are the details.

1. Switch to the per-account Expert Mode (press and hold the Sipnet 
account/Choose Wizard/Expert)
2. Tap on the account, and switch Connection Transport from "TCP" to "Automatic"
3. Save settings
4. Switch the per-account mode from "Expert" back to "Sipnet" (optional).

For some reason the default connection transport (TCP) has refused to work on 
this Android 4.2.2 smartphone. The device would register on Sipnet but then 
give the 408 timeout on call. I guess switching the connection transport to 
"Automatic" actually sets it to UDP in my case, since I don't use TLS.

Interesting to note, though, that the other device on the same network (LG 
tablet with Android 4.4.2) connects and calls fine with the default TCP 
transport. 

Just for the record, the smartphone is "MTS 978" aka "Alcatel OneTouch 6035R 
Idol S".

Thanks for your help!

Original comment by 4964...@gmail.com on 12 Nov 2014 at 12:45