Call recording fails randomly

I’m facing a issue where call recording of a extensions fails at random.

Failed recordings will show in below format in CDR records. (missing .wav and timestamp)
external-10032-11######–1679976595.6067173.
And this file is not available /var/spool/asterisk

CLI output

[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [exten@sub-record-check:6] GotoIf(“Local/10005@from-queue-0029b557;2”, “1?callee”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx_builtins.c: Goto (sub-record-check,exten,11)
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:5] Set(“Local/10031@from-queue-0029b558;2”, “CHANEXTEN=10031”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:6] Set(“Local/10031@from-queue-0029b558;2”, “CALLERID(number)=771134367”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:7] Set(“Local/10031@from-queue-0029b558;2”, “AMPUSER=771134367”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:8] Set(“Local/10031@from-queue-0029b558;2”, “HOTDESCKCHAN=10031@from-queue-0029b558;2”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:9] Set(“Local/10031@from-queue-0029b558;2”, “HOTDESKEXTEN=10031@from”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [exten@sub-record-check:11] Gosub(“Local/10005@from-queue-0029b557;2”, “recordcheck,1(force,external,10005)”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:10] Set(“Local/10031@from-queue-0029b558;2”, “HOTDESKCALL=0”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:1] NoOp(“Local/10005@from-queue-0029b557;2”, “Starting recording check against force”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:11] ExecIf(“Local/10031@from-queue-0029b558;2”, “0?Set(HOTDESKCALL=1)”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:2] Goto(“Local/10005@from-queue-0029b557;2”, “force”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx_builtins.c: Goto (sub-record-check,recordcheck,5)
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:5] Set(“Local/10005@from-queue-0029b557;2”, “__REC_POLICY_MODE=FORCE”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:12] ExecIf(“Local/10031@from-queue-0029b558;2”, “0?Set(CALLERID(name)=)”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:6] GotoIf(“Local/10005@from-queue-0029b557;2”, “1?startrec”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx_builtins.c: Goto (sub-record-check,recordcheck,16)
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:16] NoOp(“Local/10005@from-queue-0029b557;2”, “Starting recording: external, 10005”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:17] Set(“Local/10005@from-queue-0029b557;2”, “__CALLFILENAME=external-10005-112768916–1679930915.5496188”) in new stack
[2023-03-27 20:58:36] VERBOSE[9197][C-00003f8b] app_macro.c: Spawn extension (macro-exten-vm, s-BUSY, 3) exited non-zero on ‘Local/10067@from-queue-0029b556;2’ in macro ‘exten-vm’
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:13] GotoIf(“Local/10031@from-queue-0029b558;2”, “1?report”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:18] MixMonitor(“Local/10005@from-queue-0029b557;2”, “///external-10005-112768916–1679930915.5496188.,abi(),”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx_builtins.c: Goto (macro-user-callerid,s,27)
[2023-03-27 20:58:36] VERBOSE[9215][C-00003f72] app_mixmonitor.c: Begin MixMonitor Recording Local/10005@from-queue-0029b557;2
[2023-03-27 20:58:36] WARNING[9215][C-00003f72] file.c: No such format ‘’
[2023-03-27 20:58:36] ERROR[9215][C-00003f72] app_mixmonitor.c: Cannot open ///external-10005-112768916–1679930915.5496188.
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:19] Set(“Local/10005@from-queue-0029b557;2”, “__MIXMON_ID=”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:27] NoOp(“Local/10031@from-queue-0029b558;2”, “Macro Depth is 2”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:20] Set(“Local/10005@from-queue-0029b557;2”, “__RECORD_ID=Local/10005@from-queue-0029b557;2”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:28] GotoIf(“Local/10031@from-queue-0029b558;2”, “1?report2:macroerror”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:21] Set(“Local/10005@from-queue-0029b557;2”, “__REC_STATUS=RECORDING”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx_builtins.c: Goto (macro-user-callerid,s,29)
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:29] GotoIf(“Local/10031@from-queue-0029b558;2”, “0?continue”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:30] Set(“Local/10031@from-queue-0029b558;2”, “__TTL=63”) in new stack
[2023-03-27 20:58:36] VERBOSE[9203][C-00003f72] pbx.c: Executing [recordcheck@sub-record-check:22] Set(“Local/10005@from-queue-0029b557;2”, “CDR(recordingfile)=external-10005-112768916–1679930915.5496188.”) in new stack
[2023-03-27 20:58:36] VERBOSE[9209][C-00003f62] pbx.c: Executing [s@macro-user-callerid:31] GotoIf(“Local/10031@from-queue-0029b558;2”, “1?continue”) in new stack

Setup
Asterisk 16.30.0
FreePBX 16.0.40
100 extensions with 40 queues
vm with 32 core (@2.1ghz) 32GB ram with SSD storage

Any help very much appreciated.

This would be a FreePBX issue, as it is what instructs MixMonitor what to record and in this case seemingly didn’t tell it the format or construct a properly formatted string.

1 Like

Any suggestions on why this issue is happening randomly?

I don’t work on FreePBX. But Asterisk was told to record to the following:

///external-10005-112768916–1679930915.5496188.

Which seems to be missing part of the path, as well as the file extension. How FreePBX populates that, decides what it should be, I don’t know.

1 Like

@jcolp I believe to my knowledge that they would be the same

What would be the same?

@jcolp Asterisk and FreePBX

Not really. FreePBX is a user of Asterisk, and tells Asterisk how to be configured and what to do. While Asterisk built from source and Asterisk in FreePBX are very much alike from a build situation, what they are configured to do can be VASTLY different.

thanks for that information, Could you give me an example as I’ve used FreePBX lots more then Asterisk?

Not really sure what you mean by example in this.

Thanks for responding, what can you do that VASTLY different with Asterisk? because I’ve used FreePBX and I’ve just started learning about Asterisk

I don’t really know how to answer that or give an example. Others may.

Here’s a simple example of something I’ve done using Asterisk which I think
would be more difficult starting from FreePBX: an alarm clock.

You can write a dialplan in Asterisk which accepts numeric codes with meanings
such as “set an alarm”, “clear an alarm”, “tell me what alarms are set”,
followed where appropriate by a 4-digit 24-hour time, and it will then call
back the phone you set the alarm from at the appointed time, and tell you what
time it is.

FreePBX, as the name suggests, is heavily focused around PBX-type functions
such as making phone calls, speaking to people, recording voicemails, etc.

Asterisk can do almost anything you can think of which can use a telephone as
an input / output device.

I’ve also used it in the past as a cheap out-of-band network monitoring /
management device to get access into a network and do simple diagnostics
and/or reboot bits of equipment when the Internet link is down (assuming that
there’s a separate telephone line not affected by the Internet disconnection -
sadly becoming less and less possible with the current trend of telcos
stopping providing traditional dedicated telephone lines).

Antony.

@Pooh Thanks, also around a year ago my ISP (Virgin Media) switch my telephone line from a dedicated wall jack to a “Fiber Line”

Which I found to be worst then staying with the old system.

  1. I used to be able to call 100 and get an BT Operator, Now I can’t (I never used it that much)

  2. I was trying to set the number of rings before it goes to Voicemail, I had a long phone call with then, where they said “You will need to set it yourself” so I hung-up and dial *74 and the number of ring between 1 and 9 and I kept hear was “the service requested is not available on this line, please call 150 to subscribe” so I call 150 and asked them what I should do, I dial *97 when I was on the phone with them and all they could say was “we can’t change the ring time you will need to because you are using a Fiber Line and not a Analog line”, also it’s meant to be a “better experience” it’s no better or cheep then the old system,

  3. If I was to have a power cut or the router was to turn off or need to reset, I will lose the line, which is just grate when you have made a VoIP system (using a internet connection), and have a landline setup for emergency calls, so that if the internet or power goes out, there a backup

I would like say that I have a VoIP Server running on a old laptop (which lasts about 1 hour)
when I was first setting it up in 2020 I was thinking, If the power or internet goes out that I would backup power in the laptop (Phone Server), and a Phone line that not a part of my router, so that if I had an “Outage in my area” I would only lose my VoIP Line and not my Analog line.

It’s such a shame and
BT are now stopping the ISDN Lines

@Pooh @Pooh Thanks, also around a year ago my ISP (Virgin Media) switch my telephone line from a dedicated wall jack to a “Fiber Line”

Which I found to be worst then staying with the old system.

  1. I used to be able to call 100 and get an BT Operator, Now I can’t (I never used it that much)

  2. I was trying to set the number of rings before it goes to Voicemail, I had a long phone call with then, where they said “You will need to set it yourself” so I hung-up and dial *74 and the number of ring between 1 and 9 and I kept hear was “the service requested is not available on this line, please call 150 to subscribe” so I call 150 and asked them what I should do, I dial *97 when I was on the phone with them and all they could say was “we can’t change the ring time you will need to because you are using a Fiber Line and not a Analog line”, also it’s meant to be a “better experience” it’s no better or cheep then the old system,

  3. If I was to have a power cut or the router was to turn off or need to reset, I will lose the line, which is just grate when you have made a VoIP system (using a internet connection), and have a landline setup for emergency calls, so that if the internet or power goes out, there a backup

I would like say that I have a VoIP Server running on a old laptop (which lasts about 1 hour)
when I was first setting it up in 2020 I was thinking, If the power or internet goes out that I would backup power in the laptop (Phone Server), and a Phone line that not a part of my router, so that if I had an “Outage in my area” I would only lose my VoIP Line and not my Analog line.

It’s such a shame and
BT are now stopping the ISDN Lines

The whole of the UK is stopping analogue voice from the year after next.

As far as I’m aware analogue are staying (the RJ11), it’s the analogue ISDN Line that aren’t

Any analogue phone signal, from late 2025, will be produced within the consumer’s premise. It will either arrive there as xDSL or fibre. In most cases, where xDSL is used, there will be fibre to the local cabinet. In all the cases I know of, it will arrive as SIP, however, the credentials needed to directly access it that way may well not be available from the mass market suppliers.

Having a service during a power failure is handled in various ways. In the case of Virgin Media, they will provide a mobile phone based backup. For Openreach fibres, the fibres are passive, but you will need to provide your own backup power supply for the optical network termination, router and ATA (although the preferred solution is a SIP to DECT device). I’m not sure to what extent there will be backup power to the cabing for the Openreach SOGEA (xDSL presentation) service, but you will certainly need to provide your own power for the modem, router, etc.

In the case of Openreach (e.g. BT), it will be impossible to “buy” an analogue line after September 5th this year (already true in some places), and that extends to transferring an existing service.

I’m confused by the reference to ISDN. ISDN is never analogue, although it is circuit switched which is part of what is going away in 2025.

Thank for explaining that, I was under the impression that it’s was only the ISDN Line that were being retried, I had a long phone chat with Britannic “https://www.btlnet.co.uk”, where the person who I spoke with said it was only the ISDNs and not the Analogue line but apron more research I found a page on their own website saying " Plan a Steady Pace in the BT PSTN/ISDN Switch off Race" - Britannic | Blog | BT To Stop PSTN and ISDN Support 2023

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