Freeswitch IVR pressed one Digit and bridge on 2 param actions - freeswitch

In My Freeswitch IVR have an entry like,
<entry action="menu-exec-app" digits="1" param="voicemail default $${domain} 8000"/>
here I want to also go to "curl http://www.google.com" at the same digit pressed 1 like,
<entry action="menu-exec-app" digits="1"
param="voicemail default $${domain} 8000 AND curl http://www.google.com"/>
Is it possible or not? If possible how do we implement it?

you can use execute_extension, to run multiple applications with a single digit press.
Like this,
<entry action="menu-exec-app"
digits="1"
param="execute_extension voicemail:'default $${domain} 8000',curl:'http://www.google.com' inline"/>
https://freeswitch.org/confluence/display/FREESWITCH/mod_dptools:+IVR+Menu#mod_dptools:IVRMenu-Howtorunseveralappswithonedigit

Related

play_and_get_digits no input vs wrong input in Freeswitch

I am trying to implement the play_and_get_digits using ESL in nodejs.
The code is quite simple:
conn.execute('play_and_get_digits', ${minValue} ${maxValue} ${tries} ${timeout} ${terminator} ${soundFile} ${invalidFile} ${var_name} ${regex} ${digit_timeout}`);
It works well. My only problem is when the caller does not enter anything. By default, it plays the audio defined in invalidFile which I use to inform the caller the value they entered is not valid. I would like to be able to differentiate between wrong input (e.g. digit 5 when only 1 or 2 are allowed) and no input at all.
What would the best way to do this be?
Thanks!

Reliable way to SendInput before focusing on another Edit?

I have 2 edit controls in another dialog in a different process. For example:
Name: ____
DOB: ____
I want to use SendInput to automatically input those fields because they are customized not accepting windows messages.
The steps:
Focus on Name field
SendInputs with name
Focus on DOB field
SendInputs withe DOB
the problem is sometimes part of chars of name are typed into DBO field. It seems step 3) was performed before 2) was done.
Add extra sleep in step 2) works. I want to know if there is more reliable way to know step 2) is actually done?

Grafana graph title from Prometheus snmp_exporter metrics

I want to graph interfaces usage from HP switch using snmp_exporter. As an index I use ifName. snmp.yml generator and scraping to Prometheus from switch works ok. Grafana shows graphs with a title taken from ifName.
But ifName is like Ethernet1/0/1 and so on. I have another metrics: ifAlias which I can configure on a switch with 'description' command e.g. 'UPLINK'.
So what I want to achieve, is to put ifAlias as a graph title next to ifName. I can not use ifAlias as an index, because it is not unique (most of ifAlias is empty like ifAlias="").
Is it possible to do something like that? If yes, then how? :-)
What I tried, it to use group_left and combine two metrics. It works, but I can only put ifAlias into Legend field like {{ifAlias}}.
Thanks in advance.
V.
ifAlias{ifAlias="",ifName="Ethernet1/0/1",instance="access",job="3com_snmp_exporter"}
ifAlias{ifAlias="UPLINK",ifName="GigabitEthernet1/0/25",instance="access",job="3com_snmp_exporter"}
ifName{ifName="Ethernet1/0/1",instance="access",job="3com_snmp_exporter"}
ifName{ifName="GigabitEthernet1/0/25",instance="access",job="3com_snmp_exporter"}

hostapd configuration for WEP network

I want to create fake access point in WEP mode using hostapd. I found some configuration samples like this:
interface=wlan0
driver=nl80211
ssid=myAp
hw_mode=g
channel=1
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wep_default_key=1
wep_key1="abcde"
wep_key_len_broadcast="5"
wep_key_len_unicast="5"
wep_rekey_period=300
It created the access point in WEP mode properly. But when I attempted to connect to this fake access point, it remains on authentication and can't connect to that. any helps?
The wep_key1 property is a HEX string. See here what makes a valid WEP key:
https://www.speedguide.net/faq/what-is-a-valid-wep-key-110
wep_key1=abcde will be interpreted as 5 HEX characters instead of 5 ASCII characters, and you need 10 HEX characters. Therefore, a valid key would have double the length: wep_key1=abcdeabcde.
As the other answer said, you should also remove the quotes.
Edit:
You should probably also remove your auth_algs line. For me, this setup works:
interface=wlan0
driver=nl80211
ssid=myAp
hw_mode=g
channel=1
ignore_broadcast_ssid=0
wep_default_key=1
wep_key1=abcdeabcde
wep_key_len_broadcast=5
wep_key_len_unicast=5
wep_rekey_period=300
Only thing I can think of is removing the quotes from wep_key1.
I found this on the raspbian guide to setup a bridge:
https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md#internet-sharing

Letters in DTMF | GRXML | Multiple Keypress on same number

Hi i need to know whether we can use letters(alphabets) in dtmf or touchtone in ivr application(genesys).if possible how can we use it?
FYI.,
i came to know after reading several forums,i can use the code which is given below.i need to know whether it is correct.if wrong let me know the grammar code
I need the scenario like if press '2' one time,i need 'a' and if press '2' two times i need 'b',etc..,
[(dtmf-2)] = 'a'
[(dtmf-2 dtmf-2)] = 'b'
[(dtmf-2 dtmf-2 dtmf-2)] = 'c'
In the following link,we have ABCD separate.whether it is available in all phones?
http://nemesis.lonestar.org/reference/telecom/signaling/dtmf.html
This is an old technique for spelling things out to an IVR application using DTMF. All phones use DTMF to transmit what keys are pressed. It will work on any IVR but it is up to the application developer of the IVR application to translate what the digits mean, and you need to give the user some direction on how to do this in the voice prompts. It is a very error prone method and it is best to give the user feedback on what you think they are trying to enter. But this is all we had before speech recognition came along.
Basically this is just using the letters on telephone keys as the guide. The letters "A", "B" and "C" are on key "2". You are telling them to press "2" the number of times that the letter appears in sequence on the key (i.e. "A" is first, "B" is second, and "C" is third). This method works fine for getting a single letter but it does not work so well for multiple letters unless you have the user pause for certain length of time to indicate they are finished. The IVR takes the length of silence as the ending of inputting a letter.
Another technique is to use two key presses for each letter, again using the sequence the letters appear on the number key as the guide. So the letter "A" would be 21, "B" is 22, "C" is 23, "D" is 31, etc... This technique does not require long pauses between entering a letter because the IVR knows there will be two key presses for each letter.

Resources