Re: Handling transfers with ARI

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Not sure if this will help but what I do is fairly simple.  A couple of things:

1.  This is all written in JS using Node.js.
2.  I use ari-client from npm.

To me this is very simple.  You already have the bridge and channel setup for Alice.  I create another channel that dials Charlie.  And, as soon as the create channel call comes back I just set the channel id (was Bob) in the bridge to the new channel for Charlie.  That's it.  If it doesn't get answered I hope it goes to VM.  However, that's the downside of a blind transfer.  I have some code in there for what happens if Alice hangs up before Charlie answers, etc but that's because I keep track of every call in my system.

And I wrote all of this before there were Promises and Async/Await.  Hopefully next year I'll have the time to rewrite the whole thing.

And, for the people at Asterisk who came up with the idea of ARI.  Thank you soooo much.  Hope everyone has a wonderful holiday and that 2021 is much better than 2020!


On Tue, Dec 22, 2020 at 5:38 AM Jean Aunis <jean.aunis@xxxxxxxxxx> wrote:

I'm struggling to find a way to properly handle blind transfers with ARI.

This is my use case :

- Alice calls Bob through Asterisk

- dialing and bridging is done with ARI

- when Bob blind-transfers to Charlie, I would like to use the
"redirect" ARI operation, or the Transfer application

But here is the issue : since the channels are stasis-managed,
transferring is done with Local channels which remain in the path, so
Transfer and redirect have no effect on them. And Alice's channel is not
aware that it is being transferred.

Has somebody already dealt with this ?



asterisk-app-dev mailing list
asterisk-app-dev mailing list

[Index of Archives]     [Asterisk SS7]     [Asterisk Announcements]     [Asterisk Users]     [PJ SIP]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Linux API]

  Powered by Linux