title: how to get balance by USSD commands?
body: <p>I have tired to search how to send USSD command on Google.
  I want to check may balance from operator.</p>
  
  <p>All of the samples I have seen use commands like this:</p>
  
  <pre><code> "AT+CUSD=1,\"*140*1#\"\r\n";
  </code></pre>
  
  <p>It seems to be correct. I am using something like this that I think works. I have a D-Link GSM modem, and when I send this command using it, it makes some noise on my speaker, which I believe tells me something happened.</p>
  
  <p>my modem have it's own windows application when i disconnected modem by my own application,i check it by modem's application and in USSD tab i can found the result of my commands that i sent by myself application.</p>
  
  <p>then that command works fine but i 'm confuse what is happens when i sent my command it return me "OK" and do not return operator answer and how my modem's application can read that answer????????</p>
  
  <p>i test these commands but can not get result and my modem just return somethings like this:
  "AT+CUSD=1,\"*140*1#\"\r\n\OK\r\n"  only.</p>
  
  <pre><code>1) "AT+CUSD=1,\"*140*1#\",15\r\n"
  
  2) "AT+CUSD=1,\"*140*1#\",1\r\n"
  
  3) "AT+CUSD=1,\"*140*1#\",15\r"
  
  4) "AT+CUSD=1,\"*140*1#\",1\r"
  
  5) "AT+CUSD=1,\"*140*1#\""
  </code></pre>
  
  <p>i think reading command's result maybe has difference command or i should set some config on my modem .</p>
  
  <p>it is very interesting for me that my modem do not return error to me and always return OK.</p>