I've been playing with some of the new V6 features in particular the recordings retrieval/playback (which is brilliant).
Just thought I'd post some findings that may help other users and a few questions along the way.
I couldn't get internal calls to show up and I thought maybe they weren't being recorded anymore, then after some digging I realised they were recorded but had been left out the add call portion in the recording class PHP (intended I assume)
Have very basic knowledge with coding but I added the following to catch any files with the to/from portion both being less than 4:
Then added the relevant table for internal calls and then the calls showed up in the retrieval and playback.
Next I thought it would be cool if I could have the conference room calls show up in the retrieval too, I hit a few snags on this.
First thing I noticed (slightly off topic) is when I tested the conference room, the user entering/leaving sound was Alison American voice even though I have the country set to GB and the en-gb sounds installed, when I watched the Asterisk console I noted the following:
These all had language 'en' where as everything else that was working correctly had 'en-gb' I wasn't sure how to fix this so I just copied those 3 files from the gb sounds and overwrote them in the Alison sounds, it then worked as required.
I don't know if this is a bug or whether my install just got messed up somehow?
So with that out the way I uncommented "record_conference=yes" in the confbridge, which I believe is the correct way to turn on recording for the conference rooms? (it did work)
The conference recordings started popping up in the monitor folder, but then I realised that these aren't processed/moved to the monout folder by the selmix script like the regular calls are.
To get around this I setup a script to rename and move them into the monout folder so the offload script would move them along with the other recordings:
This basically moved the portion of the file name around so it could be inline with the format of the other recordings:
would be come
I added the default tenant to pass the recordings result file check and added the extra conference room number so I could match a rule when searching.
So with the conference files in a useable format matching the others I added the following into the recording class file
This checks the to and from portion of the recording file name to see if they are the same, since I renamed the conference recording files to have the room number in both the to and from portion they should be the only files that ever match this rule (I couldn't think of any other circumstances)
I added the relevant table, and then conference calls now show for retreival and playback too (finished output screenshot attached)
Issues with the above from what I can see:
1. Due to me forcing default into the filename it makes the solution only for single tenant, which leads me to a quick question, is multiple tenant implemented on conferences? I couldn't see an option.
2. The script for moving the conference recordings from monitor to monout has to be run when the system isn't active because the conference file is in the monitor folder before the conference is finished so could potentially be moved before complete (I've set it to run in a cron job at 1am)
The workaround to both in an ideal situation would be the conferences given over to selmix and be processed and moved like the regular recordings and then just comment out the lines in recording class file if you don't want them to show in the retreival.
Also some sort of multi tenant could be added on the conference section of the gui to have that picked up/added in the recording name and maybe a little record yes/no option for each conference room on the gui could be cool (if conferences can have individual options like that in Asterisk)
I don't know if any of that is possible, I'm pretty limited with my knowledge and I may be misunderstanding how everything works and the limitations from what can be done within the SARK interface. Looking to learn and play with it more now.
Sorry for the long post, hopefully no one comes along and tells me there's a toggle option somewhere in the web GUI for all of this!
Just thought I'd post some findings that may help other users and a few questions along the way.
I couldn't get internal calls to show up and I thought maybe they weren't being recorded anymore, then after some digging I realised they were recorded but had been left out the add call portion in the recording class PHP (intended I assume)
Have very basic knowledge with coding but I added the following to catch any files with the to/from portion both being less than 4:
Code Select
else if ((strlen($file_list[1+$this->offset]) <= 4) && (strlen($file_list[2+$this->offset]) <= 4))
Then added the relevant table for internal calls and then the calls showed up in the retrieval and playback.
Next I thought it would be cool if I could have the conference room calls show up in the retrieval too, I hit a few snags on this.
First thing I noticed (slightly off topic) is when I tested the conference room, the user entering/leaving sound was Alison American voice even though I have the country set to GB and the en-gb sounds installed, when I watched the Asterisk console I noted the following:
Code Select
Playing 'conf-hasjoin.gsm' (language 'en')
Playing 'confbridge-leave.gsm' (language 'en')
Playing 'conf-hasleft.gsm' (language 'en')
These all had language 'en' where as everything else that was working correctly had 'en-gb' I wasn't sure how to fix this so I just copied those 3 files from the gb sounds and overwrote them in the Alison sounds, it then worked as required.
I don't know if this is a bug or whether my install just got messed up somehow?
So with that out the way I uncommented "record_conference=yes" in the confbridge, which I believe is the correct way to turn on recording for the conference rooms? (it did work)
The conference recordings started popping up in the monitor folder, but then I realised that these aren't processed/moved to the monout folder by the selmix script like the regular calls are.
To get around this I setup a script to rename and move them into the monout folder so the offload script would move them along with the other recordings:
Code Select
#!/bin/bash
for file in /var/spool/asterisk/monitor/confbridge*; do
bn=$(basename $file)
checkifempty=${#bn}
if [[ "$checkifempty" = 1 ]]; then exit
fi
IFS='-|\.' read var1 var2 var3 var4 <<< "$bn"
newfile="$var3-default-$var2-$var2.$var4"
mv $file /var/spool/asterisk/monout/$newfile
done
exit
This basically moved the portion of the file name around so it could be inline with the format of the other recordings:
Code Select
confbridge-100-1586602936.wav
would be come
Code Select
1586602936-default-100-100.wav
I added the default tenant to pass the recordings result file check and added the extra conference room number so I could match a rule when searching.
So with the conference files in a useable format matching the others I added the following into the recording class file
Code Select
else if (strcmp($file_list[1+$this->offset], $file_list[2+$this->offset]) == 0)
This checks the to and from portion of the recording file name to see if they are the same, since I renamed the conference recording files to have the room number in both the to and from portion they should be the only files that ever match this rule (I couldn't think of any other circumstances)
I added the relevant table, and then conference calls now show for retreival and playback too (finished output screenshot attached)
Issues with the above from what I can see:
1. Due to me forcing default into the filename it makes the solution only for single tenant, which leads me to a quick question, is multiple tenant implemented on conferences? I couldn't see an option.
2. The script for moving the conference recordings from monitor to monout has to be run when the system isn't active because the conference file is in the monitor folder before the conference is finished so could potentially be moved before complete (I've set it to run in a cron job at 1am)
The workaround to both in an ideal situation would be the conferences given over to selmix and be processed and moved like the regular recordings and then just comment out the lines in recording class file if you don't want them to show in the retreival.
Also some sort of multi tenant could be added on the conference section of the gui to have that picked up/added in the recording name and maybe a little record yes/no option for each conference room on the gui could be cool (if conferences can have individual options like that in Asterisk)
I don't know if any of that is possible, I'm pretty limited with my knowledge and I may be misunderstanding how everything works and the limitations from what can be done within the SARK interface. Looking to learn and play with it more now.
Sorry for the long post, hopefully no one comes along and tells me there's a toggle option somewhere in the web GUI for all of this!