It seems you are getting dtmf in two different methods. try to remove start_dtmf.

On Sat, Jan 24, 2015 at 11:13 PM, Michael Collins <msc@freeswitch.org> wrote:
Hi Raphael,

I looked at your pastebin and this is just a guess but it appears that the DTMF digit 1 being received (at line 235/236) may be getting interpreted by mod_voicemail as being the user pressing a digit to stop the recording. Since the recording is only started less than one second earlier (I'm guessing around line 234) it doesn't meet the minimum message length of 3 seconds.

One way you could test this is to execute flush_dtmf prior to sending the channel to voicemail.

-MC

On Fri, Jan 16, 2015 at 4:24 AM, Raphael Lechner <raphael.lechner@gmail.com> wrote:
I missed to write the used FreeSWITCH version. I tried with 1.4.14 and 1.4.15+git~20141229T185951Z~507a0f22c5~64bit (git 507a0f2 2014-12-29 18:59:51Z 64bit)

Thank you

On 16 Jan 2015, at 11:09, Raphael Lechner <raphael.lechner@gmail.com> wrote:

Hi,

I configured an extension that first call for some seconds a phone and if nobody is picking up, the caller is hearing a playback and can press 1 for leaving a voicemail and 2 to get redirected to a mobile phone.
The Problem is that in my test environment with a SIP Provider everything works fine after tuning the voicemail.conf.xml to 

<param name="record-silence-threshold" value="200"/>
<param name="record-silence-hits" value="10”/>

But on the production machine we are using a patton as a ISDN Gateway and after pressing 1 for the voicemail I always got "Message is less than minimum record length: 3” on the calling phone.
After that I can record a message and that works as expected.
Is there a way do disable the silence_detection or any hint what I can change?

I tried changing the silence-threshold to 1,50 and silence-hits to 300,30000 but nothing has changed

Debug Log

The called python script:
def handler(session, args):
    voicemail = args.split(' ')[0]
    dtmf_pressed = args.split(' ')[1]
    forward_number = args.split(' ')[2]
    callerid = session.getVariable("caller_id_number")
    callername = session.getVariable("caller_id_name").lstrip()

    if dtmf_pressed == '1':
        send_sms('377XXXXXXX’,’New Voicemail from %s %s' % (callername, callerid))
        session.execute("export", "skip_greeting=true")
        session.execute("export", "skip_instructions=true")
        session.execute("answer")
        session.execute("voicemail", "default 192.168.17.252 10”)
        #session.execute("bridge", "loopback/app=voicemail:default %s %s" % (conf['network']['ip'],voicemail))
    elif dtmf_pressed == '2':
        consoleLog( "info", "Call is forwarded to %s\n" % forward_number)
        session.transfer(forward_number, "XML", "default")
    else:
        consoleLog( "info", "DTMF received is %s and not 1 or 2.Hangup Call\n" % (dtmf_pressed))
        session.hangup()

Thank you,
Raphael


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://confluence.freeswitch.org
http://www.cluecon.com

FreeSWITCH-users mailing list
FreeSWITCH-users@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org