Discussion:
[Freeswitch-users] IVR menu ending with #
Sheeju Alex
2008-08-28 12:21:06 UTC
Permalink
Hi All,

I have created a IVR menu where in the digits is ended with #,
could anyone point me why a menu with ending digits (e.g. 12345#)
doesn't work?

<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>

Does Freeswitch IVR doesn't support # in digits?

Thanks,
Sheeju
Brian West
2008-08-28 13:48:13 UTC
Permalink
Show me the whole XML for this. I suspect maybe you don't have the
digit-len set correctly.

/b
Post by Sheeju Alex
Hi All,
I have created a IVR menu where in the digits is ended with #,
could anyone point me why a menu with ending digits (e.g. 12345#)
doesn't work?
<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>
Does Freeswitch IVR doesn't support # in digits?
Thanks,
Sheeju
Brian West
sip:brian at freeswitch.org
Sheeju Alex
2008-08-28 15:17:32 UTC
Permalink
Hi Brian,

Here is the XML I am using in ivr.conf.xml

<menu name="conf_ivr"
greet-long="phrase:conf_ivr_main_menu"
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
exit-sound="voicemail/vm-goodbye.wav"
timeout ="10000"
inter-digit-timeout="2000"
max-failures="3"
digit-len="6">
<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>
<entry action="menu-exec-app" digits="9999" param="transfer
9999 XML default"/>
<entry action="menu-top" digits="9"/> <!-- Repeat
this menu -->
</menu>

I have set the digit-len properly but some how it is not working for #
but I tried for * it worked fine

This is the entry for *

<entry action="menu-exec-app" digits="/^(\d{5})\*$/"
param="transfer $1 XML default"/>

Looking for your reply..

Thanks,
Sheeju
Post by Brian West
Show me the whole XML for this. I suspect maybe you don't have the
digit-len set correctly.
/b
Post by Sheeju Alex
Hi All,
I have created a IVR menu where in the digits is ended with #,
could anyone point me why a menu with ending digits (e.g. 12345#)
doesn't work?
<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>
Does Freeswitch IVR doesn't support # in digits?
Thanks,
Sheeju
Brian West
sip:brian at freeswitch.org
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Brian West
2008-08-28 15:48:55 UTC
Permalink
You escaped the * in this one.. but in your # one you didn't... You'll
need to do the same for #

/b
Post by Sheeju Alex
<entry action="menu-exec-app" digits="/^(\d{5})\*$/"
param="transfer $1 XML default"/>
Brian West
sip:brian at freeswitch.org
David Knell
2008-08-28 15:52:32 UTC
Permalink
Just a thought, but # arrives encoded as %23 in events. Is it appearing
as such in the IVR
menu string - it'd explain why the regex match fails.

--Dave
Post by Sheeju Alex
Hi Brian,
Here is the XML I am using in ivr.conf.xml
<menu name="conf_ivr"
greet-long="phrase:conf_ivr_main_menu"
invalid-sound="ivr/ivr-that_was_an_invalid_entry.wav"
exit-sound="voicemail/vm-goodbye.wav"
timeout ="10000"
inter-digit-timeout="2000"
max-failures="3"
digit-len="6">
<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>
<entry action="menu-exec-app" digits="9999" param="transfer
9999 XML default"/>
<entry action="menu-top" digits="9"/> <!-- Repeat
this menu -->
</menu>
I have set the digit-len properly but some how it is not working for #
but I tried for * it worked fine
This is the entry for *
<entry action="menu-exec-app" digits="/^(\d{5})\*$/"
param="transfer $1 XML default"/>
Looking for your reply..
Thanks,
Sheeju
Post by Brian West
Show me the whole XML for this. I suspect maybe you don't have the
digit-len set correctly.
/b
Post by Sheeju Alex
Hi All,
I have created a IVR menu where in the digits is ended with #,
could anyone point me why a menu with ending digits (e.g. 12345#)
doesn't work?
<entry action="menu-exec-app" digits="/^(\d{5})#$/"
param="transfer $1 XML default"/>
Does Freeswitch IVR doesn't support # in digits?
Thanks,
Sheeju
Brian West
sip:brian at freeswitch.org
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
--
David Knell, Director, 3C Limited
T: 020 8114 8901 F: 020 3002 7257 M: 001 415 630 3031
http://www.3c.co.uk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080828/4e8040e5/attachment.html
Brian West
2008-08-28 16:02:14 UTC
Permalink
That depends on the phone. Yesterday the Snom 7.3.7 firmware was
sending the # at %23 and it shouldn't but not when you're live on the
phone dialing digits on a call thats up.. its RTP out of band.. it
should show up at #

/b
Post by David Knell
Just a thought, but # arrives encoded as %23 in events. Is it
appearing as such in the IVR
menu string - it'd explain why the regex match fails.
--Dave
Brian West
sip:brian at freeswitch.org
Sheeju Alex
2008-08-28 16:18:51 UTC
Permalink
I tried escaping #, but it didn't work. According to normal regex
matching escaping # is not required I guess.

So now I have tried both and is not working.

I am using X-Lite, could you please let me know how to check the
whether it is arriving as %23 or something else.

Here is some debug message
--------------------------------

2008-08-28 09:08:28 [DEBUG] switch_ivr_menu.c:296 play_and_collect()
waiting for 5/6 digits t/o 2000
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:341 play_and_collect()
digits '77777'
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:410
switch_ivr_menu_execute() action regex [77777] [/^(\d{5})\#$/] [0]
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:495
switch_ivr_menu_execute() IVR menu 'conf_ivr' caught invalid input
'77777'

--------------------------------

Thanks,
SA
Post by Brian West
That depends on the phone. Yesterday the Snom 7.3.7 firmware was
sending the # at %23 and it shouldn't but not when you're live on the
phone dialing digits on a call thats up.. its RTP out of band.. it
should show up at #
/b
Post by David Knell
Just a thought, but # arrives encoded as %23 in events. Is it
appearing as such in the IVR
menu string - it'd explain why the regex match fails.
--Dave
Brian West
sip:brian at freeswitch.org
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Brian West
2008-08-28 16:22:52 UTC
Permalink
Why are you even bothering with a #? If you lower your digit count by
1 it'll just ignore it. It's not needed. Remove that $ at the end
and I think you'll be fine.

/b
Post by Sheeju Alex
Here is some debug message
--------------------------------
2008-08-28 09:08:28 [DEBUG] switch_ivr_menu.c:296 play_and_collect()
waiting for 5/6 digits t/o 2000
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:341 play_and_collect()
digits '77777'
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:410
switch_ivr_menu_execute() action regex [77777] [/^(\d{5})\#$/] [0]
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:495
switch_ivr_menu_execute() IVR menu 'conf_ivr' caught invalid input
'77777'
Brian West
sip:brian at freeswitch.org
Sheeju Alex
2008-08-28 16:55:02 UTC
Permalink
Brian, I will be using # as a delimiter to authenticate a PIN. Say
for e.g I will be using to authenticate a card or bank number.

Thanks
SA
Post by Brian West
Why are you even bothering with a #? If you lower your digit count by
1 it'll just ignore it. It's not needed. Remove that $ at the end
and I think you'll be fine.
/b
Post by Sheeju Alex
Here is some debug message
--------------------------------
2008-08-28 09:08:28 [DEBUG] switch_ivr_menu.c:296 play_and_collect()
waiting for 5/6 digits t/o 2000
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:341 play_and_collect()
digits '77777'
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:410
switch_ivr_menu_execute() action regex [77777] [/^(\d{5})\#$/] [0]
2008-08-28 09:08:30 [DEBUG] switch_ivr_menu.c:495
switch_ivr_menu_execute() IVR menu 'conf_ivr' caught invalid input
'77777'
Brian West
sip:brian at freeswitch.org
_______________________________________________
Freeswitch-users mailing list
Freeswitch-users at lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
Brian West
2008-08-28 23:56:34 UTC
Permalink
Did it finally work? If not can you file me a jira on
jira.freeswitch.org and assign it to Brian West so I can track this
issue.

/b
Post by Sheeju Alex
Brian, I will be using # as a delimiter to authenticate a PIN. Say
for e.g I will be using to authenticate a card or bank number.
Thanks
SA
Brian West
sip:brian at freeswitch.org
Brian West
2008-09-02 10:24:06 UTC
Permalink
You'll need to graduate to using Lua for this. You also do not need
the # key in the actual digits collected when doing so. ivr.conf.xml
isn't what you want I suspect it will not give you the flexibility you
need. The # char is hard coded to be the terminator.

http://wiki.freeswitch.org/wiki/Mod_lua

http://wiki.freeswitch.org/wiki/Examples_db_agent_login_lua

That should get you started. I closed out your Jira over this issue
after I dug deeper into it.

/b
Post by Sheeju Alex
Brian, I will be using # as a delimiter to authenticate a PIN. Say
for e.g I will be using to authenticate a card or bank number.
Thanks
SA
Brian West
sip:brian at freeswitch.org

Loading...