David Cameron will decide when to call the vote, but MPs could veto it if they do not agree - although there is nothing to prevent the government from bringing another vote on the same date if they can persuade MPs to change their minds and back it.