Message |
[+]
Avaya Breeze
» Building a Snap-In Connector and associated ED Dynamic Tasks, 13/09/2018 14:09:10
» Go to message
|
|
I am in the process of developing a Java Breeze workshop for Business Partners (BP). The intent is twofold; reducing the learning curve of some Breeze basics and to show how a BP's applications would consume some Breeze services.
Right now my agenda is as follows:
Exercise 1 – Service Life Cycle and Logger
Exercise 2 – Notifications for Services Attributes Changes
Exercise 3 – Publishing and Receiving Breeze Events
Exercise 4 – Call Intercept with Media via TTS
I thought that my next 3 exercises was to develop the skeleton of a SMS Connector/Snap-In and 2 ED Dynamic tasks (Send and Receive SMS tasks). The BP that I support has their own SMS infrastructure and this would help them on to consume their own services.
Are some consideration, I believe that the use of the Collaboration Bus is appropriate here. The SMS Connector/Snap-In would use 2 Collaboration Bus channels; Send-SMS & Receive-SMS. The Collaboration Bus samples are very clear and I should be able to base my SMS Connector/Snap-In exercise on these samples.
In turn, each Dynamic task would use the channel intended for it purpose. I have successfully written a couple of Dynamic tasks so this is not a complete unknown.
The part for the Dynamic tasks that concerns me is that the statements for the Collaboration Bus Factory that I see in the SampleCBClient could only be inserted in my task's execution class. I am concerned that my Dynamic tasks would be creating new objects each time a WF consumes my tasks.
Everybody who reads this needs to remember that I am not a Java expert so it is possible that my question does not make sense.
Thanks in advance for your thoughts,
Gabriel
|
|
[+]
Avaya Breeze
» Call Intercept in Java, 13/09/2018 11:56:05
» Go to message
|
|
Sorry for the delayed answer - I have just returned from vacation!!
My intent was to do a call intercept and to hold the call. No allow/divert was planned originally as I want the Java application to handle the call entirely. After my original post, the hamster went around the wheel many times and I suspected that why I was not seeing an event of the Call family type was because that my Java code did not use the allow/divert methods.
I can add a divert to my Snap-In and direct the call to a WF that does nothing (Start + End) and see what the result is. I suspect that I will now see the drop events.
I am using Breeze r3.4 and my Snap-In's properties file does not contain anything related to "Skip_Cecs". I searched the documentation is did not find anything related to this. Could you please point me in the right direction for this item.
Thanks,
Gabriel
|
|
[+]
Avaya Breeze
» Call Intercept in Java, 01/09/2018 09:29:20
» Go to message
|
|
Hello,
Is it possible with a Call Intercept to the Called Party to detect via Breeze Events that the caller has hung up/dropped from the call.
Using the following and my Event Listener:
final EventSubscriptionAttributes subAttr = EventingFactory.createEventSubscriptionAttributes(EventFamilyCall.FAMILY_NAME);
final String callSubscriptionId = EventingFactory.createEventingService().subscribe(subAttr);
I never catch an Event that my Intercepted caller has hung up/dropped from the call.
But I do catch all the Call Events from other ED WFs with the above (no filters applied).
I also thought that the family should be CallIntercepted but it does not offer any event Type Call_Ended or Participant_Drop.
Thoughts,
Gabriel
|
|
[+]
Engagement Designer
» Unable to publish custom event to eventing framework, 27/07/2018 09:52:17
» Go to message
|
|
Thanks for the correction Joel!
Edit - Or he forgot that he enabled Whitelist...
|
|
[+]
Avaya Breeze
» Using Real-Time Speech Search task in a WF, 27/07/2018 09:47:59
» Go to message
|
|
|
|
[+]
Avaya Breeze
» Using Real-Time Speech Search task in a WF, 27/07/2018 09:25:49
» Go to message
|
|
Good morning Folks,
To close off on this thread. I followed Joel's instructions but still could not get the RTSS task to work so I bailed out of using ED and decided to try using Java. So based on a Cut&Paste from the documentation, my Java Snap-In for Speech Rec worked on my first attempt so I took this path. I will be honest it has been a bit more work than I wanted but it works flawlessly!
Yesterday I had some time and decided to revisit this again.
Digging through the RealTimeSpeech log, I found the following:
Start Search Failed[searchId=354b7f14-7aa6-430f-8c6b-c8cd1fb20d14, reason=Internal media server error]
Via the Avaya support Web site, I searched for Solutions for the Realtime Speech Snap-in and found a Solution to this error:
The certificate error is the cause of the “Internal media server error”. The certificate error is caused because the Breeze server’s Security Module IP address was not listed in the Subject Alternative Name (SAN) field for the Breeze identity certificate.
So I regenerated the Identity Certificate for Breeze's Security Module - HTTPS to include both the DNS name and the IP address.
Result - now it works!!
Regards,
Gabriel
|
|
[+]
Engagement Designer
» Unable to publish custom event to eventing framework, 27/07/2018 08:44:30
» Go to message
|
|
Good morning,
Check the following Breeze/Configuration/HTTP Security.
I believe that the default is NOT to permit external HTTP(s) access to Breeze unless the server/Postman is on the Whitelist. I changed mine so I do not know what is the default configuration.
Regards,
Gabriel
|
|
[+]
Engagement Designer
» ED Variables vs Properties, 06/07/2018 07:47:48
» Go to message
|
|
Good morning folks,
I have to eat crow - the error is mine! I failed to see that I assigned my Authorization Token to the incorrect variable. Obviously the correct variable contained nothing when it was consumed by the WF!!
Thanks Anurag for your help.
I completed the WF that consumed Googles DialogFlow AI services - very cool.
The WF receives SMS commands from a user. Sends each command to the AI to determine the Intent of the command. The WF then executes something based on the Intent. Thus the WF does away with having a structured list of commands. The AI assumes that responsibility and through machine learning keeps understanding new formulation for these commands.
|
|
[+]
Engagement Designer
» ED Variables vs Properties, 04/07/2018 14:47:16
» Go to message
|
|
Attached and I will send you a PM
|
|
[+]
Engagement Designer
» Engagement Designer's Expression Editor and JSON Objects, 04/07/2018 13:55:45
» Go to message
|
|
I can confirm that I was Googling the wrong sentence - it should have been JSON Schema not JSON properties...
The following works well if you remove all the options:
https://jsonschema.net/
Gabriel
|
|
[+]
Engagement Designer
» Engagement Designer's Expression Editor and JSON Objects, 04/07/2018 11:05:10
» Go to message
|
|
Good afternoon folks,
I have the following Object as a String in variable dfResponse["result"]:
"result": {
"source": "agent",
"resolvedQuery": "set blink pattern to 4",
"action": "SendIotCommand",
"actionIncomplete": false,
"parameters": {
"blinkPattern": "set blink pattern",
"number": 4
},
"contexts": [
{
"name": "patternnumber",
"parameters": {
"number": 4,
"blinkPattern": "set blink pattern",
"number.original": "4",
"blinkPattern.original": "blink pattern"
},
"lifespan": 1
}
],
"metadata": {
"intentId": "1570a9b0-534c-4a5a-bdfd-f433789d7aba",
"webhookUsed": "false",
"webhookForSlotFillingUsed": "false",
"intentName": "setBlinkPattern"
},
"fulfillment": {
"speech": "",
"messages": [
{
"type": 4,
"payload": {
"breeze": {
"userResponse": "Understood - IOT command has ben sent",
"ledSet": "4"
}
}
}
]
},
"score": 1
}
I can extract "action" String using the following:
JSON.parse(dfResponse["result"]).action
I can extract "fulfillment" Object using the following:
JSON.parse(dfResponse["result"]).fulfillment
But I cannot save it as a String as the Expression Editor just highlights the expression in red:
JSON.parse(dfResponse["result"]).fulfillment.toString()
I tried a bunch a variations with the same results. It is very possible that I got the expression incorrect but I think I may have pushed the Expression Editor one step too far.
I am trying to get the "breeze" Object and currently believe that I need to parse an Object out of "result", save it as a String and parse the saved Object again!
It would be easier if I could find an On-Line service into which I could paste my JSON Object and it provides the JSON properties for the Object. I could then use this in my Call REST Service as the Return Schema. I do not have the patience to do this by hand...
Thoughts,
Gabriel
|
|
[+]
Engagement Designer
» ED Variables vs Properties, 26/06/2018 13:31:27
» Go to message
|
|
ED Log at the Finest level attached.
|
|
[+]
Engagement Designer
» ED Variables vs Properties, 26/06/2018 10:18:01
» Go to message
|
|
Good morning folks,
I have been trying to integrate Google's Dialoglflow AI into an ED workflow.
My issue has been around the use of an Authorization Token provided by Dialogflow to access their REST API for my AI agent.
When I use Postman to test the Dialogflow REST API, I must specify an Authorization Header with my Dialogflow token in the form of Bearer abc1234567890. And this works as expected!
If within the ED workflow I use a variable of type String to which I assign Bearer abc1234567890 or 'Bearer abc1234567890' or "Bearer abc1234567890". Using this variable as an Input Mapping in a CallRestService Task to Authorization in Customized Headers and that I create an instance of this workflow, it always fails with a 403 - Unauthorized.
Now if I create a new Property, assigned Bearer abc1234567890 to its value (this is not a String according to the user Interface). Using this property as an Input Mapping in the same CallRestService Task to Authorization in Customized Headers and that I create an instance of this workflow, it works as expected.
What am I missing here??
It is a colleague of mine that suggested that I try Properties as he had a similar experience with variables where the data of the variable was 2 words with a space between them. Using the variable with a CallRestService failed and changing to a Property worked!
Because of the space between Bearer and the token I tried single and double quotes around the data as shown above but that did not work...
Thoughts??
Thanks in advance,
Gabriel
|
|
[+]
Avaya Breeze
» Breeze r3.4 - Clearing Logs, 13/03/2018 13:39:29
» Go to message
|
|
Still installed - this applies to all logs such as ED, Real-Time Speech, Zang SMS Connector, all my Java Snap-Ins.
This is a fresh install (not a week old) of SMgr, SM and Breeze because I managed to screw up SMgr by doing my Breeze upgrade incorrectly.
Gabriel
|
|
[+]
Avaya Breeze
» Breeze r3.4 - Clearing Logs, 13/03/2018 13:06:35
» Go to message
|
|
Hello Joel,
None of them get cleared.
Let me know,
Gabriel
|
|