I want to withdraw some xrp from an exchange and deposit to my Ripple desktop wallet. I know the address to deposit, but what is the destination tag? The exchange does not let the destination tag to be empty? What should I enter in this field?
I've never seen an exchange that required a destination tag even when sending to an account that doesn't require one. But any destination tag will do. The destination tag just tells the recipient account holder who to credit for the payment. But you are the recipient account holder, so you don't need this information. Entering one should be fine.
The destination tag is a unique identifier exchanges use to hold your XRPs. Normally, wallets addresses are created on the regular, but Ripple protocol requires a minimum deposit of 20XRP for each new unique wallet address. Since people deposit and withdraw XRPs on exchanges on the regular, it would millions of XRPs out of currency on either at your expense or the exchanges expense on the regular for dead wallets leaving them for lack of a better word, stranded. So exchanges reuse the same ripple wallets with destination tags. Look at it like this: Bitcoin, Ether and other crypto currencies build new single family homes for the sake of making the trade. To reduce the likelihood of fraud, Ripple controls the influx of addresses by charging a fee which they call "minimum deposit." The exchange workaround for this is to use the same single family home address and making it into a residential building, constantly adding apartments with no air limit. So the wallet address is the apartment building (hence the ripple minimum 20XRP has been satisfied) yet many accounts can be added even for one time use within the same address, over and over and over again. They call this a "host wallet." Your destination tag is generated at the time of deposit by the exchanges deposit address and this instructs the withdrawal exchange or wallet on which apartment mailbox to send the money within the same apartment building address. Millions of people can use the same XRP wallet as long as the destination tag is assigned. If you don't add the tag on the withdrawal side to deposit to an exchange site, the XRP will go into the abyss like sending money to a building address with no tenant name and no apartment number. If you send from an exchange to your own actual personal ripple wallet (not a host wallet - when a destination tag is required) then no destination tag is needed. Just enter the number "0". Your XRP will go into your wallet. Like a private single family house. Doesn't need a name or apartment number. It's sent to your mailbox to an address where only you and no one else resides. This is the best way to explain the pesky destination tags required for XRP, when they are required, why they are required, the purpose they serve and why it is unique to Ripple as opposed to other cryto-wallets.
I don't know of any exchange that requires a destination tag when you're not sending to an account that requires one. But you can use any destination tag if you're sending to a native wallet. 1 is perfectly fine.