Which API: integrate with CRM java web app?

We plan to integrate asterisk with our CRM which is a Java web application running on JBoss.
The functions we want to achieve through our CRM web interface, includes:

  1. set up accounts and register phones
  2. set up queues for customer services, and allocate phones to queues.
  3. window popup to show customer info when answering phones or calling customers
  4. set up call forwarding, such as forwarding to cell phone
  5. call recording, and manage/play back recording.

When a phone call arrives/hangup, our CRM should be notified.

which API should I use? AGI/FastAGI, Manager API or AJAM?

I am new to asterisk. Thanks for any advice on helping me get started on integration.

AMI (AJAM is just a Java wrapper for this).

Thanks for info.

Where is the doc for AJAM?

It was suggested on forum:
asterisk.org/asterisknow/dev … /gui-guide

I need some help with channel commands :

localhost:8088/asterisk/rawman?a … nel=Local/

How to let demo-alice call demo-bob under users context for the get-started tutorial?
what is the command should be?

thanks for help.

It’s a Javascript and not Java wrapper. I also think AMI is the way to go, as if you decide to use AJAM users logged in the CRM would directly connect and send commands to the Asterisk server, while if you use AMI the server side application of the CRM would communicate with the Asterisk box, which is way more secure.

My mistake on AJAM.

It seems to me that he’s already decided he wants a relatively thick client, rather than having an intermediate server that takes CRM type actions and converts them into AMI ones. If the code is running in the web browser, Java versus Ecmascript probably doensn’t make much difference, in terms of security exposure.

Our CRM is java web app (JSF) running on JBoss.
Is asterisk-java the way to go?

Thanks for help.

I searched the web, but could not find much tutorial about asterisk-java.

The first step I need to accomplish:

  1. create account
  2. create queue
  3. add phone to the queue.

Every time the config is changed using asterisk-java, asterisk server needs to restart?

How to accomplish these using asterisk-java? Thanks for any help/examples.

  1. Update the configuration file and write it back.
  2. Update the configuration file and write it back
  3. As above, or use the AMI AddQueueMember action.

For full details of the latter use

manager show command AddQueueMember

at the CLI prompt.

Use manager show commands to find the actions for updating configuration files, or look them up in the appendix of one of Digium’s Asterisk book, e.g. see asteriskdocs.org/