The problem was with the Russian Character..... Russian character takes 2 bytes and the number of bytes that could be sent through sms is only 160 in one time.
So the solution is to divide the message and send it iff it exceeds 160 bytes.
Best thing is to use in both the cases and let android system decide whether to send multiple messages or only one. I have not checked with the same so please make sure by using the only above statement for both the cases.
this line could be problematic as length for russian message could be 70 characters long but it is taking more than 160 bytes as "Russin Character" takes more than 1 byte for 1 character and is not like english character, so better approach would be to getBytes() and then check on it.