Closed GoogleCodeExporter closed 9 years ago
Thanks for the feedback
What is the version of the application (one from android market? 0.04-04?) or a
nightly build version?
Also, when you say that "internet connection" is working properly. By "internet
connection" do you mean web browsing with http protocol?
SIP protocol is a different one that operates on different ports.
Some mobile carrier/ wifi hotspot block these port to prevent you from doing
voice over IP on their network.
Solution is to ask them to unlock it if you can or to encrypt sip connection /
change port if the sip provider support it.
Original comment by r3gis...@gmail.com
on 27 Sep 2012 at 9:00
Sir,
Thanks for your reply
I am using a downloaded apk version which is available on code.google.com
The link from where I downloaded is
http://csipsimple.googlecode.com/files/CSipSimple-0.04-01.apk
I checked http connection working fine.I used wifi connection for internet
access.
Plz help me how I can check that my device is not blocking any sip port.
Original comment by borntode...@gmail.com
on 28 Sep 2012 at 7:12
Can you try with this version :
http://nightlies.csipsimple.com/stable/0.04-04/CSipSimple-0.04-04-trunk.apk
The google code download section is not up to date.
Original comment by r3gis...@gmail.com
on 28 Sep 2012 at 7:50
I tried this version the issue is still there
When I try to add a basic account, The status
changes fromm registering ... to
Error while registering -Request Timeout.
I have also builded the code given on this site
but the result is same. All stuff is working fine
except that the app is not registering on some devices
I already tried the app on the motorola defy(android 2.1)
and HTC Sensation XL(android version 2.3.5) on both registration failed.
The app is registering on my htc desire(android version 2.3.1) smartphone.
Original comment by borntode...@gmail.com
on 28 Sep 2012 at 9:35
is there any kind of port conflict which is causing the app not to register.
Original comment by borntode...@gmail.com
on 3 Oct 2012 at 6:35
Normally if port conflicts there is an error before trying to register (when it
tries to bind the port locally). By default the app uses random free local port
(setting 0) for udp and tcp.
BTW, are you connecting using UDP or TCP? Some networks has UDP packet size
limitation. Would be very low if blocking at register for your network but
could be interesting to check if activating "Compact SIP" in network settings
doesn't help.
Else, another difference that can appear from one device to another is the
"User-agent". By default it's CSipSimple + some information about device
codename (as nknown by the device itself) and the android version.
Maybe the sip server on the other side get hard time to decode this user agent
(for example if contains space or other chars not well supported by server).
To try to change the User agent setting :
go in settings, press menu , Expert mode (if was not already done).
Then in network section there is the option to change useragent. Try something
different from CSipSimple (it will not add device codename and android version
in this case).
Original comment by r3gis...@gmail.com
on 3 Oct 2012 at 10:36
Sir,
I have tried both points mentioned by you regarding the registration issue.
User Agent and expert mode are not working as a solution for registration issue.
Additionally, I found some stuff which may be useful in providing the solution
of this problem.
The registration problem arises whenever there is a network change in the
device.
Such that if device is connected with 3g and wifi is switched on or off then
either registration fails or call does not get connected.
This issue also arises when bluetooth or any other network media is turned on
or off.
Whatever I got from reviewing the code from googlecode is that the pjsip stack
,that CSipSimple app is using, stops whenever there is some network change due
to which problem arises.
This may be due to the possible bug in checks applied on the code in order to
check the network connection of the device.
Is there any solution by which we can check the accessibility of the client
application to the sip server so that inspite of network change the app detect
the direct accessibility to the server ...watsay
I am a newbie for android and java so requires ur kind support for solving this
issue.
Thanks and Regards,
Anurag
Original comment by borntode...@gmail.com
on 11 Oct 2012 at 9:58
Ah !
It's very important information. I thought you had *always* no registration and
were never able to register using csipsimple.
So I think I get the root reason with this information.
Your sip server probably support limited number of simultaneous registration.
When the network is lost, the app is not able to clear the pending registration
on the server. So it increase number of registrations for your user on the
server.
Then networks come back. The app tries to register.
If server has limited number of possible registration and has no policy to drop
older registration in this case, it will refuse the new registration.
It will work again when one of the slot of your previous registrations will
timeout.
A clean solution would be to store in the app old registration and reinject it
to the stack. Not easy.
But, there is an existing workaround that tries to clear all registration when
get an error on a registration and then try to re-register.
To activate this option, long press the account row, choose wizard and choose
expert one.
And enable the option "Try to clean registrations" (not sure it works on a
timeout error however... but if so you should raise the problem to your sip
provider, they should refuse the registration with an actual error rather than
just not replying to the request).
Another tweak you could do is to reduce the registration timeout/interval value
so that registrations will expire quickly.
Original comment by r3gis...@gmail.com
on 11 Oct 2012 at 10:36
Tried this option too and also reduced registration timeout/interval value
unfortunately the status is "Error while registering-Request timeout"
I want to mention that on moto defy It was never registered.
On another device It got registered but on network change account becomes
inactive and calls failed to connect.
My point is same as like urs either we can prevent the app to detect minor
flaws in the network, only major network failure(when there is not a single
network connection available such as 3g, wifi etc).
If device switches from from one to another then old registration can be re
injected to the stack...
Original comment by borntode...@gmail.com
on 11 Oct 2012 at 12:03
Also I want to mention that when app failed to register server does not get any
registration request from the client side.
That means there is some issue in sending the registration request to server
may be app failed to reach server via sip protocol or something else...
Original comment by borntode...@gmail.com
on 11 Oct 2012 at 12:05
Original issue reported on code.google.com by
borntode...@gmail.com
on 24 Sep 2012 at 9:07