Asterisk ARI Channal

Dear,

I have read about the Asterisk channel through wiki [Here], watch Building Your First ARI App, and read the guide book.

But there still things that I don’t understand and I hope if someone can clarify for me.

I know that there is two way to hand a call to ARI,

  1. Through Dailplan ( the statise application, which I have done and understand )

  2. creating the channel and hand it by the application ( And here I’m confused )

How can we originate the call by our Self? is it by using

post /channels/create

or by using

post /channels

and what is the actual difference between them?

ps did read the wiki many times

They serve two different purposes. There is a blog post talking about the difference[1]. Create creates a channel but does not dial it. You can then place it into a bridge early to allow early media to flow. The non-create acts more like Originate. Only upon answer is the channel sent to the dialplan or to the ARI application.

[1] https://blogs.asterisk.org/2016/08/24/asterisk-14-ari-create-bridge-dial/

1 Like

let me summarize what I understand.

  • post /channels
  1. It’s typical to Originate in CLI and AMI
  2. After the Channel is Created it will immediately Dail it ( Ring The phone )
  3. ARI Have No Control Over the channel till it answers.
  4. I Can Send the Call to an extension in DailPlan.

I saw this question in the comment, can you help explain it a bit more?

Does this mean that I can finally replace AGIs with ARI?
That depends! As ARI doesn’t provide access to run arbitrary dialplan applications you have to use the primitives provided to do what you need. If they fit your needs – then yes!

  • post /channels/create
  1. It will create the channel ( it will not ring the phone )
  2. Immediately added into the application

However, when i try to ring the channel, by calling post /channels/{channelId}/ring
it didn’t ring, did I miss something, in your blog you talk about early Bridging. do I have to do it for me to make the deal happen?

thanks alot for your time, I really do appreciated it

You use the /dial route to actually dial the channel. You have to do it all yourself, including creating the bridge and adding the channels.

Do you mean I either use Dial , or create the bridge and add the channel by my self?

You use both. If you want to do early bridging you create a bridge, add the channels, and then call the /dial route on the called channel.

and if I don’t want ( Early Bridging ) i can yous Dial straight ?

You could, but create and dial are really made for early bridging. If you don’t then what benefit are you getting from it or seeking?

Oh! Tq for clarification. That helps a lot.right now I’m just trying to understand.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.