User:Birgit bachler/Freeswitch

From XPUB & Lens-Based wiki

Py PlayAndGetDigits

playAndGetDigits(int min_digits, 
		 int max_digits, 
		 int max_tries, 
	         int timeout, 
		 char *terminators, 
	         char *audio_files, 
	         char *bad_input_audio_files, 
		 char *digits_regex)


tempfile = "/path/to/song.mp3"
in_rslt = self.session.playAndGetDigits(1,
                                        1,
                                        1,
                                        1000,
                                        "*#",
                                        tempfile,
                                        "",         
                                        "")      
                    
actual_result = in_rslt[1]
if not actual_result:
    actual_result = int(actual_result)

Python Dialplan API

So foo channel variable is set to the output of the my_script python script: ....getting digits for extenstion maybe via dialplan?

 
<action application="set"
      data="foo=${python(my_script)}"/>

This is possible using channel variables. In the dialplan:

  <extension name="foo">
    <condition field="destination_number" expression="^123$">
      <action application="set" data="foo=bar"/>
      <action application="python" data="mypackage.myscript"/>
    </condition>
  </extension>

and in the python script:

foo = session.getVariable("foo")
console_log("info", "\n\\n foo: %s\n\n" % foo)

Session Record

first_name = str(row[0])
last_name = str(row[1])
record_file = first_name + '-' + last_name + '.wav'
session.recordFile(record_file,120,500,2)


recordFile(filename, <callback_function>, <[callback_args]>, <[max_len]>, <[silence_threshold]>, <[silence_secs]>);

sessionRecordFile on FS-wiki[1]