Hi Daniel, the short answer is that this is unfortunately expected and will one day be remedied.
The long answer:
Most snap-ins using our Call Manipulation API are native SIP applications as seen by the converged container inside of Breeze. They can become directly involved in the SIP signaling path in several different ways:
- Snap-ins can be invoked as a Call Intercept application for calls destined for a different person / application
- Snap-ins can be invoked as a Callable application for calls that are explicitly addressed to the snap-in
- Snap-ins can initiate outbound calls.
We have always intended to allow snap-ins to perform call and media operations on calls in which they were not directly involved via SIP signaling. Unfortunately, we're in a bit of a halfway state right now. We have a snap-in called CallEventControl (we refer to it internally as CECS). This snap-in is invoked prior to any Call Intercept snap-ins being invoked. It then:
- Sends asynchronous call events that snap-ins can listen for
- Stands ready to receive any call control requests from other snap-ins
The thinking is that the only real reason for snap-ins to be explicitly sequenced is if they want to take some action on a call prior to it reaching its intended destination. If they just want to monitor a call or do mid-call features, they shouldn't have to be sequenced. There are some limitations with our current implementation, however:
- CECS is not sequenced on outbound calls from Breeze (your scenario)
- CECS is not sequended on calls to Callable services
- CECS cannot support any media operations
In the future, we expect for these issues to be remedied such that any authorized application will be able to influence any call at any stage, no matter how it came to know of that call. I can't tell you what release that will be though.
A few options that are available to you:
- Snap-in A could ask Snap-in B to take action on the call
- Snap-in A could be sequenced as a Call Intercept snap-in for the call initiated by Snap-in B
I told you it was a long answer. :-)
Joel
|