When a CDR is written that contains certain characters (e.g. +, ;) it is encoded (like a URL gets encoded).
The SQL insert statement query is produced by OpenSER/Radius: 10625 Query INSERT INTO radacct (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, AcctStartTime, AcctStopTime, AcctSessionTime, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay, SipResponseCode, SipMethod, SipTranslatedRequestURI, SipToTag, SipFromTag, SipRPID, SourceIP, SourcePort, CanonicalURI) VALUES (NULL, '149a4cbd403b071e109d89b50a17b3a5@202.180.1.1', 'e04d0b07ab2eca3e', SUBSTRING_INDEX('sip:094455667@202.180.1.1',':',-1), SUBSTRING_INDEX('sip:094455667@202.180.1.1', '@',-1), '127.0.0.1', '5060', '2009-06-20 11:44:49', '0', '0', '0', '0', SUBSTRING_INDEX('sip:=2B6012345678@147.202.1.1',':',-1), SUBSTRING_INDEX('sip:094455667@202.180.1.1',':',-1), '200', 'SIP', '', '', '0', '0', '200', 'Invite', SUBSTRING_INDEX('',':',-1), 'as03a3d864', 'as69938f56', '', '', '', SUBSTRING_INDEX('',':',-1))
However the records written to the file system by OpenSER/Radius are not encoded: Sat Jun 20 11:44:49 2009 Acct-Status-Type = Start Service-Type = SIP Sip-Response-Code = 200 Sip-Method = Invite Event-Timestamp = "Jun 20 2009 11:44:49 NZST" Sip-From-Tag = "as69938f56" Sip-To-Tag = "as03a3d864" Acct-Session-Id = "149a4cbd403b071e109d89b50a17b3a5@202.180.1.1" Called-Station-Id = "sip:+6012345678@147.202.1.1" Calling-Station-Id = "sip:094455667@202.180.1.1" User-Name = "sip:094455667@202.180.1.1" NAS-Port = 5060 Acct-Delay-Time = 0 NAS-IP-Address = 127.0.0.1 Client-IP-Address = 127.0.0.1 Acct-Unique-Session-Id = "e04d0b07ab2eca3e" Timestamp = 1245455089
So how can I write +6012345678 to the database, rather than =2B6012345678?
Any advice appreciated.
Regards Cameron