Author Message
drew.dickenson.ascension.org
Joined: Jun 11, 2018
Messages: 2
Offline
Howdy everyone,
I've been tasked with developing a fairly simple workflow to send N number of concurrent calls to a single number which I'll front end with a basic web page for the user to add the phone number they want to call and the number of instances of calls to that number.

Originally I planned to just hard code a parallel gateway and individual "make calls" to as many things as I need but they wanted the ability to dynamically change the number of concurrent calls that go out to whatever number...

My first thought on how to tackle this was to just put a loop with a parallel gateway, one going to make call and the other going to an incremented counter and then back to the gateway. Since it's all the same number that seemed like it should work, if kinda messy...

Any way anyone can think that would solve this problem? I tried running this and it makes the first call then fails with "nested exception is: java.rmi.ServerError: Error occurred in server thread; nested exception is: java.lang.StackOverflowError"

I'm assuming that maybe the ucid is being changed with every iteration and therefore parts of the workflow are trying to affect one uuid and it's already changed with the next new call even though the previous call isn't finished maybe?
  • [Thumb - breezeParallelCaller.jpg]
[Disk] Download
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
I am not exactly sure what services Breeze makes available to you. I am familiar with Communication Services (basically this is exposing TSAPI).

A station device (Communication Manager Station Extension) can only originate one call at a time, unless you place the call on hold, and even then you are limited by the number of call appearances provisioned on that station (max 10).

I suspect you are running into that limitation, but it is not obvious given your 'what am I doing' description.

If you are using a SIP trunk in your application, you don't have to go through the complexity of using stations on communication manager as your originating device, but you will still be limited by the number of members in the trunk group.

I believe you are going to have to register a DMCC station to be used as the originator for each call (or block of 10 calls) you are placing, which means you need a list of station extensions to launch calls from, or use System Management Service to create stations (and remove them when your task completes).
drew.dickenson.ascension.org
Joined: Jun 11, 2018
Messages: 2
Offline
So Breeze is pretty much a Session Manager / SIP based application. In the example above I'm not even touching CM at all. It takes and sends the calls directly to SM where in SMGR routing we send it out the SBC and carrier SIP trunk. I'm not sure if this comes into play there but it could be some similar limitation...

I wonder if I need to send a different CLID for each call I send out... though I'm seeing multiple calls working just not the number I'm expecting to see.
JohnBiggs
Joined: Jun 20, 2005
Messages: 1139
Location: Rural, Virginia
Offline
you used the phrase "make call" and perhaps I fell into a trap. I presumed underneath your method call triggered a particular station to originate a call to your destination number. It dawned on me later that I don't really know what the services on Breeze are using as an originating device. let me ask another pair of eyes to look at your problem statement. It would be helpful to know exactly what method you are using to originate calls with.
Go to:   
Mobile view