• V20: 3CX Re-engineered. Get V20 for increased security, better call management, a new admin console and Windows softphone. Learn More.

Bug report: Recordings not showing with underscores and dashes in queue/inbound rule names

Status
Not open for further replies.

bramvandeperre

Free User
Joined
Dec 19, 2018
Messages
10
Reaction score
9
Hi all,

This'll be my first post here, so feel free to correct me if I'm not in the right place.

We don't have a support license, so I'll just report my findings here for anyone having the same issue, hoping 3cx will fix it whenever they have time to do so.

For a few months now, the Management Console wasn't showing some recordings, while they were actually available in the recordings folder as a WAV file. We looked into possible causes - but none seemed plausible.

After some intensive testing, we realised 3CX is using the actual file name to index the recording in the admin console, and there's no further checks in place to prevent the following from happening.

Scroll down for the solution. FYI: We use 3CX on a self-managed Windows server.

-> Example 1
[NL-Brandname%3A33123444222]_33123444222-628_20181219144415(1500).wav

This goes all according to plan. Our Inbound rule is called "NL-Brandname" so the recording shows up. 3CX uses the file name, so it splits "Display name", source, destination, and timestamp perfectly fine:
[NL-Brandname%3A33123444222]_33123444222-628_20181219144415(1500).wav

The red part shows up as display name, the bold part is split on the dash where the first part is source, the second part is destination, and the green part makes the timestamp of the recording.

-> Example 2
[CS BENL%3ANL-Drukzo%3A33123444222]_33123444222-628_20181219144307(1496).wav

Still all good. split still happens on the underscore, and takes everything between the brackets as display name. Queue name and inbound rule name are shown here.

-> Example 3
[CS_BENL%3ANL-Drukzo%3A33123444222]_33123444222-543_20181219144307(1496).wav

Ok so here, it goes wrong in quite a bit of ways. The split to determine the recording's properties happens on the first and last underscore, so CS is the displayname, BENL:NL is the source, Drukzo:33123444222 is the destination, which obviously isn't correct. the timestamp is still fine.

-> Example 4
[CS_BENL%3ANL_Drukzo%3A33123444222]_33123444222-543_20181219144307(1496)

Ok, so here it's going bananas. CS should still be the display name. Then we take the second part until the next underscore, which is "BENL:NL" and make a split on the dash. The first part is the source, the second the destination. But.. wait a bit? There's no dash to split on, so index 1 in this array of 2 items doesn't exist.

And here's where 3CX simply doesn't show the recording in the management console. At all.

-> Example 5
[CS - BENL%3ANL_Drukzo%3A33123444222]_33123444222-543_20181219144307(1496)

Same as example 4. Queue contains a dash, which is fine, but inbound rule contains an underscore. Therefore, the second part until the next underscore doesn't contain a dash, and 3cx freaks out again.

-> Example 6
[CS - BENL%3ANL_Drukzo%3A33123444222%3JM-Consulting]_33123444222-543_20181219144307(1496)

So here, the name of the customer contains the necessary dash, so this example would work. Although neither source or destination is correct.

For those having the same issue?
Make sure not to have underscores or even dashes in your call queue names or inbound rules' names. It might make source and destination still look dodgy if for example your contact book's information pulled from a CRM contains dashes or an underscore, but you're good in 99% of cases.

For the 3cx devs?
Don't start with the index 0 to populate fields. do a split on underscores, get the array length, and start of with -1 for the timestamp, -2 for the source-destination, and -3, -4, -5, etc for the display name. That'll fix it.

So:

BAD 3CX:
Array(0 => Display name, 1 => src/dst, ...... length-1 => timestamp)

GOOD 3CX:
Array (Array(0, length-3 => Display name, length-2 =>src/dst, length-1 => timestamp)*

*I know this isn't anything like code. Just KISS being in effect here for illustration purposes only.
 
Last edited:
Hello @bramvandeperre

Thank you for reporting this. We will look into this and get back to you.
 
Hello @bramvandeperre

Thank you for reporting this. We will look into this and get back to you.

Sure, if you need more specific information please don't hesitate to DM me. I tried to stay as general as possible since this is public.
 
  • Like
Reactions: YiannisH_3CX
Sure, if you need more specific information please don't hesitate to DM me. I tried to stay as general as possible since this is public.
You looked into this and from we have been informed, this issue should be fixed in V16. It should also be included in the current V16 Alpha 2 release, but just a reminder, it is Alpha, so it is not recommended to install on a production system.
 
You looked into this and from we have been informed, this issue should be fixed in V16. It should also be included in the current V16 Alpha 2 release, but just a reminder, it is Alpha, so it is not recommended to install on a production system.

So there's no fix coming in a 15.5 hotfix? V16 is, as you say, Alpha. We wouldn't even want to have Beta running on our (live) systems.
 
So there's no fix coming in a 15.5 hotfix? V16 is, as you say, Alpha. We wouldn't even want to have Beta running on our (live) systems.
No hotfix is scheduled for V15.5. V16, if all goes well, and it is looking that way, should be released final in January.
 
  • Like
Reactions: bramvandeperre
No hotfix is scheduled for V15.5. V16, if all goes well, and it is looking that way, should be released final in January.

Ok, great. I'll just rename our 100+ inbound rules until then. Thanks for the info.
 
Status
Not open for further replies.

Getting Started - Admin

Latest Posts

Forum statistics

Threads
141,605
Messages
748,771
Members
144,716
Latest member
albert.f
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.