We are using FreePBX Distro 13.0.193 with all the latest updates and we are getting an error in
Macro-user-callerid when passing along the extension accountcode.
[2018-01-23 03:31:13] VERBOSE[22245][C-0002b192] pbx.c: Executing [s@macro-user-callerid:15] NoOp(“Local/151412345677@from-internal-00006630;2”, “Macro Depth is 1”) in new stack
[2018-01-23 03:31:13] VERBOSE[22245][C-0002b192] pbx.c: Executing [s@macro-user-callerid:16] GotoIf(“Local/15141234567@from-internal-00006630;2”, “1?report2:macroerror”) in new stack
…[2018-01-23 03:31:13] VERBOSE[22245][C-0002b192] pbx.c: Executing [15141234567@restrictedroute-1f0e3dad99908345f7439f8ffabdffc4:3] ExecIf(“Local/15141234567@from-internal-00006630;2”, “0 ?Set(CDR(accountcode)=)”) in new stack
As you can see above the accountcode is not passed along in the 01/23/2018 log but in the past
the log for the SAME sequence of events was as follows below:
[2018-01-16 10:29:55] VERBOSE[23398][C-000280ff] pbx.c: Executing [s@macro-user-callerid:15] GotoIf(“Local/15141234567@from-internal-00005ddf;2”, “1?continue”) in new stack
This has always been the case. You need to install the module “Preserve Accountcode”
This module preservers the first callee’s account code, that has an accountcode, that it encounters. This preserved accoutcode will be used to set the CDR(accountcode) for any outbound calls that result from any type of redirected call (CF, VmX, Follow-Me, etc.). The account code for each user is pulled out of their associated device settings, which means this is only supported in extension mode and would have to be updated for deviceanduser mode, requiring a new accountcode field to be defined for the user on the extension/user screen.
“Preserve Accountcode” is installed and enabled and was always installed and enabled. Nothing has changed on our side since 01/16/2018. Only difference is the module update we did on 01/19.
I can PM you the full call flow log for both dates. (about 100 lines)
We didn’t update modules for about 3 months so issue could have been introduced a while ago. What about the “report2:macroerror” in my third paragraph?
It’s the same PBX with an old log and a new log so dialplan show macro-user-callerid won’t help but I will attempt the rollback. Can you point to a link with instructions?
I won’t pretend to understand the syntax of the Macro but it looks to me like line 16 is skipping to report2 (line 18) and the accountcode lookup is in line 17.
Core was changed/modified there back in September. Account Code Preserve splices into the dialplan there in a strange way, however the error is not so much in Core as it is in Account Code Preserve and how it’s splicing. So in September.
A bug should be opened up against account code preserve
OK. I’ll do that later. Can I rollback Preserve Account Code to resolve this for now or would I have to rollback both core and preserve Account Code? Also how dangerous is this with a live system?