Closed doctorluigi closed 9 years ago
You should change sip_num to VARCHAR(whatever_length). I think its safe to use VARCHAR(80) since its used in asteriskcdrdb.cdr table. you can see upgrade/sql-0.9.6_to_0.9.7.sql file for the exact query.
Fixed in release 0.9.8
Sometimes the full E.164 number is used as SIP Extension (e.g. 12025550001 or even some other country with even longer country code prefix) and that exceeds the int maximum value (2147483647).
When table billing_extensions is created, sip_num is int(11).
I have manually tried altering the table on the live system: mysql> alter table billing_extensions modify sip_num bigint;
And I have also tried re-creating the billing_extensions table in such manner: CREATE TABLE IF NOT EXISTS
billing_extensions
( ...sip_num
bigint(20) NOT NULL, ...but without any success.
After such modification, it fails at matching the tenant with prefix_id (Destination.pm, get_tariff sub): NOTICE - Executing query to get tariff details: SELECT * FROM billing_tariffs WHERE tenant_id = 4 AND prefix_id = 13607 ERROR - Tariff does not exist. Exitting...
Can you please check and advise how to achive larger sip_num / Extension values?
Thanks in advance.