On Tue, Jan 05, 2016 at 03:38:58PM +0000, Jonathan Hunter wrote:
sql_pvquery("cd","select
DestinationMsisdn,SourceMsisdn from MsisdnPoolAllocations where
PoolMsisdn='$rU'","$var(MOdest),$var(NewSourceMSISDN)");
However this returns a value of -509264926 for $var(MOdest) which should just be the
3785702370 number.
What can cause kamailio to interpret this as a negative value? Has anyone seen this
before?
What you are seeing is an integer overflow, in this case you are trying
to store a number greater than 2^31 in a signed 32bit int. -509264926
(3785702370-2^32) is the correct answer if the var is a signed 32bit
int.
I treat phonenumbers as strings (both in the database and kamailio)
since I store them as E.164 with a leading + (which results in a bit
more diskspace)
If you don't need the number as int in kamailio, try casting it to a
string in the query.