I have problem regarding to monitoring action in Asterisk Java. Currently I use 250 concurrent calls and record each call using monitor action. Each monitor action have different filename to write and always unique to each other.
The problem is apparently not all call recorded the conversation. However, the recording files are not even near that number. I only get few file in /var/spool/asterisk/monitor/ below than 50 % of calls. No exception found while running the program. Do monitor action append some recording to another recording? how to prevent this?
Hi ,
Thanks for your reply, i am currently using asterisk version 11.25
For call recording I use event record in java to record all calls. But apparently, it could only record less than 50% of calls. I already tried to configure record_cache_file at asterisk.conf to store it in temp first before store it to /var/spool/monitor, I thought before it was caused by disk io problem.
Currently I use 250 concurrent channel. Where I find the logs for recording? How could I fix the recording issue?
I will try to update it, because we have a production currently run on asterisk 11.25…
Are there any differences for asterisk functions or configuration when we update to 13 that we should concern about?
However, the asterisk 11.x it supports the record event in java, is there any diferrences with version 13? Because for us the problem is some calls are not recorded
Thanks for the info, currently I already upgrade to version 13.X certified version of Asterisk.
But I still got the problem, I use Event in java to get and record call process from org.asteriskjava.manager.event.VarSetEvent.
Currently I am able to record Call process, but when the number of concurrent channel increased in my case until 250 concurrent channel, it only record few of Call process. Is there any limitation maximum channel can trigger the event ? your answer / feedback will be very useful for us
You haven’t provided enough information to be able to answer that. You need to look at the console log and the interaction between Asterisk java and Asterisk and see where it doesn’t work as needed in that specific scenario.
Hitting some operating system limit. In that case, I would expect the logs to show errors relating to failing to allocate resources.
(At least at one time, parts of Asterisk, although not, as far as I know, call recording, used the select system call, which treats file descriptor number modulo 1024. That could cause confusing failures.)
I was trying to get event from Asterisk and do record process using asteriskjava.manager.ManagerConnection.sendAction, every time I got new set event triggered I call this method to record my Call process, here is some logs proces between Asterisk java and Asterisk. I am checking another event NewStateEvent triggered when the status changed to Ringing or Up. If the Record process already executed from the previous event, then I will not call asteriskjava.manager.ManagerConnection.sendAction again.
INFO [main] - TRACKING - Assign channel to Unique-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - RECORD when SET EVENT triggered , ChannelId = SIP/Channel-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - Ringing Process Unique-ID, ChannelId = SIP/Channel-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - NOT RECORD CALL RINGING NEW EVENT triggered Unique-ID, ChannelId = SIP/Channel-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - UP Process NEW STATE EVENT triggered Unique-ID, ChannelId = SIP/Channel-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - NOT RECORD CALL UP , ChannelId = SIP/Channel-ID
INFO [Asterisk-Java ManagerConnection-0-Reader-0] - TRACKING - Successfully releasing channel for Unique-ID
This process is success to record calls from Asterisk, but I still lost recording process when many concurrent channel (more than 50 channels) is active. How could I solve this problem?
While calling sendAction for monitoring to record our call in asterisk, for some cases we got the response message “No such channel” from asterisk server. After checking to the unique ID, this occurred when our call is not recorded. I always call sendAction command after creating a channel. does “No such channel” mean that the channel has not establish yet?