You should learn to use the debugger as soon as possible. Rather than guessing what your code is doing, It is time to see your code executing and ensuring that it does what you expect.
The debugger allow you to follow the execution line by line, inspect variables and you will see that there is a point where it stop doing what you expect.
Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[
^]
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html[
^]
https://www.jetbrains.com/idea/help/debugging-your-first-java-application.html[
^]
Use the debugger to see what your code is doing when a call is received, there is an error or something unexpected.
You can also add check points in the code in order to ensure what the code is doing.
[update]
Quote:
on debug there is no call receved that the problem
This mean that it is not a problem in the code you showed.
Quote:
always State is Busy
This is probably the reason of the problem.
You have to find why your phone is always busy.