It is usually enough to match INVITE with --first-- of recorded BYEs with the same CallID. It is fairly accurate. From my experience I would say every month 1 or 2 calls have missing BYEs. You give them "1 minute" duration or just forget ;-)
BTW this is just a top of an iceberg somewhere in front of us. And it does not only concern billing. It concerns management, provisioning, terminal capabilities, charging, multimedia and so on. We surf towards IMS-like architectures, wherever we want or not.
Look at today - we create our own billing systems where every one is different, proprietary and acting on different requirements. IMHO we should rather work together, wherever you call it OpenSource or not.
Let's start with billing. Let's define common requirements, like:
1) tarrification policy (peak/offpeak,initial,post-call charges and so on) 2) way to manage endprices,margins,currencies 3) different database versions to let everybody choose his backend: sql or directory database 4) common data interchange format (I propose IPDR, VoIP profile) 5) common communication protocol (I propose SOAP)
We should not work on payment management, as BSS systems should do it for us, provided that nice data is exported from SER. But if someone wants - OK, payment management may be done as well.
Some may say that SER is not a place for SOAP, IPDR and related stuff. But let's be honest - world is moving into similar direction and technologies such as Parlay X Web Services, JSLEE or IMS are just few examples. There is also ongoing effort to integrate network services around directory databases, wherever it is JNDI (in JSLEE) or LDAP (in OpenSource projects).
I was working for most of this stuff, with success, but a little outside of SER. SER was always somewhere there, but with MySQL stripped almost completely (in fact only 'location' table is used as a kind of HLR). And I see from private emails or contributions that many (all?) of us have done the same. People are using LDAP backend with RADIUS (worked great for us) or without RADIUS (directly to LDAP, worked great too). I have got reports of people having customer base of 5 milion and looking for 10k transactions/second with LDAP backend.
In fact this is OK - you just choose those parts of OpenSource project that fit your needs and integrate. Thats what OpenSource is for. Tens of great people, like SER core developers are working on great software that SER is now, they work for free and make this software better.
But so many users are going towards the 'next big thing'. At the same time tens of other people are working on proprietary platforms for billing, LCR, Web Services or even IMS in their companies. It is OK, but why not provide them a good '--next killer platform--' and let them concentrate on creating better --services --?
Consider this quotation from SLEE primer available at opencloud.com:
"We must, as an industry, make it abundantly clear to all commentators that we are in business to create the most potent and fundamental part of the social fabric of the 21st century. (...) Operators must recognise (...) not just a single service, like video or gaming. By implication, therefore, (...) operators should be creating a killer environment."
Copyright Nicolas Foggin, Director of Strategy & Futurology, Orange SA Copyright Alcatel Telecommunications Review, 2002
You see? Provide killer environment. Let's start with billing.
-- Arek Bekiersz
Eric Haskins wrote:
If I am correct I believe CDRTool uses mediaproxy to prevent the phantom BYE record. Adrian can correct me if I read wrong. Invites without BYE's are common No one answered the phone. We just Log and drop records that dont have matching INVITE,ACK, and BYE. The reason as I have seen for the missing BYE (discussed alot on here) is the UA or the Gateway dont send a BYE for whatever reason. We havent seen that many , infact not one yet knock on wood. We thought about just estimating and calling them one minute calls.
The problem we are having is we route some wholesale traffic thru us via trusted IP and account for it (Easy Part) but we also get DID's from that Company so all traffic comes from same IP. DID's work fine but it broke our parser. LOL was charging them for our incoming calls OOPS!!! I guess for now I am going to move the wholesale Trusted IP stuff to its own box.
Eric eric@rackspeed.net
----- Original Message ----- From: "Frank Fischer" frank.fischer@digitalnomads.ch To: "'Dave'" ddx66@yahoo.com Cc: serusers@lists.iptel.org Sent: Wednesday, November 30, 2005 5:14 PM Subject: RE: [Serusers] Creating CDRs from SERs accouning records
Do i get this right - the matching is just done by searching a matching INVITE for each BYE where matching means that the callid must be the same? Anf of course by calculating the callduration, normalize certain fields and "grap" phonenumbers out of the sip uri? Is it really that "simple"? Since, on one hand side, i read about cases where there is no BYE at the end of a call (i think it had to do with mediaproxy), on the other hand side, when i look at "my" acc table, i can find some records, where there are multiple BYEs with the same callid or INVITEs without a BYEs.
I understand, that missing BYEs primarly are a problem of the accounting, not of the normalization, but, how ever, i'm quite sure that i won't be possible to have a 100% accurate accounting so i thought that there might be the need/possibility to do some "fixing" during normalization. I.e. i think i understood that the commercial version of CDRTool does so for missing BYEs?
Am i completely wrong?