-1

I'm new to Asterisk an VoIP and no research fits my needs.

I want to make a IVR in asterisk. The incoming calls will come from customers as well as business contacts. The business contacts will be forwarded to reception immediately after the first menu.

The customers have to pass multiple menus, where they sometimes just have to choose between "press 1 or 2 or ..." but sometimes the storage for user-input (numbers) is needed.

The customer will be forwarded to a group of agents and I have no idea how I could make the users input available for the specified agent who accepted the call. Best would be on a website.

I have knowlegde (more to less) in:

  • Ruby / Rails
  • MySQL
  • Asterisk
  • PHP

What would be the best way to serve my needs?

I have read about issus in performance when it comes to a high number of calls simultaneously, dtmf recognition and all ivr logic is completely in asterisks hands (extensions.conf). Therefore outsourcing it via AGI would be good, but I have 0 knowledge about working with the gateway interface

Thanks for any tips

hennes
  • 1
  • 5
  • Question is too broad. Read any book like ORelly's "Asterisk the future of telephony" or hire someone who already read book. – arheops Mar 11 '17 at 15:23
  • Can you give an answer to the specified question "Is there a AG for Ruby that is not 3 years, or more, old?" – hennes Mar 12 '17 at 13:40
  • Common. AGI interface is 12 years old, have almost zero changes and VERY VERY simple. Almost all AGI libs are 5+ years old, for any language. – arheops Mar 12 '17 at 16:22
  • Please note, if you have perfomance issue, unlikly AGI will help. You need rewrite app architecture. – arheops Mar 12 '17 at 16:23
  • Thanks for that clarification. Could you give me hint then, what up to date techniques I should use to get caller input from ivr (that is stored through Read() ) to my agent? – hennes Mar 13 '17 at 23:12
  • You just have understand asterisk internals and do dialplan accordinly. Dialplan is fastest way availible for asterisk. Determine why your dialplan not perform well require read that dialplan and watch for running instance, for sure it is not SO question. – arheops Mar 14 '17 at 05:05
  • Ok, so doing it over the dialplan is best practice. Could you tell me if pjsip handles agents.conf functions as original sip driver? – hennes Mar 14 '17 at 13:06
  • Agents have no any functions which check channel. PJSIP also support channel state, if you asking about that. Doiing dialplan without understanding internals is bad practice. If you need perfomance, you have learn or hire expert. – arheops Mar 14 '17 at 13:20
  • No, this time you get me wrong. I work with pjsip, because it's needed for my provider. I know what agents.conf does in chan_sip (in simple: adding abilities for humans to log in) BUT I can't figure out if this function works with/in chan_pjsip. – hennes Mar 14 '17 at 22:11

1 Answers1

-1

The standard language/environment to develop IVR services is the VoiceXML Language (W3C). In the Asterisk you have 2 options, use the old VoiceGlue project (it seems not active since serveral years), or Voximal (a commercial product). The VoiceXML offer you a way to create your service using an XML language, similar to the HTML for the Web. You can use the Voice Synthesis (in order to prompt texts on the fly to the users), or recognize the users speaking (with the ASR or the SpeechToText). Here standard references :

Borja SIXTO
  • 119
  • 6