Geekzone: technology news, blogs, forums
Guest
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.




1398 posts

Uber Geek
+1 received by user: 168

Trusted

Topic # 245541 9-Feb-2019 19:45
Send private message quote this post

This is a bit of an obscure query, but I figured if anyone knows about this stuff they're probably a frequent visitor to these here parts! :)

 

I'm currently in the process of programming an IVR system (for a LiveAgent install), which uses YAML.

 

I am not familiar with YAML, but I am fluent in a few different programming languages, so the general concepts aren't difficult for me.  However, I am having issues working out the YAML logic and available commands etc.

 

I have found a number of tutorials etc, but there appears to be quite a few different YAML implementations, each with their own peculiarities and I can't find anything relating specifically to IVR systems.

 

Can anyone point me to a good reference resource for YAML as it pertains to IVR systems?

 

 


View this topic in a long page with up to 500 replies per page Create new topic
 1 | 2
'That VDSL Cat'
9419 posts

Uber Geek
+1 received by user: 2135

Trusted
Spark
Subscriber

  Reply # 2175637 9-Feb-2019 20:28
One person supports this post
Send private message quote this post

Cant say i can assist with the actual Question, but good luck with YAML. It's a pain in the rear.

 

 

 

I'd make sure the editor your using is validating it as that makes the dumb tab vs space errors pretty obvious.

 

 





#include <std_disclaimer>

 

Any comments made are personal opinion and do not reflect directly on the position my current or past employers may have.




1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175638 9-Feb-2019 20:31
Send private message quote this post

Heh, thanks for the tip! :)


 
 
 
 


22 posts

Geek
+1 received by user: 5


  Reply # 2175644 9-Feb-2019 21:09
3 people support this post
Send private message quote this post

Hi,

I think there is a misunderstanding. Yaml is not a programming language it is structured data format. It does not have any logic or commands as it is plain data.

What you most likely doing is writing configuration for IVR that uses yaml format.

So to get an idea what commands your IVR expects in a configuration file you need to check IVR reference.



1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175646 9-Feb-2019 21:19
Send private message quote this post

Well, in terms of my IVR system there are 'commands' per-say.  Perhaps not in the typical sense, but stuff like this for example:

 

 

start:
- play: http://welcome.to.our.support
- choice:
1:
name: Sales department
play: http://press.1.for.sales
do:
- transfer:
to: salesDepartmentID
if:
online:
- play: http://welcome.to.sales
- ring
offline:
- goto: voicemail
2:
name: Technical department
play: http://press.2.for.tech
do:
- transfer:
to: techDepID
if:
online:
- ring
offline:
- goto: offline
voicemail:
- play: http://leave.us.a.message
- voicemail
offline:
- play: http://call.us.later
queue:
- play: http://in.queue.music
- choice:
0:
name: Wait
play: http://press.0.to.wait.in.queue
goto: queue
1:
name: Leave voicemail
play: http://press.1.to.leave.voicemail
goto: voicemail

 

 

In any case, the IVR reference is quite lacking, hence my search for further enlightenment :)


22 posts

Geek
+1 received by user: 5


  Reply # 2175658 9-Feb-2019 21:40
Send private message quote this post

Are using this https://support.ladesk.com/300428-IVR as reference? Could you please explain what are you trying to implement?



1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175659 9-Feb-2019 21:49
Send private message quote this post

Yes, the very same! :)

 

I am trying to do something like this:

 

 

start:
  - play: http://welcome.message
offline:
  - play: http://offline.message
  - voicemail
online:
  - play: http://please.wait.message
  - ring
queue:
  - play: http://in.queue.music

 

 

However, that code is not accepted by the system and I'm not sure what code exactly would be required to achieve this.


22 posts

Geek
+1 received by user: 3


  Reply # 2175662 9-Feb-2019 22:07
Send private message quote this post

Are you missing an "if:" in front of "offline"?


22 posts

Geek
+1 received by user: 5


  Reply # 2175664 9-Feb-2019 22:11
Send private message quote this post

Try to upload it without "start" section



1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175666 9-Feb-2019 22:14
Send private message quote this post

@jim69: The way the system works is that it looks for the 'online', 'offline', etc sections for instructions as to what to do if those conditions are met.

 

As DimasikTurbo pointed out, YAML is not a 'programming language' per-say, so there's no requirement for full code 'logic' or 'flow control' in this case, as the external application (LiveAgent in this case) handles this.

 

That said, at least in this implementation, YAML seems to have some limited flow control capabilities which can be utllised in certain use-cases.

 

 

 

@DimasikTurbo: It works fine without the 'start:' section, but then it doesn't do what I want it to do :)




1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175667 9-Feb-2019 22:15
Send private message quote this post

The problem is; to cover both offline and online situations, I have to have a 'welcome' message in both messages, which means that if we are online but then we don't answer and it falls back to to 'offline', the caller will get a 'welcome' message twice.

 

So my solution is to have a global 'welcome' message first, and then individual messages for online & offline situations.


22 posts

Geek
+1 received by user: 5


  Reply # 2175670 9-Feb-2019 22:20
Send private message quote this post

You can try to add "ring" in your version under "start" section, it may work



1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175672 9-Feb-2019 22:25
Send private message quote this post

Yeah, tried that already, no dice unfortunately.


22 posts

Geek
+1 received by user: 5


  Reply # 2175673 9-Feb-2019 22:28
Send private message quote this post

Looking at examples on LiveAgent site I think it only accepts instructions of online / off-line states and in you want to enable IVR you need to use "start" section, it is not global configuration, it allows to configure options like 0 1 3 etc



1398 posts

Uber Geek
+1 received by user: 168

Trusted

  Reply # 2175674 9-Feb-2019 22:31
Send private message quote this post

Yeah, that's kinda the conclusion I came to.

 

If I had some kind of more comprehensive list of options available to me I could figure it out, but apparently that's as good as it gets (according to LiveAgent support).


22 posts

Geek
+1 received by user: 5


  Reply # 2175675 9-Feb-2019 22:32
Send private message quote this post

I also would say "start" and "online" are mutually exclusive.

 1 | 2
View this topic in a long page with up to 500 replies per page Create new topic



Twitter »

Follow us to receive Twitter updates when new discussions are posted in our forums:



Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:



Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:



Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.


Support Geekzone »

Our community of supporters help make Geekzone possible. Click the button below to join them.

Support Geezone on PressPatron



Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.