[Freeswitch-svn] [commit] r3660 - in freeswitch/branches/jkr888/trunk: scripts src/mod/languages/mod_python
Freeswitch SVN
jkr888 at freeswitch.org
Thu Dec 14 17:37:55 EST 2006
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:
More information about the Freeswitch-svn
mailing list