user8041: I googled for this problem many times and ended up with no results, so I decided to post it here. 
Can we use a GSM Dongle (usb dongle) instead of a GSM shield (like SIM900 module) to send and receive SMS in Arduino? If so how it is possible? 

user42: Not directly. The standard Arduino Uno doesn't have the hardware/software necessary to act as a USB host, which means it can't talk directly to other USB devices.
You might be able to get it work via a USB Host Shield. I don't know how compatible that is with GSM dongles though because I assume you can't install drivers on it. Additionally, if you're using a shield anyway, you might as well use a GSM shield.
If you're able to get an alternative board then another possibility might be the Arduino Yún. It has a USB host built-in which is operated by the Linux part of the board. I don't know for certain that it would handle a GSM dongle, but it may be worth looking into.

user8086: YES you can with an Arduino Yùn
The dongle will have to be handled by the linux part of the board and doing so will leave you all the I/O pin free for your project.
You might want to check out this for the howto:
https://n00bsys0p.wordpress.com/2009/08/26/sending-recieving-sms-with-a-3g-device-in-linux/

8041: <p>I googled for this problem many times and ended up with no results, so I decided to post it here. </p>

<p>Can we use a GSM Dongle (usb dongle) instead of a GSM shield (like SIM900 module) to send and receive SMS in Arduino? If so how it is possible? </p>
 42: <p>Not directly. The standard Arduino Uno doesn't have the hardware/software necessary to act as a USB host, which means it can't talk directly to other USB devices.</p>

<p>You <em>might</em> be able to get it work via a <a href="http://arduino.cc/en/Main/ArduinoUSBHostShield" rel="nofollow">USB Host Shield</a>. I don't know how compatible that is with GSM dongles though because I assume you can't install drivers on it. Additionally, if you're using a shield anyway, you might as well use a GSM shield.</p>

<p>If you're able to get an alternative board then another possibility might be the <a href="http://arduino.cc/en/Main/ArduinoBoardYun" rel="nofollow">Arduino Yún</a>. It has a USB host built-in which is operated by the Linux part of the board. I don't know for certain that it would handle a GSM dongle, but it may be worth looking into.</p>
 8086: <p><strong>YES you can with an Arduino Yùn</strong>
The dongle will have to be handled by the linux part of the board and doing so will leave you all the I/O pin free for your project.</p>

<p>You might want to check out this for the howto:</p>

<p><a href="https://n00bsys0p.wordpress.com/2009/08/26/sending-recieving-sms-with-a-3g-device-in-linux/" rel="nofollow">https://n00bsys0p.wordpress.com/2009/08/26/sending-recieving-sms-with-a-3g-device-in-linux/</a></p>
