Speak Back Extension not working

As service that did work on FPBX 16 distro now appears not to on the v17 distro (17.0.19.28)
We’d dial *66 and the extension number would be read back to us on repeat.
Here’s the config:

And here’s the log messaging for a call to *66

Is the clue to this no working held within the lines in the middle that read “Macro Depricated” and at the end that reads “No application ‘Macro’ for extension”

Any thoughts on how I might be able to fix this?
Thank you.
Nathan.

Generally the macros have been replaced by subroutines with the same names, so you should call them with Gosub, as the system is doing on the second line. You need to include “macro-” in the name. That’s because, from Asterisk 21, Macro no longer exists.

However, I’m not clear why you are calling it, as the system appears to have already done that.

The mis-spelled references to “deprecated” are essentially comments. The Macro not found message is either because you are using Asterisk 21, or later, or you are using a sllightly earlier version, where Macro isn’t enabled by default.

Hello David,
Thanks for the steer on the versions. You are correct - I didn’t know until you prompted me to look.

Current v17 distro I’m using is:
PBX Version:17.0.19.28
PBX Distro:12.7.8-2408-1.sng12
Asterisk Version:22.4.1

The version I updated from was:
PBX Version:16.0.40.13
PBX Distro:12.7.8-2306-1.sng7
Asterisk Version:18.26.2

Is it the case then that I need to make the following edit in bold? Where it previously read:
exten => s,n,Macro(user-callerid)

[from-internal-saycid]
exten => s,1,Noop(entering user defined context from-internal-saycid)
exten => s,n,GoSub(macro-user-callerid)
exten => s,n,Answer
exten => s,n(loop),SayDigits(${CALLERID(number)})
exten => s,n,Wait(2)
exten => s,n,GoTo(loop)

I’m afraid I can’t help with your query about why I’m calling it as I don’t understand your question. I think your use of ‘calling’ is system/database related, where my use of ‘calling’ is that I want to dial an extension from my Butt phone when I’m in the frame room and have the extension spoken on repeat until I move on. Other folks here helped me with the config as-was on my old v16 distro and it worked nicely where the the built-in *65 function wasn’t quite what I was after as I didn’t need all the words spoken in front of the extension number.

Thanks for reading and commenting.
Best
Nathan.

My use of calling was in the context of procedural programming languages, and pre-dates databases. Invoking it with GoSub is calling it. Your log appears to show that it has already been called, before your custom code is invoked.

I made the change exten => s,n,GoSub(macro-user-callerid) and saved.
Is there a service or something that then needs to be restarted to make the system see the change? The new log message is identical to the old log message, as if nothing has changed.

used fwconsole reload to restart everything.

Log changed slightly at the end now.

NOTICE[1376319][C-0000b8a2] pbx.c: No such label ‘macro-user-callerid’ in extension ‘s’ in context ‘from-internal-saycid’
WARNING[1376319][C-0000b8a2] pbx.c: Priority ‘macro-user-callerid’ must be a number > 0, or valid label
ERROR[1376319][C-0000b8a2] app_stack.c: Gosub address is invalid: ‘macro-user-callerid’
VERBOSE[1376319][C-0000b8a2] pbx.c: Spawn extension (from-internal-saycid, s, 2) exited non-zero on ‘PJSIP/VG26trunk-000166b6’

Got a proper clue from Perplexity about what to do next.

Then reloaded fwconsole again and the *66 speak Back function is working again.

Thanks for the steer on what to focus on in the log.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.