Dial code for business/personal call reporting and billing

brienf

Platinum Partner
Advanced Certified
Joined
Feb 5, 2020
Messages
7
Reaction score
3
Hi guys we have a tricky one that i am trying to get a solution for, Our one client has just migrated 7 sites onto one hosted PBX in their own Azure environment. 3 sites were already on 3CX yet their largest site was an old Mitel analog system. This is a factory environment with almost 300 phones and more users than phones. On the Mitel they used to be able to go to any phone and enter a code(one for business and one for personal) eg 8812 business and 88122 for personal before dialing a number, they then could get a report distinguishing either.

The codes to dial out can be done via outbound rules and I thought to use a billing code after the number with their code to distinguish for personal calls yet the number would end up being very long to dial. Has anyone come across this and found a simpler solution than what i suggest? They do rely on their staff being trustworthy with this for using each code currently on the old system with using the personal code.

I am also looking at maybe trying something using CFD.

Please assist if you know an easier and better way.
 
Hello,

Call Scripts (CFD) can work. Depending on how different from the old system you are willing to go.
A single script where you dial in via eg 13, then enter personal ID + type of call then number is a working option.
Also an option, a call script for work and one for personal so they dial the call script dial code eg 11 & 12, then they key in their personal identification code, then the number to call.

I had a look at this and tried the first type of setup with a Call Script. The billing part works in my test: the script passed the call out with a billing code, and I could find it in Call Reports using “Match billing code”. The report also kept the original calling extension.

For example, employee 8812 could use billing code 8812 for business calls and 88122 for personal calls. The routing part is just:

C#:
// Once the script has collected and checked the user's input:
string billingCode = category == "1"
    ? employeeCodes[0]  // Business
    : employeeCodes[1]; // Personal

await MyCall.RouteTo(destination + "**" + billingCode, null, 30);

That’s the relevant part of the script, rather than a complete example you can paste in. It uses the default ** billing-code separator.

It would mean calling the script first and entering the details when prompted. As with your current setup, it would rely on staff using their own code and choosing the right category. You’d also need to decide whether they should still be able to dial out normally without going through it.
 

Forum statistics

Threads
112,375
Messages
592,175
Members
165,550
Latest member
Urs_S4A