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;

Abdelmuhaimen Seaudi, CCIE # 25265
Email: aseaudi@gmail.com
Skype: aseaudi
Telephone: +2012 84644 733


On Sun, Dec 31, 2017 at 11:17 PM, Abdelmuhaimen Seaudi <aseaudi@gmail.com> wrote:
Hi,

i am upgrading from kamailio 4.x to 5.1, and when i try to create the scscf databse, i get the below error

I tried correcting this by removing the indexes, but the ims did not work properly, with lots of inconsistency in registering, and cannot make calls.

what is the correct way to handle this error ?

root@olc-dd:/usr/local/src/kamailio-5.1/kamailio/utils/kamctl/mysql# mysql -uroot scscf < ims_usrloc_scscf-create.sql 
ERROR 1071 (42000) at line 2: Specified key was too long; max key length is 767 bytes

Thanks.

Abdelmuhaimen Seaudi, CCIE # 25265
Email: aseaudi@gmail.com
Skype: aseaudi
Telephone: +2012 84644 733