I recommend using BBMap for mapping reads and its variant-caller for calling variants:
bbmap.sh ref=ref.fa in=reads.fq.gz out=mapped.sam.gz maxindel=100k callvariants.sh in=mapped.sam.gz ref=ref.fa vcf=variants.vcf ploidy=2
If you are using a very large genome like human you will probably want to add the flag "prefilter" to callvariants to reduce memory consumption.
Long deletions are fairly easy to detect, but it becomes harder to detect long insertions as they approach a significant fraction of the read length. So if you want to find long insertions, and you are using paired reads, you can increase the read length with BBMerge:
bbmerge.sh in=reads.fq outm=merged.fq outu=unmerged.fq rsem prefilter=2 k=62
Then map the merged and unmerged reads in two passes and feed both mapped files to CallVariants.
Dear Nayshool, Hi