FreeSWITCH

IVR Timeout issue

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Minor Minor
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Platform:
    Linux x86_64/gcc
  • Uname:
    Linux 2.6.18-128.1.6.el5 #1 SMP Wed Apr 1 09:10:25 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
  • CPU Info:
    Hide
    processor : 0
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz
    stepping : 7
    cpu MHz : 2826.256
    cache size : 6144 KB
    physical id : 0
    siblings : 4
    core id : 0
    cpu cores : 4
    apicid : 0
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm
    bogomips : 5656.11
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz
    stepping : 7
    cpu MHz : 2826.256
    cache size : 6144 KB
    physical id : 0
    siblings : 4
    core id : 1
    cpu cores : 4
    apicid : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm
    bogomips : 5652.48
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 2
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz
    stepping : 7
    cpu MHz : 2826.256
    cache size : 6144 KB
    physical id : 0
    siblings : 4
    core id : 2
    cpu cores : 4
    apicid : 2
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm
    bogomips : 5652.43
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 3
    vendor_id : GenuineIntel
    cpu family : 6
    model : 23
    model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz
    stepping : 7
    cpu MHz : 2826.256
    cache size : 6144 KB
    physical id : 0
    siblings : 4
    core id : 3
    cpu cores : 4
    apicid : 3
    fpu : yes
    fpu_exception : yes
    cpuid level : 10
    wp : yes
    flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm
    bogomips : 5652.50
    clflush size : 64
    cache_alignment : 64
    address sizes : 36 bits physical, 48 bits virtual
    power management:
    Show
    processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz stepping : 7 cpu MHz : 2826.256 cache size : 6144 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 4 apicid : 0 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm bogomips : 5656.11 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz stepping : 7 cpu MHz : 2826.256 cache size : 6144 KB physical id : 0 siblings : 4 core id : 1 cpu cores : 4 apicid : 1 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm bogomips : 5652.48 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 2 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz stepping : 7 cpu MHz : 2826.256 cache size : 6144 KB physical id : 0 siblings : 4 core id : 2 cpu cores : 4 apicid : 2 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm bogomips : 5652.43 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management: processor : 3 vendor_id : GenuineIntel cpu family : 6 model : 23 model name : Intel(R) Xeon(R) CPU X3360 @ 2.83GHz stepping : 7 cpu MHz : 2826.256 cache size : 6144 KB physical id : 0 siblings : 4 core id : 3 cpu cores : 4 apicid : 3 fpu : yes fpu_exception : yes cpuid level : 10 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm bogomips : 5652.50 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:
  • GCC Version:
    4.1.2
  • FreeSWITCH GIT Revision:
    14035
  • Reproduced with GIT HEAD?:
    yup
  • Description:
    Hide
    In an ivr, you have several variables that determine timeouts:
     timeout="10000"
     inter-digit-timeout="2000"
     max-failures="3"
     max-timeouts="3"
     digit-len="4"

    if the greet-long|short is playing and the user presses a key, the inter-digit timeout is active. Once greet-long|short finishes playing and the user pushes a digit, the entire timeout timer must expire before the IVR continues. So in the default configuration, above, while callie is talking, and you push 6, you hear screaming monkeys 2 seconds later. If Callie finishes the entire menu and stops talking and you push 6, you must THEN wait an entire 10 seconds before hearing those glorious screaming monkeys.
    Show
    In an ivr, you have several variables that determine timeouts:  timeout="10000"  inter-digit-timeout="2000"  max-failures="3"  max-timeouts="3"  digit-len="4" if the greet-long|short is playing and the user presses a key, the inter-digit timeout is active. Once greet-long|short finishes playing and the user pushes a digit, the entire timeout timer must expire before the IVR continues. So in the default configuration, above, while callie is talking, and you push 6, you hear screaming monkeys 2 seconds later. If Callie finishes the entire menu and stops talking and you push 6, you must THEN wait an entire 10 seconds before hearing those glorious screaming monkeys.
  • Environment:
    Centos 5.3 x86_64
  1. patch_ivr_menu.diff
    (0.9 kB)
    Addison Martin
    03/Jul/09 4:55 PM

Activity

Hide
Brian West added a comment - 01/Jul/09 7:12 PM
SLEEP is a nono in phrase macros used for ivr menus because they eat dtmf. (MODAPP-301)

See 14100

Please remove sleep from ALL of the phrase macro's.

/b
Show
Brian West added a comment - 01/Jul/09 7:12 PM SLEEP is a nono in phrase macros used for ivr menus because they eat dtmf. (MODAPP-301) See 14100 Please remove sleep from ALL of the phrase macro's. /b
Hide
Addison Martin added a comment - 01/Jul/09 9:59 PM
Unfortunately, DTMF eating sleeps is not the problem I described. Steps to reproduce:
load default config
dial 5000
when callie starts talking, press 5. monkeys will scream as soon as the inter-digit-timeout expires. This is the desired functionality
hang up

dial 5000 again
allow callie to finish talking, after she says press 9 to repeat the menu.
press 5. monkeys will not start screaming until the timeout timer expires, which is 10 seconds. this makes the ivr appear to be unresponsive, and callers tend to hang up and complain that the ivr is broken
Show
Addison Martin added a comment - 01/Jul/09 9:59 PM Unfortunately, DTMF eating sleeps is not the problem I described. Steps to reproduce: load default config dial 5000 when callie starts talking, press 5. monkeys will scream as soon as the inter-digit-timeout expires. This is the desired functionality hang up dial 5000 again allow callie to finish talking, after she says press 9 to repeat the menu. press 5. monkeys will not start screaming until the timeout timer expires, which is 10 seconds. this makes the ivr appear to be unresponsive, and callers tend to hang up and complain that the ivr is broken
Hide
Anthony Minessale II added a comment - 02/Jul/09 10:18 AM
Are you saying you rebuilt with a rev >= 14100 and still have this problem?
I tried your exact suggestion and the monkeys started screaming right away.
Show
Anthony Minessale II added a comment - 02/Jul/09 10:18 AM Are you saying you rebuilt with a rev >= 14100 and still have this problem? I tried your exact suggestion and the monkeys started screaming right away.
Hide
Addison Martin added a comment - 03/Jul/09 8:28 AM
Yes, I'm running:
FreeSWITCH Version 1.0.trunk (14106M),

and if you let the menu ENTIRELY finish, including the
<action function="play-file" data="silence_stream://2000"/>
at the end (so wait about 3-4 seconds after callie stops talking) and then press 3 or 5, and instead of inter-digit-timeout, it waits for timeout before continuing.
I rm -rf the entire conf directory and installed all new sample files, after installing rev 14106M
Show
Addison Martin added a comment - 03/Jul/09 8:28 AM Yes, I'm running: FreeSWITCH Version 1.0.trunk (14106M), and if you let the menu ENTIRELY finish, including the <action function="play-file" data="silence_stream://2000"/> at the end (so wait about 3-4 seconds after callie stops talking) and then press 3 or 5, and instead of inter-digit-timeout, it waits for timeout before continuing. I rm -rf the entire conf directory and installed all new sample files, after installing rev 14106M
Hide
Addison Martin added a comment - 03/Jul/09 4:55 PM
Patch attached.
Show
Addison Martin added a comment - 03/Jul/09 4:55 PM Patch attached.
Hide
Brian West added a comment - 03/Jul/09 5:09 PM
Committed revision 14129.
Show
Brian West added a comment - 03/Jul/09 5:09 PM Committed revision 14129.

People

Dates

  • Created:
    30/Jun/09 11:40 AM
    Updated:
    27/Sep/10 1:26 AM
    Resolved:
    03/Jul/09 5:09 PM