I'm testing outbound calls via ARI (using ari4java :) ~100 simultaneous calls.
Calls are short-lived — a dedicated context in extensions.conf hangs up immediately with different cause codes for testing purposes.
Fairly quickly, I start getting errors and calls ~ stop going through.
Could you advise:
- Is this likely a misconfiguration on the client (ari4java) or Asterisk side?
- Or is ARI simply not designed to handle this level of concurrent origination throughput?
Any guidance on recommended limits or tuning would be much appreciated.
Thanks! 🙏
2026-07-03 12:53:55.771 WARN 1 --- [voip] [ntLoopGroup-2-2] i.netty.util.concurrent.DefaultPromise : An exception was thrown by ch.loway.oss.ari4java.tools.http.NettyHttpClient$$Lambda/0x000000001ea9b050.operationComplete()
java.lang.NullPointerException: Cannot invoke "ch.loway.oss.ari4java.tools.http.NettyHttpClientHandler.reset()" because "handler" is null
at ch.loway.oss.ari4java.tools.http.NettyHttpClient.lambda$httpActionAsync$3(NettyHttpClient.java:398) ~[ari4java-0.18.0.jar!/:0.18.0]
at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:604) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:571) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.DefaultPromise.access$200(DefaultPromise.java:37) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.DefaultPromise$1.run(DefaultPromise.java:517) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201) ~[netty-transport-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.2.15.Final.jar!/:4.2.15.Final]
at java.base/java.lang.Thread.run(Thread.java:1474) ~[na:na]
2026-07-03 13:16:26.788 ERROR 1 --- [voip] [ool-2-thread-12] c.d.voip.service.AsteriskService : Could not find state for channel 1783084563.3601
[Jul 3 14:34:15] WARNING[20752] res_http_websocket.c: Web socket closed abruptly
[Jul 3 14:34:15] WARNING[20752] ari/ari_websockets.c: WebSocket read error: Success
[Jul 3 15:51:30] WARNING[21867] res_http_websocket.c: Web socket closed abruptly
[Jul 3 15:51:30] WARNING[21867] ari/ari_websockets.c: WebSocket read error: Success
[Jul 3 15:59:25] WARNING[22704] stasis/app.c: Not creating context 'stasis-DevinoTest' for Stasis application 'DevinoTest' because it already exists
[Jul 3 16:10:33] WARNING[22822] stasis/app.c: Not creating context 'stasis-DevinoTest' for Stasis application 'DevinoTest' because it already exists
PS: At slow speed ~ 5-10 calls - everything works fine
I'm testing outbound calls via ARI (using ari4java :) ~100 simultaneous calls.
Calls are short-lived — a dedicated context in extensions.conf hangs up immediately with different cause codes for testing purposes.
Fairly quickly, I start getting errors and calls ~ stop going through.
Could you advise:
Any guidance on recommended limits or tuning would be much appreciated.
Thanks! 🙏
PS: At slow speed ~ 5-10 calls - everything works fine