[Freeswitch-branches] [commit] r3660 - in freeswitch/branches/jkr888/trunk: scripts src/mod/languages/mod_python
Author: jkr888 Date: Thu Dec 14 17:37:54 2006 New Revision: 3660 Modified: freeswitch/branches/jkr888/trunk/scripts/mytest.py freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python.i freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python_wrap.cpp Log: Modified: freeswitch/branches/jkr888/trunk/scripts/mytest.py ============================================================================== --- freeswitch/branches/jkr888/trunk/scripts/mytest.py (original) +++ freeswitch/branches/jkr888/trunk/scripts/mytest.py Thu Dec 14 17:37:54 2006 @@ -13,22 +13,22 @@ newSession = SessionContainer(sys.argv[0]) -newSession.console_log("1","test from my python program\n") -newSession.console_clean_log("This is fs_consol_clean\n") +#newSession.console_log("1","test from my python program\n") +#newSession.console_clean_log("This is fs_consol_clean\n") newSession.answer() -newSession.set_dtmf_callback(onDTMF) -newSession.set_tts_parms("cepstral", "david") +#newSession.set_dtmf_callback(onDTMF) +#newSession.set_tts_parms("cepstral", "david") -newSession.play_file("/root/test.gsm", "") -newSession.speak_text("Please enter telephone number with area code and press pound sign. ") +#newSession.play_file("/root/test.gsm", "") +#newSession.speak_text("Please enter telephone number with area code and press pound sign. ") -input = newSession.get_digits("", 11, "*#", 10000) +#input = newSession.get_digits("", 11, "*#", 10000) -newSession.console_log("1","result from get digits is "+ input +"\n") +#newSession.console_log("1","result from get digits is "+ input +"\n") -phone_number = newSession.play_and_get_digits(5, 10, 3, 10000, "*#", "/var/lib/asterisk/sounds/callfwd-intro-us-only.gsm", - "/var/lib/asterisk/sounds/callfwd-invalid-entry.gsm", "", ""); +phone_number = newSession.play_and_get_digits(5, 11, 3, 10000, "*#", "/var/lib/asterisk/sounds/callfwd-intro-us-only.gsm", + "/var/lib/asterisk/sounds/callfwd-invalid-entry.gsm", "", "^17322969239$"); newSession.console_log("1","result from play_and_get_digits is "+ phone_number +"\n") newSession.transfer("1000", "XML", "default") Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/Makefile Thu Dec 14 17:37:54 2006 @@ -50,4 +50,5 @@ install: # cp -f py_$(PYMOD).$(DYNAMIC_LIB_EXTEN) $(PREFIX)/mod cp -f $(MODNAME).$(DYNAMIC_LIB_EXTEN) $(PREFIX)/mod + cp -f freeswitch.py $(PREFIX)/lib/python2.4/site-packages/ Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.cpp Thu Dec 14 17:37:54 2006 @@ -33,14 +33,20 @@ switch_log_printf(SWITCH_CHANNEL_LOG_CLEAN,SWITCH_LOG_DEBUG, msg); } -void SessionContainer::answer() +int SessionContainer::answer() { - switch_channel_answer(channel); + switch_status_t status; + + status = switch_channel_answer(channel); + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -void SessionContainer::pre_answer() +int SessionContainer::pre_answer() { + switch_status_t status; + switch_channel_pre_answer(channel); + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } void SessionContainer::hangup(char *cause) @@ -70,6 +76,7 @@ int SessionContainer::play_file(char *file, char *timer_name) { switch_status_t status; + if (switch_strlen_zero(timer_name)) { timer_name = NULL; } @@ -83,7 +90,6 @@ } return status == SWITCH_STATUS_SUCCESS ? 1 : 0; - } void SessionContainer::set_dtmf_callback(PyObject *pyfunc) @@ -118,23 +124,30 @@ voice_name = voice_name_p; } -void SessionContainer::get_digits(char *dtmf_buf, int len, char *terminators, int timeout) +int SessionContainer::get_digits(char *dtmf_buf, int len, char *terminators, char *terminator, int timeout) { - char terminator; + switch_status_t status; - switch_ivr_collect_digits_count(session, dtmf_buf,(uint32_t) len,(uint32_t) len, terminators, &terminator, (uint32_t) timeout); - + status = switch_ivr_collect_digits_count(session, dtmf_buf,(uint32_t) len,(uint32_t) len, terminators, terminator, (uint32_t) timeout); + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -void SessionContainer::transfer(char *extension, char *dialplan, char *context) +int SessionContainer::transfer(char *extension, char *dialplan, char *context) { - switch_ivr_session_transfer(session, extension, dialplan, context); + switch_status_t status; + + status = switch_ivr_session_transfer(session, extension, dialplan, context); + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } -void SessionContainer::play_and_get_digits(int min_digits, int max_digits, int max_tries, int timeout, char *terminators, +int SessionContainer::play_and_get_digits(int min_digits, int max_digits, int max_tries, int timeout, char *terminators, char *audio_files, char *bad_input_audio_files, char *dtmf_buf, char *digits_regex) { - switch_play_and_get_digits( session, (uint32_t) min_digits,(uint32_t) max_digits,(uint32_t) max_tries, (uint32_t) timeout, + switch_status_t status; + + status = switch_play_and_get_digits( session, (uint32_t) min_digits,(uint32_t) max_digits, + (uint32_t) max_tries, (uint32_t) timeout, terminators, audio_files, bad_input_audio_files, dtmf_buf, 128, digits_regex); + return status == SWITCH_STATUS_SUCCESS ? 1 : 0; } Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/freeswitch_python.h Thu Dec 14 17:37:54 2006 @@ -29,8 +29,8 @@ ~SessionContainer(); void console_log(char *level_str, char *msg); void console_clean_log(char *msg); - void answer(); - void pre_answer(); + int answer(); + int pre_answer(); void hangup(char *cause); void set_variable(char *var, char *val); void get_variable(char *var, char *val); @@ -39,9 +39,9 @@ void set_dtmf_callback(PyObject *pyfunc); int speak_text(char *text); void set_tts_parms(char *tts_name, char *voice_name); - void get_digits(char *dtmf_buf, int len, char *terminators, int timeout); - void transfer(char *extensions, char *dialplan, char *context); - void play_and_get_digits(int min_digits, int max_digits, int max_tries, int timeout, char *terminators, + int get_digits(char *dtmf_buf, int len, char *terminators, char *terminator, int timeout); + int transfer(char *extensions, char *dialplan, char *context); + int play_and_get_digits(int min_digits, int max_digits, int max_tries, int timeout, char *terminators, char *audio_files, char *bad_input_audio_files, char *dtmf_buf, char *digits_regex); protected: }; Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python.i ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python.i (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python.i Thu Dec 14 17:37:54 2006 @@ -2,6 +2,7 @@ %include "cstring.i" %cstring_bounded_mutable(char *dtmf_buf, 128); +%cstring_bounded_mutable(char *terminator, 8); %{ #include "freeswitch_python.h" Modified: freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python_wrap.cpp ============================================================================== --- freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python_wrap.cpp (original) +++ freeswitch/branches/jkr888/trunk/src/mod/languages/mod_python/mod_python_wrap.cpp Thu Dec 14 17:37:54 2006 @@ -1933,14 +1933,17 @@ static PyObject *_wrap_SessionContainer_answer(PyObject *, PyObject *args) { PyObject *resultobj = NULL; SessionContainer *arg1 = (SessionContainer *) 0 ; + int result; PyObject * obj0 = 0 ; if(!PyArg_ParseTuple(args,(char *)"O:SessionContainer_answer",&obj0)) goto fail; SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_SessionContainer, SWIG_POINTER_EXCEPTION | 0); if (SWIG_arg_fail(1)) SWIG_fail; - (arg1)->answer(); + result = (int)(arg1)->answer(); - Py_INCREF(Py_None); resultobj = Py_None; + { + resultobj = SWIG_From_int(static_cast<int >(result)); + } return resultobj; fail: return NULL; @@ -1950,14 +1953,17 @@ static PyObject *_wrap_SessionContainer_pre_answer(PyObject *, PyObject *args) { PyObject *resultobj = NULL; SessionContainer *arg1 = (SessionContainer *) 0 ; + int result; PyObject * obj0 = 0 ; if(!PyArg_ParseTuple(args,(char *)"O:SessionContainer_pre_answer",&obj0)) goto fail; SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_SessionContainer, SWIG_POINTER_EXCEPTION | 0); if (SWIG_arg_fail(1)) SWIG_fail; - (arg1)->pre_answer(); + result = (int)(arg1)->pre_answer(); - Py_INCREF(Py_None); resultobj = Py_None; + { + resultobj = SWIG_From_int(static_cast<int >(result)); + } return resultobj; fail: return NULL; @@ -2170,15 +2176,19 @@ char *arg2 = (char *) 0 ; int arg3 ; char *arg4 = (char *) 0 ; - int arg5 ; + char *arg5 = (char *) 0 ; + int arg6 ; + int result; char temp2[128+1] ; + char temp5[8+1] ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; + PyObject * obj5 = 0 ; - if(!PyArg_ParseTuple(args,(char *)"OOOOO:SessionContainer_get_digits",&obj0,&obj1,&obj2,&obj3,&obj4)) goto fail; + if(!PyArg_ParseTuple(args,(char *)"OOOOOO:SessionContainer_get_digits",&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) goto fail; SWIG_Python_ConvertPtr(obj0, (void **)&arg1, SWIGTYPE_p_SessionContainer, SWIG_POINTER_EXCEPTION | 0); if (SWIG_arg_fail(1)) SWIG_fail; { @@ -2198,13 +2208,25 @@ SWIG_arg_fail(4);SWIG_fail; } { - arg5 = static_cast<int >(SWIG_As_int(obj4)); - if (SWIG_arg_fail(5)) SWIG_fail; + char *t = 0; size_t n; + SWIG_AsCharPtrAndSize(obj4, &t, &n); + if (SWIG_arg_fail(5)) SWIG_fail; + if ( n > (size_t)8 ) n = (size_t)8; + memcpy(temp5, t, sizeof(char)*n); + temp5[n] = 0; + arg5 = (char *) temp5; } - (arg1)->get_digits(arg2,arg3,arg4,arg5); + { + arg6 = static_cast<int >(SWIG_As_int(obj5)); + if (SWIG_arg_fail(6)) SWIG_fail; + } + result = (int)(arg1)->get_digits(arg2,arg3,arg4,arg5,arg6); - Py_INCREF(Py_None); resultobj = Py_None; + { + resultobj = SWIG_From_int(static_cast<int >(result)); + } arg2[128] = 0; resultobj = t_output_helper(resultobj, SWIG_FromCharPtr(arg2)); + arg5[8] = 0; resultobj = t_output_helper(resultobj, SWIG_FromCharPtr(arg5)); return resultobj; fail: return NULL; @@ -2217,6 +2239,7 @@ char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; char *arg4 = (char *) 0 ; + int result; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; @@ -2234,9 +2257,11 @@ if (!SWIG_AsCharPtr(obj3, (char**)&arg4)) { SWIG_arg_fail(4);SWIG_fail; } - (arg1)->transfer(arg2,arg3,arg4); + result = (int)(arg1)->transfer(arg2,arg3,arg4); - Py_INCREF(Py_None); resultobj = Py_None; + { + resultobj = SWIG_From_int(static_cast<int >(result)); + } return resultobj; fail: return NULL; @@ -2255,6 +2280,7 @@ char *arg8 = (char *) 0 ; char *arg9 = (char *) 0 ; char *arg10 = (char *) 0 ; + int result; char temp9[128+1] ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; @@ -2307,9 +2333,11 @@ if (!SWIG_AsCharPtr(obj9, (char**)&arg10)) { SWIG_arg_fail(10);SWIG_fail; } - (arg1)->play_and_get_digits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10); + result = (int)(arg1)->play_and_get_digits(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10); - Py_INCREF(Py_None); resultobj = Py_None; + { + resultobj = SWIG_From_int(static_cast<int >(result)); + } arg9[128] = 0; resultobj = t_output_helper(resultobj, SWIG_FromCharPtr(arg9)); return resultobj; fail:
participants (1)
-
Freeswitch SVN