I solved this issue by creating the tables using LATIN1 character set, which made the key length less than the default limit of 767 bytes.
CREATE TABLE `contact` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`contact` char(255) NOT NULL,
`params` varchar(255) DEFAULT NULL,
`path` varchar(255) DEFAULT NULL,
`received` varchar(255) DEFAULT NULL,
`user_agent` varchar(255) DEFAULT NULL,
`expires` datetime DEFAULT NULL,
`callid` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `contact` (`contact`))
ENGINE=InnoDB DEFAULT CHARSET=latin1;